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

Issue 2499853002: Fixed clip resize for document.rootScroller with inertTopControls (Closed)

Created:
4 years, 1 month ago by bokan
Modified:
4 years ago
Reviewers:
chrishtr, jbroman
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, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fixed clip resize for document.rootScroller with inertTopControls This fixes the issue where -- with a non default document.rootScroller and inertTopControls on -- hiding the top controls would not expand the clip vertically. This resulted in a white rect at the bottom of the screen. With inertTopControls off, the document.rootScroller's LayoutBox always resizes to the viewport size as a result of layout. Now that inertTopControls is becoming the default , we can no longer rely on layout resizing the rootScroller's LayoutObject - and thus its clipping layer. This isn't a problem for the default rootScroller since that's the layoutView. Its clipping rect is the FrameView which is resized as a result of top control movement. This patch extends the URL bar clip resize behavior to arbitrary rootScroller elements. The PaintLayer that contains the *global* rootScroller is marked as such. Both the PaintLayerCompositor (for iframes and the root frame) and GraphicsLayerUpdater (for all other scrollers) inspect this bit and use the root FrameView's size to set the size for its clipping layer. BUG=505516 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/7ab964b30f73e3507ac3a424f56b1a9101b9bca3 Cr-Commit-Position: refs/heads/master@{#434348}

Patch Set 1 #

Patch Set 2 : +Test #

Total comments: 1

Patch Set 3 : Fixed issues + Rebase #

Total comments: 16

Patch Set 4 : Rebase #

Patch Set 5 : Addressed feedback #

Total comments: 2

Patch Set 6 : Address comment #

Patch Set 7 : Fixed typo #

Unified diffs Side-by-side diffs Delta from patch set Stats (+269 lines, -52 lines) Patch
M third_party/WebKit/Source/core/frame/FrameView.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 4 chunks +23 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp View 1 2 3 4 2 chunks +12 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/CompositingInputsUpdater.cpp View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp View 1 2 3 4 5 6 2 chunks +26 lines, -14 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/RootScrollerController.cpp View 1 2 3 4 2 chunks +2 lines, -20 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/RootScrollerUtil.h View 1 2 3 4 1 chunk +10 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/RootScrollerUtil.cpp View 1 2 3 4 2 chunks +24 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.h View 1 2 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp View 1 2 3 4 5 chunks +31 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/scroll/ScrollableArea.h View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/RootScrollerTest.cpp View 1 2 3 4 3 chunks +124 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/tests/VisualViewportTest.cpp View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 62 (42 generated)
bokan
Hi Chris, another root scroller patch, ptal. https://codereview.chromium.org/2499853002/diff/20001/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp File third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp (right): https://codereview.chromium.org/2499853002/diff/20001/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp#newcode55 third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp:55: layer->setNeedsCompositingInputsUpdate(); This ...
4 years, 1 month ago (2016-11-15 00:20:09 UTC) #10
bokan
On 2016/11/15 00:20:09, bokan wrote: > Hi Chris, another root scroller patch, ptal. > > ...
4 years, 1 month ago (2016-11-15 17:47:50 UTC) #17
bokan
Should be good to review now, remaining failures look unrelated.
4 years, 1 month ago (2016-11-15 21:55:22 UTC) #23
bokan
ping
4 years, 1 month ago (2016-11-16 21:30:58 UTC) #29
chrishtr
With inert top controls, hiding the controls does not resize the initial containing block of ...
4 years, 1 month ago (2016-11-16 23:28:19 UTC) #31
bokan
On 2016/11/16 23:28:19, chrishtr wrote: > With inert top controls, hiding the controls does not ...
4 years, 1 month ago (2016-11-16 23:39:12 UTC) #32
bokan
One more thing I forgot to mention yesterday that's probably important to know: we restrict ...
4 years, 1 month ago (2016-11-17 16:36:31 UTC) #33
chrishtr
https://codereview.chromium.org/2499853002/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2499853002/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode1241 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:1241: flooredIntSize(layoutBox->document() Can a LayoutView ever have a non-integral size? ...
4 years, 1 month ago (2016-11-18 00:37:09 UTC) #34
bokan
All comments addressed. ptal. https://codereview.chromium.org/2499853002/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp File third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp (right): https://codereview.chromium.org/2499853002/diff/60001/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp#newcode1241 third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp:1241: flooredIntSize(layoutBox->document() On 2016/11/18 00:37:09, chrishtr ...
4 years, 1 month ago (2016-11-18 22:30:36 UTC) #35
chrishtr
lgtm https://codereview.chromium.org/2499853002/diff/100001/third_party/WebKit/Source/core/frame/FrameView.h File third_party/WebKit/Source/core/frame/FrameView.h (right): https://codereview.chromium.org/2499853002/diff/100001/third_party/WebKit/Source/core/frame/FrameView.h#newcode417 third_party/WebKit/Source/core/frame/FrameView.h:417: PaintLayer* layer() const override; Move this down next ...
4 years, 1 month ago (2016-11-19 01:10:26 UTC) #36
bokan
+jbroman@ for Source/platform https://codereview.chromium.org/2499853002/diff/100001/third_party/WebKit/Source/core/frame/FrameView.h File third_party/WebKit/Source/core/frame/FrameView.h (right): https://codereview.chromium.org/2499853002/diff/100001/third_party/WebKit/Source/core/frame/FrameView.h#newcode417 third_party/WebKit/Source/core/frame/FrameView.h:417: PaintLayer* layer() const override; On 2016/11/19 ...
4 years, 1 month ago (2016-11-19 20:03:47 UTC) #38
jbroman
chrishtr's in the root blink owners, so his approval powers should be sufficient here. platform ...
4 years, 1 month ago (2016-11-19 20:20:59 UTC) #39
bokan
On 2016/11/19 20:20:59, jbroman wrote: > chrishtr's in the root blink owners, so his approval ...
4 years, 1 month ago (2016-11-19 20:22:33 UTC) #40
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/2499853002/120001
4 years, 1 month ago (2016-11-19 20:22:52 UTC) #43
commit-bot: I haz the power
This CL has an open dependency (Issue 2519163003 Patch 60001). Please resolve the dependency and ...
4 years ago (2016-11-24 02:15:02 UTC) #52
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/2499853002/140001
4 years ago (2016-11-24 12:06:57 UTC) #54
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
4 years ago (2016-11-24 14:08:49 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/2499853002/140001
4 years ago (2016-11-24 16:33:16 UTC) #58
commit-bot: I haz the power
Committed patchset #7 (id:140001)
4 years ago (2016-11-24 16:39:46 UTC) #60
commit-bot: I haz the power
4 years ago (2016-11-24 16:43:48 UTC) #62
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/7ab964b30f73e3507ac3a424f56b1a9101b9bca3
Cr-Commit-Position: refs/heads/master@{#434348}

Powered by Google App Engine
This is Rietveld 408576698