OLD | NEW |
---|---|
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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.#ifndef WebViewBase_h | 3 // found in the LICENSE file.#ifndef WebViewBase_h |
4 | 4 |
5 #ifndef WebViewBase_h | 5 #ifndef WebViewBase_h |
6 #define WebViewBase_h | 6 #define WebViewBase_h |
7 | 7 |
8 #include "platform/transforms/TransformationMatrix.h" | 8 #include "platform/transforms/TransformationMatrix.h" |
9 #include "platform/wtf/RefCounted.h" | |
9 #include "public/platform/WebDisplayMode.h" | 10 #include "public/platform/WebDisplayMode.h" |
10 #include "public/platform/WebInputEventResult.h" | 11 #include "public/platform/WebInputEventResult.h" |
11 #include "public/web/WebElement.h" | 12 #include "public/web/WebElement.h" |
12 #include "public/web/WebView.h" | 13 #include "public/web/WebView.h" |
13 | 14 |
14 namespace blink { | 15 namespace blink { |
15 | 16 |
17 class AnimationWorkletProxyClient; | |
18 class CompositorAnimationHost; | |
19 class CompositorWorkerProxyClient; | |
16 class CompositorAnimationTimeline; | 20 class CompositorAnimationTimeline; |
17 class ContextMenuProvider; | 21 class ContextMenuProvider; |
18 class DevToolsEmulator; | 22 class DevToolsEmulator; |
19 class Frame; | 23 class Frame; |
20 class GraphicsLayer; | 24 class GraphicsLayer; |
25 class HitTestResult; | |
21 class Page; | 26 class Page; |
22 class PaintLayerCompositor; | 27 class PaintLayerCompositor; |
23 class PagePopup; | 28 class PagePopup; |
24 class PagePopupClient; | 29 class PagePopupClient; |
25 class PageScaleConstraintsSet; | 30 class PageScaleConstraintsSet; |
26 class WebInputEvent; | 31 class WebInputEvent; |
32 class WebInputMethodControllerImpl; | |
27 class WebKeyboardEvent; | 33 class WebKeyboardEvent; |
34 class WebLayer; | |
28 class WebLocalFrameImpl; | 35 class WebLocalFrameImpl; |
29 class WebLayerTreeView; | 36 class WebLayerTreeView; |
30 class WebPagePopupImpl; | 37 class WebPagePopupImpl; |
31 class WebSettingsImpl; | 38 class WebSettingsImpl; |
32 struct WebRect; | 39 struct WebRect; |
33 | 40 |
34 // WebViewBase is a temporary class introduced to decouple the defintion of | 41 // WebViewBase is a temporary class introduced to decouple the defintion of |
35 // WebViewImpl from the concrete implementation. It was not possible to move the | 42 // WebViewImpl from the concrete implementation. It was not possible to move the |
36 // defintion of these methods to WebView as we did not want to pollute the | 43 // defintion of these methods to WebView as we did not want to pollute the |
37 // public API surface area. | 44 // public API surface area. |
38 // | 45 // |
39 // Once WebViewImpl is moved from web to core/exported then this class should be | 46 // Once WebViewImpl is moved from web to core/exported then this class should be |
40 // removed and clients can once again depend on WebViewImpl. | 47 // removed and clients can once again depend on WebViewImpl. |
41 class WebViewBase : public WebView { | 48 class WebViewBase : public WebView, public RefCounted<WebViewBase> { |
42 public: | 49 public: |
50 virtual ~WebViewBase() {} | |
51 | |
43 virtual void SetBaseBackgroundColor(WebColor) = 0; | 52 virtual void SetBaseBackgroundColor(WebColor) = 0; |
44 virtual void SetBaseBackgroundColorOverride(WebColor) = 0; | 53 virtual void SetBaseBackgroundColorOverride(WebColor) = 0; |
45 virtual void ClearBaseBackgroundColorOverride() = 0; | 54 virtual void ClearBaseBackgroundColorOverride() = 0; |
46 virtual void SetBackgroundColorOverride(WebColor) = 0; | 55 virtual void SetBackgroundColorOverride(WebColor) = 0; |
47 virtual void ClearBackgroundColorOverride() = 0; | 56 virtual void ClearBackgroundColorOverride() = 0; |
48 virtual void SetZoomFactorOverride(float) = 0; | 57 virtual void SetZoomFactorOverride(float) = 0; |
49 virtual void SetCompositorDeviceScaleFactorOverride(float) = 0; | 58 virtual void SetCompositorDeviceScaleFactorOverride(float) = 0; |
50 virtual void SetDeviceEmulationTransform(const TransformationMatrix&) = 0; | 59 virtual void SetDeviceEmulationTransform(const TransformationMatrix&) = 0; |
51 virtual void SetShowDebugBorders(bool) = 0; | 60 virtual void SetShowDebugBorders(bool) = 0; |
52 | 61 |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
139 | 148 |
140 virtual GraphicsLayer* RootGraphicsLayer() = 0; | 149 virtual GraphicsLayer* RootGraphicsLayer() = 0; |
141 virtual void RegisterViewportLayersWithCompositor() = 0; | 150 virtual void RegisterViewportLayersWithCompositor() = 0; |
142 virtual PaintLayerCompositor* Compositor() const = 0; | 151 virtual PaintLayerCompositor* Compositor() const = 0; |
143 | 152 |
144 virtual void DidUpdateBrowserControls() = 0; | 153 virtual void DidUpdateBrowserControls() = 0; |
145 virtual FloatSize ElasticOverscroll() const = 0; | 154 virtual FloatSize ElasticOverscroll() const = 0; |
146 virtual double LastFrameTimeMonotonic() const = 0; | 155 virtual double LastFrameTimeMonotonic() const = 0; |
147 | 156 |
148 static const WebInputEvent* CurrentInputEvent(); | 157 static const WebInputEvent* CurrentInputEvent(); |
158 | |
159 virtual void SetCompositorVisibility(bool) = 0; | |
haraken
2017/05/01 07:34:26
I don't fully understand the changes at line 159 -
slangley
2017/05/01 09:26:57
Making methods that are currently not defined as v
| |
160 using WebWidget::SetSuppressFrameRequestsWorkaroundFor704763Only; | |
161 using WebWidget::RecordWheelAndTouchScrollingCount; | |
162 using WebWidget::GetCompositionCharacterBounds; | |
163 // Returns the currently active WebInputMethodController which is the one | |
164 // corresponding to the focused frame. It will return nullptr if there is no | |
165 // focused frame, or if the there is one but it belongs to a different local | |
haraken
2017/05/01 07:34:26
if there is
slangley
2017/05/01 09:26:57
Done
| |
166 // root. | |
167 virtual WebInputMethodControllerImpl* GetActiveWebInputMethodController() | |
168 const = 0; | |
169 virtual void ScheduleAnimationForWidget() = 0; | |
170 virtual CompositorWorkerProxyClient* CreateCompositorWorkerProxyClient() = 0; | |
171 virtual AnimationWorkletProxyClient* CreateAnimationWorkletProxyClient() = 0; | |
172 virtual void SetRootGraphicsLayer(GraphicsLayer*) = 0; | |
173 virtual void SetRootLayer(WebLayer*) = 0; | |
174 virtual CompositorAnimationHost* AnimationHost() const = 0; | |
175 virtual HitTestResult CoreHitTestResultAt(const WebPoint&) = 0; | |
149 }; | 176 }; |
150 } | 177 } |
151 | 178 |
152 #endif | 179 #endif |
OLD | NEW |