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

Unified Diff: content/browser/site_per_process_browsertest.cc

Issue 2633723002: Add OOPIF-specific test for setting TOUCH_ACTION in PointerEvents. (Closed)
Patch Set: Version without spurious whitespace additions. Created 3 years, 11 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 462d8ec13a7705e63626de9851abde3b9ca1d29a..5802527a02c1ab9e61ac9b9b3b68d4e5dc47ba27 100644
--- a/content/browser/site_per_process_browsertest.cc
+++ b/content/browser/site_per_process_browsertest.cc
@@ -31,6 +31,7 @@
#include "content/browser/frame_host/render_widget_host_view_child_frame.h"
#include "content/browser/gpu/compositor_util.h"
#include "content/browser/loader/resource_dispatcher_host_impl.h"
+#include "content/browser/renderer_host/input/input_router_impl.h"
#include "content/browser/renderer_host/input/synthetic_tap_gesture.h"
#include "content/browser/renderer_host/render_view_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_input_event_router.h"
@@ -39,6 +40,7 @@
#include "content/common/child_process_messages.h"
#include "content/common/frame_messages.h"
#include "content/common/input/synthetic_tap_gesture_params.h"
+#include "content/common/input/touch_action.h"
#include "content/common/input_messages.h"
#include "content/common/renderer.mojom.h"
#include "content/common/view_messages.h"
@@ -5378,6 +5380,19 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
static_cast<RenderWidgetHostViewChildFrame*>(child_rwhv));
notifier.WaitForSurfaceReady();
+ // There's no intrinsic reason the following values can't be equal, but they
+ // aren't at present, and if they become the same this test will need to be
+ // updated to accommodate.
+ EXPECT_NE(TOUCH_ACTION_AUTO, TOUCH_ACTION_NONE);
Charlie Reis 2017/01/13 21:37:17 nit: Add blank line after.
wjmaclean 2017/01/13 21:59:22 Done.
+ // Verify the child's input router is initially set for TOUCH_ACTION_AUTO. The
+ // TouchStart event will trigger TOUCH_ACTION_NONE being sent back to the
+ // browser.
+ RenderWidgetHostImpl* child_render_widget_host =
+ root->child_at(0)->current_frame_host()->GetRenderWidgetHost();
+ InputRouterImpl* child_input_router =
+ static_cast<InputRouterImpl*>(child_render_widget_host->input_router());
+ EXPECT_EQ(TOUCH_ACTION_AUTO, child_input_router->allowed_touch_action());
+
// Simulate touch event to sub-frame.
gfx::Point child_center(150, 150);
auto* rwhv = static_cast<RenderWidgetHostViewAura*>(
@@ -5392,6 +5407,10 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
root->child_at(0),
"window.domAutomationController.send(getLastTouchEvent());", &result));
EXPECT_EQ("touchstart", result);
+
+ // Verify the presence of the touch handler in the child frame correctly
+ // propagates touch-action:none information back to the child's input router.
+ EXPECT_EQ(TOUCH_ACTION_NONE, child_input_router->allowed_touch_action());
}
namespace {

Powered by Google App Engine
This is Rietveld 408576698