Граф коммитов

629 Коммитов

Автор SHA1 Сообщение Дата
Mats Palmgren 5ef66d5e7d Bug 1371958 part 2 - Move a mPaintedLayerItems.GetEntry() call into the else-branch where its result is actually used to avoid an unnecessary hashtable lookup when we don't take the else-branch. r=froydnj
MozReview-Commit-ID: sOwNzB8mxj
2017-06-17 00:06:04 +02:00
Mats Palmgren f8f1a23dc1 Bug 1371958 part 1 - Use EnsureRemoved instead of Contains+RemoveEntry to avoid an unnecessary hashtable lookup. r=froydnj
MozReview-Commit-ID: 6SPQrQCLBjF
2017-06-17 00:06:04 +02:00
Botond Ballo 941ffc4123 Bug 1371508 - Simplify the dispatch-to-content region in nsDisplayLayerEventRegions::AddFrame() and AddInactiveScrollPort() if it starts to get large. r=tnikkel
MozReview-Commit-ID: C7TCVlxsOFd

--HG--
extra : rebase_source : 55d37333f944a52f6214741870b9e6455e345784
2017-06-14 20:19:21 -04:00
Markus Stange 23716b1586 Bug 1368386 - Add PaintedLayer::InvalidateWholeLayer(). r=mattwoodrow
MozReview-Commit-ID: 7sgQDs82Wwt

--HG--
extra : rebase_source : 6a13c3b53f85d88535451cda57c76e5d845a53d5
extra : source : 92eb66a5357939ca239cb2167dcccbc2328ea51b
2017-06-15 17:29:18 -04:00
Sebastian Hengst 20d16dadd3 merge mozilla-inbount to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 36YqbsnO3en
2017-06-15 11:11:30 +02:00
Andrew Osmond fdb5476ee6 Bug 1365231 - WebRender should not use FLAG_HIGH_QUALITY_SCALING with RasterImage::GetImageContainer. r=jrmuizel 2017-06-14 12:53:07 -04:00
Matt Woodrow b32bf15627 Bug 1359709 - Scale visible region for preserve-3d layers correctly. r=thinker 2017-06-14 13:48:28 +12:00
Mats Palmgren a821681287 Bug 1372022 - Replace a series of Contains+Put+Get+Put hashtable lookups with a single LookupForAdd call. r=froydnj
MozReview-Commit-ID: GOSe2Ztahlr
2017-06-14 01:54:27 +02:00
Alexis Beingessner adb013669b Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-13 11:00:10 -04:00
Nicholas Nethercote 0be77baa96 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.

--HG--
extra : rebase_source : 47e298fdd6f6b4af70e3357ec0b7b0580c0d0f50
2017-06-07 12:33:19 +10:00
Sebastian Hengst f3bf820bfd Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Alexis Beingessner c75211cb95 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00
Jeff Hajewski 21dd3e708d Bug 1371354: Changes macro defined NS_SYTLE_IMAGELAYER_ to enum class StyleImageLayer; r=manishearth
MozReview-Commit-ID: DgvenevRHg2
2017-06-09 16:53:34 -07:00
Ryan VanderMeulen 9b7a73b65a Merge m-c to autoland. a=merge
UPGRADE_NSPR_RELEASE UPGRADE_NSS_RELEASE

--HG--
extra : amend_source : a59e53ba2f8db608f613f21ad6da2b5be8814aa4
2017-06-07 22:55:56 -04:00
Martin Robinson 9915ffcbc3 Bug 1370530 - Convert more CSS filters to WebRender display items. r=jrmuizel
Activate WebRender output for filters that introduce only one pixel
differences in tests. Since the filters spec does not seem to specify
how color values are rounded, this output should be spec compliant.
2017-06-07 03:43:00 -04:00
L. David Baron 53383e2d5c Bug 1369260 - Remove use of MOZ_ASSERT_IF in layout. r=heycam
As I've said before, as module owner I prefer that MOZ_ASSERT_IF not be
used in the module because I consider it to be unreadable.  However, a
few uses have crept in, and this patch removes them.

I consider it to be unreadable because the name looks like a name that
uses smalltalk-ish naming conventions, i.e., with a part of the name
corresponding to each parameter, in order.  However, the parameters are
in the order opposite the name.

This was written primarily with the vim commands:
:%s/MOZ_ASSERT_IF(\([^,]*\),/MOZ_ASSERT(!\1 ||/
:wn
followed by manual cleanup for indentation and removal of !!.

MozReview-Commit-ID: G6rLbOn7k8d
2017-06-06 22:27:17 -07:00
Martin Robinson 7d937678f4 Bug 1365972 - Add initial WebRender support for nsDisplayFilter. r=rhunt, r=mattwoodrow 2017-06-06 06:28:00 -04:00
Jared Wein 6e57031fc1 Bug 1364221 - Allow frames to be prerendered as long as the area of the frame is less than the area of the relative limit and the dimensions are less than the absolute limit. r=mattwoodrow,mstange
MozReview-Commit-ID: C3QLjaCRbzE

--HG--
extra : rebase_source : 1c9ad6b7c04d65b8b71f5112b7f4c91415aa70d9
2017-06-05 17:01:19 -04:00
Wes Kocher b6e4ea3caa Backed out changeset 5450b06e79e5 (bug 1369910) for assertions in FrameLayerBuilder.cpp CLOSED TREE
MozReview-Commit-ID: 9m63lG6kj7B
2017-06-05 10:28:32 -07:00
Botond Ballo 724180965f Bug 1369910 - Simplify AddingOwnLayer() call sites in ProcessDisplayItems(). r=mstange
MozReview-Commit-ID: 3kH48WPAOv7

--HG--
extra : rebase_source : f0cf90be411a15e106457c06609c377082259af0
2017-06-02 16:43:33 -04:00
Miko Mynttinen c64fdb5312 Bug 1367219 - Avoid multiple hashtable lookups in DisplayItemData destructor r=mattwoodrow
MozReview-Commit-ID: Jr4yx5A9gWd

--HG--
extra : rebase_source : 4e742e3d0a21285af6a729dcf860da365f242cfb
2017-06-06 18:12:17 +02:00
Botond Ballo 539791ed1e Bug 1367488 - Pre-render offscreen portions of scrollbar thumbs inside an iframe. r=mstange
MozReview-Commit-ID: LCBHnFJdGtp

--HG--
extra : rebase_source : 1ab1d812674d321d76e634953284b3983774d798
2017-05-29 18:05:05 -04:00
Kartikaya Gupta f7afb5a21c Merge m-c to graphics, a=merge
MozReview-Commit-ID: COZj8Itgjcz
2017-06-01 09:56:23 -04:00
Kartikaya Gupta e4ec0de51e Merge m-c to graphics, a=merge
MozReview-Commit-ID: 2CUZPQ4s8xT
2017-05-31 08:07:53 -04:00
Mason Chang 39305a1bbc Bug 1368190 - Enable outer box shadows with negative spread radius. r=rhunt 2017-05-26 12:49:07 -07:00
Kartikaya Gupta b7ee577f62 Merge m-c to graphics, a=merge
MozReview-Commit-ID: 8IWAJNO52ry
2017-05-29 08:28:04 -04:00
Ryan Hunt 66462a04c7 Bug 1365495 - Let WebRender premultiply gradient stop colors r=jrmuizel
WebRender now expects a non-premultiplied gradient stop color in the API.

--HG--
extra : amend_source : a1e80f703962ef0215c33fb8d61a123b45d4c994
2017-05-18 20:30:15 -04:00
Mason Chang 5040d43ad7 Bug 1366866 - Enable inset box shadows with negative offsets. r=rhunt 2017-05-23 11:08:10 -07:00
Morris Tseng eace48c34e Bug 1367332 - Don't build image layer if image map is presence. r=mattwoodrow
MozReview-Commit-ID: 5w43NRlTL6d

--HG--
extra : rebase_source : 1f27df0662f798d4b9dc460e0125a4de6c6e9408
2017-05-24 16:16:40 +08:00
Mats Palmgren 297b9d70e1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF

--HG--
extra : source : bbb688fe1ba3f5201a190c6e25b693ef7272ea2d
2017-05-21 17:15:00 +08:00
Jonathan Kew 9adc6c6cc5 Bug 1368252 - Call GetLayerActivity() instead of directly looking up frame's LayerActivityProperty(). r=mats 2017-05-28 11:22:39 +01:00
Jonathan Kew a8f81efd8e Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats
--HG--
rename : layout/base/FramePropertyTable.cpp => layout/base/FrameProperties.cpp
rename : layout/base/FramePropertyTable.h => layout/base/FrameProperties.h
2017-05-27 12:36:00 +01:00
cku b533c4c2ae Bug 1362000 - (followup) remove unused headers. r=me
MozReview-Commit-ID: 4SO8tdhbIHt

--HG--
extra : rebase_source : 7abc0bddf356bc705b130ea15294f8c5036f6ccf
2017-05-27 16:57:44 +08:00
Carsten "Tomcat" Book 00d4ea331d Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren e706869580 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Ryan VanderMeulen c2e6a4f474 Backed out changeset bb1542b364f2 (bug 1364221) for Android 4.2 x86 test_animation_performance_warning.html failures on a CLOSED TREE. 2017-05-26 15:37:14 -04:00
cku a71c525e73 Bug 1350663 - Repaint mask layer when the offset between mask region and mask layer changed. r=mstange
Let's said we have a div,
  <div id="outer" style="width:200px, height:200px;
  mask="url(opaque-200X100-transparent-200X100.png)"">
    <div id="innter" style="position:fixed;
                            left:0px; top:0px; width:200px; height:100px;
                            mask-repeat: no-repeat;
                            background-color: blue;"></div>
  </div>

Some hints:
1. '#inner' is out-of-flow
2. '#outer' itself does not draw any things, no background/ border, etc....
3. Mask applied on '#outer'.
4. opaque-100X200-transparent-100X200.png is a 200X200 image. The upper side of
   this image is opaque; the lower side of this image is transparent.

After page load, you will see a 200X100 blue rect on left-top corner. This blue
rect is contributed by 200X100 blue '#inner' and 200X100 opaque upper part of
mask. So far so good.

Then you scroll down 100px. '#inner' is not moved, since it's an out-of-flow
element, mask move up 100px with '#outter'. Ideally, you should see nothing in
the view, since '#inner' is now masked by transparent part of the image mask.

On FF, you will still see a 200X100 blue rect in view as if no scrolling at all,
which is wrong.

Here is the root cause of this bug:
1. At beginning, we create a 200X100 mask layer, which fit the size of '#inner'.
   Not 200X200 of '#outer', since '#outer' basically draw nothing, we smartly
   choose a more compact draw target for painting the mask.
2. Things go wrong after scrolling down. By scroll down 100px, the size of the
   mask layer is still "200X100", so we _think_ cached mask layer is still
   reusable, but it is not.
   Before scrolling, we paint (0, 0, 200, 100) portion of the 200X200 mask onto
   mask layer; after scrolling, we should paint (0, _100_, 200, 100) portion of
   mask onto mask layer. We did not keep this kind of offset information in
   CSSMaskLayerUserData, so we don't know that the cached mask layer should be
   rejected.

It's difficult to create a reftest for this bug as well. With scrollTo, we may
mimic an environment of this error, but since reftest harness will trigger
whole viewport repaint while taking a snapshot, we actually can not repro this
issue on it.

MozReview-Commit-ID: H5xaUSssMRh

--HG--
extra : rebase_source : 47103b6638e50dd2fb39f7b47e9cdc653446cd20
2017-05-14 19:28:01 +08:00
cku 0fa11bffa0 Bug 1362000 - (follow-up) Simplify match logic in CSSMaskLayerUserData::operator==. r=mstange
Remove HasUserSpaceOnUseUnitsMaskOrClipPath since it's not necessary.
MozReview-Commit-ID: 2sen23m5GjE

--HG--
extra : rebase_source : fe15fc807daf79f6f2175224928a1d83736cf85b
2017-05-27 01:38:54 +08:00
Jared Wein bc9c4a158e Bug 1364221 - Allow frames to be prerendered as long as the area of the frame is less than the area of the relative limit and the dimensions are less than the absolute limit. r=mattwoodrow,mstange
MozReview-Commit-ID: C3QLjaCRbzE

--HG--
extra : rebase_source : 71907fe872ad6347ea30f1af441a3a3bd0724366
2017-05-23 17:41:06 -04:00
cku 082f6c2f30 Bug 1362000 - When the position of masked frame changed, always regenerate mask layer if any of maskUnits/maskContentUnits/clipPathUnits is userSpaceOnUse. r=cjku
For SVG mask/clipPath, comparison at [1] is not enough to detect whether cached
mask layer is reusable duriang animation. Since aMaskItem->IsInvalid() may keep
return fasle during OMTA. Bring in new condition check in
CSSMaskLayerUserData::IsMaskReusable..

I do not create a reftest for this bug, the reason is almost the same with bug
1350663.

So I manually verified paiting result by visit this three pages:
 https://codepen.io/tadeuszwojcik/pen/ZKJwRE
 https://codepen.io/tadeuszwojcik/pen/oWexWW
 http://codepen.io/iiroullin/pen/oWEOOM

[1] https://hg.mozilla.org/mozilla-central/file/2bc714f86791/layout/painting/FrameLayerBuilder.cpp#l3887

MozReview-Commit-ID: 7lUKTMYPFXo

--HG--
extra : rebase_source : c3e4d7b9df0c335222f09d7ce7d6918c7dbad00e
extra : source : 4717af028474a700a2b7e81eecae142f2ab82ff1
2017-05-12 20:17:14 +08:00
Boris Chiou 731ab38439 Bug 1334036 - Part 10: Return AnimationValue for BaseStyle. r=hiro
We need to retrieve the correct base style for Servo backend, so change
the return value to AnimationValue and update
KeyframeEffectReadOnly::BaseStyle().

MozReview-Commit-ID: 9FL3h1DLoJt

--HG--
extra : rebase_source : 42284c5fe8b8135910cde44b0815eb475ca2f1cc
2017-05-10 11:06:19 +08:00
Kartikaya Gupta 5320a75266 Merge m-c to graphics
MozReview-Commit-ID: Fq2lBUWyr0m
2017-05-19 13:19:35 -04:00
Kartikaya Gupta aca076b94b Merge m-c to graphics
MozReview-Commit-ID: DFNbcj14mg9

--HG--
rename : memory/mozjemalloc/jemalloc.c => memory/mozjemalloc/mozjemalloc.cpp
rename : memory/mozjemalloc/jemalloc_types.h => memory/mozjemalloc/mozjemalloc_types.h
2017-05-18 08:34:15 -04:00
Ethan Lin e853c9b0a6 Bug 1364830 - Fix background image layer's draw result and image flags. r=mattwoodrow 2017-05-16 10:44:49 +08:00
Kartikaya Gupta 35374ded53 Merge m-c to graphics
MozReview-Commit-ID: BYH3uvvu4jz
2017-05-15 09:36:37 -04:00
Kartikaya Gupta 85ce3b9a88 Merge m-c to graphics
MozReview-Commit-ID: LHvR5izGDcT
2017-05-12 10:20:09 -04:00
Kartikaya Gupta f262a4e6db Merge m-c to graphics
MozReview-Commit-ID: 2okRQxtQnFa
2017-05-11 07:47:25 -04:00
Iris Hsiao 46f899f6cf Backed out changeset 9e9a6e426b1e (bug 1356179) 2017-05-11 13:54:37 +08:00
Kartikaya Gupta a4a58a3748 Merge m-c to graphics
MozReview-Commit-ID: Ax2mJsUs80t
2017-05-10 11:21:46 -04:00
Carsten "Tomcat" Book 85e7d31eb4 Backed out changeset 9483bb6d8ce6 (bug 1330570) for test failures in test_selection_move_commands.html | cmd_scrollBottom - -300 should equal -300 2017-05-10 12:11:11 +02:00
Carsten "Tomcat" Book a1263f8111 Backed out changeset ff6861518bc3 (bug 1331718) 2017-05-10 12:09:04 +02:00
cku 0f42a6c858 Bug 1356179 - Part 1. Roundout clip region to make sure we have enough space for mask/clip-path painting. r=mstange
MozReview-Commit-ID: 6hfOiCDq7ni

--HG--
extra : rebase_source : 04243d1e7bb9f5c7da07dde11e94d776c10e2f06
2017-05-10 15:42:17 +08:00
Bas Schouten 70d011d12c Bug 1331718 - Part 3: Store pointers to DisplayItemData directly on nsIFrame. r=mattwoodrow r=dbaron
This patch aims to speed up the lookup and storage of DisplayItemData objects, by removing a level of indirection and preventing the previously required hashtable lookup in order to access these. Instead it stores an array of pointers on each frame that allows direct access to the DisplayItemData object by dereferencing the frame. Since most frames get either 1 or 2 DisplayItemData objects attached to them a specialized class is used that is of minimal size (2 * sizeof(void)) and that performs well for sizes 1 or 2.

MozReview-Commit-ID: HONKAmpk5H8
2017-05-10 05:07:38 +02:00
Bas Schouten 17a260dee8 Bug 1330570: Allocate DisplayItemData into the PresShell Arena. r=mattwoodrow
MozReview-Commit-ID: 8zVPIVSslVA
2017-05-10 05:07:37 +02:00
Morris Tseng 4f5067b088 Bug 1363483 - Add nsDisplayTableBackgroundColor to avoid display item collision when processing background color of table. r=mattwoodrow
MozReview-Commit-ID: JlYqyRGvtq3

--HG--
extra : rebase_source : b3a0c19fb6b6e7e2bbab6e9dd87d100890c626eb
2017-05-10 14:22:10 +08:00
Alexis Beingessner 6ece5add60 Bug 1361751 - Update gecko bindings to webrender to reflect changes in PR 1181. r=kats
MozReview-Commit-ID: Fxt4sNm4vxa
2017-05-08 13:52:16 -04:00
Ethan Lin 4174a69a92 Bug 1362967 - Push clip region in WebRenderDisplayItemLayer. r=kats 2017-05-10 13:51:24 +08:00
cku 4b27190a36 Bug 1351440 - Part 5. typedef DrawResult in nsDisplayItem to avoid the image:: qualification. r=jwatt
MozReview-Commit-ID: 1l8DUL1z6U2
2017-05-18 22:03:54 +02:00
cku 51288e6cfe Bug 1351440 - Part 3. Pass imgDrawingParams to nsSVGMaskFrame::GetMaskForMaskedFrame. r=jwatt
The reason of this change is the same as for Part 2, except this commit fixes
nsSVGMaskFrame::GetMaskForMaskedFrame rather than PaintSVG.

MozReview-Commit-ID: DS0eG6eKDgs
2017-05-18 22:03:45 +02:00
cku d85d3ab378 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF
2017-05-18 22:03:41 +02:00
Sebastian Hengst 41f1727bf4 Backed out changeset f3460d42d23c (bug 1351440) 2017-05-18 21:15:35 +02:00
Sebastian Hengst 635d32e534 Backed out changeset 3240cd94bf4b (bug 1351440) 2017-05-18 21:15:30 +02:00
Sebastian Hengst 68c0ba103f Backed out changeset 3ea48d348482 (bug 1351440) 2017-05-18 21:15:21 +02:00
Botond Ballo 7075b5e1c9 Bug 1361915 - Record telemetry each time we try to run a transform animation on the compositor. r=birtles,bsmedberg
The telemetry is recorded once per effect:target pair, and is intended for
comparison with the telemetry added in bug 1349808.

MozReview-Commit-ID: 8JYbAifjmki

--HG--
extra : rebase_source : a5adf4ea9c0836d9ad0ecde5e5869d00eccc2205
2017-05-03 21:39:42 -04:00
Wes Kocher 2325e84d49 Backed out changeset 3a3a19e0d903 (bug 1361915) for build bustage a=backout
MozReview-Commit-ID: 3BG6xILsiXW
2017-05-11 15:11:29 -07:00
Botond Ballo a7e015ab49 Bug 1361915 - Record telemetry each time we try to run a transform animation on the compositor. r=birtles,bsmedberg
The telemetry is recorded once per effect:target pair, and is intended for
comparison with the telemetry added in bug 1349808.

MozReview-Commit-ID: 8JYbAifjmki

--HG--
extra : rebase_source : fa0b615684ca1355f9bbc24b3355e90001db47b5
2017-05-03 21:39:42 -04:00
cku f8714ff527 Bug 1351440 - Part 5. typedef DrawResult in nsDisplayItem to avoid the image:: qualification. r=jwatt
MozReview-Commit-ID: 1l8DUL1z6U2

--HG--
extra : rebase_source : 67a5655b166c80e37ac2aef49683bb4a37b13518
2017-05-10 03:03:03 +08:00
cku 0fcc7571b7 Bug 1351440 - Part 3. Pass imgDrawingParams to nsSVGMaskFrame::GetMaskForMaskedFrame. r=jwatt
The reason of this change is the same as for Part 2, except this commit fixes
nsSVGMaskFrame::GetMaskForMaskedFrame rather than PaintSVG.

MozReview-Commit-ID: DS0eG6eKDgs

--HG--
extra : rebase_source : 696bf495edc98a390f49ff0638165724521460b1
extra : source : 95f38c2c8b57134504e7fbe03d1637866e3e65ba
2017-05-08 21:27:20 +08:00
cku eaa4406688 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF

--HG--
extra : rebase_source : 66c9a9e391c2f9e142575f42fd47b37334ec5752
extra : source : 97a08873177c0f18edffdb1b5589c77843a50553
2017-05-05 17:19:43 +08:00
Kartikaya Gupta 84a90cdcec Back out bug 1359868 (2 csets) for possibly causing a checkerboarding regression. r=backout
MozReview-Commit-ID: KFOsj8If3sZ
2017-05-09 13:23:23 -04:00
Matt Woodrow e53f71e23e Bug 1343638. r=mstange, a=abillings 2017-03-21 13:07:49 +13:00
Sebastian Hengst 484d2b7f51 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Jduo3F6TzgF
2017-05-14 18:04:29 +02:00
Botond Ballo 6c0eea50b3 Bug 1349750 - Group scroll thumb-related information in Layer into a ScrollThumbData structure. r=kats
The patch also renames Layer::SetScrollbarData() to Layer::SetScrollThumbData()
for clarity.

MozReview-Commit-ID: DVwJ3DMl3Zs

--HG--
extra : rebase_source : 7b2bfccf1351c82bb16296635e69d5488c87a50f
2017-05-10 14:02:15 -04:00
Ethan Lin acc90f88ef Bug 1361662 - Round mask layer boundary to match other layers. r=mattwoodrow 2017-05-10 23:38:00 -04:00
Botond Ballo d40e44859b Bug 1359868 - Move the ComputePartialPrerenderArea() helper to nsLayoutUtils so it can be reused. r=mstange
MozReview-Commit-ID: GVRBUfYwOFP
2017-05-01 19:59:08 -04:00
Botond Ballo 6e273c8fd1 Bug 1365333 - Avoid quadratic performance in nsDisplayLayerEventRegions::AddFrame() when the maybe-hit region has many rects. r=tnikkel
MozReview-Commit-ID: 99QrhFpHw15

--HG--
extra : rebase_source : 07201ca9b9728e9b1fa77755614ce8cd95753430
2017-05-31 14:42:59 -04:00
Ethan Lin 054093eb1e Bug 1366984 - Fix image container check for background image layer. r=mattwoodrow
--HG--
extra : source : 14a2665a64f6e78b7c470a3eb0635e491660955a
2017-05-31 14:01:28 +08:00
Ryan VanderMeulen 017d00381d Backed out changeset 14a2665a64f6 (bug 1366984) for causing Windows Talos failures on a CLOSED TREE. 2017-05-31 13:03:41 -04:00
Carsten "Tomcat" Book eb742c507d Merge mozilla-central to mozilla-inbound 2017-05-31 14:23:37 +02:00
Ethan Lin 6a1eda371b Bug 1367991 - follow-up: Fix the comment. r=me 2017-05-31 16:24:12 +08:00
Ethan Lin 8dcfe0291d Bug 1367991 - Check mask layer's draw result to make sure we will repaint it in the next transaction if the image is not ready. r=cjku 2017-05-31 14:38:25 +08:00
Ethan Lin 9bad2ac665 Bug 1367631 - Round the dest rect of the image layer to match the color layer behavior. r=mattwoodrow 2017-05-31 14:28:50 +08:00
Ethan Lin 49ed146634 Bug 1366984 - Fix image container check for background image layer. r=mattwoodrow 2017-05-31 14:01:28 +08:00
Ryan VanderMeulen ff1d6f6f88 Merge m-c to autoland. a=merge 2017-05-11 11:30:47 -04:00
Sebastian Hengst db8f56dd23 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: HWYxZeNWish
2017-05-11 16:50:12 +02:00
Bas Schouten dafd50f856 Bug 1331718 - Part 3: Store pointers to DisplayItemData directly on nsIFrame. r=mattwoodrow r=dbaron
This patch aims to speed up the lookup and storage of DisplayItemData objects, by removing a level of indirection and preventing the previously required hashtable lookup in order to access these. Instead it stores an array of pointers on each frame that allows direct access to the DisplayItemData object by dereferencing the frame. Since most frames get either 1 or 2 DisplayItemData objects attached to them a specialized class is used that is of minimal size (2 * sizeof(void)) and that performs well for sizes 1 or 2.

MozReview-Commit-ID: HONKAmpk5H8
2017-05-10 05:07:38 +02:00
Bas Schouten cccd551d50 Bug 1330570: Allocate DisplayItemData into the PresShell Arena. r=mattwoodrow
MozReview-Commit-ID: 8zVPIVSslVA
2017-05-10 05:07:37 +02:00
cku d12ceae739 Bug 1356179 - Part 1. Roundout clip region to make sure we have enough space for mask/clip-path painting. r=mstange
MozReview-Commit-ID: 6hfOiCDq7ni

--HG--
extra : rebase_source : 8fe0118121e4ea7ed5a47a9ddda21eb146889ef0
2017-05-10 15:42:17 +08:00
cku 9da9bf400d Bug 1361180 - Part 1. Return error DrawResult to the caller when the mask url can not be resolved. r=mstange
Precondition:
In an SVG doc, giving an invalid local-ref mask, e.g. mask="url"#foo"", and
clipState.mDirtyRectInDevPx be empty. e.g. apply mask onto a path object which
the size of area is zero(Please refers to the reftest in Part 2)
1. PaintStyleImageLayerWithSC early continue at [1], and the value of result is
still the initial value, DrawResult::SUCCESS.
2. The caller is not aware of that the  mask image was left unresolved since it get
DrawResult::SUCCESS from #1.

This patch fixed this problem by calling PrepareImageLayer before early return
for updating correct drawing result.

[1]
https://hg.mozilla.org/mozilla-central/file/ebf68ba9b098/layout/painting/nsCSSRendering.cpp#l2682

MozReview-Commit-ID: DjJ0Nni1gDl

--HG--
extra : rebase_source : 949101547b6cb4db93c8a889210c768fb81cff7a
2017-05-03 10:39:05 +08:00
Kartikaya Gupta 5d5cdc518c Merge m-c to graphics
MozReview-Commit-ID: 2cIoGVmLEuA
2017-05-08 10:50:52 -04:00
Kartikaya Gupta eac87bc2bf Merge m-c to graphics
MozReview-Commit-ID: 9HO5vhW5fyh
2017-05-04 09:05:26 -04:00
Kartikaya Gupta b6b23a1376 Merge m-c to graphics
MozReview-Commit-ID: DVUE3Wys3HV
2017-05-03 08:52:43 -04:00
Kartikaya Gupta 989470c342 Bug 1360246 - Update code to use StackingContextHelper::ToRelativeWr* instead of RelativeToParent. r=nical
This updates more code that was using RelativeToParent() to use the
stacking context helper's ToRelativeWr* functions instead. This get us
closer to breaking the assumption that the WR stacking context order maps
1:1 to the layer tree structure.

MozReview-Commit-ID: HQrbvCgPOW4
2017-05-03 08:48:08 -04:00
Kartikaya Gupta 667603672c Bug 1360246 - Stop calling RelativeToParent on rects for which we only use the size, since that doesn't change with RelativeToParent. r=nical
Also clean up another untyped Size calculation to use
LayoutDeviceSize::FromAppUnits.

MozReview-Commit-ID: DvEIhZpBTEi
2017-05-03 08:48:08 -04:00
Kartikaya Gupta 0ec3e2d4dd Bug 1360246 - Propagate the StackingContextHelper to the rest of the displaylist-building code. r=nical
This propagates the StackingContextHelper to the rest of the code that
builds WR display items, because we will need it in future patches to
stop using RelativeToParent.

MozReview-Commit-ID: 3PlQrJRhH36
2017-05-03 08:48:08 -04:00
Kartikaya Gupta 9c0fee2d43 Bug 1360246 - Propagate the StackingContextHelper through CreateWebRenderCommands. r=nical
This is needed for the next patch, because the bullet frame WR rendering
code will need a StackingContextHelper to pass to the PushGlyphs call.
It also helps with some of the later patches in this series, when we get
rid of the RelativeToParent calls.

MozReview-Commit-ID: Is0aciHhy2N
2017-05-03 08:48:07 -04:00
Ethan Lin a9bbf03464 Bug 1360127 - If the background image doesn't have a image container, we shouldn't create a layer for it. r=mchang 2017-05-03 18:27:10 +08:00
Kartikaya Gupta 7259e787f4 Merge m-c to graphics
MozReview-Commit-ID: 9XwZUWIhGir
2017-05-02 09:45:11 -04:00
peter chang e8e398dcd1 Bug 1358437 - pass layer's transform attributes for transform animation, r?kats
MozReview-Commit-ID: J7JHuwvWuet
2017-05-02 10:29:42 +08:00
Wes Kocher df3f95a52f Merge inbound to m-c a=merge
MozReview-Commit-ID: 4SpokMW1d3I
2017-05-02 17:35:06 -07:00
Brian Birtles 5267613207 Bug 1334583 - Pass a separate timeOrigin and startTime for compositor animations; r=hiro
By passing the startTime as a TimeDuration we are able to represent times in the
distant past (and with the same range as we can represent on the main thread so
that if we do encounter range errors in future, they should not differ between
the main thread and the compositor).

This patch includes a crashtest. I have verified that, without the code changes
included in this patch, this crashtest fails on debug builds on OSX.

MozReview-Commit-ID: EDuKLzfEC0K

--HG--
extra : rebase_source : 1883080fdfac8c33f70698145f21e67cbdfdd4f2
2017-05-02 16:49:51 +09:00
Ryan Hunt 7a43c661b4 Bug 1360414 - Position webrender gradient bounds using FindFirstTile r=jrmuizel
The origin of a tiled gradient needs to be positioned less than the origin
of its clip bounds, otherwise it won't fill all of its clip bounds. There
is an existing function used by the current code path that can be used to
do this.

MozReview-Commit-ID: 13EtwmZYT4P

--HG--
extra : amend_source : 4fbe6b72efc61b1ef8303422e6e0910970d49fa0
2017-04-23 17:55:55 -04:00
Kartikaya Gupta 9fefc7a64a Merge m-c to graphics
MozReview-Commit-ID: 82en2F0AFQF
2017-04-30 19:10:35 -04:00
Ethan Lin f29e1a70ba Bug 1360112 - Correct background image position when enabling webrender background image. r=mattwoodrow 2017-05-01 00:59:26 +08:00
Matt Woodrow c95a73cfc6 Bug 1349418 - Require ASRs to match before allow occlusions between layers. r=mstange 2017-04-21 14:03:40 +12:00
Markus Stange 2a35142b62 Bug 1349418 - Remove checkerboarding code and just use an opaque background color behind root scroll frames. r=kats 2017-04-21 14:02:15 +12:00
Emilio Cobos Álvarez e44543aad4 Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle

--HG--
extra : rebase_source : c2e9d4bfb9239f5e851d110cd7dff98c1e1a8d8b
2017-04-30 17:30:08 +02:00
Wes Kocher 9528ad9a03 Merge m-c to inbound, a=merge
MozReview-Commit-ID: DaH1djmEY5A
2017-04-27 13:29:07 -07:00
Wes Kocher be34ade6b6 Merge autoland to central, a=merge
MozReview-Commit-ID: 2pgVZdnDKno
2017-04-27 12:44:03 -07:00
Kartikaya Gupta 61f60a73fb Bug 1359842 - Convert RelativeToParent to deal with typed units. r=nical
As we are often converting from LayoutDevicePixel to LayerPixel types
in WebRenderDisplayItem code, I added a convenience overload of
RelativeToParent that takes a LayoutDeviceRect and returns a LayerRect,
even though this is a potential footgun if abused.

MozReview-Commit-ID: DABAWdOBsbV
2017-04-27 12:04:13 -04:00
Kartikaya Gupta a8407ac1c7 Bug 1359842 - Replace use of NSRectToRect in WebRender-related code with proper LayoutDevicePixel types. r=nical
MozReview-Commit-ID: 7MXFubPtLoD
2017-04-27 12:04:12 -04:00
Kartikaya Gupta e37b4e9289 Merge m-c to graphics
MozReview-Commit-ID: 6UBB4TW6an5
2017-04-27 09:31:17 -04:00
Ethan Lin 2b6ab30c4d Bug 1359360 - Handle draw result for webrender background image layer. r=mattwoodrow 2017-04-26 15:31:49 +08:00
Kartikaya Gupta b21511b7c0 Merge m-c to graphics
MozReview-Commit-ID: GdyXEYZsVuX
2017-04-25 08:32:48 -04:00
Kartikaya Gupta c896803771 Merge m-c to graphics
MozReview-Commit-ID: 3s6ISsQ3jG9
2017-04-24 09:17:28 -04:00
Ethan Lin e7c48eaf73 Bug 1357003 - Keep original layer state for basic layer manager when enabling advanced layer. r=mattwoodrow
--HG--
extra : rebase_source : 75540e18973d788e4e076aa3bdfa8a26036b2269
2017-04-21 23:11:38 +08:00
Kartikaya Gupta 2e1380aecf Merge m-c to graphics
MozReview-Commit-ID: 5zsIClrx1FB
2017-04-21 10:01:47 -04:00
Mason Chang c235da7452 Bug 1346487 - Support border clip for webrender borders. r=ethlin 2017-04-20 16:57:27 -07:00
Phil Ringnalda b9b730fd1f Backed out 7 changesets (bug 1302470) for mochitest-chrome failures
CLOSED TREE

Backed out changeset de9f42b512c8 (bug 1302470)
Backed out changeset 2394e63f50ff (bug 1302470)
Backed out changeset 3542d7bacbdc (bug 1302470)
Backed out changeset 22793139a866 (bug 1302470)
Backed out changeset cc6ff95187d0 (bug 1302470)
Backed out changeset 033fce5ecd39 (bug 1302470)
Backed out changeset 0bb3e70e5f46 (bug 1302470)

MozReview-Commit-ID: 5DmpbQp335X
2017-04-28 20:12:06 -07:00
Sebastian Hengst 37d7b65041 merge mozilla-central to mozilla-inbound. r=merge a=backout 2017-04-21 18:36:31 +02:00
Sebastian Hengst 6e1c138a06 Backed out changeset 435e638babd1 (bug 1349418) for failing checkerboard-{1,2,3}.html on Android 4.3. r=backout a=backout
MozReview-Commit-ID: Au7FbypQNvf
2017-04-21 18:01:24 +02:00
Sebastian Hengst 4b2cbe9ca3 Backed out changeset 3ccf396a61fe (bug 1349418)
MozReview-Commit-ID: 8VeAi8IOAl4
2017-04-21 17:59:43 +02:00
Matt Woodrow 438790335b Bug 1351412 - Make the ContainerState AGR cache work even for non-async scrollable AGRs. r=mstange
--HG--
extra : rebase_source : 2875fc0c55a4020dbb3979b741fb4fa378a1642d
2017-04-19 15:39:17 +12:00
Tom Tromey 6bbb235ebc Bug 1334302 - use MOZ_FORMAT_PRINTF in nsCSSRenderingBorders.h; r=mattwoodrow
Add MOZ_FORMAT_PRINTF to the definitions of PrintAsFormatString in
nsCSSRenderingBorders.h.

MozReview-Commit-ID: 9ZcSgNIPPhM

--HG--
extra : rebase_source : e2c3f86ac58835c0bdaf442f45fee25db99e52a6
2017-04-26 14:59:15 -06:00
cku 015e4aa234 Bug 1351015 - Not assuming nsStyleImage::ComputeActualCropRect always return true. r=heycam
nsStyleImage::ComputeActualCropRect may return false under 4 conditions
1. mType is not eStyleImageType_Image.
   This function is design to be used when mType is eStyleImageType_Image.
   Replace this 'if' check by MOZ_ASSERT.
2. nsStyleImage::GetImageData() returns nullptr
   This function will return true if this image refers to a local-ref resource.
3. GetImage returns failure or does not return a valid imgIContainer.
   It's possible. Please refers to the comment in imgReqestProxy::GetImage
   at [1].
4. imageSize is empty
   It's possible too. By giving a malformed image to a style image, we will hit
   this condition. And this is right what we met in this bug.

Since ComputeActualCropRect may actaully return false, we should remove the
NS_ASSERTION that assume it will always return true.

[1]
https://hg.mozilla.org/mozilla-central/file/7f1f1559cd8d/image/imgRequestProxy.cpp#l513

MozReview-Commit-ID: KHTFQJjiLtT

--HG--
extra : rebase_source : c4e119dd250094115ab23c323ca49f9ebc296698
2017-04-22 03:28:20 +08:00
Morris Tseng 17ca3b4db0 Bug 1358066 - Remove the painted layer invalidate region calculation if the painted layer has been optimized to color or image layer. r=mattwoodrow
MozReview-Commit-ID: KuwROm4DGk6
2017-04-21 15:27:48 +08:00
Morris Tseng 7eb27c99ad Bug 1358961 - IsPartOfOpaqueLayer should consider ColorLayer as well. r=mattwoodrow
MozReview-Commit-ID: 9PUKdz7m1uJ
2017-04-25 11:02:48 +08:00
Jamie Nicol 17d4964c7c Bug 1358185 - Force FixedPosition display items to be active. r=mstange
Fixed backgrounds were not being clipped correctly when rendered using
inactive layers.

MozReview-Commit-ID: 3v8tajr3MoB

--HG--
extra : rebase_source : 25329cb9efb998c64924916d4ea496a439688c8d
2017-05-03 16:49:43 +01:00
Botond Ballo 979e3ee035 Bug 1359868 - Move the ComputePartialPrerenderArea() helper to nsLayoutUtils so it can be reused. r=mstange
MozReview-Commit-ID: GVRBUfYwOFP

--HG--
extra : rebase_source : 8e16daf7709cc107f21e3b8b0050df44e83089fb
2017-05-01 19:59:08 -04:00
Brian Birtles ba8b6f981e Bug 1355348 - Add constructor to AnimationValue; r=hiro
We will use this later in this patch series to simplify the creation of SMIL's
ValueWrapper objects.

MozReview-Commit-ID: 7EF9CN2SdwQ

--HG--
extra : rebase_source : e7cf5adc4c3f72dcc4b99625a8d0cb1a2d17f7d4
2017-04-26 13:00:11 +09:00
cku 1cfdb6e485 Bug 1359844 - Ensure full decode be triggered after style-image was downloaded, r=mstange
In nsCSSRendering::PaintBorderWithStyleBorder:
DrawResult
nsCSSRendering::PaintBorderWithStyleBorder()
{
  if (aStyleBorder.IsBorderImageLoaded()) {
    (1)
  }

  (2)
}

At (1), we create a nsCSSBorderImageRenderer object. While creating it, we call
imgRenderer.PrepareImage() to ensure a full image decode at [1]. PrepareImage is
used in both bg-image/mask-image and border-image. The difference is, in
bg-image/mask-image painting path, we unconditionally use PrepareImage(in
nsCSSRendering::PrepareImageLayer), whereas in border-image painting path we
use it only after border-image was downloaded. This difference does cause a
problem. After border image was downloaded, the decoder will not do full decoding
since we did not ask for it, so there will be no repaint notification and no
chance to paint border-image again.

In this patch, I try to align the behavior between bg-image/mask-image and
border-image: always call nsImageRenderer::PrepareImage.

This is a generic fix for both stylo-enable and stylo-disable build. We do not
find this problem in reftest is because we use SYNC_DECODE in reftest harness, which
hides this race condition. When daily using firefox, if
nsCSSRendering::PaintBorderWithStyleBorder is called after border-image was
loaded, your program run into (1), border-image will be drawn correctly; In the
case that nsCSSRendering::PaintBorderWithStyleBorder is called before
border-image is loaded, your program run into (2), and you can only see
border-color.

[1]
https://hg.mozilla.org/mozilla-central/file/a6f35285bd1e/layout/painting/nsCSSRenderingBorders.cpp#l3598

MozReview-Commit-ID: 6pidHJdPG8I

--HG--
extra : rebase_source : 2be402f59a42ef767ab6bae2962cd2ec55b36c50
2017-04-17 15:10:52 +08:00
Matt Woodrow 7238b8d741 Bug 1349418 - Require ASRs to match before allow occlusions between layers. r=mstange
--HG--
extra : rebase_source : 6ac691aeb796c83c5b8c4387b7656afcb415e13d
2017-04-21 14:03:40 +12:00
Markus Stange 853d16cc7d Bug 1349418 - Remove checkerboarding code and just use an opaque background color behind root scroll frames. r=kats
--HG--
extra : rebase_source : d6b27d8b36eb8329cead0bd184c7ec6fd983ba53
2017-04-21 14:02:15 +12:00
Wes Kocher 5ce5528fb1 Merge inbound to m-c a=merge
MozReview-Commit-ID: DQDuEiYLWCO
2017-04-20 15:30:43 -07:00
Chris Peterson 9e037cb5e9 Bug 1356843 - Fix -Wcomma warnings in layout/. r=dholbert
clang's -Wcomma warning warns about suspicious use of the comma operator such as between two statements or to call a function for side effects within an expression. In addition to fixing the warnings, replace some char16_t(' ') casts of char literals with shorter UTF-16 character literals u' '.

layout/painting/FrameLayerBuilder.cpp:3647:31 [-Wcomma] possible misuse of comma operator here
layout/painting/FrameLayerBuilder.cpp:3657:41 [-Wcomma] possible misuse of comma operator here
layout/painting/nsCSSRenderingBorders.cpp:3336:33 [-Wcomma] possible misuse of comma operator here
layout/painting/nsCSSRenderingBorders.cpp:3336:60 [-Wcomma] possible misuse of comma operator here
layout/painting/nsCSSRenderingBorders.cpp:3337:33 [-Wcomma] possible misuse of comma operator here
layout/painting/nsCSSRenderingBorders.cpp:3337:60 [-Wcomma] possible misuse of comma operator here
layout/style/Declaration.cpp:808:41 [-Wcomma] possible misuse of comma operator here
layout/style/Declaration.cpp:812:42 [-Wcomma] possible misuse of comma operator here
layout/style/FontFaceSet.cpp:1118:60 [-Wcomma] possible misuse of comma operator here

MozReview-Commit-ID: 9tfcIsnnBwM

--HG--
extra : rebase_source : 89916d1d7b43e4c4793364637a8d015242cb033f
extra : source : c5921d4d63f8f68eafe5a33013e08f9a455429d9
2017-04-09 21:11:45 -07:00
Astley Chen f93fc0a7bc Bug 1355752 - Remove B2G code from FrameLayerBuilder.cpp. r=mstange
MozReview-Commit-ID: CbMnZJldiUl

--HG--
extra : rebase_source : 4899991aedc8cc2413fcf695601eb79c0245eb01
2017-04-20 13:16:43 +08:00
Carsten "Tomcat" Book 2a74ba4261 Merge mozilla-central to autoland 2017-05-02 11:23:38 +02:00
Emilio Cobos Álvarez 23bce99ae1 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk

--HG--
extra : rebase_source : 2d01321f5ce0ec8c0e3f70984674f82678034b3c
2017-05-01 19:32:52 +02:00
Michael Layzell 8b7ba021a4 Bug 1339537 - Part 6: Pass std::function values tree by const reference instead of by value, r=ehsan
MozReview-Commit-ID: PVAqU2DPs2
2017-04-27 12:44:57 -04:00
Brad Werth bacc100343 Bug 1302470 Part 5: Change nsDisplayList::GetOpaqueRegion non-opaque lists to build up a region from its children. r=mattwoodrow
MozReview-Commit-ID: LEuvazbz1X

--HG--
extra : rebase_source : d12b472ba31682d4e70340bf4e9e89068be44293
2017-04-20 10:50:41 -07:00
sotaro a824933324 Bug 1356130 - Change SendImageContainer() as to return Maybe<wr::ImageKey> r=jrmuizel 2017-04-14 09:13:12 +09:00
Kartikaya Gupta b4341d2689 Merge m-c to graphics
MozReview-Commit-ID: EGaA6e4loBM
2017-04-13 11:08:02 -04:00
sotaro 79b1971bae Bug 1356088 - Fix ImageKey removals of ExternalImages r=jrmuizel 2017-04-13 20:53:21 +09:00
Ryan Hunt 243c73c180 Bug 1355570 - Respect aSrc when building WebRender gradients r=mattwoodrow
MozReview-Commit-ID: 6YfNRGYnHcK

--HG--
extra : rebase_source : 02d85de5342b54ea85456dac2403fcf6270c8884
extra : histedit_source : 05c11c0766bdd274af0ffff528e32ed9ad1d29a4
2017-04-11 14:30:33 -04:00
Ryan Hunt 4a34413551 Bug 1355570 - Simplify nsCSSRenderingGradients r=mattwoodrow
In nsCSSRenderingGradients the logic for handling many error conditions
and normalizing the gradient stops is shared between the paint path and
the WebRender path. WebRender now normalizes gradients and handles any
error conditions that it needs to. There are some conditions that are not
problems for it, like repeating radial gradients with stops below zero.

This commit undoes the work done in bug 1341101 to share this logic. Some
conditions were moved around in bug 1341101 to make things simpler, and
that has been undone. Now the paint path is identical to how it was
originally.

There is one exception, which is ResolveMidpoints which is kept between
both code paths. This should be safe.

MozReview-Commit-ID: LMhMNXNquXM

--HG--
extra : rebase_source : 2d389f76134671b6caa44a3b7370b1c786576bdc
extra : histedit_source : caf5d3a456cbb9987970783969d0eb2a424e7eca
2017-04-11 14:30:13 -04:00
Ryan Hunt 8840b347cb Bug 1355570 - Premultiply WebRender gradient stop colors r=mattwoodrow
MozReview-Commit-ID: 7zdxaJR5yS4

--HG--
extra : rebase_source : ad7b6eaa885e1ed5c2bff74cb25404c71c17ea0c
extra : histedit_source : af61fa9ed492e4c175c675c15ffb103ad47b01e8
2017-04-11 12:22:24 -04:00
Ryan Hunt bfa4ee5cb2 Bug 1355570 - Update bindings and WebRender display list building for gradient tiling r=jrmuizel
MozReview-Commit-ID: KwhCBc8XxCN

--HG--
extra : rebase_source : a5608b3388528ae1bd39be5f2fd9b2094193d46c
extra : source : c244293944bc163a742ef1b6f4225a751db5f796
extra : histedit_source : 860c2dc0fd3f8a5f35aea9b1ca15218d64208b65%2C803c9c5d3e85ee73fda2e3ccf504426b4798aecb
2017-04-12 14:20:52 -05:00
Kartikaya Gupta aa20d100c1 Merge m-c to graphics
MozReview-Commit-ID: Ij5C7MUete4
2017-04-11 10:09:54 -04:00
Carsten "Tomcat" Book ee9da45454 merge mozilla-inbound to mozilla-central a=merge 2017-04-11 10:17:24 +02:00
David Anderson a8433cef6b Collect diagnostics on paint times for the compositor overlay. (bug 1352151 part 1, r=mattwoodrow)
--HG--
extra : rebase_source : f30dc11079add3f1019777b1c85cc5c5a5f0596b
2017-04-10 19:44:45 -07:00
Kartikaya Gupta 18bf4caba2 Merge m-c to graphics
MozReview-Commit-ID: ICVAgHmKVL4
2017-04-10 08:47:20 -04:00
Morris Tseng 5cb5800c6b Bug 1347469 - Add support for gradient border. r=mattwoodrow
MozReview-Commit-ID: 7RfVsPFWhlo
2017-04-10 17:27:30 +08:00
Ethan Lin 0834f181db Bug 1351242 - Add webrender support for nsDisplayBackgroundImage image type. r=mchang 2017-04-07 14:53:16 +08:00
Mason Chang c6730cfadf Bug 1353906 - Enable box shadows with a uniform border radius in WR. r=rhunt 2017-04-05 09:00:50 -07:00
peter chang 82b62cfc18 Bug 1344079 - Convert ColumnRule to WebRenderDisplayItemLayer, r=mattwoodrow
MozReview-Commit-ID: AmAVYi4P7nl

--HG--
extra : rebase_source : a2c7196cca088ed44e3c1dadd7ba599348ffbd29
2017-03-24 17:35:35 +08:00
Jeremy Chen 2738241549 Bug 1347815 - part2: label LayerActivityTracker. r=heycam
LayerActivityTracker::NotifyExpired() will be invoked by
nsExpirationTracker::TimerCallback() from an unlabeled runnable.
We provide a SystemGroup EventTarget for the invocation of this
callback since there's nothing within a page that would rely on
the timer firing at a particular time (i.e., it doesn't matter
when this timer's callback is scheduled, relative to other
runnables dispatched for the page).

MozReview-Commit-ID: FZHtqicwDG5

--HG--
extra : rebase_source : 741983a64e7b9835999bdb344bc5f163eebac246
2017-04-09 16:53:56 +08:00
Hiroyuki Ikezoe 862f50057c Bug 1311257 - Update comment refering to bug 1311257. r=birtles
MozReview-Commit-ID: EM1dYILDlzS

--HG--
extra : rebase_source : 4b47c821c0d07261a13d58fda2b9bcc0f4bc2970
2017-04-06 11:51:29 +09:00
Nazım Can Altınova a99f2a36a0 Bug 1341761 - Convert nsStyleImage::mElementId to use nsIAtom. r=xidorn
MozReview-Commit-ID: 9YcbhMmXYoi
2017-04-09 16:44:36 +03:00
Wes Kocher d71fef4f33 Merge autoland to central, a=merge 2017-04-05 13:20:39 -07:00
Kartikaya Gupta c32c70abe2 Merge m-c to graphics
MozReview-Commit-ID: JgUpOHlFfrP
2017-04-05 09:41:01 -04:00
Carsten "Tomcat" Book 7a670cdd01 merge mozilla-inbound to mozilla-central a=merge 2017-04-05 14:33:35 +02:00
Ryan Hunt 7ab0cb366b Bug 1351480 - Update bindings for gradients. r=jrmuizel
MozReview-Commit-ID: 48bjXH4ZCBi
2017-03-31 19:18:44 -04:00
Kartikaya Gupta 868642f10c Merge m-c to graphics
MozReview-Commit-ID: KJoBJaTnxoC
2017-04-02 22:46:53 -04:00
Wes Kocher 3a0357deec Merge m-c to inbound a=merge 2017-03-31 17:53:52 -07:00
Kartikaya Gupta acefdfbab2 Merge m-c to graphics
MozReview-Commit-ID: Gmms6PhTr8U
2017-03-31 10:37:00 -04:00
Boris Chiou a583863fc8 Bug 1352067 - Part 1: Make sure AnimationValue::{mGecko|mServo} are mutually exclusive. r=birtles,emilio
We will obsolete StyleAnimationValue in the future, and can treat
AnimationValue as a wrapper of RawServoAnimationValue to hide the FFIs
at that moment. For now, we still need both types, so it's better to make sure
they are mutually exclusive in AnimationValue. Therefore, let's add some
assertions.

Besides, I think those FFIs might do many things and it seems those methods
are not critical, so let's move them into the cpp file, so we can remove
some dependencies to avoid re-compiling so many files if someone needs
revise ServoBindings.h.

MozReview-Commit-ID: FJ1uTvEQ7NT

--HG--
extra : rebase_source : 8ef99c659f2721c8425364051db19b66536bccc6
2017-03-31 17:46:37 +08:00
Kartikaya Gupta 618a729ba9 Merge m-c to graphics
MozReview-Commit-ID: IhFmzYDQJte
2017-03-30 08:55:36 -04:00
Eric Rahm 861a58d5a4 Bug 1351904 - Switch layout over to ArenaAllocator. r=xidorn
This switches over layout's usage of PLArena to ArenaAllocator. This allows
us to build more files in unified sources and gets rid of various CONST masks.

MozReview-Commit-ID: Aaf3Dl2kaoz
2017-03-31 14:06:33 -07:00
Markus Stange 13864d8014 Bug 1352380 - Make sure gradient stops have ordered mPosition variables. r=dbaron
MozReview-Commit-ID: DsP5Q6qmvH2

--HG--
extra : rebase_source : 69d1480d116fd6d2bf47e594aba478145d142786
2017-04-05 09:54:03 -04:00
Markus Stange 490c5ccf32 Bug 1353205 - Fix includes in nsImageRenderer.cpp again. r=rhunt
MozReview-Commit-ID: EQyAdbOCWtU

--HG--
extra : rebase_source : 2edd7a7c75e35bbe5909371ac851e907861d6644
2017-04-04 11:38:20 -04:00
Jamie Nicol 3661bae08d Bug 1339575 - Add pref to create color layers for nsDisplaySolidColor. r=mstange
Switched off for now as it causes reftest failures.

MozReview-Commit-ID: EzU8fhncppS
2017-03-13 16:02:09 +00:00
Kartikaya Gupta 317d304694 Merge m-c to graphics
MozReview-Commit-ID: 9kxCUtDZT9J
2017-03-29 10:24:15 -04:00
Mason Chang e08bd7cbdb Bug 1351114 Properly track display item layers in layer managers. r=mattwoodrow 2017-03-28 22:37:11 -07:00
Ethan Lin bb6943a029 Bug 1349497 - Add pref to create color layer for nsDisplayBackgroundColor. r=mchang 2017-03-28 16:48:14 +08:00
Mason Chang 3b2070933d Bug 1350182 - Enable button border display items by default. r=ethlin 2017-03-27 13:09:55 -07:00
Kartikaya Gupta ec69fdebcf Merge m-c to graphics
MozReview-Commit-ID: I4ehbSXNLmS
2017-03-27 09:18:34 -04:00
Ethan Lin caa395107a Bug 1348755 - Part1. Handle clipping region for nsDisplayOutline. r=mattwoodrow 2017-03-27 16:17:45 +08:00
Mats Palmgren 79cff05243 Bug 1333482 part 2 - [css-ui] Change all consumers of StyleDisplay::mAppearance to use the accessor UsedAppearance() instead, and make mAppearance/mMozAppearance private. r=dholbert
MozReview-Commit-ID: 8JwLsY1CLDJ
2017-03-23 22:11:18 -07:00
Mason Chang 830718b65f Bug 1353521 - Add telemetry probes to find out which display items are being used. r=dvander 2017-04-04 15:19:14 -07:00
Ryan Hunt c34aafb126 Bug 1341101 part 6 - Build WR gradients for nsDisplayBackgroundImage when supported r=jrmuizel
MozReview-Commit-ID: 3VKLZQZWyrG

--HG--
extra : rebase_source : c4dcfcff043b0f1b83a274e63a1aae32890bc968
2017-03-15 02:51:16 -04:00
Ryan Hunt cb1eb2c5ce Bug 1341101 part 5 - Support building WR DisplayItems for BackgroundImageLayers that are gradients r=mattwoodrow
MozReview-Commit-ID: BNLT8Wbp672

--HG--
extra : rebase_source : c02a356e37f906a505992493730255161862960b
2017-03-20 19:31:39 -04:00
Ryan Hunt 56219a24fd Bug 1341101 part 4 - Specify a nsRenderingContext for nsCSSRendering::PaintStyleImageLayer r=mattwoodrow
MozReview-Commit-ID: 5TX6IXLSC8r

--HG--
extra : rebase_source : fef1d37208dc29f8df67388fe5c335a9c013daef
2017-03-15 00:25:09 -04:00
Ryan Hunt cfc9025674 Bug 1341101 part 3 - Support building WR gradients in nsCSSGradientRenderer r=mattwoodrow
MozReview-Commit-ID: HLSmseHj5Si

--HG--
extra : rebase_source : b8e39ba51c6ab28a2c9ed7b694e5098e50bf022c
2017-03-15 03:20:02 -04:00
Ryan Hunt 6e1c6e32b8 Bug 1341101 part 2 - Create a nsCSSGradientRenderer for collecting gradient parameters r=mattwoodrow
Refactor the existing PaintGradient method into a nsCSSGradientRenderer class. The purpose
of this is to separate the calculation of gradient parameters from the painting of the
gradients. This should help us to share code between WebRender and our existing
painting code. It does not change how we render gradients currently.

MozReview-Commit-ID: 4P8vPqK4V8g

--HG--
extra : rebase_source : 031cd8d15148153b0af23fa9ff0abbf037d028db
2017-03-15 03:14:17 -04:00
Ryan Hunt db5037c2f6 Bug 1341101 part 1 - Move nsCSSRendering::PaintGradient into its own file r=jrmuizel
MozReview-Commit-ID: 1DyZ8TpcA3m

--HG--
rename : layout/painting/nsCSSRendering.cpp => layout/painting/nsCSSRenderingGradients.cpp
extra : rebase_source : e328771c2e4c19e23e720683b983cfb22d2cf9f8
2017-03-14 01:05:41 -05:00
cku 8abb48b629 Bug 877661 - Part 1. Pass decode flag down to GetMaskForMaskedFrame. r=tnikkel
MozReview-Commit-ID: 9KhIWp1rHzb

--HG--
extra : rebase_source : 8c3d3c95ba7ada05673ba637cd542f41e9ce9f90
2017-03-27 11:10:48 +08:00
Wes Kocher 8e0bc97954 Merge inbound to central, a=merge 2017-03-29 15:41:57 -07:00
Thinker K.F. Li 53cb8600b7 Bug 1343057 - Part 2: Disable AA for layers with animation in effect. r=mattwoodrow
--HG--
extra : rebase_source : 1de5a9f4a4e18ba8624433a43a22b8ac47a9cc91
2017-03-29 09:38:00 -04:00
Thinker K.F. Li c3c86f2b4d Bug 1343057 - Part 1: Recycle painted layers with AA in mind. r=mattwoodrow
--HG--
extra : rebase_source : 70c009c778e03ea96f430dd96fe2abc645addb7d
2017-03-29 09:37:00 -04:00
Boris Chiou 2317c8957e Bug 1343753 - Part 6: Move mAnimationGeneration into RestyleManager. r=birtles
So stylo can also use mAnimationGeneration.

MozReview-Commit-ID: KTc8vs2RKMm

--HG--
extra : rebase_source : 52aeb3bf91fa849cbddbedff28418736f96086bb
2017-03-09 17:15:08 +08:00
Kartikaya Gupta 0fee7584e7 Merge m-c to graphics
MozReview-Commit-ID: 1rTRVEHequ9
2017-03-23 10:01:31 -04:00
Kartikaya Gupta 9608ac4946 Merge m-c to graphics
MozReview-Commit-ID: Ci50iHfzKbA
2017-03-22 09:55:38 -04:00
Mason Chang d1c245a2c8 Bug 1348408 - Only create inset box shadow WR layers for cases WR supports. r=rhunt 2017-03-15 13:40:00 -07:00
Kartikaya Gupta 0a0a696241 Merge m-c to graphics
MozReview-Commit-ID: 2CbNs260zlf
2017-03-20 10:07:29 -04:00
Ethan Lin 803515ec05 Bug 1347871 - Do not create webrender commands if the image renderer doesn't have image container. r=mattwoodrow
--HG--
extra : rebase_source : 4b796a83e76b0dc812208a408570a63618ef47a1
2017-03-20 16:27:55 +08:00
Mason Chang f47b17cdff Bug 1347727. Detect box shadow outer cases that WR doesn't support and don't enable a layer for it in WR. r=rhunt 2017-03-17 15:06:57 -07:00
Kartikaya Gupta 0485af4853 Merge m-c to graphics
MozReview-Commit-ID: 5m04vXUTlsy
2017-03-17 11:03:02 -04:00
Ethan Lin 45be150fbd Bug 1347445 - Create border layer for non-QR case. r=mchang 2017-03-16 16:54:12 +08:00
Ethan Lin e45cbc2dc8 Bug 1346702 - Part2. Add CanCreateWebrenderCommands for checking if the render should create WR commands. r=mchang 2017-03-15 14:37:50 +08:00
Ethan Lin f892202a33 Bug 1346702 - Part1. Create border renderer in nsDisplayBorder::GetLayerState. r=mchang 2017-03-15 14:37:50 +08:00