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/FrameHost.h" |
9 #include "core/frame/FrameView.h" | 9 #include "core/frame/FrameView.h" |
10 #include "core/frame/Settings.h" | 10 #include "core/frame/Settings.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
55 , m_deviceMetricsEnabled(false) | 55 , m_deviceMetricsEnabled(false) |
56 , m_emulateMobileEnabled(false) | 56 , m_emulateMobileEnabled(false) |
57 , m_isOverlayScrollbarsEnabled(false) | 57 , m_isOverlayScrollbarsEnabled(false) |
58 , m_originalDefaultMinimumPageScaleFactor(0) | 58 , m_originalDefaultMinimumPageScaleFactor(0) |
59 , m_originalDefaultMaximumPageScaleFactor(0) | 59 , m_originalDefaultMaximumPageScaleFactor(0) |
60 , m_embedderTextAutosizingEnabled(webViewImpl->page()->settings().textAutosi zingEnabled()) | 60 , m_embedderTextAutosizingEnabled(webViewImpl->page()->settings().textAutosi zingEnabled()) |
61 , m_embedderDeviceScaleAdjustment(webViewImpl->page()->settings().deviceScal eAdjustment()) | 61 , m_embedderDeviceScaleAdjustment(webViewImpl->page()->settings().deviceScal eAdjustment()) |
62 , m_embedderPreferCompositingToLCDTextEnabled(webViewImpl->page()->settings( ).preferCompositingToLCDTextEnabled()) | 62 , m_embedderPreferCompositingToLCDTextEnabled(webViewImpl->page()->settings( ).preferCompositingToLCDTextEnabled()) |
63 , m_embedderUseMobileViewport(webViewImpl->page()->settings().useMobileViewp ortStyle()) | 63 , m_embedderUseMobileViewport(webViewImpl->page()->settings().useMobileViewp ortStyle()) |
64 , m_embedderPluginsEnabled(webViewImpl->page()->settings().pluginsEnabled()) | 64 , m_embedderPluginsEnabled(webViewImpl->page()->settings().pluginsEnabled()) |
65 , m_embedderAvailablePointerTypes(webViewImpl->page()->settings().availableH overTypes()) | |
mustaq
2015/09/15 14:29:03
s/Hover/Pointer/
dgozman
2015/09/15 18:18:05
Ops. Done.
| |
66 , m_embedderPrimaryPointerType(webViewImpl->page()->settings().primaryPointe rType()) | |
67 , m_embedderAvailableHoverTypes(webViewImpl->page()->settings().availableHov erTypes()) | |
68 , m_embedderPrimaryHoverType(webViewImpl->page()->settings().primaryHoverTyp e()) | |
65 , m_touchEventEmulationEnabled(false) | 69 , m_touchEventEmulationEnabled(false) |
66 , m_doubleTapToZoomEnabled(false) | 70 , m_doubleTapToZoomEnabled(false) |
67 , m_originalTouchEnabled(false) | 71 , m_originalTouchEnabled(false) |
68 , m_originalDeviceSupportsMouse(false) | 72 , m_originalDeviceSupportsMouse(false) |
69 , m_originalDeviceSupportsTouch(false) | 73 , m_originalDeviceSupportsTouch(false) |
70 , m_originalMaxTouchPoints(0) | 74 , m_originalMaxTouchPoints(0) |
71 , m_embedderScriptEnabled(webViewImpl->page()->settings().scriptEnabled()) | 75 , m_embedderScriptEnabled(webViewImpl->page()->settings().scriptEnabled()) |
72 , m_scriptExecutionDisabled(false) | 76 , m_scriptExecutionDisabled(false) |
73 , m_hidePinchScrollbarsNearMinScale(false) | 77 , m_hidePinchScrollbarsNearMinScale(false) |
74 { | 78 { |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
156 return m_touchEventEmulationEnabled ? true : m_doubleTapToZoomEnabled; | 160 return m_touchEventEmulationEnabled ? true : m_doubleTapToZoomEnabled; |
157 } | 161 } |
158 | 162 |
159 void DevToolsEmulator::setHidePinchScrollbarsNearMinScale(bool enabled) | 163 void DevToolsEmulator::setHidePinchScrollbarsNearMinScale(bool enabled) |
160 { | 164 { |
161 m_hidePinchScrollbarsNearMinScale = enabled; | 165 m_hidePinchScrollbarsNearMinScale = enabled; |
162 if (m_webViewImpl->layerTreeView()) | 166 if (m_webViewImpl->layerTreeView()) |
163 m_webViewImpl->layerTreeView()->setHidePinchScrollbarsNearMinScale(enabl ed); | 167 m_webViewImpl->layerTreeView()->setHidePinchScrollbarsNearMinScale(enabl ed); |
164 } | 168 } |
165 | 169 |
170 void DevToolsEmulator::setAvailablePointerTypes(int types) | |
171 { | |
172 m_embedderAvailablePointerTypes = types; | |
173 bool emulateMobileEnabled = m_deviceMetricsEnabled && m_emulateMobileEnabled ; | |
174 if (!emulateMobileEnabled) | |
175 m_webViewImpl->page()->settings().setAvailablePointerTypes(types); | |
176 } | |
177 | |
178 void DevToolsEmulator::setPrimaryPointerType(PointerType pointerType) | |
179 { | |
180 m_embedderPrimaryPointerType = pointerType; | |
181 bool emulateMobileEnabled = m_deviceMetricsEnabled && m_emulateMobileEnabled ; | |
182 if (!emulateMobileEnabled) | |
183 m_webViewImpl->page()->settings().setPrimaryPointerType(pointerType); | |
184 } | |
185 | |
186 void DevToolsEmulator::setAvailableHoverTypes(int types) | |
187 { | |
188 m_embedderAvailableHoverTypes = types; | |
189 bool emulateMobileEnabled = m_deviceMetricsEnabled && m_emulateMobileEnabled ; | |
190 if (!emulateMobileEnabled) | |
191 m_webViewImpl->page()->settings().setAvailableHoverTypes(types); | |
192 } | |
193 | |
194 void DevToolsEmulator::setPrimaryHoverType(HoverType hoverType) | |
195 { | |
196 m_embedderPrimaryHoverType = hoverType; | |
197 bool emulateMobileEnabled = m_deviceMetricsEnabled && m_emulateMobileEnabled ; | |
198 if (!emulateMobileEnabled) | |
199 m_webViewImpl->page()->settings().setPrimaryHoverType(hoverType); | |
200 } | |
201 | |
202 int DevToolsEmulator::availablePointerTypes() | |
203 { | |
204 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
| |
205 } | |
206 | |
207 PointerType DevToolsEmulator::primaryPointerType() | |
208 { | |
209 return m_embedderPrimaryPointerType; | |
210 } | |
211 | |
212 int DevToolsEmulator::availableHoverTypes() | |
213 { | |
214 return m_embedderAvailableHoverTypes; | |
215 } | |
216 | |
217 HoverType DevToolsEmulator::primaryHoverType() | |
218 { | |
219 return m_embedderPrimaryHoverType; | |
220 } | |
221 | |
166 void DevToolsEmulator::enableDeviceEmulation(const WebDeviceEmulationParams& par ams) | 222 void DevToolsEmulator::enableDeviceEmulation(const WebDeviceEmulationParams& par ams) |
167 { | 223 { |
168 if (!m_deviceMetricsEnabled) { | 224 if (!m_deviceMetricsEnabled) { |
169 m_deviceMetricsEnabled = true; | 225 m_deviceMetricsEnabled = true; |
170 m_webViewImpl->setBackgroundColorOverride(Color::darkGray); | 226 m_webViewImpl->setBackgroundColorOverride(Color::darkGray); |
171 m_webViewImpl->updateShowFPSCounter(); | 227 m_webViewImpl->updateShowFPSCounter(); |
172 } | 228 } |
173 | 229 |
174 m_webViewImpl->page()->settings().setDeviceScaleAdjustment(calculateDeviceSc aleAdjustment(params.viewSize.width, params.viewSize.height, params.deviceScaleF actor)); | 230 m_webViewImpl->page()->settings().setDeviceScaleAdjustment(calculateDeviceSc aleAdjustment(params.viewSize.width, params.viewSize.height, params.deviceScaleF actor)); |
175 | 231 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
209 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab led(); | 265 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab led(); |
210 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); | 266 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); |
211 m_webViewImpl->enableViewport(); | 267 m_webViewImpl->enableViewport(); |
212 m_webViewImpl->settings()->setViewportMetaEnabled(true); | 268 m_webViewImpl->settings()->setViewportMetaEnabled(true); |
213 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); | 269 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); |
214 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); | 270 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); |
215 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); | 271 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); |
216 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true) ; | 272 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true) ; |
217 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true); | 273 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true); |
218 m_webViewImpl->page()->settings().setPluginsEnabled(false); | 274 m_webViewImpl->page()->settings().setPluginsEnabled(false); |
275 m_webViewImpl->page()->settings().setAvailablePointerTypes(PointerTypeCoarse ); | |
276 m_webViewImpl->page()->settings().setPrimaryPointerType(PointerTypeCoarse); | |
277 m_webViewImpl->page()->settings().setAvailableHoverTypes(HoverTypeOnDemand); | |
278 m_webViewImpl->page()->settings().setPrimaryHoverType(HoverTypeOnDemand); | |
219 m_webViewImpl->setZoomFactorOverride(1); | 279 m_webViewImpl->setZoomFactorOverride(1); |
220 | 280 |
221 m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageS caleFactor(); | 281 m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageS caleFactor(); |
222 m_originalDefaultMaximumPageScaleFactor = m_webViewImpl->defaultMaximumPageS caleFactor(); | 282 m_originalDefaultMaximumPageScaleFactor = m_webViewImpl->defaultMaximumPageS caleFactor(); |
223 m_webViewImpl->setDefaultPageScaleLimits(0.25f, 5); | 283 m_webViewImpl->setDefaultPageScaleLimits(0.25f, 5); |
224 } | 284 } |
225 | 285 |
226 void DevToolsEmulator::disableMobileEmulation() | 286 void DevToolsEmulator::disableMobileEmulation() |
227 { | 287 { |
228 if (!m_emulateMobileEnabled) | 288 if (!m_emulateMobileEnabled) |
229 return; | 289 return; |
230 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(m_isOverlayScrollbarsEna bled); | 290 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(m_isOverlayScrollbarsEna bled); |
231 m_webViewImpl->disableViewport(); | 291 m_webViewImpl->disableViewport(); |
232 m_webViewImpl->settings()->setViewportMetaEnabled(false); | 292 m_webViewImpl->settings()->setViewportMetaEnabled(false); |
233 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); | 293 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); |
234 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); | 294 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); |
235 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut osizingEnabled); | 295 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut osizingEnabled); |
236 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb edderPreferCompositingToLCDTextEnabled); | 296 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb edderPreferCompositingToLCDTextEnabled); |
237 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob ileViewport); | 297 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob ileViewport); |
238 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled ); | 298 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled ); |
299 m_webViewImpl->page()->settings().setAvailablePointerTypes(m_embedderAvailab lePointerTypes); | |
300 m_webViewImpl->page()->settings().setPrimaryPointerType(m_embedderPrimaryPoi nterType); | |
301 m_webViewImpl->page()->settings().setAvailableHoverTypes(m_embedderAvailable HoverTypes); | |
302 m_webViewImpl->page()->settings().setPrimaryHoverType(m_embedderPrimaryHover Type); | |
239 m_webViewImpl->setZoomFactorOverride(0); | 303 m_webViewImpl->setZoomFactorOverride(0); |
240 m_emulateMobileEnabled = false; | 304 m_emulateMobileEnabled = false; |
241 m_webViewImpl->setDefaultPageScaleLimits( | 305 m_webViewImpl->setDefaultPageScaleLimits( |
242 m_originalDefaultMinimumPageScaleFactor, | 306 m_originalDefaultMinimumPageScaleFactor, |
243 m_originalDefaultMaximumPageScaleFactor); | 307 m_originalDefaultMaximumPageScaleFactor); |
244 } | 308 } |
245 | 309 |
246 void DevToolsEmulator::setTouchEventEmulationEnabled(bool enabled) | 310 void DevToolsEmulator::setTouchEventEmulationEnabled(bool enabled) |
247 { | 311 { |
248 if (m_touchEventEmulationEnabled == enabled) | 312 if (m_touchEventEmulationEnabled == enabled) |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
299 m_lastPinchAnchorCss.clear(); | 363 m_lastPinchAnchorCss.clear(); |
300 m_lastPinchAnchorDip.clear(); | 364 m_lastPinchAnchorDip.clear(); |
301 } | 365 } |
302 return true; | 366 return true; |
303 } | 367 } |
304 | 368 |
305 return false; | 369 return false; |
306 } | 370 } |
307 | 371 |
308 } // namespace blink | 372 } // namespace blink |
OLD | NEW |