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

Issue 2416423003: Fix unscrollable scrollers after closing a <dialog>. (Closed)

Created:
4 years, 2 months ago by skobes
Modified:
4 years, 2 months ago
Reviewers:
esprehn, szager1
CC:
blink-reviews, blink-reviews-html_chromium.org, chromium-reviews, dglazkov+blink
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix unscrollable scrollers after closing a <dialog>. Compositing state was stale because removing the dialog from the top layer triggered simplified layout, which did not invoke PLSA::updateScrollableAreaSet. See bug for detailed analysis. BUG=633520

Patch Set 1 #

Total comments: 1

Patch Set 2 : move to Element #

Total comments: 4

Patch Set 3 : address review comments #

Total comments: 1

Patch Set 4 : address review comments #

Patch Set 5 : add null check #

Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -0 lines) Patch
A third_party/WebKit/LayoutTests/dialog/scrollable-after-close.html View 1 2 3 1 chunk +35 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/dialog/scrollable-after-close-expected.txt View 1 chunk +10 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Document.cpp View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/inspector/InspectorTraceEvents.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/inspector/InspectorTraceEvents.cpp View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 32 (17 generated)
skobes
4 years, 2 months ago (2016-10-15 05:17:07 UTC) #5
esprehn
Dialog is just removing a child and putting it as a child of the view. ...
4 years, 2 months ago (2016-10-15 08:38:46 UTC) #9
skobes
On 2016/10/15 08:38:46, esprehn wrote: > Dialog is just removing a child and putting it ...
4 years, 2 months ago (2016-10-15 18:48:26 UTC) #10
skobes
I moved the invalidation into Element::setIsInTopLayer, and gave it a new LayoutInvalidationReason.
4 years, 2 months ago (2016-10-15 19:05:51 UTC) #12
szager1
https://codereview.chromium.org/2416423003/diff/40001/third_party/WebKit/Source/core/dom/Element.cpp File third_party/WebKit/Source/core/dom/Element.cpp (right): https://codereview.chromium.org/2416423003/diff/40001/third_party/WebKit/Source/core/dom/Element.cpp#newcode3397 third_party/WebKit/Source/core/dom/Element.cpp:3397: document().layoutView()->setNeedsLayout( Can we condition this on (layoutObject() && layoutObject()->hasOverflowClip())?
4 years, 2 months ago (2016-10-17 19:16:30 UTC) #13
esprehn
https://codereview.chromium.org/2416423003/diff/40001/third_party/WebKit/Source/core/dom/Element.cpp File third_party/WebKit/Source/core/dom/Element.cpp (right): https://codereview.chromium.org/2416423003/diff/40001/third_party/WebKit/Source/core/dom/Element.cpp#newcode3397 third_party/WebKit/Source/core/dom/Element.cpp:3397: document().layoutView()->setNeedsLayout( This belongs in Document::removeFromTopLayer
4 years, 2 months ago (2016-10-17 19:19:58 UTC) #14
skobes
https://codereview.chromium.org/2416423003/diff/40001/third_party/WebKit/Source/core/dom/Element.cpp File third_party/WebKit/Source/core/dom/Element.cpp (right): https://codereview.chromium.org/2416423003/diff/40001/third_party/WebKit/Source/core/dom/Element.cpp#newcode3397 third_party/WebKit/Source/core/dom/Element.cpp:3397: document().layoutView()->setNeedsLayout( On 2016/10/17 19:19:58, esprehn wrote: > This belongs ...
4 years, 2 months ago (2016-10-17 19:45:30 UTC) #16
esprehn
lgtm https://codereview.chromium.org/2416423003/diff/80001/third_party/WebKit/LayoutTests/dialog/scrollable-after-close.html File third_party/WebKit/LayoutTests/dialog/scrollable-after-close.html (right): https://codereview.chromium.org/2416423003/diff/80001/third_party/WebKit/LayoutTests/dialog/scrollable-after-close.html#newcode3 third_party/WebKit/LayoutTests/dialog/scrollable-after-close.html:3: <head> leave out html, head and body
4 years, 2 months ago (2016-10-17 20:30:09 UTC) #19
esprehn
btw does this make us visit every child of the document doing a layout? Where ...
4 years, 2 months ago (2016-10-17 20:31:02 UTC) #20
esprehn
On 2016/10/17 at 20:31:02, esprehn wrote: > btw does this make us visit every child ...
4 years, 2 months ago (2016-10-17 20:31:12 UTC) #21
skobes
On 2016/10/17 20:31:12, esprehn wrote: > On 2016/10/17 at 20:31:02, esprehn wrote: > > btw ...
4 years, 2 months ago (2016-10-17 20:37:46 UTC) #22
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/2416423003/100001
4 years, 2 months ago (2016-10-17 20:43:56 UTC) #25
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/2416423003/120001
4 years, 2 months ago (2016-10-17 22:37:24 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/162158)
4 years, 2 months ago (2016-10-18 01:38:01 UTC) #31
skobes
4 years, 2 months ago (2016-10-21 05:19:00 UTC) #32
Based on http://crbug.com/633520#c22, I'm abandoning this patch in favor of
http://crrev.com/2437303002.

Powered by Google App Engine
This is Rietveld 408576698