Commit Graph

826 Commits

Author SHA1 Message Date
Jonathan Watt
2eb705bb3f 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
107cbffdc0 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
144882c03c 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
d155af464f 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
180fb0583d Bug 1268348 - Pass the previous visibility state to OnVisibilityChange(). r=mstange 2016-05-11 19:27:27 -07:00
Edwin Flores
a3618f3ddb 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
0847460298 Bug 1261554 (Part 1) - Prepare for implementing in-displayport visibility tracking. r=mstange 2016-04-21 01:21:58 -07:00
Ting-Yu Lin
073a472d95 Bug 1264837 Part 6 - Remove ImageFrameSuper. r=dholbert
MozReview-Commit-ID: ujNsOONTzI

--HG--
extra : rebase_source : ac9cc91be85acf1f0cf6076fa3e70edb5638b7b0
2016-04-18 13:58:30 +08:00
Mats Palmgren
fd47863d66 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
52a7f283b3 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
3fcbb65a38 Bug 852754 - Part 3: Share the implementation of ConfigureLayer. r=mstange 2016-04-07 18:54:33 +12:00
Matt Woodrow
7dc61d9b46 Bug 852754 - Part 2: Share the implementation of GetContainer. r=mstange 2016-04-07 18:53:15 +12:00
Matt Woodrow
46ff4c4fc7 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
46fd7ee495 Bug 1261553 - Don't return from OnVisibilityChanged implementations without calling the superclass implementation. r=mstange
--HG--
extra : rebase_source : 425d910fb712a11359ec8e79134acd94a092824d
2016-04-05 01:11:14 -07:00
Seth Fowler
5973113f1b 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
60bcaa5c0b Bug 1257121 part 4 - Use return value rather than out param to return font metrics. r=jfkthame
MozReview-Commit-ID: 6xrHYbgHGVd

--HG--
extra : rebase_source : 4d0cea24689588d8a1daa1869502e31ac7c3dc56
2016-03-17 13:55:48 +08:00
Xidorn Quan
8acf32453c Bug 1257121 part 3 - Add GetInflatedFontMetricsForFrame function to simplify a common use pattern. r=jfkthame
MozReview-Commit-ID: 4KMLCz6wQHQ

--HG--
extra : rebase_source : 08964aef3b335163985dd6818b4a6ae3a4e34fce
2016-03-17 12:07:47 +08:00
Seth Fowler
c963068948 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
f5a0ea9226 Bug 1251804 - Use the ImageContainer's size and not the intrinsic size when computing the transform in nsDisplayImage::ConfigureLayer. r=tn
--HG--
extra : rebase_source : df3cfd946dd08a67284d0091b1b7ce0131fff47e
2016-03-07 17:06:04 -08:00
Cameron McCormack
7c95c39734 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
a1bd256618 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
2a1e3dccc8 Bug 1064843 part 1 - Make nsImageFrame inherit nsContainerFrame. r=dholbert
--HG--
extra : source : 59f102831fceb2857c2209207abbf750ed90fdd2
2016-01-28 10:11:00 +11:00
Nicholas Nethercote
fe16183e75 Bug 1237457 - Partially Moz2Dify nsDisplayGeneric. r=roc.
--HG--
extra : rebase_source : 0bc3fe25b757634dfe910e34cd1c51c0fb9504c0
2015-12-03 19:16:59 -08:00
Nicholas Nethercote
5d111590a8 Bug 1232852 (part 1) - Set |aSnap| in two GetOpaqueRegion() overloadings that are missing it. r=roc.
--HG--
extra : rebase_source : f565bfee7883283847bf7ba6af68aaeb06e9fea3
2016-01-04 20:38:17 -08:00
Nicholas Nethercote
06e901cb9f 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().

--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
2015-12-15 13:56:41 -08:00
Nicholas Nethercote
ac18a09064 Bug 1230413 (part 4) - Remove unused nsRenderingContext argument from ForceBreak() and OptionallyBreak(). r=mattwoodrow.
--HG--
extra : rebase_source : 750496661635e7db65b26c625834f2d14a1b3e59
2015-12-06 14:13:57 -08:00
Markus Stange
21ce2dd228 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.

--HG--
extra : commitid : CDJJnfN7vF3
extra : rebase_source : 5b59f81ab60290f508b83db7e942559da621cb70
2015-12-03 15:20:10 +01:00
Birunthan Mohanathas
9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Seth Fowler
8011cd262f Bug 1207355 (Part 3) - Request decodes intelligently in nsImageFrame. r=tn 2015-10-29 16:37:42 -07:00
Phil Ringnalda
a727c1fe68 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
90c6fe8bde Bug 1207355 (Part 3) - Request decodes intelligently in nsImageFrame. r=tn 2015-10-28 16:40:43 -07:00
Seth Fowler
6a4602d6e9 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
01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd
583afa0965 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
0f5722f4da Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote
a37228e1fe 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().

--HG--
extra : rebase_source : ae423a422b37ada8ca0cb6f130350b4a71d58fc4
2015-09-23 23:41:30 -07:00
Jonathan Kew
294b0fb112 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
9f1e9e2eaa Bug 1048048 - add preload content policy types for images (r=seth)
--HG--
extra : source : 88c2333ff7455b6988eb8d6ccc5e92b414a7ccf8
2015-09-20 14:55:59 -07:00
Wes Kocher
cd079d2bf9 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
19dc79ddbb Bug 1048048 - add preload content policy types for images (r=seth) 2015-09-20 14:55:59 -07:00
Masayuki Nakano
30fdd39afb Bug 895274 part.26 Rename NS_MOUSE_BUTTON_UP to eMouseUp r=smaug 2015-08-29 08:58:30 +09:00
Masayuki Nakano
717c415187 Bug 895274 part.25 Rename NS_MOUSE_MOVE to eMouseMove r=smaug 2015-08-29 08:58:29 +09:00
Masayuki Nakano
66f2c27305 Bug 895274 part.1 Rename WidgetEvent::message to WidgetEvent::mMessage r=smaug 2015-08-22 10:34:51 +09:00
Seth Fowler
ec30688068 Bug 1151359 (Part 3) - Treat nsImageFrames subject to scale animation as having an identity scale when predicting size. r=tn,birtles 2015-07-19 19:30:40 -07:00
Seth Fowler
faeeebcacd Bug 1151359 (Part 1) - Predict the size of nsImageFrame images before drawing. r=tn 2015-07-19 19:30:35 -07:00
Markus Stange
d47ec8dfc5 Bug 1182929 - Work around bug 803703 by refusing to turn heavily-downscaled images into image layers. r=seth 2015-07-14 12:06:27 -04:00
Timothy Nikkel
85d58a7d97 Bug 1176156. Make sure images are asked to decode if we are drawing the alt feedback instead of the image. r=seth
The Draw() call on the image would normally kick off decoding, but we don't do that if we are drawing the alt feedback instead.
2015-07-12 19:10:07 -05:00
Timothy Nikkel
4e55eafd08 Bug 1176081. Add a pref to control drawing of the image loading place holder icon and border, and disable it. r=seth
The loading icon and border is a little too intrusive.
2015-07-09 19:13:31 -05:00
Seth Fowler
8f92f8c5b0 Bug 1177587 - Detect use of <img> elements for animation and use sync decoding to reduce flicker. r=tn 2015-07-07 14:00:08 -07:00
Emanuel Hoogeveen
7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00