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

Issue 2754983002: Composite sticky-positioned elements when they have composited descendants (Closed)

Created:
3 years, 9 months ago by smcgruer
Modified:
3 years, 7 months ago
Reviewers:
flackr, chrishtr
CC:
ajuma+watch_chromium.org, blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, fmalita+watch_chromium.org, jbroman, jchaffraix+rendering, Justin Novosad, kinuko+watch, leviw+renderwatch, pdr+graphicswatchlist_chromium.org, pdr+renderingwatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Composite sticky-positioned elements when they have composited descendants In the case of nested sticky elements, if the descendant elements are promoted but their ancestor is not we will position them incorrectly. Instead of trying to re-compute main-thread positioning on the compositor, we can just promote any sticky element that has promoted sticky descendants. This CL goes slightly further and promotes any sticky element that has composited descendants regardless of whether they are sticky - doing so makes the code much simpler and the performance impact should be limited by the fact that sticky is not common. BUG=702229 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2754983002 Cr-Commit-Position: refs/heads/master@{#471217} Committed: https://chromium.googlesource.com/chromium/src/+/de4c11424c87b46a8f5ce0935f9367a868baa507

Patch Set 1 #

Total comments: 3

Patch Set 2 : Add layout test for overflow scroller #

Patch Set 3 : Switch to using backface-visibility over will-change #

Total comments: 5

Patch Set 4 : Address reviewer comments #

Total comments: 2

Patch Set 5 : Address reviewer comments #

Patch Set 6 : Rebase #

Patch Set 7 : Disable test in SPv2 #

Patch Set 8 : Address pdr comment #

Total comments: 2

Patch Set 9 : Address chrishtr comment #

Messages

Total messages: 77 (42 generated)
smcgruer
3 years, 9 months ago (2017-03-21 15:02:55 UTC) #5
smcgruer
This likely depends-on your patch to be submitted first, but throwing it out there as ...
3 years, 9 months ago (2017-03-21 15:03:22 UTC) #6
flackr
https://codereview.chromium.org/2754983002/diff/1/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp (right): https://codereview.chromium.org/2754983002/diff/1/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp#newcode197 third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp:197: CompositingReasonPositionFixedOrStickyWithCompositedDescendants; Will this cause the scroller to be composited ...
3 years, 9 months ago (2017-03-23 17:30:58 UTC) #9
smcgruer
https://codereview.chromium.org/2754983002/diff/1/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp (right): https://codereview.chromium.org/2754983002/diff/1/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp#newcode197 third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp:197: CompositingReasonPositionFixedOrStickyWithCompositedDescendants; On 2017/03/23 17:30:58, flackr wrote: > Will this ...
3 years, 9 months ago (2017-03-24 18:28:28 UTC) #10
flackr
https://codereview.chromium.org/2754983002/diff/1/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp (right): https://codereview.chromium.org/2754983002/diff/1/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp#newcode197 third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp:197: CompositingReasonPositionFixedOrStickyWithCompositedDescendants; On 2017/03/24 18:28:28, smcgruer wrote: > On 2017/03/23 ...
3 years, 8 months ago (2017-04-03 17:27:59 UTC) #11
smcgruer
https://codereview.chromium.org/2754983002/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp (right): https://codereview.chromium.org/2754983002/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp#newcode193 third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp:193: // TODO(smcgruer): Use hasStickyConstrainedPosition() from flackr's patch On 2017/04/03 ...
3 years, 8 months ago (2017-04-03 19:59:53 UTC) #12
flackr
https://codereview.chromium.org/2754983002/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp (right): https://codereview.chromium.org/2754983002/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp#newcode193 third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp:193: // TODO(smcgruer): Use hasStickyConstrainedPosition() from flackr's patch On 2017/04/03 ...
3 years, 8 months ago (2017-04-07 18:50:43 UTC) #13
flackr
https://codereview.chromium.org/2754983002/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp (right): https://codereview.chromium.org/2754983002/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp#newcode193 third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp:193: // TODO(smcgruer): Use hasStickyConstrainedPosition() from flackr's patch On 2017/04/07 ...
3 years, 8 months ago (2017-04-09 04:07:02 UTC) #14
smcgruer
https://codereview.chromium.org/2754983002/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp (right): https://codereview.chromium.org/2754983002/diff/40001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp#newcode193 third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp:193: // TODO(smcgruer): Use hasStickyConstrainedPosition() from flackr's patch On 2017/04/09 ...
3 years, 8 months ago (2017-04-21 15:17:32 UTC) #15
flackr
LGTM https://codereview.chromium.org/2754983002/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp File third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp (right): https://codereview.chromium.org/2754983002/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp#newcode195 third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp:195: layer, true)) { nit: the style, depending on ...
3 years, 8 months ago (2017-04-26 15:42:36 UTC) #20
smcgruer
Unfortunately this CL does cause a true failure in compositing/always-composite-fixed-position-when-descendants-composite.html - the fixed element is ...
3 years, 8 months ago (2017-04-26 18:05:46 UTC) #21
smcgruer
On 2017/04/26 18:05:46, smcgruer wrote: > Unfortunately this CL does cause a true failure in ...
3 years, 8 months ago (2017-04-26 18:15:11 UTC) #22
flackr
On 2017/04/26 18:15:11, smcgruer wrote: > On 2017/04/26 18:05:46, smcgruer wrote: > > Unfortunately this ...
3 years, 8 months ago (2017-04-26 18:39:08 UTC) #23
flackr
On 2017/04/26 18:39:08, flackr wrote: > On 2017/04/26 18:15:11, smcgruer wrote: > > On 2017/04/26 ...
3 years, 8 months ago (2017-04-26 18:39:52 UTC) #24
smcgruer
On 2017/04/26 18:39:52, flackr wrote: > On 2017/04/26 18:39:08, flackr wrote: > > The old ...
3 years, 8 months ago (2017-04-26 18:42:10 UTC) #25
smcgruer
On 2017/04/26 18:42:10, smcgruer wrote: > On 2017/04/26 18:39:52, flackr wrote: > > On 2017/04/26 ...
3 years, 7 months ago (2017-05-05 14:23:09 UTC) #28
smcgruer
This is amusing. The buildbots fail because SPv2 incorrectly renders the -expected.html image... I assume ...
3 years, 7 months ago (2017-05-05 16:27:43 UTC) #31
pdr.
On 2017/05/05 at 16:27:43, smcgruer wrote: > This is amusing. The buildbots fail because SPv2 ...
3 years, 7 months ago (2017-05-05 17:28:30 UTC) #34
smcgruer
+Chris for Blink OWNERS
3 years, 7 months ago (2017-05-05 21:20:06 UTC) #42
smcgruer
Ping for Blink OWNERS
3 years, 7 months ago (2017-05-11 14:08:11 UTC) #49
chrishtr
Sorry fro the delay. https://codereview.chromium.org/2754983002/diff/140001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 File third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 (right): https://codereview.chromium.org/2754983002/diff/140001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2#newcode322 third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2:322: Bug(none) compositing/overflow/mixed-composited-nested-sticky-overflow-scroller.html [ Failure ] ...
3 years, 7 months ago (2017-05-11 14:54:46 UTC) #50
smcgruer
https://codereview.chromium.org/2754983002/diff/140001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 File third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 (right): https://codereview.chromium.org/2754983002/diff/140001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2#newcode322 third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2:322: Bug(none) compositing/overflow/mixed-composited-nested-sticky-overflow-scroller.html [ Failure ] On 2017/05/11 14:54:46, chrishtr ...
3 years, 7 months ago (2017-05-11 15:05:03 UTC) #51
chrishtr
On 2017/05/11 at 15:05:03, smcgruer wrote: > https://codereview.chromium.org/2754983002/diff/140001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 > File third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 (right): > > https://codereview.chromium.org/2754983002/diff/140001/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2#newcode322 ...
3 years, 7 months ago (2017-05-11 15:05:35 UTC) #52
chrishtr
lgtm
3 years, 7 months ago (2017-05-11 15:05:39 UTC) #53
chrishtr
On 2017/05/11 at 15:05:35, chrishtr wrote: > On 2017/05/11 at 15:05:03, smcgruer wrote: > > ...
3 years, 7 months ago (2017-05-11 15:06:15 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2754983002/140001
3 years, 7 months ago (2017-05-11 15:06:34 UTC) #57
smcgruer
On 2017/05/11 15:06:15, chrishtr wrote: > On 2017/05/11 at 15:05:35, chrishtr wrote: > > On ...
3 years, 7 months ago (2017-05-11 15:21:17 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2754983002/160001
3 years, 7 months ago (2017-05-11 15:21:28 UTC) #62
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/424179)
3 years, 7 months ago (2017-05-11 16:16:47 UTC) #64
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2754983002/160001
3 years, 7 months ago (2017-05-11 18:10:52 UTC) #66
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/452161)
3 years, 7 months ago (2017-05-11 20:01:57 UTC) #68
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2754983002/160001
3 years, 7 months ago (2017-05-11 20:17:09 UTC) #70
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/452387)
3 years, 7 months ago (2017-05-11 23:34:07 UTC) #72
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2754983002/160001
3 years, 7 months ago (2017-05-12 03:34:08 UTC) #74
commit-bot: I haz the power
3 years, 7 months ago (2017-05-12 04:17:16 UTC) #77
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as
https://chromium.googlesource.com/chromium/src/+/de4c11424c87b46a8f5ce0935f93...

Powered by Google App Engine
This is Rietveld 408576698