Commit adfc4df0 authored by Yi Gu's avatar Yi Gu Committed by Commit Bot

[VizHitTesting] De-flake SitePerProcessHitTestBrowserTest.SurfaceHitTestPointerEventsNoneChanged

The HitTestDataChangeObserver requires a clean state of HitTestData
before any change happens. Previously we didn't check whether child1's
hit test data are ready or not. If its data arrive after the pointer
events change, the HitTestDataChangeObserver will not work properly.

Bug: 968970
Change-Id: Ib00a324ff0960c85c98c7f0800ef300cc4ebddd4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1837147Reviewed-by: default avatarBo <boliu@chromium.org>
Commit-Queue: Yi Gu <yigu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702489}
parent 732a2375
......@@ -2719,9 +2719,8 @@ IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest,
// This test tests that browser process hittesting ignores frames with
// pointer-events: none.
// crbug.com/968970: the test is flaky.
IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest,
DISABLED_SurfaceHitTestPointerEventsNoneChanged) {
SurfaceHitTestPointerEventsNoneChanged) {
GURL main_url(embedded_test_server()->GetURL(
"/frame_tree/page_with_positioned_frame_pointer-events_none.html"));
EXPECT_TRUE(NavigateToURL(shell(), main_url));
......@@ -2732,6 +2731,7 @@ IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest,
FrameTreeNode* child_node1 = root->child_at(0);
FrameTreeNode* child_node2 = root->child_at(1);
GURL site_url(embedded_test_server()->GetURL("bar.com", "/title1.html"));
EXPECT_EQ(site_url, child_node2->current_url());
EXPECT_NE(shell()->web_contents()->GetSiteInstance(),
......@@ -2749,6 +2749,9 @@ IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest,
RenderWidgetHostViewBase* root_view = static_cast<RenderWidgetHostViewBase*>(
root->current_frame_host()->GetRenderWidgetHost()->GetView());
// This is to make sure that the hit_test_data is clean before running the
// hit_test_data_change_observer below.
WaitForHitTestData(child_node1->current_frame_host());
WaitForHitTestData(child_node2->current_frame_host());
// Target input event to child1 frame.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment