Index: Source/core/rendering/RenderView.cpp |
diff --git a/Source/core/rendering/RenderView.cpp b/Source/core/rendering/RenderView.cpp |
index 5cb83eec3c388313602195bed1ee72a367b8c4b2..3133d7825c1d30980949ea329f598b3e795b682b 100644 |
--- a/Source/core/rendering/RenderView.cpp |
+++ b/Source/core/rendering/RenderView.cpp |
@@ -87,6 +87,10 @@ bool RenderView::hitTest(const HitTestRequest& request, HitTestResult& result) |
bool RenderView::hitTest(const HitTestRequest& request, const HitTestLocation& location, HitTestResult& result) |
{ |
+ // We have to recursively update layout/style here because otherwise, when the hit test recurses |
+ // into a child document, it could trigger a layout on the parent document, which can destroy RenderLayers |
ojan
2013/05/16 23:57:54
When does hit-testing in a child document trigger
cbiesinger
2013/05/17 00:17:04
Document::updateLayout calls updateLayout on its p
|
+ // that are higher up in the call stack, leading to crashes. |
+ frameView()->updateLayoutAndStyleIfNeededRecursive(); |
return layer()->hitTest(request, location, result); |
} |