Commit 5a74ea62 authored by Adithya Srinivasan's avatar Adithya Srinivasan Committed by Commit Bot

Portals: Deflake PortalBrowserTest.TouchAckAfterActivateAndAdopt

Wait for adoption to complete before ending test.

Bug: 990717
Change-Id: I0c4a969f89893c31872bd0fe31f66fb63397adc8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1834270
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Reviewed-by: default avatarLucas Gadani <lfg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702056}
parent d70656e4
......@@ -829,16 +829,9 @@ IN_PROC_BROWSER_TEST_F(PortalBrowserTest, TouchAckAfterActivate) {
input_event_ack_waiter.Wait();
}
#if defined(OS_MACOSX)
// TODO(crbug.com/941824): Test flaky on MAC
#define MAYBE_TouchAckAfterActivateAndAdopt \
DISABLED_TouchAckAfterActivateAndAdopt
#else
#define MAYBE_TouchAckAfterActivateAndAdopt TouchAckAfterActivateAndAdopt
#endif
// Regression test for crbug.com/973647. Tests that receiving a touch ack
// after activation and predecessor adoption doesn't cause a crash.
IN_PROC_BROWSER_TEST_F(PortalBrowserTest, MAYBE_TouchAckAfterActivateAndAdopt) {
IN_PROC_BROWSER_TEST_F(PortalBrowserTest, TouchAckAfterActivateAndAdopt) {
EXPECT_TRUE(NavigateToURL(
shell(), embedded_test_server()->GetURL("portal.test", "/title1.html")));
WebContentsImpl* web_contents_impl =
......@@ -893,10 +886,15 @@ IN_PROC_BROWSER_TEST_F(PortalBrowserTest, MAYBE_TouchAckAfterActivateAndAdopt) {
std::unique_ptr<SyntheticTapGesture> gesture =
std::make_unique<SyntheticTapGesture>(params);
render_widget_host->QueueSyntheticGesture(
std::move(gesture), base::Bind([](SyntheticGesture::Result) {}));
portal_interceptor->WaitForActivate();
EXPECT_EQ(portal_contents, shell()->web_contents());
{
PortalCreatedObserver adoption_observer(portal_frame);
render_widget_host->QueueSyntheticGesture(
std::move(gesture), base::Bind([](SyntheticGesture::Result) {}));
portal_interceptor->WaitForActivate();
EXPECT_EQ(portal_contents, shell()->web_contents());
// Wait for predecessor to be adopted.
adoption_observer.WaitUntilPortalCreated();
}
// Wait for a touch ack to be sent from the predecessor.
input_event_ack_waiter.Wait();
......
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