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 CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_CHILD_FRAME_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_CHILD_FRAME_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_CHILD_FRAME_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_CHILD_FRAME_H_ |
7 | 7 |
| 8 #include <stddef.h> |
| 9 #include <stdint.h> |
| 10 |
8 #include <vector> | 11 #include <vector> |
9 | 12 |
| 13 #include "base/macros.h" |
10 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 15 #include "build/build_config.h" |
11 #include "cc/resources/returned_resource.h" | 16 #include "cc/resources/returned_resource.h" |
12 #include "cc/surfaces/surface_factory_client.h" | 17 #include "cc/surfaces/surface_factory_client.h" |
13 #include "cc/surfaces/surface_id_allocator.h" | 18 #include "cc/surfaces/surface_id_allocator.h" |
14 #include "content/browser/compositor/image_transport_factory.h" | 19 #include "content/browser/compositor/image_transport_factory.h" |
15 #include "content/browser/renderer_host/render_widget_host_view_base.h" | 20 #include "content/browser/renderer_host/render_widget_host_view_base.h" |
16 #include "content/common/content_export.h" | 21 #include "content/common/content_export.h" |
17 #include "content/public/browser/readback_types.h" | 22 #include "content/public/browser/readback_types.h" |
18 #include "ui/compositor/compositor.h" | 23 #include "ui/compositor/compositor.h" |
19 #include "ui/gfx/geometry/rect.h" | 24 #include "ui/gfx/geometry/rect.h" |
20 #include "ui/gfx/native_widget_types.h" | 25 #include "ui/gfx/native_widget_types.h" |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 const gfx::Rect& src_subrect, | 103 const gfx::Rect& src_subrect, |
99 const gfx::Size& dst_size, | 104 const gfx::Size& dst_size, |
100 const ReadbackRequestCallback& callback, | 105 const ReadbackRequestCallback& callback, |
101 const SkColorType preferred_color_type) override; | 106 const SkColorType preferred_color_type) override; |
102 void CopyFromCompositingSurfaceToVideoFrame( | 107 void CopyFromCompositingSurfaceToVideoFrame( |
103 const gfx::Rect& src_subrect, | 108 const gfx::Rect& src_subrect, |
104 const scoped_refptr<media::VideoFrame>& target, | 109 const scoped_refptr<media::VideoFrame>& target, |
105 const base::Callback<void(const gfx::Rect&, bool)>& callback) override; | 110 const base::Callback<void(const gfx::Rect&, bool)>& callback) override; |
106 bool CanCopyToVideoFrame() const override; | 111 bool CanCopyToVideoFrame() const override; |
107 bool HasAcceleratedSurface(const gfx::Size& desired_size) override; | 112 bool HasAcceleratedSurface(const gfx::Size& desired_size) override; |
108 void OnSwapCompositorFrame(uint32 output_surface_id, | 113 void OnSwapCompositorFrame(uint32_t output_surface_id, |
109 scoped_ptr<cc::CompositorFrame> frame) override; | 114 scoped_ptr<cc::CompositorFrame> frame) override; |
110 // Since the URL of content rendered by this class is not displayed in | 115 // Since the URL of content rendered by this class is not displayed in |
111 // the URL bar, this method does not need an implementation. | 116 // the URL bar, this method does not need an implementation. |
112 void ClearCompositorFrame() override {} | 117 void ClearCompositorFrame() override {} |
113 void GetScreenInfo(blink::WebScreenInfo* results) override; | 118 void GetScreenInfo(blink::WebScreenInfo* results) override; |
114 bool GetScreenColorProfile(std::vector<char>* color_profile) override; | 119 bool GetScreenColorProfile(std::vector<char>* color_profile) override; |
115 gfx::Rect GetBoundsInRootWindow() override; | 120 gfx::Rect GetBoundsInRootWindow() override; |
116 #if defined(USE_AURA) | 121 #if defined(USE_AURA) |
117 void ProcessAckedTouchEvent(const TouchEventWithLatencyInfo& touch, | 122 void ProcessAckedTouchEvent(const TouchEventWithLatencyInfo& touch, |
118 InputEventAckState ack_result) override; | 123 InputEventAckState ack_result) override; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 BrowserAccessibilityManager* CreateBrowserAccessibilityManager( | 159 BrowserAccessibilityManager* CreateBrowserAccessibilityManager( |
155 BrowserAccessibilityDelegate* delegate) override; | 160 BrowserAccessibilityDelegate* delegate) override; |
156 | 161 |
157 // cc::SurfaceFactoryClient implementation. | 162 // cc::SurfaceFactoryClient implementation. |
158 void ReturnResources(const cc::ReturnedResourceArray& resources) override; | 163 void ReturnResources(const cc::ReturnedResourceArray& resources) override; |
159 void SetBeginFrameSource(cc::SurfaceId surface_id, | 164 void SetBeginFrameSource(cc::SurfaceId surface_id, |
160 cc::BeginFrameSource* begin_frame_source) override; | 165 cc::BeginFrameSource* begin_frame_source) override; |
161 | 166 |
162 // Declared 'public' instead of 'protected' here to allow derived classes | 167 // Declared 'public' instead of 'protected' here to allow derived classes |
163 // to Bind() to it. | 168 // to Bind() to it. |
164 void SurfaceDrawn(uint32 output_surface_id, cc::SurfaceDrawStatus drawn); | 169 void SurfaceDrawn(uint32_t output_surface_id, cc::SurfaceDrawStatus drawn); |
165 | 170 |
166 protected: | 171 protected: |
167 friend class RenderWidgetHostView; | 172 friend class RenderWidgetHostView; |
168 friend class RenderWidgetHostViewChildFrameTest; | 173 friend class RenderWidgetHostViewChildFrameTest; |
169 friend class RenderWidgetHostViewGuestSurfaceTest; | 174 friend class RenderWidgetHostViewGuestSurfaceTest; |
170 | 175 |
171 // Clears current compositor surface, if one is in use. | 176 // Clears current compositor surface, if one is in use. |
172 void ClearCompositorSurfaceIfNecessary(); | 177 void ClearCompositorSurfaceIfNecessary(); |
173 | 178 |
174 // The last scroll offset of the view. | 179 // The last scroll offset of the view. |
175 gfx::Vector2dF last_scroll_offset_; | 180 gfx::Vector2dF last_scroll_offset_; |
176 | 181 |
177 // Members will become private when RenderWidgetHostViewGuest is removed. | 182 // Members will become private when RenderWidgetHostViewGuest is removed. |
178 // The model object. | 183 // The model object. |
179 RenderWidgetHostImpl* host_; | 184 RenderWidgetHostImpl* host_; |
180 | 185 |
181 // Flag determining whether we render into a compositing Surface. | 186 // Flag determining whether we render into a compositing Surface. |
182 bool use_surfaces_; | 187 bool use_surfaces_; |
183 | 188 |
184 // Surface-related state. | 189 // Surface-related state. |
185 scoped_ptr<cc::SurfaceIdAllocator> id_allocator_; | 190 scoped_ptr<cc::SurfaceIdAllocator> id_allocator_; |
186 scoped_ptr<cc::SurfaceFactory> surface_factory_; | 191 scoped_ptr<cc::SurfaceFactory> surface_factory_; |
187 cc::SurfaceId surface_id_; | 192 cc::SurfaceId surface_id_; |
188 uint32 next_surface_sequence_; | 193 uint32_t next_surface_sequence_; |
189 uint32 last_output_surface_id_; | 194 uint32_t last_output_surface_id_; |
190 gfx::Size current_surface_size_; | 195 gfx::Size current_surface_size_; |
191 float current_surface_scale_factor_; | 196 float current_surface_scale_factor_; |
192 uint32 ack_pending_count_; | 197 uint32_t ack_pending_count_; |
193 cc::ReturnedResourceArray surface_returned_resources_; | 198 cc::ReturnedResourceArray surface_returned_resources_; |
194 | 199 |
195 // frame_connector_ provides a platform abstraction. Messages | 200 // frame_connector_ provides a platform abstraction. Messages |
196 // sent through it are routed to the embedding renderer process. | 201 // sent through it are routed to the embedding renderer process. |
197 CrossProcessFrameConnector* frame_connector_; | 202 CrossProcessFrameConnector* frame_connector_; |
198 | 203 |
199 base::WeakPtr<RenderWidgetHostViewChildFrame> AsWeakPtr() { | 204 base::WeakPtr<RenderWidgetHostViewChildFrame> AsWeakPtr() { |
200 return weak_factory_.GetWeakPtr(); | 205 return weak_factory_.GetWeakPtr(); |
201 } | 206 } |
202 | 207 |
203 private: | 208 private: |
204 base::WeakPtrFactory<RenderWidgetHostViewChildFrame> weak_factory_; | 209 base::WeakPtrFactory<RenderWidgetHostViewChildFrame> weak_factory_; |
205 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewChildFrame); | 210 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewChildFrame); |
206 }; | 211 }; |
207 | 212 |
208 } // namespace content | 213 } // namespace content |
209 | 214 |
210 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_CHILD_FRAME_H_ | 215 #endif // CONTENT_BROWSER_FRAME_HOST_RENDER_WIDGET_HOST_VIEW_CHILD_FRAME_H_ |
OLD | NEW |