Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Issue 1110653003: [Reland] Correct fixed-position recording for Slimming Paint (Closed)

Created:
5 years, 7 months ago by trchen
Modified:
5 years, 7 months ago
Reviewers:
chrishtr, Xianzhu
CC:
ajuma, blink-reviews, blink-reviews-paint_chromium.org, blink-reviews-rendering, Rik, danakj, dshwang, krit, eae+blinkwatch, f(malita), jbroman, jchaffraix+rendering, Justin Novosad, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

[Reland] Correct fixed-position recording for Slimming Paint Before this CL, the location of display items of the descendants of a fixed-position container is specified in absolute coordinate. Scrolling the viewport with non-composited fixed position container will need a full subtree invalidation. This CL paints fixed position layers by adding a full-layer transform then change the painting root to the current layer for painting. Identical to how we paint non-composited transformed layer. This way scrolling won't need to invalidate any display items in the subtree. As a drive-by change, LayerFixedPositionRecorder, FixedPositionDisplayItem, and FixedPositionContainerDisplayItem are added for layerization. Currently they are no-op. BUG=482170 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=194784

Patch Set 1 #

Patch Set 2 : rebase #

Total comments: 2

Patch Set 3 : revert isFixedPositionedContainer #

Patch Set 4 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+386 lines, -5 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 2 chunks +6 lines, -1 line 0 comments Download
A LayoutTests/paint/overflow/fixed-children-should-not-scroll.html View 1 chunk +38 lines, -0 lines 0 comments Download
A LayoutTests/paint/overflow/fixed-children-should-not-scroll-expected.html View 1 chunk +23 lines, -0 lines 0 comments Download
M LayoutTests/platform/linux/virtual/slimmingpaint/fast/layers/scroll-descendant-with-cached-cliprects-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
M LayoutTests/platform/linux/virtual/slimmingpaint/fast/repaint/position-change-keeping-geometry-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/platform/win-xp/virtual/slimmingpaint/fast/repaint/position-change-keeping-geometry-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/virtual/slimmingpaint/fast/layers/scroll-descendant-with-cached-cliprects-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
M LayoutTests/virtual/slimmingpaint/fast/repaint/absolute-position-change-containing-block-expected.txt View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/virtual/slimmingpaint/fast/repaint/fixed-after-scroll-expected.txt View 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/virtual/slimmingpaint/fast/repaint/fixed-to-relative-position-with-absolute-child-expected.txt View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M LayoutTests/virtual/slimmingpaint/fast/repaint/position-change-keeping-geometry-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/core.gypi View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutBoxModelObject.cpp View 1 1 chunk +11 lines, -0 lines 0 comments Download
M Source/core/layout/LayoutObject.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/layout/LayoutObject.cpp View 1 2 3 1 chunk +22 lines, -0 lines 0 comments Download
M Source/core/paint/DeprecatedPaintLayer.cpp View 1 2 3 chunks +4 lines, -3 lines 0 comments Download
M Source/core/paint/DeprecatedPaintLayerPainter.cpp View 2 chunks +3 lines, -0 lines 0 comments Download
A Source/core/paint/LayerFixedPositionRecorder.h View 1 chunk +30 lines, -0 lines 0 comments Download
A Source/core/paint/LayerFixedPositionRecorder.cpp View 1 chunk +54 lines, -0 lines 0 comments Download
M Source/platform/RuntimeEnabledFeatures.in View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/blink_platform.gypi View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M Source/platform/graphics/paint/DisplayItem.h View 1 chunk +4 lines, -0 lines 0 comments Download
M Source/platform/graphics/paint/DisplayItem.cpp View 1 1 chunk +4 lines, -0 lines 0 comments Download
A Source/platform/graphics/paint/FixedPositionContainerDisplayItem.h View 1 chunk +56 lines, -0 lines 0 comments Download
A Source/platform/graphics/paint/FixedPositionContainerDisplayItem.cpp View 1 chunk +24 lines, -0 lines 0 comments Download
A Source/platform/graphics/paint/FixedPositionDisplayItem.h View 1 chunk +56 lines, -0 lines 0 comments Download
A Source/platform/graphics/paint/FixedPositionDisplayItem.cpp View 1 chunk +24 lines, -0 lines 0 comments Download

Messages

Total messages: 27 (12 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1110653003/1
5 years, 7 months ago (2015-04-30 00:53:56 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/53892)
5 years, 7 months ago (2015-04-30 00:56:51 UTC) #4
trchen
This CL fixes the CrOS browser_tests assertion failures. The only difference from previous CL is ...
5 years, 7 months ago (2015-04-30 01:01:13 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1110653003/20001
5 years, 7 months ago (2015-04-30 01:05:43 UTC) #8
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 7 months ago (2015-04-30 02:38:11 UTC) #10
ajuma
On 2015/04/30 01:01:13, trchen wrote: > This CL fixes the CrOS browser_tests assertion failures. > ...
5 years, 7 months ago (2015-04-30 14:22:32 UTC) #11
chrishtr
https://codereview.chromium.org/1110653003/diff/20001/Source/core/paint/DeprecatedPaintLayer.cpp File Source/core/paint/DeprecatedPaintLayer.cpp (right): https://codereview.chromium.org/1110653003/diff/20001/Source/core/paint/DeprecatedPaintLayer.cpp#newcode939 Source/core/paint/DeprecatedPaintLayer.cpp:939: return layer->isRootLayer() || layer->transform(); This should be landed first ...
5 years, 7 months ago (2015-04-30 17:34:59 UTC) #12
Xianzhu
https://codereview.chromium.org/1110653003/diff/20001/Source/core/paint/DeprecatedPaintLayer.cpp File Source/core/paint/DeprecatedPaintLayer.cpp (right): https://codereview.chromium.org/1110653003/diff/20001/Source/core/paint/DeprecatedPaintLayer.cpp#newcode939 Source/core/paint/DeprecatedPaintLayer.cpp:939: return layer->isRootLayer() || layer->transform(); If we want change this, ...
5 years, 7 months ago (2015-04-30 17:54:44 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1110653003/40001
5 years, 7 months ago (2015-04-30 22:28:43 UTC) #16
trchen
Got it. Reverted the isFixedPositionedContainer change since ajuma made a fix for the assertion failure. ...
5 years, 7 months ago (2015-04-30 22:28:54 UTC) #17
chrishtr
lgtm
5 years, 7 months ago (2015-04-30 22:29:48 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1110653003/40001
5 years, 7 months ago (2015-05-01 01:12:37 UTC) #21
commit-bot: I haz the power
Failed to apply patch for LayoutTests/virtual/slimmingpaint/fast/repaint/absolute-position-change-containing-block-expected.txt: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
5 years, 7 months ago (2015-05-01 01:27:20 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1110653003/60001
5 years, 7 months ago (2015-05-01 02:35:44 UTC) #26
commit-bot: I haz the power
5 years, 7 months ago (2015-05-01 03:56:50 UTC) #27
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=194784

Powered by Google App Engine
This is Rietveld 408576698