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

Unified Diff: Source/web/WebDevToolsAgentImpl.cpp

Issue 243233002: [DevTools] Disable touch emulation on devices with touch input. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 8 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
« Source/devtools/front_end/Target.js ('K') | « Source/web/WebDevToolsAgentImpl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/WebDevToolsAgentImpl.cpp
diff --git a/Source/web/WebDevToolsAgentImpl.cpp b/Source/web/WebDevToolsAgentImpl.cpp
index 52c090d407a1637fa0fa9faedde58e68c662b6cc..03531fc6bd9b07e2f51bd7d04b9806f5fffee2b2 100644
--- a/Source/web/WebDevToolsAgentImpl.cpp
+++ b/Source/web/WebDevToolsAgentImpl.cpp
@@ -209,6 +209,7 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl(
, m_touchEventEmulationEnabled(false)
, m_originalTouchEnabled(false)
, m_originalDeviceSupportsMouse(false)
+ , m_originalDeviceSupportsTouch(false)
{
ASSERT(m_hostId > 0);
ClientMessageLoopAdapter::ensureClientMessageLoopCreated(m_client);
@@ -389,17 +390,27 @@ void WebDevToolsAgentImpl::setTouchEventEmulationEnabled(bool enabled)
if (!m_touchEventEmulationEnabled) {
m_originalTouchEnabled = RuntimeEnabledFeatures::touchEnabled();
- if (m_webViewImpl->page())
+ if (m_webViewImpl->page()) {
m_originalDeviceSupportsMouse = m_webViewImpl->page()->settings().deviceSupportsMouse();
+ m_originalDeviceSupportsTouch = m_webViewImpl->page()->settings().deviceSupportsTouch();
+ }
}
RuntimeEnabledFeatures::setTouchEnabled(enabled ? true : m_originalTouchEnabled);
- if (m_webViewImpl->page())
+ if (m_webViewImpl->page()) {
m_webViewImpl->page()->settings().setDeviceSupportsMouse(enabled ? false : m_originalDeviceSupportsMouse);
+ m_webViewImpl->page()->settings().setDeviceSupportsTouch(enabled ? true : m_originalDeviceSupportsTouch);
+ }
m_client->setTouchEventEmulationEnabled(enabled, m_emulateViewportEnabled);
m_touchEventEmulationEnabled = enabled;
m_webViewImpl->mainFrameImpl()->frame()->view()->layout();
}
+bool WebDevToolsAgentImpl::hasTouchInputs()
+{
+ return m_touchEventEmulationEnabled ? m_originalDeviceSupportsTouch :
+ (m_webViewImpl->page() ? m_webViewImpl->page()->settings().deviceSupportsTouch() : false);
+}
+
void WebDevToolsAgentImpl::enableViewportEmulation()
{
if (m_emulateViewportEnabled)
« Source/devtools/front_end/Target.js ('K') | « Source/web/WebDevToolsAgentImpl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698