| 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" |
| 8 #include "core/frame/FrameView.h" | 9 #include "core/frame/FrameView.h" |
| 9 #include "core/frame/Settings.h" | 10 #include "core/frame/Settings.h" |
| 10 #include "core/page/Page.h" | 11 #include "core/page/Page.h" |
| 11 #include "platform/RuntimeEnabledFeatures.h" | 12 #include "platform/RuntimeEnabledFeatures.h" |
| 12 #include "public/platform/WebLayerTreeView.h" | 13 #include "public/platform/WebLayerTreeView.h" |
| 13 #include "public/web/WebDeviceEmulationParams.h" | 14 #include "public/web/WebDeviceEmulationParams.h" |
| 14 #include "web/InspectorEmulationAgent.h" | 15 #include "web/InspectorEmulationAgent.h" |
| 15 #include "web/WebInputEventConversion.h" | 16 #include "web/WebInputEventConversion.h" |
| 16 #include "web/WebLocalFrameImpl.h" | 17 #include "web/WebLocalFrameImpl.h" |
| 17 #include "web/WebSettingsImpl.h" | 18 #include "web/WebSettingsImpl.h" |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 | 207 |
| 207 void DevToolsEmulator::enableMobileEmulation() | 208 void DevToolsEmulator::enableMobileEmulation() |
| 208 { | 209 { |
| 209 if (m_emulateMobileEnabled) | 210 if (m_emulateMobileEnabled) |
| 210 return; | 211 return; |
| 211 m_emulateMobileEnabled = true; | 212 m_emulateMobileEnabled = true; |
| 212 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab
led(); | 213 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab
led(); |
| 213 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); | 214 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); |
| 214 m_webViewImpl->enableViewport(); | 215 m_webViewImpl->enableViewport(); |
| 215 m_webViewImpl->settings()->setViewportMetaEnabled(true); | 216 m_webViewImpl->settings()->setViewportMetaEnabled(true); |
| 217 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); |
| 216 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); | 218 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); |
| 217 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); | 219 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); |
| 218 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true)
; | 220 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true)
; |
| 219 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true); | 221 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true); |
| 220 m_webViewImpl->page()->settings().setPluginsEnabled(false); | 222 m_webViewImpl->page()->settings().setPluginsEnabled(false); |
| 221 m_webViewImpl->setZoomFactorOverride(1); | 223 m_webViewImpl->setZoomFactorOverride(1); |
| 222 | 224 |
| 223 m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageS
caleFactor(); | 225 m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageS
caleFactor(); |
| 224 m_originalDefaultMaximumPageScaleFactor = m_webViewImpl->defaultMaximumPageS
caleFactor(); | 226 m_originalDefaultMaximumPageScaleFactor = m_webViewImpl->defaultMaximumPageS
caleFactor(); |
| 225 m_webViewImpl->setDefaultPageScaleLimits(0.25f, 5); | 227 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(); |
| 237 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); | 238 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); |
| 238 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut
osizingEnabled); | 239 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut
osizingEnabled); |
| 239 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb
edderPreferCompositingToLCDTextEnabled); | 240 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb
edderPreferCompositingToLCDTextEnabled); |
| 240 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob
ileViewport); | 241 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob
ileViewport); |
| 241 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled
); | 242 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled
); |
| 242 m_webViewImpl->setZoomFactorOverride(0); | 243 m_webViewImpl->setZoomFactorOverride(0); |
| 243 m_emulateMobileEnabled = false; | 244 m_emulateMobileEnabled = false; |
| 244 m_webViewImpl->setDefaultPageScaleLimits( | 245 m_webViewImpl->setDefaultPageScaleLimits( |
| 245 m_originalDefaultMinimumPageScaleFactor, | 246 m_originalDefaultMinimumPageScaleFactor, |
| 246 m_originalDefaultMaximumPageScaleFactor); | 247 m_originalDefaultMaximumPageScaleFactor); |
| 247 if (m_webViewImpl->layerTreeView()) { | |
| 248 m_webViewImpl->layerTreeView()->setHidePinchScrollbarsNearMinScale( | |
| 249 m_hidePinchScrollbarsNearMinScale); | |
| 250 } | |
| 251 } | 248 } |
| 252 | 249 |
| 253 void DevToolsEmulator::setTouchEventEmulationEnabled(bool enabled) | 250 void DevToolsEmulator::setTouchEventEmulationEnabled(bool enabled) |
| 254 { | 251 { |
| 255 if (m_touchEventEmulationEnabled == enabled) | 252 if (m_touchEventEmulationEnabled == enabled) |
| 256 return; | 253 return; |
| 257 if (!m_touchEventEmulationEnabled) { | 254 if (!m_touchEventEmulationEnabled) { |
| 258 m_originalTouchEnabled = RuntimeEnabledFeatures::touchEnabled(); | 255 m_originalTouchEnabled = RuntimeEnabledFeatures::touchEnabled(); |
| 259 m_originalDeviceSupportsMouse = m_webViewImpl->page()->settings().device
SupportsMouse(); | 256 m_originalDeviceSupportsMouse = m_webViewImpl->page()->settings().device
SupportsMouse(); |
| 260 m_originalDeviceSupportsTouch = m_webViewImpl->page()->settings().device
SupportsTouch(); | 257 m_originalDeviceSupportsTouch = m_webViewImpl->page()->settings().device
SupportsTouch(); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 m_lastPinchAnchorCss.clear(); | 303 m_lastPinchAnchorCss.clear(); |
| 307 m_lastPinchAnchorDip.clear(); | 304 m_lastPinchAnchorDip.clear(); |
| 308 } | 305 } |
| 309 return true; | 306 return true; |
| 310 } | 307 } |
| 311 | 308 |
| 312 return false; | 309 return false; |
| 313 } | 310 } |
| 314 | 311 |
| 315 } // namespace blink | 312 } // namespace blink |
| OLD | NEW |