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

Issue 2020103002: Fix sticky constraints and update sticky layer positions recursively after scroll. (Closed)

Created:
4 years, 6 months ago by flackr
Modified:
4 years, 5 months ago
Reviewers:
chrishtr
CC:
blink-reviews, chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix sticky constraints and update sticky layer positions recursively after scroll. Sticky position constraints were being computed relative to the current scroll position which led to incorrect constraints when updated after the ancestor scroller had been scrolled. This fixes that as well as updating descendant layer positions after scroll to fix 606732. BUG=606732 TEST=fast/css/sticky/sticky-clip-rel-child.html Committed: https://crrev.com/6b83939340b453504f8d5d38ba774d4f07324dd5 Cr-Commit-Position: refs/heads/master@{#403828}

Patch Set 1 #

Patch Set 2 : Mark sticky positioned objects for positioned movement after frameview scroll. #

Total comments: 2

Patch Set 3 : Call updateLayerPositionsAfterOverflowScroll, consistent with PaintLayerScrollableArea::setScrollOf… #

Patch Set 4 : Fix bugs with overflow scrollers in sticky position constraints, add unit tests, and test clipped b… #

Total comments: 25

Patch Set 5 : Review comment and resolve relative sizes against correct container for containing block. #

Total comments: 4

Patch Set 6 : Merge with master and add comment explaining container content rect. #

Total comments: 4

Patch Set 7 : Add comments and make test accessors private. #

Patch Set 8 : Simplify sticky box rect calculation. #

Messages

Total messages: 28 (6 generated)
flackr
Can you take a look? We have to update all descendant layers of the sticky ...
4 years, 6 months ago (2016-05-30 20:40:39 UTC) #2
flackr
Actually, since the scroll call can happen while compositing inputs are stale, perhaps it makes ...
4 years, 6 months ago (2016-05-31 14:29:03 UTC) #3
chrishtr
https://codereview.chromium.org/2020103002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2020103002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode1616 third_party/WebKit/Source/core/frame/FrameView.cpp:1616: layoutObject->setNeedsPositionedMovementLayout(); What about sticky objects that are not stuck ...
4 years, 6 months ago (2016-05-31 20:19:53 UTC) #4
flackr
https://codereview.chromium.org/2020103002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2020103002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode1616 third_party/WebKit/Source/core/frame/FrameView.cpp:1616: layoutObject->setNeedsPositionedMovementLayout(); On 2016/05/31 at 20:19:53, chrishtr wrote: > What ...
4 years, 6 months ago (2016-05-31 20:38:52 UTC) #5
chrishtr
On 2016/05/31 at 20:38:52, flackr wrote: > https://codereview.chromium.org/2020103002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp > File third_party/WebKit/Source/core/frame/FrameView.cpp (right): > > https://codereview.chromium.org/2020103002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode1616 ...
4 years, 6 months ago (2016-05-31 21:06:29 UTC) #6
flackr
On 2016/05/31 at 21:06:29, chrishtr wrote: > On 2016/05/31 at 20:38:52, flackr wrote: > > ...
4 years, 6 months ago (2016-06-02 17:34:59 UTC) #7
chrishtr
https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-clip-rel-child-expected.html File third_party/WebKit/LayoutTests/fast/css/sticky/sticky-clip-rel-child-expected.html (right): https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-clip-rel-child-expected.html#newcode46 third_party/WebKit/LayoutTests/fast/css/sticky/sticky-clip-rel-child-expected.html:46: <div class="relative"> Was the bug that it wasn't including ...
4 years, 6 months ago (2016-06-06 22:18:40 UTC) #8
flackr
Hey, let me know if you have any suggestions for comments to make it easier ...
4 years, 6 months ago (2016-06-09 17:13:33 UTC) #10
chrishtr
Sorry for the slow reply. Last week was kind of busy.. https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp File third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp (right): ...
4 years, 6 months ago (2016-06-13 19:46:39 UTC) #11
flackr
https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp File third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp (right): https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp#newcode670 third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp:670: FloatSize scrollOffset(scrollAncestor ? toFloatSize(scrollAncestor->getScrollableArea()->adjustedScrollOffset()) : FloatSize()); On 2016/06/13 at ...
4 years, 6 months ago (2016-06-15 13:45:49 UTC) #12
chrishtr
https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp File third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp (right): https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp#newcode687 third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp:687: scrollContainerRelativeContainerFrame.move(scrollOffset); On 2016/06/13 at 19:46:39, chrishtr wrote: > On ...
4 years, 6 months ago (2016-06-15 16:13:46 UTC) #13
chrishtr
4 years, 6 months ago (2016-06-15 16:13:47 UTC) #14
chrishtr
4 years, 6 months ago (2016-06-15 16:13:54 UTC) #15
flackr
https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp File third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp (right): https://codereview.chromium.org/2020103002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp#newcode687 third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp:687: scrollContainerRelativeContainerFrame.move(scrollOffset); On 2016/06/15 at 16:13:46, chrishtr wrote: > On ...
4 years, 6 months ago (2016-06-16 07:22:51 UTC) #16
chrishtr
I think I understand better why you are removing scroll offset - to make the ...
4 years, 6 months ago (2016-06-16 11:03:59 UTC) #17
flackr
> I think I understand better why you are removing scroll offset - to make ...
4 years, 5 months ago (2016-06-29 13:21:06 UTC) #18
chrishtr
lgtm
4 years, 5 months ago (2016-06-29 22:40:56 UTC) #20
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/2020103002/140001
4 years, 5 months ago (2016-06-29 22:42:29 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/248058)
4 years, 5 months ago (2016-06-29 23:37:56 UTC) #23
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/2020103002/140001
4 years, 5 months ago (2016-07-05 20:53:42 UTC) #25
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 5 months ago (2016-07-05 22:04:25 UTC) #26
commit-bot: I haz the power
4 years, 5 months ago (2016-07-05 22:06:35 UTC) #28
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/6b83939340b453504f8d5d38ba774d4f07324dd5
Cr-Commit-Position: refs/heads/master@{#403828}

Powered by Google App Engine
This is Rietveld 408576698