summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-20 06:16:05 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-20 06:17:22 +0000
commit34ff1cfc5151b7f53db8177b6490901ad7a48dc2 (patch)
tree5c9dd5a88301c8a78ab497c61004ad9d0425545a /content
parent260340b581b8162f3e04c9083075e4c509ecb582 (diff)
downloadchromium_src-34ff1cfc5151b7f53db8177b6490901ad7a48dc2.zip
chromium_src-34ff1cfc5151b7f53db8177b6490901ad7a48dc2.tar.gz
chromium_src-34ff1cfc5151b7f53db8177b6490901ad7a48dc2.tar.bz2
DevTools: control touch emulation from the browser side only.
TBR=tsepez (message is removed from content/common/view_messages.h) Review URL: https://codereview.chromium.org/474213002 Cr-Commit-Position: refs/heads/master@{#290775} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290775 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/browser/devtools/render_view_devtools_agent_host.cc7
-rw-r--r--content/browser/devtools/renderer_overrides_handler.cc56
-rw-r--r--content/browser/devtools/renderer_overrides_handler.h6
-rw-r--r--content/browser/renderer_host/input/touch_emulator.cc6
-rw-r--r--content/browser/renderer_host/input/touch_emulator.h3
-rw-r--r--content/browser/renderer_host/input/touch_emulator_unittest.cc10
-rw-r--r--content/browser/renderer_host/render_widget_host_delegate.h3
-rw-r--r--content/browser/renderer_host/render_widget_host_impl.cc15
-rw-r--r--content/browser/renderer_host/render_widget_host_impl.h3
-rw-r--r--content/browser/renderer_host/render_widget_host_unittest.cc12
-rw-r--r--content/browser/web_contents/web_contents_impl.cc16
-rw-r--r--content/browser/web_contents/web_contents_impl.h8
-rw-r--r--content/common/view_messages.h6
-rw-r--r--content/renderer/devtools/devtools_agent.cc7
-rw-r--r--content/renderer/devtools/devtools_agent.h2
15 files changed, 75 insertions, 85 deletions
diff --git a/content/browser/devtools/render_view_devtools_agent_host.cc b/content/browser/devtools/render_view_devtools_agent_host.cc
index 7e7c90e..87de831 100644
--- a/content/browser/devtools/render_view_devtools_agent_host.cc
+++ b/content/browser/devtools/render_view_devtools_agent_host.cc
@@ -402,8 +402,6 @@ bool RenderViewDevToolsAgentHost::DispatchIPCMessage(
OnSaveAgentRuntimeState)
IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_SwapCompositorFrame,
handled = false; OnSwapCompositorFrame(msg))
- IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_SetTouchEventEmulationEnabled,
- handled = OnSetTouchEventEmulationEnabled(msg))
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
@@ -417,11 +415,6 @@ void RenderViewDevToolsAgentHost::OnSwapCompositorFrame(
overrides_handler_->OnSwapCompositorFrame(param.b.metadata);
}
-bool RenderViewDevToolsAgentHost::OnSetTouchEventEmulationEnabled(
- const IPC::Message& message) {
- return overrides_handler_->OnSetTouchEventEmulationEnabled();
-}
-
void RenderViewDevToolsAgentHost::SynchronousSwapCompositorFrame(
const cc::CompositorFrameMetadata& frame_metadata) {
if (!render_view_host_)
diff --git a/content/browser/devtools/renderer_overrides_handler.cc b/content/browser/devtools/renderer_overrides_handler.cc
index e119fbd..f4ec9a0 100644
--- a/content/browser/devtools/renderer_overrides_handler.cc
+++ b/content/browser/devtools/renderer_overrides_handler.cc
@@ -74,6 +74,7 @@ static int kCaptureRetryLimit = 2;
RendererOverridesHandler::RendererOverridesHandler()
: has_last_compositor_frame_metadata_(false),
capture_retry_count_(0),
+ touch_emulation_enabled_(false),
color_picker_enabled_(false),
last_cursor_x_(-1),
last_cursor_y_(-1),
@@ -133,6 +134,11 @@ RendererOverridesHandler::RendererOverridesHandler()
&RendererOverridesHandler::PageCaptureScreenshot,
base::Unretained(this)));
RegisterCommandHandler(
+ devtools::Page::setTouchEmulationEnabled::kName,
+ base::Bind(
+ &RendererOverridesHandler::PageSetTouchEmulationEnabled,
+ base::Unretained(this)));
+ RegisterCommandHandler(
devtools::Page::canScreencast::kName,
base::Bind(
&RendererOverridesHandler::PageCanScreencast,
@@ -170,9 +176,9 @@ RendererOverridesHandler::RendererOverridesHandler()
RendererOverridesHandler::~RendererOverridesHandler() {}
void RendererOverridesHandler::OnClientDetached() {
- if (screencast_command_ && host_)
- host_->SetTouchEventEmulationEnabled(false, false);
+ touch_emulation_enabled_ = false;
screencast_command_ = NULL;
+ UpdateTouchEventEmulationState();
SetColorPickerEnabled(false);
}
@@ -198,8 +204,7 @@ void RendererOverridesHandler::SetRenderViewHost(
host_ = host;
if (!host)
return;
- if (screencast_command_)
- host->SetTouchEventEmulationEnabled(true, true);
+ UpdateTouchEventEmulationState();
if (color_picker_enabled_)
host->AddMouseEventCallback(mouse_event_callback_);
}
@@ -211,10 +216,6 @@ void RendererOverridesHandler::ClearRenderViewHost() {
ResetColorPickerFrame();
}
-bool RendererOverridesHandler::OnSetTouchEventEmulationEnabled() {
- return screencast_command_.get() != NULL;
-}
-
void RendererOverridesHandler::InnerSwapCompositorFrame() {
if ((base::TimeTicks::Now() - last_frame_time_).InMilliseconds() <
kFrameRateThresholdMs) {
@@ -346,9 +347,7 @@ RendererOverridesHandler::ClearBrowserCookies(
scoped_refptr<DevToolsProtocol::Response>
RendererOverridesHandler::PageDisable(
scoped_refptr<DevToolsProtocol::Command> command) {
- if (screencast_command_ && host_)
- host_->SetTouchEventEmulationEnabled(false, false);
- screencast_command_ = NULL;
+ OnClientDetached();
return NULL;
}
@@ -526,6 +525,25 @@ void RendererOverridesHandler::ScreenshotCaptured(
}
scoped_refptr<DevToolsProtocol::Response>
+RendererOverridesHandler::PageSetTouchEmulationEnabled(
+ scoped_refptr<DevToolsProtocol::Command> command) {
+ base::DictionaryValue* params = command->params();
+ bool enabled = false;
+ if (!params || !params->GetBoolean(
+ devtools::Page::setTouchEmulationEnabled::kParamEnabled,
+ &enabled)) {
+ // Pass to renderer.
+ return NULL;
+ }
+
+ touch_emulation_enabled_ = enabled;
+ UpdateTouchEventEmulationState();
+
+ // Pass to renderer.
+ return NULL;
+}
+
+scoped_refptr<DevToolsProtocol::Response>
RendererOverridesHandler::PageCanScreencast(
scoped_refptr<DevToolsProtocol::Command> command) {
base::DictionaryValue* result = new base::DictionaryValue();
@@ -541,9 +559,9 @@ scoped_refptr<DevToolsProtocol::Response>
RendererOverridesHandler::PageStartScreencast(
scoped_refptr<DevToolsProtocol::Command> command) {
screencast_command_ = command;
+ UpdateTouchEventEmulationState();
if (!host_)
return command->InternalErrorResponse("Could not connect to view");
- host_->SetTouchEventEmulationEnabled(true, true);
bool visible = !host_->is_hidden();
NotifyScreencastVisibility(visible);
if (visible) {
@@ -560,8 +578,7 @@ RendererOverridesHandler::PageStopScreencast(
scoped_refptr<DevToolsProtocol::Command> command) {
last_frame_time_ = base::TimeTicks();
screencast_command_ = NULL;
- if (host_)
- host_->SetTouchEventEmulationEnabled(false, false);
+ UpdateTouchEventEmulationState();
return command->SuccessResponse(NULL);
}
@@ -1251,4 +1268,15 @@ RendererOverridesHandler::InputEmulateTouchFromMouseEvent(
return command->SuccessResponse(NULL);
}
+void RendererOverridesHandler::UpdateTouchEventEmulationState() {
+ if (!host_)
+ return;
+ bool enabled = touch_emulation_enabled_ || screencast_command_;
+ host_->SetTouchEventEmulationEnabled(enabled);
+ WebContentsImpl* web_contents = static_cast<WebContentsImpl*>(
+ WebContents::FromRenderViewHost(host_));
+ if (web_contents)
+ web_contents->SetForceDisableOverscrollContent(enabled);
+}
+
} // namespace content
diff --git a/content/browser/devtools/renderer_overrides_handler.h b/content/browser/devtools/renderer_overrides_handler.h
index 7d30451..b91c3b6 100644
--- a/content/browser/devtools/renderer_overrides_handler.h
+++ b/content/browser/devtools/renderer_overrides_handler.h
@@ -46,7 +46,6 @@ class CONTENT_EXPORT RendererOverridesHandler
void OnVisibilityChanged(bool visible);
void SetRenderViewHost(RenderViewHostImpl* host);
void ClearRenderViewHost();
- bool OnSetTouchEventEmulationEnabled();
private:
void InnerSwapCompositorFrame();
@@ -77,6 +76,8 @@ class CONTENT_EXPORT RendererOverridesHandler
scoped_refptr<DevToolsProtocol::Command> command);
scoped_refptr<DevToolsProtocol::Response> PageNavigateToHistoryEntry(
scoped_refptr<DevToolsProtocol::Command> command);
+ scoped_refptr<DevToolsProtocol::Response> PageSetTouchEmulationEnabled(
+ scoped_refptr<DevToolsProtocol::Command> command);
scoped_refptr<DevToolsProtocol::Response> PageCaptureScreenshot(
scoped_refptr<DevToolsProtocol::Command> command);
scoped_refptr<DevToolsProtocol::Response> PageCanScreencast(
@@ -118,12 +119,15 @@ class CONTENT_EXPORT RendererOverridesHandler
scoped_refptr<DevToolsProtocol::Response> InputEmulateTouchFromMouseEvent(
scoped_refptr<DevToolsProtocol::Command> command);
+ void UpdateTouchEventEmulationState();
+
RenderViewHostImpl* host_;
scoped_refptr<DevToolsProtocol::Command> screencast_command_;
bool has_last_compositor_frame_metadata_;
cc::CompositorFrameMetadata last_compositor_frame_metadata_;
base::TimeTicks last_frame_time_;
int capture_retry_count_;
+ bool touch_emulation_enabled_;
bool color_picker_enabled_;
SkBitmap color_picker_frame_;
int last_cursor_x_;
diff --git a/content/browser/renderer_host/input/touch_emulator.cc b/content/browser/renderer_host/input/touch_emulator.cc
index d630ada..260c773 100644
--- a/content/browser/renderer_host/input/touch_emulator.cc
+++ b/content/browser/renderer_host/input/touch_emulator.cc
@@ -47,7 +47,6 @@ TouchEmulator::TouchEmulator(TouchEmulatorClient* client)
: client_(client),
gesture_provider_(GetGestureProviderConfig(), this),
enabled_(false),
- allow_pinch_(false),
emulated_stream_active_sequence_count_(0),
native_stream_active_sequence_count_(0) {
DCHECK(client_);
@@ -92,12 +91,11 @@ void TouchEmulator::ResetState() {
pinch_gesture_active_ = false;
}
-void TouchEmulator::Enable(bool allow_pinch) {
+void TouchEmulator::Enable() {
if (!enabled_) {
enabled_ = true;
ResetState();
}
- allow_pinch_ = allow_pinch;
UpdateCursor();
}
@@ -436,7 +434,7 @@ bool TouchEmulator::FillTouchEventAndPoint(const WebMouseEvent& mouse_event) {
}
bool TouchEmulator::InPinchGestureMode() const {
- return shift_pressed_ && allow_pinch_;
+ return shift_pressed_;
}
} // namespace content
diff --git a/content/browser/renderer_host/input/touch_emulator.h b/content/browser/renderer_host/input/touch_emulator.h
index aef7899..467dbda 100644
--- a/content/browser/renderer_host/input/touch_emulator.h
+++ b/content/browser/renderer_host/input/touch_emulator.h
@@ -20,7 +20,7 @@ class CONTENT_EXPORT TouchEmulator : public ui::GestureProviderClient {
explicit TouchEmulator(TouchEmulatorClient* client);
virtual ~TouchEmulator();
- void Enable(bool allow_pinch);
+ void Enable();
void Disable();
// Note that TouchEmulator should always listen to touch events and their acks
@@ -74,7 +74,6 @@ class CONTENT_EXPORT TouchEmulator : public ui::GestureProviderClient {
// Disabled emulator does only process touch acks left from previous
// emulation. It does not intercept any events.
bool enabled_;
- bool allow_pinch_;
// While emulation is on, default cursor is touch. Pressing shift changes
// cursor to the pinch one.
diff --git a/content/browser/renderer_host/input/touch_emulator_unittest.cc b/content/browser/renderer_host/input/touch_emulator_unittest.cc
index 079b6e4..c04da90 100644
--- a/content/browser/renderer_host/input/touch_emulator_unittest.cc
+++ b/content/browser/renderer_host/input/touch_emulator_unittest.cc
@@ -53,7 +53,7 @@ class TouchEmulatorTest : public testing::Test,
#endif
emulator_.reset(new TouchEmulator(this));
- emulator_->Enable(true /* allow_pinch */);
+ emulator_->Enable();
}
virtual void TearDown() OVERRIDE {
@@ -346,7 +346,7 @@ TEST_F(TouchEmulatorTest, DisableAndReenable) {
MouseMove(300, 300);
EXPECT_EQ("", ExpectedEvents());
- emulator()->Enable(true /* allow_pinch */);
+ emulator()->Enable();
MouseDown(300, 300);
EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents());
MouseDrag(300, 400);
@@ -406,7 +406,7 @@ TEST_F(TouchEmulatorTest, MouseWheel) {
emulator()->Disable();
EXPECT_EQ("TouchCancel GestureTapCancel", ExpectedEvents());
EXPECT_TRUE(SendMouseWheelEvent());
- emulator()->Enable(true /* allow_pinch */);
+ emulator()->Enable();
EXPECT_TRUE(SendMouseWheelEvent());
}
@@ -432,7 +432,7 @@ TEST_F(TouchEmulatorTest, MultipleTouchStreams) {
EXPECT_EQ("", ExpectedEvents());
// Re-enabling in the middle of a touch sequence should not affect this.
emulator()->Disable();
- emulator()->Enable(true);
+ emulator()->Enable();
MouseDrag(300, 300);
EXPECT_EQ("", ExpectedEvents());
MouseUp(300, 300);
@@ -447,7 +447,7 @@ TEST_F(TouchEmulatorTest, MultipleTouchStreams) {
EXPECT_TRUE(TouchEnd(20, 20, false));
EXPECT_TRUE(TouchStart(30, 30, false));
AckOldestTouchEvent(); // TouchStart.
- emulator()->Enable(true);
+ emulator()->Enable();
AckOldestTouchEvent(); // TouchMove.
AckOldestTouchEvent(); // TouchEnd.
MouseDown(300, 200);
diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h
index e7a4365..d3bd78d 100644
--- a/content/browser/renderer_host/render_widget_host_delegate.h
+++ b/content/browser/renderer_host/render_widget_host_delegate.h
@@ -61,9 +61,6 @@ class CONTENT_EXPORT RenderWidgetHostDelegate {
// Notifies that screen rects were sent to renderer process.
virtual void DidSendScreenRects(RenderWidgetHostImpl* rwh) {}
- // Notifies that RenderWidgetHost will toggle touch emulation.
- virtual void OnTouchEmulationEnabled(bool enabled) {}
-
// Get the root BrowserAccessibilityManager for this frame tree.
virtual BrowserAccessibilityManager* GetRootBrowserAccessibilityManager();
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index df99c91..1b1f319 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -449,8 +449,6 @@ bool RenderWidgetHostImpl::OnMessageReceived(const IPC::Message &msg) {
IPC_MESSAGE_HANDLER(ViewHostMsg_Focus, OnFocus)
IPC_MESSAGE_HANDLER(ViewHostMsg_Blur, OnBlur)
IPC_MESSAGE_HANDLER(ViewHostMsg_SetCursor, OnSetCursor)
- IPC_MESSAGE_HANDLER(ViewHostMsg_SetTouchEventEmulationEnabled,
- OnSetTouchEventEmulationEnabled)
IPC_MESSAGE_HANDLER(ViewHostMsg_TextInputStateChanged,
OnTextInputStateChanged)
IPC_MESSAGE_HANDLER(ViewHostMsg_LockMouse, OnLockMouse)
@@ -1603,20 +1601,11 @@ void RenderWidgetHostImpl::OnSetCursor(const WebCursor& cursor) {
SetCursor(cursor);
}
-void RenderWidgetHostImpl::OnSetTouchEventEmulationEnabled(
- bool enabled, bool allow_pinch) {
- SetTouchEventEmulationEnabled(enabled, allow_pinch);
-}
-
-void RenderWidgetHostImpl::SetTouchEventEmulationEnabled(
- bool enabled, bool allow_pinch) {
- if (delegate_)
- delegate_->OnTouchEmulationEnabled(enabled);
-
+void RenderWidgetHostImpl::SetTouchEventEmulationEnabled(bool enabled) {
if (enabled) {
if (!touch_emulator_)
touch_emulator_.reset(new TouchEmulator(this));
- touch_emulator_->Enable(allow_pinch);
+ touch_emulator_->Enable();
} else {
if (touch_emulator_)
touch_emulator_->Disable();
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index 80f0596..a8ec18a 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -276,7 +276,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
const ui::LatencyInfo& ui_latency);
// Enables/disables touch emulation using mouse event. See TouchEmulator.
- void SetTouchEventEmulationEnabled(bool enabled, bool allow_pinch);
+ void SetTouchEventEmulationEnabled(bool enabled);
// TouchEmulatorClient implementation.
virtual void ForwardGestureEvent(
@@ -599,7 +599,6 @@ class CONTENT_EXPORT RenderWidgetHostImpl
virtual void OnFocus();
virtual void OnBlur();
void OnSetCursor(const WebCursor& cursor);
- void OnSetTouchEventEmulationEnabled(bool enabled, bool allow_pinch);
void OnTextInputStateChanged(
const ViewHostMsg_TextInputState_Params& params);
diff --git a/content/browser/renderer_host/render_widget_host_unittest.cc b/content/browser/renderer_host/render_widget_host_unittest.cc
index f0e072f..89e25e2 100644
--- a/content/browser/renderer_host/render_widget_host_unittest.cc
+++ b/content/browser/renderer_host/render_widget_host_unittest.cc
@@ -1032,8 +1032,7 @@ TEST_F(RenderWidgetHostTest, TouchEmulator) {
simulated_event_time_delta_seconds_ = 0.1;
// Immediately ack all touches instead of sending them to the renderer.
host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, false));
- host_->OnMessageReceived(
- ViewHostMsg_SetTouchEventEmulationEnabled(0, true, true));
+ host_->SetTouchEventEmulationEnabled(true);
process_->sink().ClearMessages();
view_->set_bounds(gfx::Rect(0, 0, 400, 200));
view_->Show();
@@ -1132,8 +1131,7 @@ TEST_F(RenderWidgetHostTest, TouchEmulator) {
EXPECT_EQ(0U, process_->sink().message_count());
// Turn off emulation during a pinch.
- host_->OnMessageReceived(
- ViewHostMsg_SetTouchEventEmulationEnabled(0, false, false));
+ host_->SetTouchEventEmulationEnabled(false);
EXPECT_EQ(WebInputEvent::TouchCancel, host_->acked_touch_event_type());
EXPECT_EQ("GesturePinchEnd GestureScrollEnd",
GetInputMessageTypes(process_));
@@ -1148,8 +1146,7 @@ TEST_F(RenderWidgetHostTest, TouchEmulator) {
EXPECT_EQ(0U, process_->sink().message_count());
// Turn on emulation.
- host_->OnMessageReceived(
- ViewHostMsg_SetTouchEventEmulationEnabled(0, true, true));
+ host_->SetTouchEventEmulationEnabled(true);
EXPECT_EQ(0U, process_->sink().message_count());
// Another touch.
@@ -1168,8 +1165,7 @@ TEST_F(RenderWidgetHostTest, TouchEmulator) {
INPUT_EVENT_ACK_STATE_CONSUMED);
// Turn off emulation during a scroll.
- host_->OnMessageReceived(
- ViewHostMsg_SetTouchEventEmulationEnabled(0, false, false));
+ host_->SetTouchEventEmulationEnabled(false);
EXPECT_EQ(WebInputEvent::TouchCancel, host_->acked_touch_event_type());
EXPECT_EQ("GestureScrollEnd", GetInputMessageTypes(process_));
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index a234ced..466a586 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -373,7 +373,7 @@ WebContentsImpl::WebContentsImpl(
fullscreen_widget_routing_id_(MSG_ROUTING_NONE),
fullscreen_widget_had_focus_at_shutdown_(false),
is_subframe_(false),
- touch_emulation_enabled_(false),
+ force_disable_overscroll_content_(false),
last_dialog_suppressed_(false),
accessibility_mode_(
BrowserAccessibilityStateImpl::GetInstance()->accessibility_mode()) {
@@ -1797,12 +1797,6 @@ void WebContentsImpl::DidSendScreenRects(RenderWidgetHostImpl* rwh) {
browser_plugin_embedder_->DidSendScreenRects();
}
-void WebContentsImpl::OnTouchEmulationEnabled(bool enabled) {
- touch_emulation_enabled_ = enabled;
- if (view_)
- view_->SetOverscrollControllerEnabled(CanOverscrollContent());
-}
-
BrowserAccessibilityManager*
WebContentsImpl::GetRootBrowserAccessibilityManager() {
RenderFrameHostImpl* rfh = static_cast<RenderFrameHostImpl*>(GetMainFrame());
@@ -2595,7 +2589,7 @@ void WebContentsImpl::SetMainFrameMimeType(const std::string& mime_type) {
bool WebContentsImpl::CanOverscrollContent() const {
// Disable overscroll when touch emulation is on. See crbug.com/369938.
- if (touch_emulation_enabled_)
+ if (force_disable_overscroll_content_)
return false;
if (delegate_)
@@ -4244,4 +4238,10 @@ void WebContentsImpl::ResumeResponseDeferredAtStart() {
node->render_manager()->ResumeResponseDeferredAtStart();
}
+void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) {
+ force_disable_overscroll_content_ = force_disable;
+ if (view_)
+ view_->SetOverscrollControllerEnabled(CanOverscrollContent());
+}
+
} // namespace content
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 1452632..922829c 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -540,7 +540,6 @@ class CONTENT_EXPORT WebContentsImpl
virtual bool HandleGestureEvent(
const blink::WebGestureEvent& event) OVERRIDE;
virtual void DidSendScreenRects(RenderWidgetHostImpl* rwh) OVERRIDE;
- virtual void OnTouchEmulationEnabled(bool enabled) OVERRIDE;
virtual BrowserAccessibilityManager* GetRootBrowserAccessibilityManager()
OVERRIDE;
virtual BrowserAccessibilityManager*
@@ -667,6 +666,9 @@ class CONTENT_EXPORT WebContentsImpl
// immediately at first response).
void ResumeResponseDeferredAtStart();
+ // Forces overscroll to be disabled (used by touch emulation).
+ void SetForceDisableOverscrollContent(bool force_disable);
+
private:
friend class TestNavigationObserver;
friend class WebContentsAddedObserver;
@@ -1182,8 +1184,8 @@ class CONTENT_EXPORT WebContentsImpl
// different process from its parent page.
bool is_subframe_;
- // Whether touch emulation is enabled in RenderWidgetHost.
- bool touch_emulation_enabled_;
+ // Whether overscroll should be unconditionally disabled.
+ bool force_disable_overscroll_content_;
// Whether the last JavaScript dialog shown was suppressed. Used for testing.
bool last_dialog_suppressed_;
diff --git a/content/common/view_messages.h b/content/common/view_messages.h
index 7ac6ce5..391189e 100644
--- a/content/common/view_messages.h
+++ b/content/common/view_messages.h
@@ -1171,12 +1171,6 @@ IPC_MESSAGE_ROUTED1(ViewHostMsg_FocusedNodeChanged,
IPC_MESSAGE_ROUTED1(ViewHostMsg_SetCursor, content::WebCursor)
-// Message sent from renderer requesting touch emulation using mouse.
-// Shift-scrolling should be converted to pinch, if |allow_pinch| is true.
-IPC_MESSAGE_ROUTED2(ViewHostMsg_SetTouchEventEmulationEnabled,
- bool /* enabled */,
- bool /* allow_pinch */)
-
// Used to set a cookie. The cookie is set asynchronously, but will be
// available to a subsequent ViewHostMsg_GetCookies request.
IPC_MESSAGE_CONTROL4(ViewHostMsg_SetCookie,
diff --git a/content/renderer/devtools/devtools_agent.cc b/content/renderer/devtools/devtools_agent.cc
index 18bd3ef..0d10f5b 100644
--- a/content/renderer/devtools/devtools_agent.cc
+++ b/content/renderer/devtools/devtools_agent.cc
@@ -254,13 +254,6 @@ void DevToolsAgent::disableDeviceEmulation() {
impl->DisableScreenMetricsEmulation();
}
-void DevToolsAgent::setTouchEventEmulationEnabled(
- bool enabled, bool allow_pinch) {
- RenderViewImpl* impl = static_cast<RenderViewImpl*>(render_view());
- impl->Send(new ViewHostMsg_SetTouchEventEmulationEnabled(
- impl->routing_id(), enabled, allow_pinch));
-}
-
#if defined(USE_TCMALLOC) && !defined(OS_WIN)
static void AllocationVisitor(void* data, const void* ptr) {
typedef blink::WebDevToolsAgentClient::AllocatedObjectVisitor Visitor;
diff --git a/content/renderer/devtools/devtools_agent.h b/content/renderer/devtools/devtools_agent.h
index 8f1faff..4213ff1 100644
--- a/content/renderer/devtools/devtools_agent.h
+++ b/content/renderer/devtools/devtools_agent.h
@@ -75,8 +75,6 @@ class DevToolsAgent : public RenderViewObserver,
virtual void enableDeviceEmulation(
const blink::WebDeviceEmulationParams& params) OVERRIDE;
virtual void disableDeviceEmulation() OVERRIDE;
- virtual void setTouchEventEmulationEnabled(bool enabled,
- bool allow_pinch) OVERRIDE;
void OnAttach(const std::string& host_id);
void OnReattach(const std::string& host_id,