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

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

Issue 1690493002: Switch to LayoutThemeMobile when emulating mobile device in DevTools. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Invalidate tapHighlightColor only 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
« no previous file with comments | « third_party/WebKit/Source/web/DevToolsEmulator.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
11 #include "core/style/ComputedStyle.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 "web/WebInputEventConversion.h" 14 #include "web/WebInputEventConversion.h"
14 #include "web/WebLocalFrameImpl.h" 15 #include "web/WebLocalFrameImpl.h"
15 #include "web/WebSettingsImpl.h" 16 #include "web/WebSettingsImpl.h"
16 #include "web/WebViewImpl.h" 17 #include "web/WebViewImpl.h"
17 18
18 namespace { 19 namespace {
19 20
20 static float calculateDeviceScaleAdjustment(int width, int height, float deviceS caleFactor) 21 static float calculateDeviceScaleAdjustment(int width, int height, float deviceS caleFactor)
(...skipping 24 matching lines...) Expand all
45 } // namespace 46 } // namespace
46 47
47 namespace blink { 48 namespace blink {
48 49
49 DevToolsEmulator::DevToolsEmulator(WebViewImpl* webViewImpl) 50 DevToolsEmulator::DevToolsEmulator(WebViewImpl* webViewImpl)
50 : m_webViewImpl(webViewImpl) 51 : m_webViewImpl(webViewImpl)
51 , m_deviceMetricsEnabled(false) 52 , m_deviceMetricsEnabled(false)
52 , m_emulateMobileEnabled(false) 53 , m_emulateMobileEnabled(false)
53 , m_isOverlayScrollbarsEnabled(false) 54 , m_isOverlayScrollbarsEnabled(false)
54 , m_isOrientationEventEnabled(false) 55 , m_isOrientationEventEnabled(false)
56 , m_isMobileLayoutThemeEnabled(false)
55 , m_originalDefaultMinimumPageScaleFactor(0) 57 , m_originalDefaultMinimumPageScaleFactor(0)
56 , m_originalDefaultMaximumPageScaleFactor(0) 58 , m_originalDefaultMaximumPageScaleFactor(0)
57 , m_embedderTextAutosizingEnabled(webViewImpl->page()->settings().textAutosi zingEnabled()) 59 , m_embedderTextAutosizingEnabled(webViewImpl->page()->settings().textAutosi zingEnabled())
58 , m_embedderDeviceScaleAdjustment(webViewImpl->page()->settings().deviceScal eAdjustment()) 60 , m_embedderDeviceScaleAdjustment(webViewImpl->page()->settings().deviceScal eAdjustment())
59 , m_embedderPreferCompositingToLCDTextEnabled(webViewImpl->page()->settings( ).preferCompositingToLCDTextEnabled()) 61 , m_embedderPreferCompositingToLCDTextEnabled(webViewImpl->page()->settings( ).preferCompositingToLCDTextEnabled())
60 , m_embedderUseMobileViewport(webViewImpl->page()->settings().useMobileViewp ortStyle()) 62 , m_embedderUseMobileViewport(webViewImpl->page()->settings().useMobileViewp ortStyle())
61 , m_embedderPluginsEnabled(webViewImpl->page()->settings().pluginsEnabled()) 63 , m_embedderPluginsEnabled(webViewImpl->page()->settings().pluginsEnabled())
62 , m_embedderAvailablePointerTypes(webViewImpl->page()->settings().availableP ointerTypes()) 64 , m_embedderAvailablePointerTypes(webViewImpl->page()->settings().availableP ointerTypes())
63 , m_embedderPrimaryPointerType(webViewImpl->page()->settings().primaryPointe rType()) 65 , m_embedderPrimaryPointerType(webViewImpl->page()->settings().primaryPointe rType())
64 , m_embedderAvailableHoverTypes(webViewImpl->page()->settings().availableHov erTypes()) 66 , m_embedderAvailableHoverTypes(webViewImpl->page()->settings().availableHov erTypes())
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 253
252 void DevToolsEmulator::enableMobileEmulation() 254 void DevToolsEmulator::enableMobileEmulation()
253 { 255 {
254 if (m_emulateMobileEnabled) 256 if (m_emulateMobileEnabled)
255 return; 257 return;
256 m_emulateMobileEnabled = true; 258 m_emulateMobileEnabled = true;
257 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab led(); 259 m_isOverlayScrollbarsEnabled = RuntimeEnabledFeatures::overlayScrollbarsEnab led();
258 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true); 260 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(true);
259 m_isOrientationEventEnabled = RuntimeEnabledFeatures::orientationEventEnable d(); 261 m_isOrientationEventEnabled = RuntimeEnabledFeatures::orientationEventEnable d();
260 RuntimeEnabledFeatures::setOrientationEventEnabled(true); 262 RuntimeEnabledFeatures::setOrientationEventEnabled(true);
263 m_isMobileLayoutThemeEnabled = RuntimeEnabledFeatures::mobileLayoutThemeEnab led();
264 RuntimeEnabledFeatures::setMobileLayoutThemeEnabled(true);
265 ComputedStyle::invalidateInitialStyle();
261 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true); 266 m_webViewImpl->page()->settings().setUseMobileViewportStyle(true);
262 m_webViewImpl->enableViewport(); 267 m_webViewImpl->enableViewport();
263 m_webViewImpl->settings()->setViewportMetaEnabled(true); 268 m_webViewImpl->settings()->setViewportMetaEnabled(true);
264 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); 269 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars();
265 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); 270 m_webViewImpl->settings()->setShrinksViewportContentToFit(true);
266 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); 271 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true);
267 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true) ; 272 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true) ;
268 m_webViewImpl->page()->settings().setPluginsEnabled(false); 273 m_webViewImpl->page()->settings().setPluginsEnabled(false);
269 m_webViewImpl->page()->settings().setAvailablePointerTypes(PointerTypeCoarse ); 274 m_webViewImpl->page()->settings().setAvailablePointerTypes(PointerTypeCoarse );
270 m_webViewImpl->page()->settings().setPrimaryPointerType(PointerTypeCoarse); 275 m_webViewImpl->page()->settings().setPrimaryPointerType(PointerTypeCoarse);
(...skipping 10 matching lines...) Expand all
281 if (m_webViewImpl->mainFrameImpl()) 286 if (m_webViewImpl->mainFrameImpl())
282 m_webViewImpl->mainFrameImpl()->frameView()->layout(); 287 m_webViewImpl->mainFrameImpl()->frameView()->layout();
283 } 288 }
284 289
285 void DevToolsEmulator::disableMobileEmulation() 290 void DevToolsEmulator::disableMobileEmulation()
286 { 291 {
287 if (!m_emulateMobileEnabled) 292 if (!m_emulateMobileEnabled)
288 return; 293 return;
289 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(m_isOverlayScrollbarsEna bled); 294 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(m_isOverlayScrollbarsEna bled);
290 RuntimeEnabledFeatures::setOrientationEventEnabled(m_isOrientationEventEnabl ed); 295 RuntimeEnabledFeatures::setOrientationEventEnabled(m_isOrientationEventEnabl ed);
296 RuntimeEnabledFeatures::setMobileLayoutThemeEnabled(m_isMobileLayoutThemeEna bled);
297 ComputedStyle::invalidateInitialStyle();
291 m_webViewImpl->disableViewport(); 298 m_webViewImpl->disableViewport();
292 m_webViewImpl->settings()->setViewportMetaEnabled(false); 299 m_webViewImpl->settings()->setViewportMetaEnabled(false);
293 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); 300 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars();
294 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); 301 m_webViewImpl->settings()->setShrinksViewportContentToFit(false);
295 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut osizingEnabled); 302 m_webViewImpl->page()->settings().setTextAutosizingEnabled(m_embedderTextAut osizingEnabled);
296 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb edderPreferCompositingToLCDTextEnabled); 303 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(m_emb edderPreferCompositingToLCDTextEnabled);
297 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob ileViewport); 304 m_webViewImpl->page()->settings().setUseMobileViewportStyle(m_embedderUseMob ileViewport);
298 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled ); 305 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled );
299 m_webViewImpl->page()->settings().setAvailablePointerTypes(m_embedderAvailab lePointerTypes); 306 m_webViewImpl->page()->settings().setAvailablePointerTypes(m_embedderAvailab lePointerTypes);
300 m_webViewImpl->page()->settings().setPrimaryPointerType(m_embedderPrimaryPoi nterType); 307 m_webViewImpl->page()->settings().setPrimaryPointerType(m_embedderPrimaryPoi nterType);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 m_lastPinchAnchorCss.clear(); 381 m_lastPinchAnchorCss.clear();
375 m_lastPinchAnchorDip.clear(); 382 m_lastPinchAnchorDip.clear();
376 } 383 }
377 return true; 384 return true;
378 } 385 }
379 386
380 return false; 387 return false;
381 } 388 }
382 389
383 } // namespace blink 390 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/DevToolsEmulator.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698