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

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

Issue 2730573003: Moved FrameHost::m_visualViewport to Page (Closed)
Patch Set: Fixed some compile errors on mac and android Created 3 years, 9 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/frame/VisualViewport.h" 10 #include "core/frame/VisualViewport.h"
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 m_isOrientationEventEnabled = 270 m_isOrientationEventEnabled =
271 RuntimeEnabledFeatures::orientationEventEnabled(); 271 RuntimeEnabledFeatures::orientationEventEnabled();
272 RuntimeEnabledFeatures::setOrientationEventEnabled(true); 272 RuntimeEnabledFeatures::setOrientationEventEnabled(true);
273 m_isMobileLayoutThemeEnabled = 273 m_isMobileLayoutThemeEnabled =
274 RuntimeEnabledFeatures::mobileLayoutThemeEnabled(); 274 RuntimeEnabledFeatures::mobileLayoutThemeEnabled();
275 RuntimeEnabledFeatures::setMobileLayoutThemeEnabled(true); 275 RuntimeEnabledFeatures::setMobileLayoutThemeEnabled(true);
276 ComputedStyle::invalidateInitialStyle(); 276 ComputedStyle::invalidateInitialStyle();
277 m_webViewImpl->page()->settings().setViewportStyle(WebViewportStyle::Mobile); 277 m_webViewImpl->page()->settings().setViewportStyle(WebViewportStyle::Mobile);
278 m_webViewImpl->page()->settings().setViewportEnabled(true); 278 m_webViewImpl->page()->settings().setViewportEnabled(true);
279 m_webViewImpl->page()->settings().setViewportMetaEnabled(true); 279 m_webViewImpl->page()->settings().setViewportMetaEnabled(true);
280 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); 280 m_webViewImpl->page()->visualViewport().initializeScrollbars();
281 m_webViewImpl->settings()->setShrinksViewportContentToFit(true); 281 m_webViewImpl->settings()->setShrinksViewportContentToFit(true);
282 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true); 282 m_webViewImpl->page()->settings().setTextAutosizingEnabled(true);
283 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true); 283 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(true);
284 m_webViewImpl->page()->settings().setPluginsEnabled(false); 284 m_webViewImpl->page()->settings().setPluginsEnabled(false);
285 m_webViewImpl->page()->settings().setAvailablePointerTypes(PointerTypeCoarse); 285 m_webViewImpl->page()->settings().setAvailablePointerTypes(PointerTypeCoarse);
286 m_webViewImpl->page()->settings().setPrimaryPointerType(PointerTypeCoarse); 286 m_webViewImpl->page()->settings().setPrimaryPointerType(PointerTypeCoarse);
287 m_webViewImpl->page()->settings().setAvailableHoverTypes(HoverTypeOnDemand); 287 m_webViewImpl->page()->settings().setAvailableHoverTypes(HoverTypeOnDemand);
288 m_webViewImpl->page()->settings().setPrimaryHoverType(HoverTypeOnDemand); 288 m_webViewImpl->page()->settings().setPrimaryHoverType(HoverTypeOnDemand);
289 m_webViewImpl->page()->settings().setMainFrameResizesAreOrientationChanges( 289 m_webViewImpl->page()->settings().setMainFrameResizesAreOrientationChanges(
290 true); 290 true);
(...skipping 15 matching lines...) Expand all
306 return; 306 return;
307 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled( 307 RuntimeEnabledFeatures::setOverlayScrollbarsEnabled(
308 m_isOverlayScrollbarsEnabled); 308 m_isOverlayScrollbarsEnabled);
309 RuntimeEnabledFeatures::setOrientationEventEnabled( 309 RuntimeEnabledFeatures::setOrientationEventEnabled(
310 m_isOrientationEventEnabled); 310 m_isOrientationEventEnabled);
311 RuntimeEnabledFeatures::setMobileLayoutThemeEnabled( 311 RuntimeEnabledFeatures::setMobileLayoutThemeEnabled(
312 m_isMobileLayoutThemeEnabled); 312 m_isMobileLayoutThemeEnabled);
313 ComputedStyle::invalidateInitialStyle(); 313 ComputedStyle::invalidateInitialStyle();
314 m_webViewImpl->page()->settings().setViewportEnabled(false); 314 m_webViewImpl->page()->settings().setViewportEnabled(false);
315 m_webViewImpl->page()->settings().setViewportMetaEnabled(false); 315 m_webViewImpl->page()->settings().setViewportMetaEnabled(false);
316 m_webViewImpl->page()->frameHost().visualViewport().initializeScrollbars(); 316 m_webViewImpl->page()->visualViewport().initializeScrollbars();
317 m_webViewImpl->settings()->setShrinksViewportContentToFit(false); 317 m_webViewImpl->settings()->setShrinksViewportContentToFit(false);
318 m_webViewImpl->page()->settings().setTextAutosizingEnabled( 318 m_webViewImpl->page()->settings().setTextAutosizingEnabled(
319 m_embedderTextAutosizingEnabled); 319 m_embedderTextAutosizingEnabled);
320 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled( 320 m_webViewImpl->page()->settings().setPreferCompositingToLCDTextEnabled(
321 m_embedderPreferCompositingToLCDTextEnabled); 321 m_embedderPreferCompositingToLCDTextEnabled);
322 m_webViewImpl->page()->settings().setViewportStyle(m_embedderViewportStyle); 322 m_webViewImpl->page()->settings().setViewportStyle(m_embedderViewportStyle);
323 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled); 323 m_webViewImpl->page()->settings().setPluginsEnabled(m_embedderPluginsEnabled);
324 m_webViewImpl->page()->settings().setAvailablePointerTypes( 324 m_webViewImpl->page()->settings().setAvailablePointerTypes(
325 m_embedderAvailablePointerTypes); 325 m_embedderAvailablePointerTypes);
326 m_webViewImpl->page()->settings().setPrimaryPointerType( 326 m_webViewImpl->page()->settings().setPrimaryPointerType(
(...skipping 16 matching lines...) Expand all
343 343
344 float DevToolsEmulator::compositorDeviceScaleFactor() const { 344 float DevToolsEmulator::compositorDeviceScaleFactor() const {
345 if (m_deviceMetricsEnabled) 345 if (m_deviceMetricsEnabled)
346 return m_emulationParams.deviceScaleFactor; 346 return m_emulationParams.deviceScaleFactor;
347 return m_webViewImpl->page()->deviceScaleFactorDeprecated(); 347 return m_webViewImpl->page()->deviceScaleFactorDeprecated();
348 } 348 }
349 349
350 void DevToolsEmulator::forceViewport(const WebFloatPoint& position, 350 void DevToolsEmulator::forceViewport(const WebFloatPoint& position,
351 float scale) { 351 float scale) {
352 GraphicsLayer* containerLayer = 352 GraphicsLayer* containerLayer =
353 m_webViewImpl->page()->frameHost().visualViewport().containerLayer(); 353 m_webViewImpl->page()->visualViewport().containerLayer();
354 if (!m_viewportOverride) { 354 if (!m_viewportOverride) {
355 m_viewportOverride = ViewportOverride(); 355 m_viewportOverride = ViewportOverride();
356 356
357 // Disable clipping on the visual viewport layer, to ensure the whole area 357 // Disable clipping on the visual viewport layer, to ensure the whole area
358 // is painted. 358 // is painted.
359 if (containerLayer) { 359 if (containerLayer) {
360 m_viewportOverride->originalVisualViewportMasking = 360 m_viewportOverride->originalVisualViewportMasking =
361 containerLayer->masksToBounds(); 361 containerLayer->masksToBounds();
362 containerLayer->setMasksToBounds(false); 362 containerLayer->setMasksToBounds(false);
363 } 363 }
364 } 364 }
365 365
366 m_viewportOverride->position = position; 366 m_viewportOverride->position = position;
367 m_viewportOverride->scale = scale; 367 m_viewportOverride->scale = scale;
368 368
369 // Move the correct (scaled) content area to show in the top left of the 369 // Move the correct (scaled) content area to show in the top left of the
370 // CompositorFrame via the root transform. 370 // CompositorFrame via the root transform.
371 updateRootLayerTransform(); 371 updateRootLayerTransform();
372 } 372 }
373 373
374 void DevToolsEmulator::resetViewport() { 374 void DevToolsEmulator::resetViewport() {
375 if (!m_viewportOverride) 375 if (!m_viewportOverride)
376 return; 376 return;
377 377
378 bool originalMasking = m_viewportOverride->originalVisualViewportMasking; 378 bool originalMasking = m_viewportOverride->originalVisualViewportMasking;
379 m_viewportOverride = WTF::nullopt; 379 m_viewportOverride = WTF::nullopt;
380 380
381 GraphicsLayer* containerLayer = 381 GraphicsLayer* containerLayer =
382 m_webViewImpl->page()->frameHost().visualViewport().containerLayer(); 382 m_webViewImpl->page()->visualViewport().containerLayer();
383 if (containerLayer) 383 if (containerLayer)
384 containerLayer->setMasksToBounds(originalMasking); 384 containerLayer->setMasksToBounds(originalMasking);
385 updateRootLayerTransform(); 385 updateRootLayerTransform();
386 } 386 }
387 387
388 void DevToolsEmulator::mainFrameScrollOrScaleChanged() { 388 void DevToolsEmulator::mainFrameScrollOrScaleChanged() {
389 // Viewport override has to take current page scale and scroll offset into 389 // Viewport override has to take current page scale and scroll offset into
390 // account. Update the transform if override is active. 390 // account. Update the transform if override is active.
391 if (m_viewportOverride) 391 if (m_viewportOverride)
392 updateRootLayerTransform(); 392 updateRootLayerTransform();
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 m_lastPinchAnchorCss.reset(); 531 m_lastPinchAnchorCss.reset();
532 m_lastPinchAnchorDip.reset(); 532 m_lastPinchAnchorDip.reset();
533 } 533 }
534 return true; 534 return true;
535 } 535 }
536 536
537 return false; 537 return false;
538 } 538 }
539 539
540 } // namespace blink 540 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/testing/Internals.cpp ('k') | third_party/WebKit/Source/web/ExternalPopupMenuTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698