Commit Graph

886 Commits

Author SHA1 Message Date
Wes Kocher
b60cddc542 Backed out changeset 54933b5b96f1 (bug 1260324) for frequent windows reftest failures a=backout CLOSED TREE 2016-08-23 13:50:14 -07:00
Timothy Nikkel
8b16d4ef08 Bug 1260324. Don't draw garbage to the screen if an image doesn't happen to be decoded. r=seth
Layout has been using imgIContainer::IsOpaque to determine if the image will draw opaquely to all pixels it covers, and doing culling based on this.

However imgIContainer::IsOpaque doesn't guarantee anything. It only describes if the image, when in a decoded state, has all opaque pixels. So if the image doesn't have fully decoded frames around (because they got discarded) it may not draw opaquely to all of its pixels.

So we create a new function that first checks if there is a fully decoded frame.
2016-08-22 21:15:38 -05:00
Ting-Yu Lin
d3e8cf1818 Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
bb0825b5c7 Bug 1277129 Part 5c - Rename nsHTMLReflowMetrics to ReflowOutput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowMetrics" "ReflowOutput"

MozReview-Commit-ID: 2HBb7DkooH5
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
10912a51e3 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc
2016-07-21 18:36:35 +08:00
Stone Shih
9d8370d252 Bug 1260704 - Instead of handling mouse up event, we handle mouse click event to trigger links. r=smaug 2016-05-16 15:45:43 +08:00
Jonathan Hao
cc18311684 Bug 1280006 - Backout "Bug 1270680 - Part 1: Double-key the image cache by origin attribute." r=tanvi
This reverts commit bb0482fe09fbfad9be89384ec5cb8b6518187379.
2016-06-14 12:43:21 +01:00
Jonathan Hao
9e1494388d Bug 1270680 - Part 1: Double-key the image cache by origin attribute. r=jdm,seth 2016-06-01 23:07:00 +02:00
Jonathan Watt
fa7b69b631 Bug 1277862, part 3 - Rename Moz2D's Filter to SamplingFilter in the rest of the tree. r=Bas 2016-05-25 17:01:18 +01:00
Masatoshi Kimura
5ffcccd3a2 Bug 1205027 - Only size <img> to broken-image size if it's actually broken. r=dholbert 2016-06-03 07:05:46 +09:00
Sebastian Hengst
8955dbd399 Backed out changeset 17dcafc58287 (bug 1205027) for wpt windows-1251.html permafail on Windows. r=backout 2016-05-29 09:10:07 +02:00
Masatoshi Kimura
6a1aec77a7 Bug 1205027 - Only size <img> to broken-image size if it's actually broken. r=dholbert 2016-05-29 07:51:49 +09:00
Seth Fowler
a897d09931 Bug 1268348 - Pass the previous visibility state to OnVisibilityChange(). r=mstange 2016-05-11 19:27:27 -07:00
Edwin Flores
712f6538c5 Bug 1253995 - Display stale image in nsImageFrame if we have a new src but haven't decoded it yet - r=seth 2016-04-22 14:08:25 +01:00
Seth Fowler
40ecfeebae Bug 1261554 (Part 1) - Prepare for implementing in-displayport visibility tracking. r=mstange 2016-04-21 01:21:58 -07:00
Ting-Yu Lin
731255ba80 Bug 1264837 Part 6 - Remove ImageFrameSuper. r=dholbert
MozReview-Commit-ID: ujNsOONTzI
2016-04-18 13:58:30 +08:00
Mats Palmgren
c066fae6e9 Bug 645647 part 1 - Don't let empty bullet frames block suppressing white-space in intrinsic size calculations. r=dholbert 2016-04-14 01:32:12 +02:00
Christoph Kerschbaumer
8ffee19dd7 Bug 1256999 - Pass the right context to new channels for image loads. r=bz r=seth 2016-04-11 10:58:03 +02:00
Matt Woodrow
35a6d1ae18 Bug 852754 - Part 3: Share the implementation of ConfigureLayer. r=mstange 2016-04-07 18:54:33 +12:00
Matt Woodrow
824d125a52 Bug 852754 - Part 2: Share the implementation of GetContainer. r=mstange 2016-04-07 18:53:15 +12:00
Matt Woodrow
ed1801d715 Bug 852754 - Part 1: Share the code for limiting scale factors to all image types. r=mstange 2016-04-07 18:52:35 +12:00
Seth Fowler
35deaa95ee Bug 1261553 - Don't return from OnVisibilityChanged implementations without calling the superclass implementation. r=mstange 2016-04-05 01:11:14 -07:00
Seth Fowler
0f24c44100 Bug 1157546 - Replace the image visibility API with a more general API that tracks visibility for any kind of frame. r=mstange 2016-03-25 14:49:43 -07:00
Xidorn Quan
ba620a636b Bug 1257121 part 4 - Use return value rather than out param to return font metrics. r=jfkthame
MozReview-Commit-ID: 6xrHYbgHGVd
2016-03-17 13:55:48 +08:00
Xidorn Quan
289ca1f35e Bug 1257121 part 3 - Add GetInflatedFontMetricsForFrame function to simplify a common use pattern. r=jfkthame
MozReview-Commit-ID: 4KMLCz6wQHQ
2016-03-17 12:07:47 +08:00
Seth Fowler
d5b59e6987 Bug 1255362 - Null-check GetContainer() before using it in image-related ConfigureLayer() methods. r=mstange a=Tomcat 2016-03-11 15:12:07 +08:00
Seth Fowler
ff14d33f49 Bug 1251804 - Use the ImageContainer's size and not the intrinsic size when computing the transform in nsDisplayImage::ConfigureLayer. r=tn 2016-03-07 17:06:04 -08:00
Cameron McCormack
8a879b8032 Bug 1244068 - Part 4: Use StyleSetHandle instead of concrete style set class in most places. r=dholbert 2016-02-24 18:01:11 +11:00
Timothy Nikkel
b487b18590 Bug 1238337. If the intrinsic size of the image hasn't changed then we don't need to do a new predictive image decode. r=mats
nsImageFrame::OnSizeAvailable will update the intrinsic ratio and ask for a reflow. Then nsImageFrame::NotifyNewCurrentRequest will be called when the image is finished loading. It previously would do a predictive decode if the intrinsic size hadn't changed.

This was a mistake in http://hg.mozilla.org/mozilla-central/rev/146f1bea4147 (bug 1151359).

OnSizeAvailable has this structure:

  if (intrinsicSizeChanged && gotInitialReflow) {
    if (!sizeConstrained) {
      requestReflow();
    }
  }

NotifyNewCurrentRequest has this structure:

  if (gotInitialReflow) {
    if (!sizeConstrained && intrinsicSizeChanged) {
      requestReflow();
    }
  }

Bug 1151359 added a predictive decode in a new else branch to both inner if statements. The meaning of this is obviously quite different.
2016-02-02 16:51:52 -06:00
Xidorn Quan
ed39296097 Bug 1064843 part 1 - Make nsImageFrame inherit nsContainerFrame. r=dholbert 2016-01-28 10:11:00 +11:00
Nicholas Nethercote
9e0b88bf43 Bug 1237457 - Partially Moz2Dify nsDisplayGeneric. r=roc. 2015-12-03 19:16:59 -08:00
Nicholas Nethercote
5213edb3d9 Bug 1232852 (part 1) - Set |aSnap| in two GetOpaqueRegion() overloadings that are missing it. r=roc. 2016-01-04 20:38:17 -08:00
Nicholas Nethercote
7fabd8754f Bug 1231550 - Use DrawTarget instead of gfxContext and/or nsRenderingContext in many places in font/text code. r=jfkthame.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.

The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:

- It adds a comment about the null check in
  gfxGlyphExtents::GetTightGlyphExtentsAppUnits().

- A couple of functions simply had an unused gfxContext or nsRenderingContext
  parameter removed, e.g. SetLineBreaks().
2015-12-15 13:56:41 -08:00
Nicholas Nethercote
fe73890223 Bug 1230413 (part 4) - Remove unused nsRenderingContext argument from ForceBreak() and OptionallyBreak(). r=mattwoodrow. 2015-12-06 14:13:57 -08:00
Markus Stange
4281cff181 Bug 1200611 - Size ImageLayers correctly for <img>s using object-fit. r=dholbert
This changes nsDisplayImage::GetDestRect and nsImageFrame::PredictedDestRect to return
the true dest rect of the image, without intersecting it with the image content box.
The only caller of these functions that actually requires a rectangle that's within
the image's content bounds is nsDisplayImage::GetOpaqueRegion, so I'm changing that
to intersect with the display item's bounds.
I'm pretty sure nsImageFrame::MaybeDecodeForPredictedSize() also prefers the unclipped
dest rect, because it cares about the scale at which the image is painted, and not
about which parts of the image are painted.
2015-12-03 15:20:10 +01:00
Birunthan Mohanathas
ac37dec517 Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Seth Fowler
a41bda6a8d Bug 1207355 (Part 3) - Request decodes intelligently in nsImageFrame. r=tn 2015-10-29 16:37:42 -07:00
Phil Ringnalda
f09341276b Back out 8 changesets (bug 1207355) for OS X 10.10 reftest failures in generated-content/
CLOSED TREE

Backed out changeset aafd6db2fbb4 (bug 1207355)
Backed out changeset 9dd950b837fb (bug 1207355)
Backed out changeset e941e0e106a1 (bug 1207355)
Backed out changeset ecebca101fcb (bug 1207355)
Backed out changeset 08f2017137e1 (bug 1207355)
Backed out changeset 3dc69e37c9b4 (bug 1207355)
Backed out changeset bcdf51edb121 (bug 1207355)
Backed out changeset 1d4c00dbf49a (bug 1207355)
2015-10-28 22:57:43 -07:00
Seth Fowler
261b56a650 Bug 1207355 (Part 3) - Request decodes intelligently in nsImageFrame. r=tn 2015-10-28 16:40:43 -07:00
Seth Fowler
1a67db6061 Bug 1209765 (Part 7) - Support sync decoding and track draw results when drawing borders in nsImageFrame. r=tn 2015-10-22 19:54:49 -07:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Nicholas Nethercote
69ab754504 Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote
15a618076e Bug 1207944 (part 4) - Use SetColor(const Color&) when setting from an nscolor. r=jwatt.
In various places SetColor() gets passed an nscolor. These are converted
(either implicitly or explicitly) to a gfxRBGA, and then to a gfx::Color.

This patch changes all these cases to avoid the middle step, by (a)
constructing a gfx::Color directly instead of an nscolor, or (b) by converting
an nscolor with Color::FromABGR().
2015-09-23 23:41:30 -07:00
Jonathan Kew
7dc956655b Bug 1193519 pt 10 - Clean up remaining mentions of 'sideways-left' in code comments. r=dholbert 2015-09-24 10:23:35 +01:00
Christoph Kerschbaumer
0e075876c3 Bug 1048048 - add preload content policy types for images (r=seth) 2015-09-20 14:55:59 -07:00
Wes Kocher
7e27875d2c Backed out 7 changesets (bug 1048048) for android crashes in various chunks CLOSED TREE
Backed out changeset b5abe23a4ea5 (bug 1048048)
Backed out changeset 4f91b10e8be0 (bug 1048048)
Backed out changeset 450d4a13c90e (bug 1048048)
Backed out changeset 6a727c40eb68 (bug 1048048)
Backed out changeset 88c2333ff745 (bug 1048048)
Backed out changeset 740ab1ecd079 (bug 1048048)
Backed out changeset 02c6d6aef163 (bug 1048048)
2015-09-21 09:08:34 -07:00
Christoph Kerschbaumer
46f476eda8 Bug 1048048 - add preload content policy types for images (r=seth) 2015-09-20 14:55:59 -07:00
Masayuki Nakano
00ded62efd Bug 895274 part.26 Rename NS_MOUSE_BUTTON_UP to eMouseUp r=smaug 2015-08-29 08:58:30 +09:00
Masayuki Nakano
329427650a Bug 895274 part.25 Rename NS_MOUSE_MOVE to eMouseMove r=smaug 2015-08-29 08:58:29 +09:00