| Index: Source/core/page/EventHandler.cpp
|
| diff --git a/Source/core/page/EventHandler.cpp b/Source/core/page/EventHandler.cpp
|
| index f158f9700059c75ffdd95941b30daf35a0f83709..fc4c24b96a17052cb21071c7a20c3bdcfa0da124 100644
|
| --- a/Source/core/page/EventHandler.cpp
|
| +++ b/Source/core/page/EventHandler.cpp
|
| @@ -926,7 +926,13 @@ HitTestResult EventHandler::hitTestResultAtPoint(const LayoutPoint& point, HitTe
|
|
|
| HitTestResult result(point, padding.height(), padding.width(), padding.height(), padding.width());
|
|
|
| - if (!m_frame->contentRenderer())
|
| + // RenderView::hitTest causes a layout, and we don't want to hit that until the first
|
| + // layout because until then, there is nothing shown on the screen - the user can't
|
| + // have intentionally clicked on something belonging to this page. Furthermore,
|
| + // mousemove events before the first layout should not lead to a premature layout()
|
| + // happening, which could show a flash of white.
|
| + // See also the similar code in Document::prepareMouseEvent.
|
| + if (!m_frame->contentRenderer() || !m_frame->view() || !m_frame->view()->didFirstLayout())
|
| return result;
|
|
|
| // hitTestResultAtPoint is specifically used to hitTest into all frames, thus it always allows child frame content.
|
|
|