Title: [186426] releases/WebKitGTK/webkit-2.8/Source/WebCore
- Revision
- 186426
- Author
- [email protected]
- Date
- 2015-07-07 02:16:11 -0700 (Tue, 07 Jul 2015)
Log Message
Merge r185858 - ASSERT(!m_zOrderListsDirty) when mousing over web view with incremental rendering suppressed
https://bugs.webkit.org/show_bug.cgi?id=146225
Reviewed by Zalan Bujtas.
Update RenderLayer's z-order lists when hit testing. There's no guarantee that they've
been updated; this happens to work most of the time because painting updates them,
but if incremental rendering is suppressed, we may not have painted yet.
Easy to hit on webkit.org in MiniBrowser, but I wasn't able to make a reduced testcase.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::updateLayerListsIfNeeded): Flip the order of the tests, since checking
dirty bits is cheaper than calling isStackingContext().
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog (186425 => 186426)
--- releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog 2015-07-07 09:13:29 UTC (rev 186425)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog 2015-07-07 09:16:11 UTC (rev 186426)
@@ -1,3 +1,21 @@
+2015-06-22 Simon Fraser <[email protected]>
+
+ ASSERT(!m_zOrderListsDirty) when mousing over web view with incremental rendering suppressed
+ https://bugs.webkit.org/show_bug.cgi?id=146225
+
+ Reviewed by Zalan Bujtas.
+
+ Update RenderLayer's z-order lists when hit testing. There's no guarantee that they've
+ been updated; this happens to work most of the time because painting updates them,
+ but if incremental rendering is suppressed, we may not have painted yet.
+
+ Easy to hit on webkit.org in MiniBrowser, but I wasn't able to make a reduced testcase.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::hitTest):
+ (WebCore::RenderLayer::updateLayerListsIfNeeded): Flip the order of the tests, since checking
+ dirty bits is cheaper than calling isStackingContext().
+
2015-06-22 Zalan Bujtas <[email protected]>
REGRESSION(r169105) Dangling renderer pointer in SelectionSubtreeRoot::SelectionSubtreeData.
Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/rendering/RenderLayer.cpp (186425 => 186426)
--- releases/WebKitGTK/webkit-2.8/Source/WebCore/rendering/RenderLayer.cpp 2015-07-07 09:13:29 UTC (rev 186425)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/rendering/RenderLayer.cpp 2015-07-07 09:16:11 UTC (rev 186426)
@@ -4777,6 +4777,8 @@
{
ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant());
ASSERT(!renderer().view().needsLayout());
+
+ updateLayerListsIfNeeded();
LayoutRect hitTestArea = isOutOfFlowRenderFlowThread() ? downcast<RenderFlowThread>(renderer()).visualOverflowRect() : renderer().view().documentRect();
if (!request.ignoreClipping())
@@ -6239,7 +6241,7 @@
void RenderLayer::updateLayerListsIfNeeded()
{
- bool shouldUpdateDescendantsAreContiguousInStackingOrder = isStackingContext() && (m_zOrderListsDirty || m_normalFlowListDirty);
+ bool shouldUpdateDescendantsAreContiguousInStackingOrder = (m_zOrderListsDirty || m_normalFlowListDirty) && isStackingContext();
updateZOrderLists();
updateNormalFlowList();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes