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

Unified Diff: third_party/WebKit/Source/core/dom/Element.cpp

Issue 2416423003: Fix unscrollable scrollers after closing a <dialog>. (Closed)
Patch Set: move to Element Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/dom/Element.cpp
diff --git a/third_party/WebKit/Source/core/dom/Element.cpp b/third_party/WebKit/Source/core/dom/Element.cpp
index 047e339cba3e817a5c7eb056291cb3d2776f7584..91e167471b1e1107853def35776c51912c600518 100644
--- a/third_party/WebKit/Source/core/dom/Element.cpp
+++ b/third_party/WebKit/Source/core/dom/Element.cpp
@@ -3391,6 +3391,11 @@ void Element::setIsInTopLayer(bool inTopLayer) {
// correct sibling order under LayoutView according to its top layer position,
// or in its usual place if not in the top layer.
lazyReattachIfAttached();
+
+ // PaintLayerScrollableArea::updateAfterLayout depends on top layer state
+ // via LayoutObject::visibleToHitTesting. See crbug.com/633520 for details.
+ document().layoutView()->setNeedsLayout(
szager1 2016/10/17 19:16:30 Can we condition this on (layoutObject() && layout
esprehn 2016/10/17 19:19:58 This belongs in Document::removeFromTopLayer
skobes 2016/10/17 19:45:30 We can't - the dialog itself is not a scroller.
skobes 2016/10/17 19:45:30 Done.
+ LayoutInvalidationReason::TopLayerChanged);
}
void Element::requestPointerLock() {

Powered by Google App Engine
This is Rietveld 408576698