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

Issue 1647793002: Use ScrollAnchor in FrameView and PaintLayerScrollableArea. (Closed)

Created:
4 years, 11 months ago by skobes
Modified:
4 years, 10 months ago
Reviewers:
esprehn, ojan
CC:
blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, slimming-paint-reviews_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@anchor-skeleton
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Use ScrollAnchor in FrameView and PaintLayerScrollableArea. BUG=558575 Committed: https://crrev.com/f6f66ac71683543ade0945ce9d8951f7b546ec7e Cr-Commit-Position: refs/heads/master@{#373908}

Patch Set 1 : #

Total comments: 12

Patch Set 2 : rebase #

Patch Set 3 : address review comment #

Total comments: 1

Patch Set 4 : rebase and use runtime-enabled feature #

Patch Set 5 : add isScrollAnchorObject to LayoutObjectBitFields #

Patch Set 6 : move save/restore from LayoutBlockFlow into LayoutBlock #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+111 lines, -8 lines) Patch
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 3 3 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 6 chunks +14 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.cpp View 1 2 3 4 5 2 chunks +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 3 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 2 chunks +47 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ScrollAnchor.h View 1 2 3 4 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ScrollAnchor.cpp View 1 2 3 4 3 chunks +16 lines, -4 lines 3 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h View 1 2 3 3 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 2 3 4 5 chunks +10 lines, -1 line 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 27 (7 generated)
skobes
4 years, 10 months ago (2016-01-29 06:46:27 UTC) #5
ojan
https://codereview.chromium.org/1647793002/diff/60001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/1647793002/diff/60001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode2021 third_party/WebKit/Source/core/frame/FrameView.cpp:2021: scrollToFragmentAnchor(); We'll need to think of what the right ...
4 years, 10 months ago (2016-02-02 06:51:01 UTC) #6
esprehn
Why are we using document settings for scroll anchoring instead of RuntimeEnabledFeatures? Document settings are ...
4 years, 10 months ago (2016-02-02 12:21:46 UTC) #8
skobes
https://codereview.chromium.org/1647793002/diff/60001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/1647793002/diff/60001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode2021 third_party/WebKit/Source/core/frame/FrameView.cpp:2021: scrollToFragmentAnchor(); On 2016/02/02 06:51:01, ojan wrote: > We'll need ...
4 years, 10 months ago (2016-02-02 22:39:11 UTC) #9
skobes
On 2016/02/02 12:21:46, esprehn wrote: > Why are we using document settings for scroll anchoring ...
4 years, 10 months ago (2016-02-02 22:39:50 UTC) #10
esprehn
On 2016/02/02 at 22:39:50, skobes wrote: > On 2016/02/02 12:21:46, esprehn wrote: > > Why ...
4 years, 10 months ago (2016-02-02 23:24:09 UTC) #11
skobes
On 2016/02/02 23:24:09, esprehn wrote: > On 2016/02/02 at 22:39:50, skobes wrote: > > On ...
4 years, 10 months ago (2016-02-02 23:33:55 UTC) #12
ojan
RuntimeEnabledFeatures is exactly the intended solution for the wish you expressed earlier that we have ...
4 years, 10 months ago (2016-02-03 01:23:44 UTC) #13
pdr.
On 2016/02/03 at 01:23:44, ojan wrote: > TL;DR: We should move anything from Settings that ...
4 years, 10 months ago (2016-02-03 03:33:49 UTC) #14
ojan
On 2016/02/03 at 03:33:49, pdr wrote: > On 2016/02/03 at 01:23:44, ojan wrote: > > ...
4 years, 10 months ago (2016-02-03 04:56:42 UTC) #15
ojan
https://codereview.chromium.org/1647793002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp File third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp (right): https://codereview.chromium.org/1647793002/diff/60001/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp#newcode291 third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:291: scrollableArea()->scrollAnchor().save(); On 2016/02/02 at 22:39:10, skobes wrote: > On ...
4 years, 10 months ago (2016-02-03 06:17:52 UTC) #16
skobes
On 2016/02/03 01:23:44, ojan wrote: > RuntimeEnabledFeatures is exactly the intended solution for the wish ...
4 years, 10 months ago (2016-02-03 06:17:55 UTC) #17
skobes
PTAL. The lifetime issue was resolved by calling clear() from the scroller's dispose() method instead ...
4 years, 10 months ago (2016-02-04 01:47:45 UTC) #18
ojan
lgtm https://codereview.chromium.org/1647793002/diff/160001/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp File third_party/WebKit/Source/core/layout/ScrollAnchor.cpp (right): https://codereview.chromium.org/1647793002/diff/160001/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp#newcode45 third_party/WebKit/Source/core/layout/ScrollAnchor.cpp:45: m_savedRelativeOffset = computeRelativeOffset(m_scroller, m_anchorObject); I think this could ...
4 years, 10 months ago (2016-02-05 11:01:52 UTC) #19
skobes
https://codereview.chromium.org/1647793002/diff/160001/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp File third_party/WebKit/Source/core/layout/ScrollAnchor.cpp (right): https://codereview.chromium.org/1647793002/diff/160001/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp#newcode45 third_party/WebKit/Source/core/layout/ScrollAnchor.cpp:45: m_savedRelativeOffset = computeRelativeOffset(m_scroller, m_anchorObject); On 2016/02/05 11:01:52, ojan wrote: ...
4 years, 10 months ago (2016-02-05 17:52:32 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1647793002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1647793002/160001
4 years, 10 months ago (2016-02-05 17:54:21 UTC) #22
commit-bot: I haz the power
Committed patchset #6 (id:160001)
4 years, 10 months ago (2016-02-05 21:01:33 UTC) #23
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/f6f66ac71683543ade0945ce9d8951f7b546ec7e Cr-Commit-Position: refs/heads/master@{#373908}
4 years, 10 months ago (2016-02-05 21:04:54 UTC) #25
ojan
https://codereview.chromium.org/1647793002/diff/160001/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp File third_party/WebKit/Source/core/layout/ScrollAnchor.cpp (right): https://codereview.chromium.org/1647793002/diff/160001/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp#newcode45 third_party/WebKit/Source/core/layout/ScrollAnchor.cpp:45: m_savedRelativeOffset = computeRelativeOffset(m_scroller, m_anchorObject); On 2016/02/05 at 17:52:31, skobes ...
4 years, 10 months ago (2016-02-06 00:09:27 UTC) #26
skobes
4 years, 10 months ago (2016-02-06 01:00:53 UTC) #27
Message was sent while issue was closed.
On 2016/02/06 00:09:27, ojan wrote:
> I can't think of any scenario in which it would make sense to keep the anchor
> but not the offset. If we had such a thing, it would represent a real bug that
> we need to fix anyways, so this extra defensiveness would just mask the bug.
> computeRelativeOffset will be doing real work on each layout. It's not the end
> of the world, but it's one of a thousand cuts that isn't serving a purpose.

Alright, I have adopted your suggestion in http://crrev.com/1640973005.

Powered by Google App Engine
This is Rietveld 408576698