gecko-dev/layout/painting
Kartikaya Gupta 11b43679d8 Bug 1421825 - Fix crash and re-enable crashtest. r=jrmuizel
In some cases we get a gecko display list that looks like this:

WrapList with asr(<A>, <B>)
  Item with asr (<B>) and clipchain(<something> [A])

In this case, we would initialize the WebRenderLayerScrollData for the
nested item using a stop-at ancestor of A (because that was the leafmost
ASR from the containing WrapList) but the item itself has an ASR of B,
which is an ancestor of A. So when walking up from B we'd never hit the
stop-at ancestor, and so we'd end up duplicating metrics from the
containing WRLSD onto the nested WRLSD. This generated an assertion
failure in the APZ code.

This patch detects this scenario and skips adding metrics on the nested
WRLSD. This produces an APZ tree equivalent to what the non-WebRender
path would produce.

MozReview-Commit-ID: 8eo6pzXXKBd

--HG--
extra : rebase_source : 0581c54c4d9fa6ca08249e42b306c7155022bec7
2018-07-10 09:37:40 -04:00
..
crashtests Bug 1421825 - Fix crash and re-enable crashtest. r=jrmuizel 2018-07-10 09:37:40 -04:00
ActiveLayerTracker.cpp Bug 1469220 - Backed out changeset 7fc66c715a0f and 39cb4d5f6602. r=mattwoodrow 2018-06-18 06:16:07 +09:00
ActiveLayerTracker.h Bug 1467619 - Track and adjust layerization on repaint triggers r=mattwoodrow 2018-06-07 11:44:03 -07:00
BorderCache.h Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
BorderConsts.h Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
DashedCornerFinder.cpp Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
DashedCornerFinder.h Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
DisplayItemClip.cpp Bug 1450134. Replace ToRelativeLayoutRect() with ToRoundedLayoutRect(). r=kats 2018-03-29 17:57:43 -04:00
DisplayItemClip.h Bug 1438990 - Remove common clip count code from FrameLayerBuilder, as it's no longer necessary now that we have ASRs. r=mstange 2018-03-07 15:40:42 +13:00
DisplayItemClipChain.cpp Bug 1437623 part 3: (layout/painting) Add missing includes/namespaces to preemptively fix unified bustage. r=mattwoodrow 2018-02-13 09:08:42 -08:00
DisplayItemClipChain.h Bug 1453795 - Layout/Painting - Initialize member fields in classes/ structures. r=stange 2018-06-15 19:13:05 +03:00
DisplayListChecker.cpp Bug 1433850 - layout.display-list.retain.verify.order to also check RDL ordering - r=mattwoodrow 2018-01-29 18:23:14 +11:00
DisplayListChecker.h Bug 1420298 'layout.display-list.retain.verify' to debug retained-dl - r=mattwoodrow 2017-11-20 17:15:08 +11:00
DisplayListClipState.cpp Bug 1430589 - Avoid putting a stack-allocated DisplayItemClipChain into the clip deduplicator. r=mattwoodrow,mstange 2018-01-19 23:47:26 -05:00
DisplayListClipState.h Bug 1436279 - Remove unneeded 'friend class' statements - r=mattwoodrow 2017-12-13 09:21:14 -06:00
DottedCornerFinder.cpp Bug 1453795 - Layout/Painting - Initialize member fields in classes/ structures. r=stange 2018-06-15 19:13:05 +03:00
DottedCornerFinder.h Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
FrameLayerBuilder.cpp Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats 2018-07-10 15:19:43 +12:00
FrameLayerBuilder.h Bug 1473379 - Change PaintedLayerData::mAssignedDisplayItems to a std::vector. r=mattwoodrow 2018-07-03 22:39:04 -04:00
LayerState.h Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
MaskLayerImageCache.cpp Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
MaskLayerImageCache.h Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
moz.build Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange 2018-03-23 16:47:37 +13:00
nsCSSRendering.cpp Bug 1472650 - nsCSSRendering::ShouldPaintBoxShadowInner should use GetComposedDoc, r=emilio 2018-07-03 17:57:11 +03:00
nsCSSRendering.h Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE 2018-03-22 20:06:24 +01:00
nsCSSRenderingBorders.cpp Backed out 3 changesets (bug 1470125) for force-cargo-library-build bustages on a CLOSED TREE 2018-06-28 21:25:33 +03:00
nsCSSRenderingBorders.h Bug 1429723: Graphics cleanup. r=jrmuizel 2018-01-22 18:14:19 +01:00
nsCSSRenderingGradients.cpp Bug 1467379 - P1: nsStyleGradientStop - Change nscolor to StyleComplexColor. r=xidorn 2018-06-07 15:55:26 +10:00
nsCSSRenderingGradients.h Bug 1453795 - Layout/Painting - Initialize member fields in classes/ structures. r=stange 2018-06-15 19:13:05 +03:00
nsDisplayItemTypes.h Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
nsDisplayItemTypesList.h Bug 1436409 - Remove the nsDisplayLayerEventRegions display item. r=mattwoodrow,tnikkel 2018-06-08 17:31:27 -04:00
nsDisplayList.cpp Bug 1466638 - Implement support for ContainerLayerParameters::mOffset in nsDisplayImageContainer. r=mstange 2018-07-09 16:11:08 +12:00
nsDisplayList.h Bug 1461313 - Handle invalid clip-path URIs with WebRender. r=mstange 2018-07-05 08:05:34 -04:00
nsDisplayListInvalidation.cpp Bug 1418893 - Check opacity changes when computing mask's invalidation region. r=mattwoodrow 2017-12-20 14:23:06 +08:00
nsDisplayListInvalidation.h Backed out 6 changesets (bug 1442190) for reftest failures on /anonymous-block.html on a CLOSED TREE 2018-04-11 20:14:53 +03:00
nsImageRenderer.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
nsImageRenderer.h Bug 1453795 - Layout/Painting - Initialize member fields in classes/ structures. r=stange 2018-06-15 19:13:05 +03:00
PaintTracker.cpp Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
PaintTracker.h Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame 2017-10-27 10:33:53 -07:00
RetainedDisplayListBuilder.cpp Bug 1472830: Reuse the work from ApplyOpacityToChildren when possible. r=mattwoodrow 2018-07-03 20:26:40 +00:00
RetainedDisplayListBuilder.h Bug 1462497 - Add assertions to try diagnose which wrapper item went away. r=mstange 2018-05-18 20:50:04 +12:00
RetainedDisplayListHelpers.h Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00