Adds test for out-of-process iframes with display:none.
This test verifies that blink::WebRemoteFrameImpl::isIgnoredForHitTest
doesn't crash the renderer when a RemoteFrame is set to display:none.
BUG=582149
Review URL: https://codereview.chromium.org/1654273005
Cr-Commit-Position: refs/heads/master@{#373284}
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index b0a74d63..2932648 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -712,6 +712,8 @@
IPC_MESSAGE_HANDLER(ViewMsg_Move_ACK, OnRequestMoveAck)
IPC_MESSAGE_HANDLER(ViewMsg_UpdateScreenRects, OnUpdateScreenRects)
IPC_MESSAGE_HANDLER(ViewMsg_SetSurfaceIdNamespace, OnSetSurfaceIdNamespace)
+ IPC_MESSAGE_HANDLER(ViewMsg_WaitForNextFrameForTests,
+ OnWaitNextFrameForTests)
#if defined(OS_ANDROID)
IPC_MESSAGE_HANDLER(InputMsg_ImeEventAck, OnImeEventAck)
IPC_MESSAGE_HANDLER(ViewMsg_ShowImeIfNeeded, OnShowImeIfNeeded)
@@ -2290,4 +2292,9 @@
}
#endif // defined(VIDEO_HOLE)
+void RenderWidget::OnWaitNextFrameForTests(int routing_id) {
+ QueueMessage(new ViewHostMsg_WaitForNextFrameForTests_ACK(routing_id),
+ MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE);
+}
+
} // namespace content
diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h
index 9197d97..3f083e7 100644
--- a/content/renderer/render_widget.h
+++ b/content/renderer/render_widget.h
@@ -553,6 +553,9 @@
scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateGraphicsContext3D(
GpuChannelHost* gpu_channel_host);
+ // Sends an ACK to the browser process during the next compositor frame.
+ void OnWaitNextFrameForTests(int routing_id);
+
// Routing ID that allows us to communicate to the parent browser process
// RenderWidgetHost. When MSG_ROUTING_NONE, no messages may be sent.
int32_t routing_id_;