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

Unified Diff: Source/web/DevToolsEmulator.cpp

Issue 1343843004: [DevTools] Emulate hover and pointer types. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: and test Created 5 years, 3 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
« no previous file with comments | « Source/web/DevToolsEmulator.h ('k') | Source/web/WebSettingsImpl.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/DevToolsEmulator.cpp
diff --git a/Source/web/DevToolsEmulator.cpp b/Source/web/DevToolsEmulator.cpp
index 9dcb3894e92ba09b2e73cf019d5a0f160b6b5674..8613952f1eb3256604de32d37f57c5877a449238 100644
--- a/Source/web/DevToolsEmulator.cpp
+++ b/Source/web/DevToolsEmulator.cpp
@@ -62,6 +62,10 @@ DevToolsEmulator::DevToolsEmulator(WebViewImpl* webViewImpl)
, m_embedderPreferCompositingToLCDTextEnabled(webViewImpl->page()->settings().preferCompositingToLCDTextEnabled())
, m_embedderUseMobileViewport(webViewImpl->page()->settings().useMobileViewportStyle())
, m_embedderPluginsEnabled(webViewImpl->page()->settings().pluginsEnabled())
+ , m_embedderAvailablePointerTypes(webViewImpl->page()->settings().availableHoverTypes())
mustaq 2015/09/15 14:29:03 s/Hover/Pointer/
dgozman 2015/09/15 18:18:05 Ops. Done.
+ , m_embedderPrimaryPointerType(webViewImpl->page()->settings().primaryPointerType())
+ , m_embedderAvailableHoverTypes(webViewImpl->page()->settings().availableHoverTypes())
+ , m_embedderPrimaryHoverType(webViewImpl->page()->settings().primaryHoverType())
, m_touchEventEmulationEnabled(false)
, m_doubleTapToZoomEnabled(false)
, m_originalTouchEnabled(false)
@@ -163,6 +167,58 @@ void DevToolsEmulator::setHidePinchScrollbarsNearMinScale(bool enabled)
m_webViewImpl->layerTreeView()->setHidePinchScrollbarsNearMinScale(enabled);
}
+void DevToolsEmulator::setAvailablePointerTypes(int types)
+{
+ m_embedderAvailablePointerTypes = types;
+ bool emulateMobileEnabled = m_deviceMetricsEnabled && m_emulateMobileEnabled;
+ if (!emulateMobileEnabled)
+ m_webViewImpl->page()->settings().setAvailablePointerTypes(types);
+}
+
+void DevToolsEmulator::setPrimaryPointerType(PointerType pointerType)
+{
+ m_embedderPrimaryPointerType = pointerType;
+ bool emulateMobileEnabled = m_deviceMetricsEnabled && m_emulateMobileEnabled;
+ if (!emulateMobileEnabled)
+ m_webViewImpl->page()->settings().setPrimaryPointerType(pointerType);
+}
+
+void DevToolsEmulator::setAvailableHoverTypes(int types)
+{
+ m_embedderAvailableHoverTypes = types;
+ bool emulateMobileEnabled = m_deviceMetricsEnabled && m_emulateMobileEnabled;
+ if (!emulateMobileEnabled)
+ m_webViewImpl->page()->settings().setAvailableHoverTypes(types);
+}
+
+void DevToolsEmulator::setPrimaryHoverType(HoverType hoverType)
+{
+ m_embedderPrimaryHoverType = hoverType;
+ bool emulateMobileEnabled = m_deviceMetricsEnabled && m_emulateMobileEnabled;
+ if (!emulateMobileEnabled)
+ m_webViewImpl->page()->settings().setPrimaryHoverType(hoverType);
+}
+
+int DevToolsEmulator::availablePointerTypes()
+{
+ return m_embedderAvailablePointerTypes;
mustaq 2015/09/15 14:29:03 I think the getters should behave similarly to the
dgozman 2015/09/15 18:18:05 That's a tricky question. When mobile emulation is
mustaq 2015/09/16 13:47:08 Yes, I think removing them makes sense since they
+}
+
+PointerType DevToolsEmulator::primaryPointerType()
+{
+ return m_embedderPrimaryPointerType;
+}
+
+int DevToolsEmulator::availableHoverTypes()
+{
+ return m_embedderAvailableHoverTypes;
+}
+
+HoverType DevToolsEmulator::primaryHoverType()
+{
+ return m_embedderPrimaryHoverType;
+}
+
void DevToolsEmulator::enableDeviceEmulation(const WebDeviceEmulationParams& params)
{
if (!m_deviceMetricsEnabled) {
@@ -216,6 +272,10 @@ void DevToolsEmulator::enableMobileEmulation()
m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true);
m_webViewImpl->page()->settings().setUseMobileViewportStyle(true);
m_webViewImpl->page()->settings().setPluginsEnabled(false);
+ m_webViewImpl->page()->settings().setAvailablePointerTypes(PointerTypeCoarse);
+ m_webViewImpl->page()->settings().setPrimaryPointerType(PointerTypeCoarse);
+ m_webViewImpl->page()->settings().setAvailableHoverTypes(HoverTypeOnDemand);
+ m_webViewImpl->page()->settings().setPrimaryHoverType(HoverTypeOnDemand);
m_webViewImpl->setZoomFactorOverride(1);
m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageScaleFactor();
@@ -236,6 +296,10 @@ void DevToolsEmulator::disableMobileEmulation()
m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_embedderPreferCompositingToLCDTextEnabled);
m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMobileViewport);
m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled);
+ m_webViewImpl->page()->settings().setAvailablePointerTypes(m_embedderAvailablePointerTypes);
+ m_webViewImpl->page()->settings().setPrimaryPointerType(m_embedderPrimaryPointerType);
+ m_webViewImpl->page()->settings().setAvailableHoverTypes(m_embedderAvailableHoverTypes);
+ m_webViewImpl->page()->settings().setPrimaryHoverType(m_embedderPrimaryHoverType);
m_webViewImpl->setZoomFactorOverride(0);
m_emulateMobileEnabled = false;
m_webViewImpl->setDefaultPageScaleLimits(
« no previous file with comments | « Source/web/DevToolsEmulator.h ('k') | Source/web/WebSettingsImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698