| Index: chrome/browser/apps/guest_view/web_view_browsertest.cc
|
| diff --git a/chrome/browser/apps/guest_view/web_view_browsertest.cc b/chrome/browser/apps/guest_view/web_view_browsertest.cc
|
| index 84d41e652f5cfb48b1dfe23b3af5658a2605778a..a134257cd50070390bb7e2fe286d6f8de3ba57e8 100644
|
| --- a/chrome/browser/apps/guest_view/web_view_browsertest.cc
|
| +++ b/chrome/browser/apps/guest_view/web_view_browsertest.cc
|
| @@ -2520,11 +2520,17 @@ IN_PROC_BROWSER_TEST_F(WebViewFocusTest, TouchFocusesEmbedder) {
|
| EXPECT_TRUE(other_focusable_view->HasFocus());
|
| EXPECT_FALSE(aura_webview->HasFocus());
|
|
|
| + // Compute location of guest within embedder so we can more accurately
|
| + // target our touch event.
|
| + gfx::Rect guest_rect = GetGuestWebContents()->GetContainerBounds();
|
| + gfx::Point embedder_origin =
|
| + GetEmbedderWebContents()->GetContainerBounds().origin();
|
| + guest_rect.Offset(-embedder_origin.x(), -embedder_origin.y());
|
| +
|
| // Generate and send synthetic touch event.
|
| - // TODO(wjmaclean): This is fragile ... if anyone alters the location/size
|
| - // of the webview in accept_touch_events then this may miss its target.
|
| FocusWaiter waiter(aura_webview);
|
| - content::SimulateTouchPressAt(GetEmbedderWebContents(), gfx::Point(10, 10));
|
| + content::SimulateTouchPressAt(GetEmbedderWebContents(),
|
| + guest_rect.CenterPoint());
|
|
|
| // Wait for the TouchStart to propagate and restore focus. Test times out
|
| // on failure.
|
|
|