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

Side by Side Diff: third_party/WebKit/Source/web/WebViewImpl.h

Issue 2096633002: Adds scroll position/scale emulation to DevTools. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Emulator using GC, moved to FrameHost, addressed other comments. Created 4 years, 5 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 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 #include "web/StorageClientImpl.h" 62 #include "web/StorageClientImpl.h"
63 #include "web/WebExport.h" 63 #include "web/WebExport.h"
64 #include "wtf/Compiler.h" 64 #include "wtf/Compiler.h"
65 #include "wtf/HashSet.h" 65 #include "wtf/HashSet.h"
66 #include "wtf/RefCounted.h" 66 #include "wtf/RefCounted.h"
67 #include "wtf/Vector.h" 67 #include "wtf/Vector.h"
68 #include <memory> 68 #include <memory>
69 69
70 namespace blink { 70 namespace blink {
71 71
72 class CompositorMutatorImpl;
72 class DataObject; 73 class DataObject;
73 class DevToolsEmulator; 74 class DevToolsEmulator;
74 class Frame; 75 class Frame;
75 class FullscreenController; 76 class FullscreenController;
76 class InspectorOverlay; 77 class InspectorOverlay;
77 class LinkHighlightImpl; 78 class LinkHighlightImpl;
78 class PageOverlay; 79 class PageOverlay;
79 class PageScaleConstraintsSet; 80 class PageScaleConstraintsSet;
80 class PaintLayerCompositor; 81 class PaintLayerCompositor;
81 class TopControls; 82 class TopControls;
82 class UserGestureToken; 83 class UserGestureToken;
83 class WebActiveGestureAnimation; 84 class WebActiveGestureAnimation;
84 class WebDevToolsAgentImpl; 85 class WebDevToolsAgentImpl;
85 class WebElement; 86 class WebElement;
86 class WebLayerTreeView; 87 class WebLayerTreeView;
87 class WebLocalFrame; 88 class WebLocalFrame;
88 class WebLocalFrameImpl; 89 class WebLocalFrameImpl;
89 class WebImage; 90 class WebImage;
90 class CompositorMutatorImpl;
91 class WebPagePopupImpl; 91 class WebPagePopupImpl;
92 class WebPlugin; 92 class WebPlugin;
93 class WebRemoteFrame; 93 class WebRemoteFrame;
94 class WebSelection; 94 class WebSelection;
95 class WebSettingsImpl; 95 class WebSettingsImpl;
96 class WebViewScheduler; 96 class WebViewScheduler;
97 97
98 class WEB_EXPORT WebViewImpl final : WTF_NON_EXPORTED_BASE(public WebView) 98 class WEB_EXPORT WebViewImpl final : WTF_NON_EXPORTED_BASE(public WebView)
99 , public RefCounted<WebViewImpl> 99 , public RefCounted<WebViewImpl>
100 , WTF_NON_EXPORTED_BASE(public WebGestureCurveTarget) 100 , WTF_NON_EXPORTED_BASE(public WebGestureCurveTarget)
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 double lastFrameTimeMonotonic() const { return m_lastFrameTimeMonotonic; } 523 double lastFrameTimeMonotonic() const { return m_lastFrameTimeMonotonic; }
524 524
525 ChromeClientImpl& chromeClient() const { return *m_chromeClientImpl.get(); } 525 ChromeClientImpl& chromeClient() const { return *m_chromeClientImpl.get(); }
526 526
527 private: 527 private:
528 InspectorOverlay* inspectorOverlay(); 528 InspectorOverlay* inspectorOverlay();
529 529
530 void setPageScaleFactorAndLocation(float, const FloatPoint&); 530 void setPageScaleFactorAndLocation(float, const FloatPoint&);
531 void propagateZoomFactorToLocalFrameRoots(Frame*, float); 531 void propagateZoomFactorToLocalFrameRoots(Frame*, float);
532 532
533 // Override the page scale and scroll positions of main frame and visual vie wport.
534 void setScrollAndScaleOverride(const WebDeviceEmulationParams&);
535 void clearScrollAndScaleOverride();
536
533 void scrollAndRescaleViewports(float scaleFactor, const IntPoint& mainFrameO rigin, const FloatPoint& visualViewportOrigin); 537 void scrollAndRescaleViewports(float scaleFactor, const IntPoint& mainFrameO rigin, const FloatPoint& visualViewportOrigin);
534 538
535 float maximumLegiblePageScale() const; 539 float maximumLegiblePageScale() const;
536 void refreshPageScaleFactorAfterLayout(); 540 void refreshPageScaleFactorAfterLayout();
537 IntSize contentsSize() const; 541 IntSize contentsSize() const;
538 542
539 void performResize(); 543 void performResize();
540 void resizeViewWhileAnchored(FrameView*, float topControlsHeight, bool topCo ntrolsShrinkLayout); 544 void resizeViewWhileAnchored(FrameView*, float topControlsHeight, bool topCo ntrolsShrinkLayout);
541 545
542 // Overrides the compositor visibility. See the description of 546 // Overrides the compositor visibility. See the description of
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 bool m_overrideCompositorVisibility; 774 bool m_overrideCompositorVisibility;
771 }; 775 };
772 776
773 // We have no ways to check if the specified WebView is an instance of 777 // We have no ways to check if the specified WebView is an instance of
774 // WebViewImpl because WebViewImpl is the only implementation of WebView. 778 // WebViewImpl because WebViewImpl is the only implementation of WebView.
775 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true); 779 DEFINE_TYPE_CASTS(WebViewImpl, WebView, webView, true, true);
776 780
777 } // namespace blink 781 } // namespace blink
778 782
779 #endif 783 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698