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

Issue 1870663002: Reland main thread position sticky implementation. (Closed)

Created:
4 years, 8 months ago by flackr
Modified:
4 years, 8 months ago
CC:
darktears, apavlov+blink_chromium.org, asvitkine+watch_chromium.org, blink-layers+watch_chromium.org, blink-reviews, blink-reviews-css, blink-reviews-layout_chromium.org, blink-reviews-paint_chromium.org, blink-reviews-style_chromium.org, cc-bugs_chromium.org, chromium-reviews, dglazkov+blink, dshwang, eae+blinkwatch, jchaffraix+rendering, jfernandez, kenneth.christiansen, kinuko+watch, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, Manuel Rego, rwlbuis, slimming-paint-reviews_chromium.org, svillar, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland main thread position sticky implementation. Fix the crash and reland the position sticky implementation reviewed in https://codereview.chromium.org/1308273010. TBRing reviewers on unchanged files. BUG=231752 TEST=fast/css/sticky/* CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=tdresser,isherman Committed: https://crrev.com/86b31f0403a7bd7b7a768314b7ba9565af0c9a29 Cr-Commit-Position: refs/heads/master@{#386998}

Patch Set 1 #

Patch Set 2 : Fix crash resulting from PaintLayer::removeOnlyThisLayer #

Total comments: 1

Patch Set 3 : Merge and ensure that we keep no pointers from non-removed layers when removing layers. #

Patch Set 4 : Only descend into children which have an ancestor overflow layer. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+5026 lines, -124 lines) Patch
M cc/input/main_thread_scrolling_reason.h View 3 chunks +4 lines, -2 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/inflow-sticky.html View 1 chunk +67 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/inflow-sticky-expected.html View 1 chunk +53 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/inline-sticky.html View 1 chunk +91 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/inline-sticky-abspos-child.html View 1 chunk +98 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/inline-sticky-abspos-child-expected.html View 1 chunk +85 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/inline-sticky-anonymous-container.html View 1 chunk +37 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/inline-sticky-anonymous-container-expected.html View 1 chunk +33 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/inline-sticky-expected.html View 1 chunk +76 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/overflow-layer-removed-crash.html View 1 1 chunk +34 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/css/sticky/overflow-layer-removed-crash-expected.txt View 1 1 chunk +2 lines, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/remove-inline-sticky-crash.html View 1 chunk +44 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/css/sticky/remove-inline-sticky-crash-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/remove-sticky-crash.html View 1 chunk +44 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/css/sticky/remove-sticky-crash-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/replaced-sticky.html View 1 chunk +73 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/replaced-sticky-expected.html View 1 chunk +59 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/css/sticky/sticky-as-positioning-container.html View 1 chunk +68 lines, -26 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/css/sticky/sticky-as-positioning-container-expected.html View 1 chunk +58 lines, -25 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-both-sides.html View 1 chunk +74 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-both-sides-expected.html View 1 chunk +61 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-bottom-overflow-padding.html View 1 chunk +95 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-bottom-overflow-padding-expected.html View 1 chunk +90 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-container-moved.html View 1 chunk +51 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-container-moved-expected.html View 1 chunk +42 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-display.html View 1 chunk +97 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-display-expected.html View 1 chunk +97 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-flexbox.html View 1 chunk +98 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-flexbox-expected.html View 1 chunk +83 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-grid.html View 1 chunk +97 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-grid-expected.html View 1 chunk +81 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-horizontally-overconstrained-ltr.html View 1 chunk +83 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-horizontally-overconstrained-ltr-expected.html View 1 chunk +76 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-horizontally-overconstrained-rtl.html View 1 chunk +84 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-horizontally-overconstrained-rtl-expected.html View 1 chunk +77 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-left.html View 1 chunk +77 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-left-expected.html View 1 chunk +62 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-margin-changed.html View 1 chunk +47 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-margin-changed-expected.html View 1 chunk +41 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-margins.html View 1 chunk +90 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-margins-expected.html View 1 chunk +76 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-overflow-changed.html View 1 chunk +46 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-overflow-changed-expected.html View 1 chunk +38 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-overflowing.html View 1 chunk +80 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-overflowing-expected.html View 1 chunk +64 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-scrolls-on-main.html View 1 chunk +10 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-scrolls-on-main-expected.txt View 1 chunk +2 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-side-margins.html View 1 chunk +67 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-side-margins-expected.html View 1 chunk +53 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/css/sticky/sticky-stacking-context.html View 1 chunk +53 lines, -20 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/css/sticky/sticky-stacking-context-expected.html View 1 chunk +45 lines, -19 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-col-crash.html View 1 chunk +24 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-col-crash-expected.html View 1 chunk +9 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-row-top.html View 1 chunk +110 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-row-top-expected.html View 1 chunk +68 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-thead-top.html View 1 chunk +116 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-table-thead-top-expected.html View 1 chunk +69 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-top.html View 1 chunk +78 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-top-expected.html View 1 chunk +63 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-top-margins.html View 1 chunk +80 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-top-margins-expected.html View 1 chunk +65 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-top-overflow.html View 1 chunk +88 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-top-overflow-expected.html View 1 chunk +67 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-top-overflow-scroll-by-fragment.html View 1 chunk +109 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-top-overflow-scroll-by-fragment-expected.html View 1 chunk +81 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-vertically-overconstrained.html View 1 chunk +83 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-vertically-overconstrained-expected.html View 1 chunk +67 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-writing-mode-vertical-lr.html View 1 chunk +73 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-writing-mode-vertical-lr-expected.html View 1 chunk +60 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-writing-mode-vertical-rl.html View 1 chunk +73 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css/sticky/sticky-writing-mode-vertical-rl-expected.html View 1 chunk +60 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/core.gypi View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp View 1 2 2 chunks +7 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 2 chunks +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 2 chunks +9 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.cpp View 1 2 3 chunks +9 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp View 1 2 1 chunk +1 line, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h View 1 2 5 chunks +27 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp View 1 2 6 chunks +179 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutDeprecatedFlexibleBox.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutGeometryMapStep.h View 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutGrid.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTable.cpp View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableRow.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.h View 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp View 3 chunks +27 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp View 1 2 3 chunks +6 lines, -1 line 0 comments Download
A third_party/WebKit/Source/core/page/scrolling/StickyPositionScrollingConstraints.h View 1 chunk +85 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/page/scrolling/StickyPositionScrollingConstraints.cpp View 1 chunk +56 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.h View 1 2 7 chunks +13 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayer.cpp View 1 2 3 10 chunks +29 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h View 1 2 4 chunks +29 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 2 1 chunk +20 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/style/ComputedStyle.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 2 1 chunk +1 line, -1 line 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 17 (8 generated)
flackr
Hi Emil, would you mind reviewing patchset 2? It looks like Chris is away for ...
4 years, 8 months ago (2016-04-07 21:43:54 UTC) #3
eae
LGTM
4 years, 8 months ago (2016-04-11 23:40:43 UTC) #4
Ian Vollick
On 2016/04/11 23:40:43, eae wrote: > LGTM cc/ still lgtm.
4 years, 8 months ago (2016-04-12 01:36:17 UTC) #5
flackr
Emil, see my comment inline, it may still be possible to crash if there is ...
4 years, 8 months ago (2016-04-12 14:26:25 UTC) #7
eae
I'd argue for correctness over an early optimization.
4 years, 8 months ago (2016-04-12 15:48:15 UTC) #8
flackr
On 2016/04/12 at 15:48:15, eae wrote: > I'd argue for correctness over an early optimization. ...
4 years, 8 months ago (2016-04-12 20:41:10 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1870663002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1870663002/60001
4 years, 8 months ago (2016-04-13 14:08:31 UTC) #14
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 8 months ago (2016-04-13 15:42:01 UTC) #15
commit-bot: I haz the power
4 years, 8 months ago (2016-04-13 15:43:13 UTC) #17
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/86b31f0403a7bd7b7a768314b7ba9565af0c9a29
Cr-Commit-Position: refs/heads/master@{#386998}

Powered by Google App Engine
This is Rietveld 408576698