Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1370)

Unified Diff: content/browser/site_per_process_browsertest.cc

Issue 2509103002: Enable browser process hit testing on Android (Closed)
Patch Set: Added missing check Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/site_per_process_browsertest.cc
diff --git a/content/browser/site_per_process_browsertest.cc b/content/browser/site_per_process_browsertest.cc
index 1540a4ff8348a234d2b295a8903c399303669369..dadfadfe816da806aff45e8844aa067de69afaae 100644
--- a/content/browser/site_per_process_browsertest.cc
+++ b/content/browser/site_per_process_browsertest.cc
@@ -235,6 +235,25 @@ class TestInputEventObserver : public RenderWidgetHost::InputEventObserver {
DISALLOW_COPY_AND_ASSIGN(TestInputEventObserver);
};
+double GetFrameDeviceScaleFactor(const ToRenderFrameHost& adapter) {
+ double device_scale_factor;
+ const char kGetFrameDeviceScaleFactor[] =
+ "window.domAutomationController.send(window.devicePixelRatio);";
+ EXPECT_TRUE(ExecuteScriptAndExtractDouble(adapter, kGetFrameDeviceScaleFactor,
+ &device_scale_factor));
+ return device_scale_factor;
+}
+
+// This method returns the scale factor on Android and 1.0 on other
+// platforms in order to adjust coordinates appropriately.
+double GetAdjustmentScaleFactorForAndroid(Shell* shell) {
+#if defined(OS_ANDROID)
+ return GetFrameDeviceScaleFactor(shell->web_contents());
+#else
+ return 1.0;
+#endif
+}
+
// Helper function that performs a surface hittest.
void SurfaceHitTestTestHelper(
Shell* shell,
@@ -274,21 +293,40 @@ void SurfaceHitTestTestHelper(
static_cast<RenderWidgetHostViewChildFrame*>(rwhv_child));
notifier.WaitForSurfaceReady();
+ float scale_factor = GetAdjustmentScaleFactorForAndroid(shell);
+
+ // Get the view bounds of the child iframe, which should account for the
+ // relative offset of its direct parent within the root frame, for use in
+ // targeting the input event.
+ gfx::Rect bounds = rwhv_child->GetViewBounds();
+
// Target input event to child frame.
blink::WebMouseEvent child_event(blink::WebInputEvent::MouseDown,
blink::WebInputEvent::NoModifiers,
blink::WebInputEvent::TimeStampForTesting);
child_event.button = blink::WebPointerProperties::Button::Left;
- child_event.x = 75;
- child_event.y = 75;
+ child_event.x =
+ gfx::ToCeiledInt((bounds.x() - root_view->GetViewBounds().x()) /
+ scale_factor) +
+ 3;
+ child_event.y =
+ gfx::ToCeiledInt((bounds.y() - root_view->GetViewBounds().y()) /
+ scale_factor) +
+ 3;
child_event.clickCount = 1;
main_frame_monitor.ResetEventReceived();
child_frame_monitor.ResetEventReceived();
router->RouteMouseEvent(root_view, &child_event, ui::LatencyInfo());
EXPECT_TRUE(child_frame_monitor.EventWasReceived());
- EXPECT_EQ(23, child_frame_monitor.event().x);
- EXPECT_EQ(23, child_frame_monitor.event().y);
+ // The expected result coordinates are (3, 3), but can get slightly
+ // different results due to rounding error with some device scale factors.
+ EXPECT_TRUE(child_frame_monitor.event().x <= 5 &&
+ child_frame_monitor.event().x >= 1)
+ << " actual event.x: " << child_frame_monitor.event().x;
+ EXPECT_TRUE(child_frame_monitor.event().y <= 5 &&
+ child_frame_monitor.event().y >= 1)
+ << " actual event.y: " << child_frame_monitor.event().y;
EXPECT_FALSE(main_frame_monitor.EventWasReceived());
child_frame_monitor.ResetEventReceived();
@@ -706,15 +744,6 @@ bool operator==(const ParsedFeaturePolicyDeclaration& first,
second.origins);
}
-double GetFrameDeviceScaleFactor(const ToRenderFrameHost& adapter) {
- double device_scale_factor;
- const char kGetFrameDeviceScaleFactor[] =
- "window.domAutomationController.send(window.devicePixelRatio);";
- EXPECT_TRUE(ExecuteScriptAndExtractDouble(adapter, kGetFrameDeviceScaleFactor,
- &device_scale_factor));
- return device_scale_factor;
-}
-
IN_PROC_BROWSER_TEST_F(SitePerProcessHighDPIBrowserTest,
SubframeLoadsWithCorrectDeviceScaleFactor) {
GURL main_url(embedded_test_server()->GetURL(
@@ -965,15 +994,7 @@ class FrameRectChangedMessageFilter : public content::BrowserMessageFilter {
// Test that the view bounds for an out-of-process iframe are set and updated
// correctly, including accounting for local frame offsets in the parent and
// scroll positions.
-#if defined(OS_ANDROID)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
-#define MAYBE_ViewBoundsInNestedFrameTest DISABLED_ViewBoundsInNestedFrameTest
-#else
-#define MAYBE_ViewBoundsInNestedFrameTest ViewBoundsInNestedFrameTest
-#endif
-IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
- MAYBE_ViewBoundsInNestedFrameTest) {
+IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, ViewBoundsInNestedFrameTest) {
GURL main_url(embedded_test_server()->GetURL(
"a.com", "/cross_site_iframe_factory.html?a(a)"));
EXPECT_TRUE(NavigateToURL(shell(), main_url));
@@ -1010,11 +1031,26 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
static_cast<RenderWidgetHostViewChildFrame*>(rwhv_nested));
notifier.WaitForSurfaceReady();
+#if defined(OS_ANDROID)
+ // Android browser tests have some differences that affect the results. One
+ // is viewport dimensions, the other is that it handles scale factor
+ // differently.
+ int expected_x = 487;
+#else
+ int expected_x = 397;
+#endif
+ int expected_y = 112;
+ float scale_factor = GetAdjustmentScaleFactorForAndroid(shell());
+
// Verify the view bounds of the nested iframe, which should account for the
// relative offset of its direct parent within the root frame.
gfx::Rect bounds = rwhv_nested->GetViewBounds();
- EXPECT_EQ(bounds.x() - rwhv_root->GetViewBounds().x(), 397);
- EXPECT_EQ(bounds.y() - rwhv_root->GetViewBounds().y(), 112);
+ int diff_x = bounds.x() - rwhv_root->GetViewBounds().x() - expected_x;
+ int diff_y = bounds.y() - rwhv_root->GetViewBounds().y() - expected_y;
+ // diff_x and diff_y should usually be zero, but can get slightly different
+ // results due to rounding error with some device scale factors.
+ EXPECT_TRUE(diff_x <= 2 && diff_x >= -2) << " actual diff_x: " << diff_x;
+ EXPECT_TRUE(diff_y <= 2 && diff_y >= -2) << " actual diff_y: " << diff_y;
scoped_refptr<FrameRectChangedMessageFilter> filter =
new FrameRectChangedMessageFilter();
@@ -1025,8 +1061,11 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
blink::WebMouseWheelEvent scroll_event(
blink::WebInputEvent::MouseWheel, blink::WebInputEvent::NoModifiers,
blink::WebInputEvent::TimeStampForTesting);
- scroll_event.x = 387;
- scroll_event.y = 110;
+
+ scroll_event.x = gfx::ToFlooredInt(
+ (bounds.x() - rwhv_root->GetViewBounds().x() - 5) / scale_factor);
+ scroll_event.y = gfx::ToFlooredInt(
+ (bounds.y() - rwhv_root->GetViewBounds().y() - 5) / scale_factor);
scroll_event.deltaX = 0.0f;
scroll_event.deltaY = -30.0f;
rwhv_root->ProcessMouseWheelEvent(scroll_event, ui::LatencyInfo());
@@ -1042,8 +1081,6 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
// Test that scrolling a nested out-of-process iframe bubbles unused scroll
// delta to a parent frame.
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
// Flaky: https://crbug.com/627238
IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
DISABLED_ScrollBubblingFromOOPIFTest) {
@@ -1265,9 +1302,7 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, MAYBE_ScrollEventToOOPIF) {
// Test that mouse events are being routed to the correct RenderWidgetHostView
// based on coordinates.
-#if defined(OS_ANDROID) || defined(THREAD_SANITIZER)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
+#if defined(THREAD_SANITIZER)
// The test times out often on TSAN bot.
// https://crbug.com/591170.
#define MAYBE_SurfaceHitTestTest DISABLED_SurfaceHitTestTest
@@ -1280,8 +1315,8 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, MAYBE_SurfaceHitTestTest) {
// Same test as above, but runs in high-dpi mode.
#if defined(OS_ANDROID) || defined(OS_WIN)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
+// High DPI browser tests are not needed on Android, and confuse some of the
+// coordinate calculations. Android uses fixed device scale factor.
// Windows is disabled because of https://crbug.com/545547.
#define MAYBE_HighDPISurfaceHitTestTest DISABLED_SurfaceHitTestTest
#else
@@ -1294,15 +1329,7 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessHighDPIBrowserTest,
// Test that mouse events are being routed to the correct RenderWidgetHostView
// when there are nested out-of-process iframes.
-#if defined(OS_ANDROID)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
-#define MAYBE_NestedSurfaceHitTestTest DISABLED_NestedSurfaceHitTestTest
-#else
-#define MAYBE_NestedSurfaceHitTestTest NestedSurfaceHitTestTest
-#endif
-IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
- MAYBE_NestedSurfaceHitTestTest) {
+IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, NestedSurfaceHitTestTest) {
GURL main_url(embedded_test_server()->GetURL(
"/frame_tree/page_with_positioned_nested_frames.html"));
EXPECT_TRUE(NavigateToURL(shell(), main_url));
@@ -1348,36 +1375,47 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
static_cast<RenderWidgetHostViewChildFrame*>(rwhv_nested));
notifier.WaitForSurfaceReady();
+ float scale_factor = GetAdjustmentScaleFactorForAndroid(shell());
+
+ // Get the view bounds of the nested iframe, which should account for the
+ // relative offset of its direct parent within the root frame, for use in
+ // targeting the input event.
+ gfx::Rect bounds = rwhv_nested->GetViewBounds();
+
// Target input event to nested frame.
blink::WebMouseEvent nested_event(blink::WebInputEvent::MouseDown,
blink::WebInputEvent::NoModifiers,
blink::WebInputEvent::TimeStampForTesting);
nested_event.button = blink::WebPointerProperties::Button::Left;
- nested_event.x = 125;
- nested_event.y = 125;
+ nested_event.x =
+ gfx::ToCeiledInt((bounds.x() - root_view->GetViewBounds().x()) /
+ scale_factor) +
+ 5;
+ nested_event.y =
+ gfx::ToCeiledInt((bounds.y() - root_view->GetViewBounds().y()) /
+ scale_factor) +
+ 5;
nested_event.clickCount = 1;
nested_frame_monitor.ResetEventReceived();
main_frame_monitor.ResetEventReceived();
router->RouteMouseEvent(root_view, &nested_event, ui::LatencyInfo());
EXPECT_TRUE(nested_frame_monitor.EventWasReceived());
- EXPECT_EQ(21, nested_frame_monitor.event().x);
- EXPECT_EQ(21, nested_frame_monitor.event().y);
+ // The expected result coordinates are (5, 5), but can get slightly
+ // different results due to rounding error with some device scale factors.
+ EXPECT_TRUE(nested_frame_monitor.event().x <= 6 &&
+ nested_frame_monitor.event().x >= 4)
+ << " actual event.x: " << nested_frame_monitor.event().x;
+ EXPECT_TRUE(nested_frame_monitor.event().y <= 6 &&
+ nested_frame_monitor.event().y >= 4)
+ << " actual event.y: " << nested_frame_monitor.event().y;
EXPECT_FALSE(main_frame_monitor.EventWasReceived());
}
// This test tests that browser process hittesting ignores frames with
// pointer-events: none.
-#if defined(OS_ANDROID)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
-#define MAYBE_SurfaceHitTestPointerEventsNone \
- DISABLED_SurfaceHitTestPointerEventsNone
-#else
-#define MAYBE_SurfaceHitTestPointerEventsNone SurfaceHitTestPointerEventsNone
-#endif
IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
- MAYBE_SurfaceHitTestPointerEventsNone) {
+ SurfaceHitTestPointerEventsNone) {
GURL main_url(embedded_test_server()->GetURL(
"/frame_tree/page_with_positioned_frame_pointer-events_none.html"));
EXPECT_TRUE(NavigateToURL(shell(), main_url));
@@ -1430,17 +1468,8 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
// This test verifies that MouseEnter and MouseLeave events fire correctly
// when the mouse cursor moves between processes.
-#if defined(OS_ANDROID)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
-#define MAYBE_CrossProcessMouseEnterAndLeaveTest \
- DISABLED_CrossProcessMouseEnterAndLeaveTest
-#else
-#define MAYBE_CrossProcessMouseEnterAndLeaveTest \
- CrossProcessMouseEnterAndLeaveTest
-#endif
IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
- MAYBE_CrossProcessMouseEnterAndLeaveTest) {
+ CrossProcessMouseEnterAndLeaveTest) {
GURL main_url(embedded_test_server()->GetURL(
"a.com", "/cross_site_iframe_factory.html?a(b,c(d))"));
EXPECT_TRUE(NavigateToURL(shell(), main_url));
@@ -1494,9 +1523,22 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
RenderWidgetHostMouseEventMonitor d_frame_monitor(
d_node->current_frame_host()->GetRenderWidgetHost());
+ float scale_factor = GetAdjustmentScaleFactorForAndroid(shell());
+
+ // Get the view bounds of the child iframe, which should account for the
+ // relative offset of its direct parent within the root frame, for use in
+ // targeting the input event.
+ gfx::Rect a_bounds = rwhv_a->GetViewBounds();
+ gfx::Rect b_bounds = rwhv_b->GetViewBounds();
+ gfx::Rect d_bounds = rwhv_d->GetViewBounds();
+
gfx::Point point_in_a_frame(2, 2);
- gfx::Point point_in_b_frame(313, 147);
- gfx::Point point_in_d_frame(471, 207);
+ gfx::Point point_in_b_frame(
+ gfx::ToCeiledInt((b_bounds.x() - a_bounds.x()) / scale_factor) + 25,
+ gfx::ToCeiledInt((b_bounds.y() - a_bounds.y()) / scale_factor) + 25);
+ gfx::Point point_in_d_frame(
+ gfx::ToCeiledInt((d_bounds.x() - a_bounds.x()) / scale_factor) + 25,
+ gfx::ToCeiledInt((d_bounds.y() - a_bounds.y()) / scale_factor) + 25);
blink::WebMouseEvent mouse_event(blink::WebInputEvent::MouseMove,
blink::WebInputEvent::NoModifiers,
@@ -1546,15 +1588,7 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
// Verify that mouse capture works on a RenderWidgetHostView level, so that
// dragging scroll bars and selecting text continues even when the mouse
// cursor crosses over cross-process frame boundaries.
-#if defined(OS_ANDROID)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
-#define MAYBE_CrossProcessMouseCapture DISABLED_CrossProcessMouseCapture
-#else
-#define MAYBE_CrossProcessMouseCapture CrossProcessMouseCapture
-#endif
-IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
- MAYBE_CrossProcessMouseCapture) {
+IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, CrossProcessMouseCapture) {
GURL main_url(embedded_test_server()->GetURL(
"/frame_tree/page_with_positioned_frame.html"));
EXPECT_TRUE(NavigateToURL(shell(), main_url));
@@ -1587,13 +1621,28 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
static_cast<RenderWidgetHostViewChildFrame*>(rwhv_child));
notifier.WaitForSurfaceReady();
+ float scale_factor = GetAdjustmentScaleFactorForAndroid(shell());
+
+ // Get the view bounds of the child iframe, which should account for the
+ // relative offset of its direct parent within the root frame, for use in
+ // targeting the input event.
+ gfx::Rect bounds = rwhv_child->GetViewBounds();
+ int child_frame_target_x =
+ gfx::ToCeiledInt((bounds.x() - root_view->GetViewBounds().x()) /
+ scale_factor) +
+ 5;
+ int child_frame_target_y =
+ gfx::ToCeiledInt((bounds.y() - root_view->GetViewBounds().y()) /
+ scale_factor) +
+ 5;
+
// Target MouseDown to child frame.
blink::WebMouseEvent mouse_event(blink::WebInputEvent::MouseDown,
blink::WebInputEvent::NoModifiers,
blink::WebInputEvent::TimeStampForTesting);
mouse_event.button = blink::WebPointerProperties::Button::Left;
- mouse_event.x = 75;
- mouse_event.y = 75;
+ mouse_event.x = child_frame_target_x;
+ mouse_event.y = child_frame_target_y;
mouse_event.clickCount = 1;
main_frame_monitor.ResetEventReceived();
child_frame_monitor.ResetEventReceived();
@@ -1625,8 +1674,8 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
// A MouseUp to the child frame should cancel the mouse capture.
mouse_event.setType(blink::WebInputEvent::MouseUp);
mouse_event.setModifiers(blink::WebInputEvent::NoModifiers);
- mouse_event.x = 75;
- mouse_event.y = 75;
+ mouse_event.x = child_frame_target_x;
+ mouse_event.y = child_frame_target_y;
main_frame_monitor.ResetEventReceived();
child_frame_monitor.ResetEventReceived();
router->RouteMouseEvent(root_view, &mouse_event, ui::LatencyInfo());
@@ -1665,8 +1714,8 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
// frame receiving the event.
mouse_event.setType(blink::WebInputEvent::MouseMove);
mouse_event.setModifiers(blink::WebInputEvent::LeftButtonDown);
- mouse_event.x = 75;
- mouse_event.y = 75;
+ mouse_event.x = child_frame_target_x;
+ mouse_event.y = child_frame_target_y;
main_frame_monitor.ResetEventReceived();
child_frame_monitor.ResetEventReceived();
router->RouteMouseEvent(root_view, &mouse_event, ui::LatencyInfo());
@@ -5964,7 +6013,14 @@ void CreateContextMenuTestHelper(
static_cast<WebContentsImpl*>(shell->web_contents())
->GetInputEventRouter();
- gfx::Point point(75, 75);
+ float scale_factor = GetAdjustmentScaleFactorForAndroid(shell);
+
+ gfx::Rect root_bounds = root_view->GetViewBounds();
+ gfx::Rect bounds = rwhv_child->GetViewBounds();
+
+ gfx::Point point(
+ gfx::ToCeiledInt((bounds.x() - root_bounds.x()) / scale_factor) + 10,
+ gfx::ToCeiledInt((bounds.y() - root_bounds.y()) / scale_factor) + 10);
// Target right-click event to child frame.
blink::WebMouseEvent click_event(blink::WebInputEvent::MouseDown,
@@ -5992,14 +6048,7 @@ void CreateContextMenuTestHelper(
// Test that a mouse right-click to an out-of-process iframe causes a context
// menu to be generated with the correct screen position.
-#if defined(OS_ANDROID)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
-#define MAYBE_CreateContextMenuTest DISABLED_CreateContextMenuTest
-#else
-#define MAYBE_CreateContextMenuTest CreateContextMenuTest
-#endif
-IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, MAYBE_CreateContextMenuTest) {
+IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, CreateContextMenuTest) {
CreateContextMenuTestHelper(shell(), embedded_test_server());
}
@@ -6007,8 +6056,7 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, MAYBE_CreateContextMenuTest) {
// menu to be generated with the correct screen position on a screen with
// non-default scale factor.
#if defined(OS_ANDROID) || defined(OS_WIN)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
+// High DPI tests don't work properly on Android, which has fixed scale factor.
// Windows is disabled because of https://crbug.com/545547.
#define MAYBE_HighDPICreateContextMenuTest DISABLED_HighDPICreateContextMenuTest
#else
@@ -6085,22 +6133,15 @@ class ShowWidgetMessageFilter : public content::BrowserMessageFilter {
// Test that clicking a select element in an out-of-process iframe creates
// a popup menu in the correct position.
-#if defined(OS_ANDROID)
-// Surface-based hit testing and coordinate translation is not yet available
-// on Android.
-#define MAYBE_PopupMenuTest DISABLED_PopupMenuTest
-#else
-#define MAYBE_PopupMenuTest PopupMenuTest
-#endif
-IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, MAYBE_PopupMenuTest) {
+IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, PopupMenuTest) {
GURL main_url(
embedded_test_server()->GetURL("/cross_site_iframe_factory.html?a(a)"));
EXPECT_TRUE(NavigateToURL(shell(), main_url));
FrameTreeNode* root = web_contents()->GetFrameTree()->root();
-#if !defined(OS_MACOSX)
- // Unused variable on Mac.
+#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
+ // Unused variable on Mac and Android.
RenderWidgetHostViewBase* rwhv_root = static_cast<RenderWidgetHostViewBase*>(
root->current_frame_host()->GetRenderWidgetHost()->GetView());
#endif
@@ -6139,9 +6180,9 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, MAYBE_PopupMenuTest) {
filter->Wait();
gfx::Rect popup_rect = filter->last_initial_rect();
-#if defined(OS_MACOSX)
- // On Mac we receive the coordinates before they are transformed, so they
- // are still relative to the out-of-process iframe origin.
+#if defined(OS_MACOSX) || defined(OS_ANDROID)
+ // On Mac and Android we receive the coordinates before they are transformed,
+ // so they are still relative to the out-of-process iframe origin.
EXPECT_EQ(popup_rect.x(), 9);
EXPECT_EQ(popup_rect.y(), 9);
#else
@@ -8993,8 +9034,7 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
// Test that MouseDown and MouseUp to the same coordinates do not result in
// different coordinates after routing. See bug https://crbug.com/670253.
#if defined(OS_ANDROID)
-// Browser process hit testing is not implemented on Android.
-// https://crbug.com/491334
+// Android uses fixed scale factor, which makes this test unnecessary.
#define MAYBE_MouseClickWithNonIntegerScaleFactor \
DISABLED_MouseClickWithNonIntegerScaleFactor
#else
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_android.cc ('k') | ui/android/delegated_frame_host_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698