OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef MOJO_SERVICES_HTML_VIEWER_WEBLAYERTREEVIEW_IMPL_H_ | 5 #ifndef MOJO_SERVICES_HTML_VIEWER_WEBLAYERTREEVIEW_IMPL_H_ |
6 #define MOJO_SERVICES_HTML_VIEWER_WEBLAYERTREEVIEW_IMPL_H_ | 6 #define MOJO_SERVICES_HTML_VIEWER_WEBLAYERTREEVIEW_IMPL_H_ |
7 | 7 |
| 8 #include "base/macros.h" |
8 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
9 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
10 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" |
11 #include "base/single_thread_task_runner.h" | 12 #include "base/single_thread_task_runner.h" |
12 #include "cc/trees/layer_tree_host_client.h" | 13 #include "cc/trees/layer_tree_host_client.h" |
13 #include "mojo/cc/output_surface_mojo.h" | 14 #include "mojo/cc/output_surface_mojo.h" |
14 #include "mojo/services/public/interfaces/gpu/gpu.mojom.h" | 15 #include "mojo/services/public/interfaces/gpu/gpu.mojom.h" |
15 #include "mojo/services/public/interfaces/surfaces/surfaces_service.mojom.h" | 16 #include "mojo/services/public/interfaces/surfaces/surfaces_service.mojom.h" |
16 #include "third_party/WebKit/public/platform/WebLayerTreeView.h" | 17 #include "third_party/WebKit/public/platform/WebLayerTreeView.h" |
17 | 18 |
(...skipping 19 matching lines...) Expand all Loading... |
37 WebLayerTreeViewImpl( | 38 WebLayerTreeViewImpl( |
38 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy, | 39 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy, |
39 SurfacesServicePtr surfaces_service, | 40 SurfacesServicePtr surfaces_service, |
40 GpuPtr gpu_service); | 41 GpuPtr gpu_service); |
41 virtual ~WebLayerTreeViewImpl(); | 42 virtual ~WebLayerTreeViewImpl(); |
42 | 43 |
43 void set_widget(blink::WebWidget* widget) { widget_ = widget; } | 44 void set_widget(blink::WebWidget* widget) { widget_ = widget; } |
44 void set_view(View* view) { view_ = view; } | 45 void set_view(View* view) { view_ = view; } |
45 | 46 |
46 // cc::LayerTreeHostClient implementation. | 47 // cc::LayerTreeHostClient implementation. |
47 virtual void WillBeginMainFrame(int frame_id) OVERRIDE; | 48 virtual void WillBeginMainFrame(int frame_id) override; |
48 virtual void DidBeginMainFrame() OVERRIDE; | 49 virtual void DidBeginMainFrame() override; |
49 virtual void BeginMainFrame(const cc::BeginFrameArgs& args) OVERRIDE; | 50 virtual void BeginMainFrame(const cc::BeginFrameArgs& args) override; |
50 virtual void Layout() OVERRIDE; | 51 virtual void Layout() override; |
51 virtual void ApplyViewportDeltas(const gfx::Vector2d& inner_delta, | 52 virtual void ApplyViewportDeltas(const gfx::Vector2d& inner_delta, |
52 const gfx::Vector2d& outer_delta, | 53 const gfx::Vector2d& outer_delta, |
53 float page_scale, | 54 float page_scale, |
54 float top_controls_delta) OVERRIDE; | 55 float top_controls_delta) override; |
55 virtual void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta, | 56 virtual void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta, |
56 float page_scale, | 57 float page_scale, |
57 float top_controls_delta) OVERRIDE; | 58 float top_controls_delta) override; |
58 virtual void RequestNewOutputSurface(bool fallback) OVERRIDE; | 59 virtual void RequestNewOutputSurface(bool fallback) override; |
59 virtual void DidInitializeOutputSurface() OVERRIDE; | 60 virtual void DidInitializeOutputSurface() override; |
60 virtual void WillCommit() OVERRIDE; | 61 virtual void WillCommit() override; |
61 virtual void DidCommit() OVERRIDE; | 62 virtual void DidCommit() override; |
62 virtual void DidCommitAndDrawFrame() OVERRIDE; | 63 virtual void DidCommitAndDrawFrame() override; |
63 virtual void DidCompleteSwapBuffers() OVERRIDE; | 64 virtual void DidCompleteSwapBuffers() override; |
64 virtual void RateLimitSharedMainThreadContext() OVERRIDE {} | 65 virtual void RateLimitSharedMainThreadContext() override {} |
65 | 66 |
66 // blink::WebLayerTreeView implementation. | 67 // blink::WebLayerTreeView implementation. |
67 virtual void setSurfaceReady() OVERRIDE; | 68 virtual void setSurfaceReady() override; |
68 virtual void setRootLayer(const blink::WebLayer& layer) OVERRIDE; | 69 virtual void setRootLayer(const blink::WebLayer& layer) override; |
69 virtual void clearRootLayer() OVERRIDE; | 70 virtual void clearRootLayer() override; |
70 virtual void setViewportSize( | 71 virtual void setViewportSize( |
71 const blink::WebSize& device_viewport_size) OVERRIDE; | 72 const blink::WebSize& device_viewport_size) override; |
72 virtual blink::WebSize deviceViewportSize() const OVERRIDE; | 73 virtual blink::WebSize deviceViewportSize() const override; |
73 virtual void setDeviceScaleFactor(float) OVERRIDE; | 74 virtual void setDeviceScaleFactor(float) override; |
74 virtual float deviceScaleFactor() const OVERRIDE; | 75 virtual float deviceScaleFactor() const override; |
75 virtual void setBackgroundColor(blink::WebColor color) OVERRIDE; | 76 virtual void setBackgroundColor(blink::WebColor color) override; |
76 virtual void setHasTransparentBackground( | 77 virtual void setHasTransparentBackground( |
77 bool has_transparent_background) OVERRIDE; | 78 bool has_transparent_background) override; |
78 virtual void setOverhangBitmap(const SkBitmap& bitmap) OVERRIDE; | 79 virtual void setOverhangBitmap(const SkBitmap& bitmap) override; |
79 virtual void setVisible(bool visible) OVERRIDE; | 80 virtual void setVisible(bool visible) override; |
80 virtual void setPageScaleFactorAndLimits(float page_scale_factor, | 81 virtual void setPageScaleFactorAndLimits(float page_scale_factor, |
81 float minimum, | 82 float minimum, |
82 float maximum) OVERRIDE; | 83 float maximum) override; |
83 virtual void startPageScaleAnimation(const blink::WebPoint& destination, | 84 virtual void startPageScaleAnimation(const blink::WebPoint& destination, |
84 bool use_anchor, | 85 bool use_anchor, |
85 float new_page_scale, | 86 float new_page_scale, |
86 double duration_sec) OVERRIDE; | 87 double duration_sec) override; |
87 virtual void heuristicsForGpuRasterizationUpdated(bool matches_heuristic) {} | 88 virtual void heuristicsForGpuRasterizationUpdated(bool matches_heuristic) {} |
88 virtual void setTopControlsContentOffset(float offset) {} | 89 virtual void setTopControlsContentOffset(float offset) {} |
89 virtual void setNeedsAnimate() OVERRIDE; | 90 virtual void setNeedsAnimate() override; |
90 virtual bool commitRequested() const OVERRIDE; | 91 virtual bool commitRequested() const override; |
91 virtual void didStopFlinging() {} | 92 virtual void didStopFlinging() {} |
92 virtual void compositeAndReadbackAsync( | 93 virtual void compositeAndReadbackAsync( |
93 blink::WebCompositeAndReadbackAsyncCallback* callback) {} | 94 blink::WebCompositeAndReadbackAsyncCallback* callback) {} |
94 virtual void finishAllRendering() OVERRIDE; | 95 virtual void finishAllRendering() override; |
95 virtual void setDeferCommits(bool defer_commits) {} | 96 virtual void setDeferCommits(bool defer_commits) {} |
96 virtual void registerForAnimations(blink::WebLayer* layer) OVERRIDE; | 97 virtual void registerForAnimations(blink::WebLayer* layer) override; |
97 virtual void registerViewportLayers( | 98 virtual void registerViewportLayers( |
98 const blink::WebLayer* page_scale_layer, | 99 const blink::WebLayer* page_scale_layer, |
99 const blink::WebLayer* inner_viewport_scroll_layer, | 100 const blink::WebLayer* inner_viewport_scroll_layer, |
100 const blink::WebLayer* outer_viewport_scroll_layer) OVERRIDE; | 101 const blink::WebLayer* outer_viewport_scroll_layer) override; |
101 virtual void clearViewportLayers() OVERRIDE; | 102 virtual void clearViewportLayers() override; |
102 virtual void registerSelection(const blink::WebSelectionBound& start, | 103 virtual void registerSelection(const blink::WebSelectionBound& start, |
103 const blink::WebSelectionBound& end) {} | 104 const blink::WebSelectionBound& end) {} |
104 virtual void clearSelection() {} | 105 virtual void clearSelection() {} |
105 virtual void setShowFPSCounter(bool) {} | 106 virtual void setShowFPSCounter(bool) {} |
106 virtual void setShowPaintRects(bool) {} | 107 virtual void setShowPaintRects(bool) {} |
107 virtual void setShowDebugBorders(bool) {} | 108 virtual void setShowDebugBorders(bool) {} |
108 virtual void setContinuousPaintingEnabled(bool) {} | 109 virtual void setContinuousPaintingEnabled(bool) {} |
109 virtual void setShowScrollBottleneckRects(bool) {} | 110 virtual void setShowScrollBottleneckRects(bool) {} |
110 | 111 |
111 // OutputSurfaceMojoClient implementation. | 112 // OutputSurfaceMojoClient implementation. |
112 virtual void DidCreateSurface(cc::SurfaceId id) OVERRIDE; | 113 virtual void DidCreateSurface(cc::SurfaceId id) override; |
113 | 114 |
114 private: | 115 private: |
115 void OnSurfaceConnectionCreated(SurfacePtr surface, uint32_t id_namespace); | 116 void OnSurfaceConnectionCreated(SurfacePtr surface, uint32_t id_namespace); |
116 void DidCreateSurfaceOnMainThread(cc::SurfaceId id); | 117 void DidCreateSurfaceOnMainThread(cc::SurfaceId id); |
117 | 118 |
118 // widget_ and view_ will outlive us. | 119 // widget_ and view_ will outlive us. |
119 blink::WebWidget* widget_; | 120 blink::WebWidget* widget_; |
120 View* view_; | 121 View* view_; |
121 scoped_ptr<cc::LayerTreeHost> layer_tree_host_; | 122 scoped_ptr<cc::LayerTreeHost> layer_tree_host_; |
122 SurfacesServicePtr surfaces_service_; | 123 SurfacesServicePtr surfaces_service_; |
123 scoped_ptr<cc::OutputSurface> output_surface_; | 124 scoped_ptr<cc::OutputSurface> output_surface_; |
124 GpuPtr gpu_service_; | 125 GpuPtr gpu_service_; |
125 scoped_refptr<base::SingleThreadTaskRunner> | 126 scoped_refptr<base::SingleThreadTaskRunner> |
126 main_thread_compositor_task_runner_; | 127 main_thread_compositor_task_runner_; |
127 base::WeakPtr<WebLayerTreeViewImpl> main_thread_bound_weak_ptr_; | 128 base::WeakPtr<WebLayerTreeViewImpl> main_thread_bound_weak_ptr_; |
128 | 129 |
129 base::WeakPtrFactory<WebLayerTreeViewImpl> weak_factory_; | 130 base::WeakPtrFactory<WebLayerTreeViewImpl> weak_factory_; |
130 DISALLOW_COPY_AND_ASSIGN(WebLayerTreeViewImpl); | 131 DISALLOW_COPY_AND_ASSIGN(WebLayerTreeViewImpl); |
131 }; | 132 }; |
132 | 133 |
133 } // namespace mojo | 134 } // namespace mojo |
134 | 135 |
135 #endif // MOJO_SERVICES_HTML_VIEWER_WEBLAYERTREEVIEW_IMPL_H_ | 136 #endif // MOJO_SERVICES_HTML_VIEWER_WEBLAYERTREEVIEW_IMPL_H_ |
OLD | NEW |