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

Side by Side Diff: third_party/WebKit/Source/web/DevToolsEmulator.cpp

Issue 1722643003: Reland of [DevTools] Move screen orientation override to RenderWidgetScreenMetricsEmulator. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 unified diff | Download patch
OLDNEW
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 "web/DevToolsEmulator.h" 5 #include "web/DevToolsEmulator.h"
6 6
7 #include "core/frame/FrameHost.h" 7 #include "core/frame/FrameHost.h"
8 #include "core/frame/FrameView.h" 8 #include "core/frame/FrameView.h"
9 #include "core/frame/Settings.h" 9 #include "core/frame/Settings.h"
10 #include "core/page/Page.h" 10 #include "core/page/Page.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 44
45 } // namespace 45 } // namespace
46 46
47 namespace blink { 47 namespace blink {
48 48
49 DevToolsEmulator::DevToolsEmulator(WebViewImpl* webViewImpl) 49 DevToolsEmulator::DevToolsEmulator(WebViewImpl* webViewImpl)
50 : m_webViewImpl(webViewImpl) 50 : m_webViewImpl(webViewImpl)
51 , m_deviceMetricsEnabled(false) 51 , m_deviceMetricsEnabled(false)
52 , m_emulateMobileEnabled(false) 52 , m_emulateMobileEnabled(false)
53 , m_isOverlayScrollbarsEnabled(false) 53 , m_isOverlayScrollbarsEnabled(false)
54 , m_isOrientationEventEnabled(false)
54 , m_originalDefaultMinimumPageScaleFactor(0) 55 , m_originalDefaultMinimumPageScaleFactor(0)
55 , m_originalDefaultMaximumPageScaleFactor(0) 56 , m_originalDefaultMaximumPageScaleFactor(0)
56 , m_embedderTextAutosizingEnabled(webViewImpl->page()->settings().textAutosi zingEnabled()) 57 , m_embedderTextAutosizingEnabled(webViewImpl->page()->settings().textAutosi zingEnabled())
57 , m_embedderDeviceScaleAdjustment(webViewImpl->page()->settings().deviceScal eAdjustment()) 58 , m_embedderDeviceScaleAdjustment(webViewImpl->page()->settings().deviceScal eAdjustment())
58 , m_embedderPreferCompositingToLCDTextEnabled(webViewImpl->page()->settings( ).preferCompositingToLCDTextEnabled()) 59 , m_embedderPreferCompositingToLCDTextEnabled(webViewImpl->page()->settings( ).preferCompositingToLCDTextEnabled())
59 , m_embedderUseMobileViewport(webViewImpl->page()->settings().useMobileViewp ortStyle()) 60 , m_embedderUseMobileViewport(webViewImpl->page()->settings().useMobileViewp ortStyle())
60 , m_embedderPluginsEnabled(webViewImpl->page()->settings().pluginsEnabled()) 61 , m_embedderPluginsEnabled(webViewImpl->page()->settings().pluginsEnabled())
61 , m_embedderAvailablePointerTypes(webViewImpl->page()->settings().availableP ointerTypes()) 62 , m_embedderAvailablePointerTypes(webViewImpl->page()->settings().availableP ointerTypes())
62 , m_embedderPrimaryPointerType(webViewImpl->page()->settings().primaryPointe rType()) 63 , m_embedderPrimaryPointerType(webViewImpl->page()->settings().primaryPointe rType())
63 , m_embedderAvailableHoverTypes(webViewImpl->page()->settings().availableHov erTypes()) 64 , m_embedderAvailableHoverTypes(webViewImpl->page()->settings().availableHov erTypes())
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 return m_deviceMetricsEnabled && m_emulateMobileEnabled; 249 return m_deviceMetricsEnabled && m_emulateMobileEnabled;
249 } 250 }
250 251
251 void DevToolsEmulator::enableMobileEmulation() 252 void DevToolsEmulator::enableMobileEmulation()
252 { 253 {
253 if (m_emulateMobileEnabled) 254 if (m_emulateMobileEnabled)
254 return; 255 return;
255 m_emulateMobileEnabled = true; 256 m_emulateMobileEnabled = true;
256 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab led(); 257 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab led();
257 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); 258 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true);
259 m_isOrientationEventEnabled = RuntimeEnabledFeatures::orientationEventEnable d();
260 RuntimeEnabledFeatures::setOrientationEventEnabled(true);
258 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true); 261 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true);
259 m_webViewImpl->enableViewport(); 262 m_webViewImpl->enableViewport();
260 m_webViewImpl->settings()->setViewportMetaEnabled(true); 263 m_webViewImpl->settings()->setViewportMetaEnabled(true);
261 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); 264 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars();
262 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); 265 m_webViewImpl->settings()->setShrinksViewportContentToFit(true);
263 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); 266 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true);
264 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true) ; 267 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true) ;
265 m_webViewImpl->page()->settings().setPluginsEnabled(false); 268 m_webViewImpl->page()->settings().setPluginsEnabled(false);
266 m_webViewImpl->page()->settings().setAvailablePointerTypes(PointerTypeCoarse ); 269 m_webViewImpl->page()->settings().setAvailablePointerTypes(PointerTypeCoarse );
267 m_webViewImpl->page()->settings().setPrimaryPointerType(PointerTypeCoarse); 270 m_webViewImpl->page()->settings().setPrimaryPointerType(PointerTypeCoarse);
268 m_webViewImpl->page()->settings().setAvailableHoverTypes(HoverTypeOnDemand); 271 m_webViewImpl->page()->settings().setAvailableHoverTypes(HoverTypeOnDemand);
269 m_webViewImpl->page()->settings().setPrimaryHoverType(HoverTypeOnDemand); 272 m_webViewImpl->page()->settings().setPrimaryHoverType(HoverTypeOnDemand);
270 m_webViewImpl->page()->settings().setResizeIsDeviceSizeChange(true); 273 m_webViewImpl->page()->settings().setResizeIsDeviceSizeChange(true);
271 m_webViewImpl->setZoomFactorOverride(1); 274 m_webViewImpl->setZoomFactorOverride(1);
272 275
273 m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageS caleFactor(); 276 m_originalDefaultMinimumPageScaleFactor = m_webViewImpl->defaultMinimumPageS caleFactor();
274 m_originalDefaultMaximumPageScaleFactor = m_webViewImpl->defaultMaximumPageS caleFactor(); 277 m_originalDefaultMaximumPageScaleFactor = m_webViewImpl->defaultMaximumPageS caleFactor();
275 m_webViewImpl->setDefaultPageScaleLimits(0.25f, 5); 278 m_webViewImpl->setDefaultPageScaleLimits(0.25f, 5);
276 // TODO(dgozman): mainFrameImpl() is null when it's remote. Figure out how 279 // TODO(dgozman): mainFrameImpl() is null when it's remote. Figure out how
277 // we end up with enabling emulation in this case. 280 // we end up with enabling emulation in this case.
278 if (m_webViewImpl->mainFrameImpl()) 281 if (m_webViewImpl->mainFrameImpl())
279 m_webViewImpl->mainFrameImpl()->frameView()->layout(); 282 m_webViewImpl->mainFrameImpl()->frameView()->layout();
280 } 283 }
281 284
282 void DevToolsEmulator::disableMobileEmulation() 285 void DevToolsEmulator::disableMobileEmulation()
283 { 286 {
284 if (!m_emulateMobileEnabled) 287 if (!m_emulateMobileEnabled)
285 return; 288 return;
286 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(m_isOverlayScrollbarsEna bled); 289 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(m_isOverlayScrollbarsEna bled);
290 RuntimeEnabledFeatures::setOrientationEventEnabled(m_isOrientationEventEnabl ed);
287 m_webViewImpl->disableViewport(); 291 m_webViewImpl->disableViewport();
288 m_webViewImpl->settings()->setViewportMetaEnabled(false); 292 m_webViewImpl->settings()->setViewportMetaEnabled(false);
289 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); 293 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars();
290 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); 294 m_webViewImpl->settings()->setShrinksViewportContentToFit(false);
291 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut osizingEnabled); 295 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut osizingEnabled);
292 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb edderPreferCompositingToLCDTextEnabled); 296 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb edderPreferCompositingToLCDTextEnabled);
293 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob ileViewport); 297 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob ileViewport);
294 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled ); 298 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled );
295 m_webViewImpl->page()->settings().setAvailablePointerTypes(m_embedderAvailab lePointerTypes); 299 m_webViewImpl->page()->settings().setAvailablePointerTypes(m_embedderAvailab lePointerTypes);
296 m_webViewImpl->page()->settings().setPrimaryPointerType(m_embedderPrimaryPoi nterType); 300 m_webViewImpl->page()->settings().setPrimaryPointerType(m_embedderPrimaryPoi nterType);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 m_lastPinchAnchorCss.clear(); 374 m_lastPinchAnchorCss.clear();
371 m_lastPinchAnchorDip.clear(); 375 m_lastPinchAnchorDip.clear();
372 } 376 }
373 return true; 377 return true;
374 } 378 }
375 379
376 return false; 380 return false;
377 } 381 }
378 382
379 } // namespace blink 383 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/DevToolsEmulator.h ('k') | third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698