| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "config.h" | 5 #include "config.h" |
| 6 #include "web/DevToolsEmulator.h" | 6 #include "web/DevToolsEmulator.h" |
| 7 | 7 |
| 8 #include "core/frame/FrameHost.h" | |
| 9 #include "core/frame/FrameView.h" | 8 #include "core/frame/FrameView.h" |
| 10 #include "core/frame/Settings.h" | 9 #include "core/frame/Settings.h" |
| 11 #include "core/page/Page.h" | 10 #include "core/page/Page.h" |
| 12 #include "platform/RuntimeEnabledFeatures.h" | 11 #include "platform/RuntimeEnabledFeatures.h" |
| 13 #include "public/platform/WebLayerTreeView.h" | 12 #include "public/platform/WebLayerTreeView.h" |
| 14 #include "public/web/WebDeviceEmulationParams.h" | 13 #include "public/web/WebDeviceEmulationParams.h" |
| 15 #include "web/InspectorEmulationAgent.h" | 14 #include "web/InspectorEmulationAgent.h" |
| 16 #include "web/WebInputEventConversion.h" | 15 #include "web/WebInputEventConversion.h" |
| 17 #include "web/WebLocalFrameImpl.h" | 16 #include "web/WebLocalFrameImpl.h" |
| 18 #include "web/WebSettingsImpl.h" | 17 #include "web/WebSettingsImpl.h" |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 | 206 |
| 208 void DevToolsEmulator::enableMobileEmulation() | 207 void DevToolsEmulator::enableMobileEmulation() |
| 209 { | 208 { |
| 210 if (m_emulateMobileEnabled) | 209 if (m_emulateMobileEnabled) |
| 211 return; | 210 return; |
| 212 m_emulateMobileEnabled = true; | 211 m_emulateMobileEnabled = true; |
| 213 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab
led(); | 212 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab
led(); |
| 214 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); | 213 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); |
| 215 m_webViewImpl->enableViewport(); | 214 m_webViewImpl->enableViewport(); |
| 216 m_webViewImpl->settings()->setViewportMetaEnabled(true); | 215 m_webViewImpl->settings()->setViewportMetaEnabled(true); |
| 217 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); | |
| 218 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); | 216 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); |
| 219 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); | 217 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); |
| 220 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true)
; | 218 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true)
; |
| 221 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true); | 219 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true); |
| 222 m_webViewImpl->page()->settings().setPluginsEnabled(false); | 220 m_webViewImpl->page()->settings().setPluginsEnabled(false); |
| 223 m_webViewImpl->setZoomFactorOverride(1); | 221 m_webViewImpl->setZoomFactorOverride(1); |
| 224 | 222 |
| 225 m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageS
caleFactor(); | 223 m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageS
caleFactor(); |
| 226 m_originalDefaultMaximumPageScaleFactor = m_webViewImpl->defaultMaximumPageS
caleFactor(); | 224 m_originalDefaultMaximumPageScaleFactor = m_webViewImpl->defaultMaximumPageS
caleFactor(); |
| 227 m_webViewImpl->setDefaultPageScaleLimits(0.25f, 5); | 225 m_webViewImpl->setDefaultPageScaleLimits(0.25f, 5); |
| 226 if (m_webViewImpl->layerTreeView()) |
| 227 m_webViewImpl->layerTreeView()->setHidePinchScrollbarsNearMinScale(false
); |
| 228 } | 228 } |
| 229 | 229 |
| 230 void DevToolsEmulator::disableMobileEmulation() | 230 void DevToolsEmulator::disableMobileEmulation() |
| 231 { | 231 { |
| 232 if (!m_emulateMobileEnabled) | 232 if (!m_emulateMobileEnabled) |
| 233 return; | 233 return; |
| 234 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(m_isOverlayScrollbarsEna
bled); | 234 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(m_isOverlayScrollbarsEna
bled); |
| 235 m_webViewImpl->disableViewport(); | 235 m_webViewImpl->disableViewport(); |
| 236 m_webViewImpl->settings()->setViewportMetaEnabled(false); | 236 m_webViewImpl->settings()->setViewportMetaEnabled(false); |
| 237 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); | |
| 238 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); | 237 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); |
| 239 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut
osizingEnabled); | 238 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut
osizingEnabled); |
| 240 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb
edderPreferCompositingToLCDTextEnabled); | 239 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb
edderPreferCompositingToLCDTextEnabled); |
| 241 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob
ileViewport); | 240 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob
ileViewport); |
| 242 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled
); | 241 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled
); |
| 243 m_webViewImpl->setZoomFactorOverride(0); | 242 m_webViewImpl->setZoomFactorOverride(0); |
| 244 m_emulateMobileEnabled = false; | 243 m_emulateMobileEnabled = false; |
| 245 m_webViewImpl->setDefaultPageScaleLimits( | 244 m_webViewImpl->setDefaultPageScaleLimits( |
| 246 m_originalDefaultMinimumPageScaleFactor, | 245 m_originalDefaultMinimumPageScaleFactor, |
| 247 m_originalDefaultMaximumPageScaleFactor); | 246 m_originalDefaultMaximumPageScaleFactor); |
| 247 if (m_webViewImpl->layerTreeView()) { |
| 248 m_webViewImpl->layerTreeView()->setHidePinchScrollbarsNearMinScale( |
| 249 m_hidePinchScrollbarsNearMinScale); |
| 250 } |
| 248 } | 251 } |
| 249 | 252 |
| 250 void DevToolsEmulator::setTouchEventEmulationEnabled(bool enabled) | 253 void DevToolsEmulator::setTouchEventEmulationEnabled(bool enabled) |
| 251 { | 254 { |
| 252 if (m_touchEventEmulationEnabled == enabled) | 255 if (m_touchEventEmulationEnabled == enabled) |
| 253 return; | 256 return; |
| 254 if (!m_touchEventEmulationEnabled) { | 257 if (!m_touchEventEmulationEnabled) { |
| 255 m_originalTouchEnabled = RuntimeEnabledFeatures::touchEnabled(); | 258 m_originalTouchEnabled = RuntimeEnabledFeatures::touchEnabled(); |
| 256 m_originalDeviceSupportsMouse = m_webViewImpl->page()->settings().device
SupportsMouse(); | 259 m_originalDeviceSupportsMouse = m_webViewImpl->page()->settings().device
SupportsMouse(); |
| 257 m_originalDeviceSupportsTouch = m_webViewImpl->page()->settings().device
SupportsTouch(); | 260 m_originalDeviceSupportsTouch = m_webViewImpl->page()->settings().device
SupportsTouch(); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 m_lastPinchAnchorCss.clear(); | 306 m_lastPinchAnchorCss.clear(); |
| 304 m_lastPinchAnchorDip.clear(); | 307 m_lastPinchAnchorDip.clear(); |
| 305 } | 308 } |
| 306 return true; | 309 return true; |
| 307 } | 310 } |
| 308 | 311 |
| 309 return false; | 312 return false; |
| 310 } | 313 } |
| 311 | 314 |
| 312 } // namespace blink | 315 } // namespace blink |
| OLD | NEW |