OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <queue> | 9 #include <queue> |
10 | 10 |
(...skipping 25 matching lines...) Expand all Loading... |
36 } | 36 } |
37 | 37 |
38 namespace WebKit { | 38 namespace WebKit { |
39 class WebExternalTextureLayer; | 39 class WebExternalTextureLayer; |
40 class WebTouchEvent; | 40 class WebTouchEvent; |
41 class WebMouseEvent; | 41 class WebMouseEvent; |
42 } | 42 } |
43 | 43 |
44 namespace content { | 44 namespace content { |
45 class ContentViewCoreImpl; | 45 class ContentViewCoreImpl; |
| 46 class OverscrollGlow; |
46 class RenderWidgetHost; | 47 class RenderWidgetHost; |
47 class RenderWidgetHostImpl; | 48 class RenderWidgetHostImpl; |
48 class SurfaceTextureTransportClient; | 49 class SurfaceTextureTransportClient; |
49 struct NativeWebKeyboardEvent; | 50 struct NativeWebKeyboardEvent; |
50 | 51 |
51 // ----------------------------------------------------------------------------- | 52 // ----------------------------------------------------------------------------- |
52 // See comments in render_widget_host_view.h about this class and its members. | 53 // See comments in render_widget_host_view.h about this class and its members. |
53 // ----------------------------------------------------------------------------- | 54 // ----------------------------------------------------------------------------- |
54 class RenderWidgetHostViewAndroid | 55 class RenderWidgetHostViewAndroid |
55 : public RenderWidgetHostViewBase, | 56 : public RenderWidgetHostViewBase, |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 virtual InputEventAckState FilterInputEvent( | 146 virtual InputEventAckState FilterInputEvent( |
146 const WebKit::WebInputEvent& input_event) OVERRIDE; | 147 const WebKit::WebInputEvent& input_event) OVERRIDE; |
147 virtual void OnAccessibilityNotifications( | 148 virtual void OnAccessibilityNotifications( |
148 const std::vector<AccessibilityHostMsg_NotificationParams>& | 149 const std::vector<AccessibilityHostMsg_NotificationParams>& |
149 params) OVERRIDE; | 150 params) OVERRIDE; |
150 virtual bool LockMouse() OVERRIDE; | 151 virtual bool LockMouse() OVERRIDE; |
151 virtual void UnlockMouse() OVERRIDE; | 152 virtual void UnlockMouse() OVERRIDE; |
152 virtual void HasTouchEventHandlers(bool need_touch_events) OVERRIDE; | 153 virtual void HasTouchEventHandlers(bool need_touch_events) OVERRIDE; |
153 virtual void OnSwapCompositorFrame( | 154 virtual void OnSwapCompositorFrame( |
154 scoped_ptr<cc::CompositorFrame> frame) OVERRIDE; | 155 scoped_ptr<cc::CompositorFrame> frame) OVERRIDE; |
| 156 virtual void OnOverscrolled(const gfx::Vector2dF& accumulated_overscroll, |
| 157 const gfx::Vector2dF& current_fling_velocity) |
| 158 OVERRIDE; |
155 virtual void ShowDisambiguationPopup(const gfx::Rect& target_rect, | 159 virtual void ShowDisambiguationPopup(const gfx::Rect& target_rect, |
156 const SkBitmap& zoomed_bitmap) OVERRIDE; | 160 const SkBitmap& zoomed_bitmap) OVERRIDE; |
157 virtual SmoothScrollGesture* CreateSmoothScrollGesture( | 161 virtual SmoothScrollGesture* CreateSmoothScrollGesture( |
158 bool scroll_down, int pixels_to_scroll, int mouse_event_x, | 162 bool scroll_down, int pixels_to_scroll, int mouse_event_x, |
159 int mouse_event_y) OVERRIDE; | 163 int mouse_event_y) OVERRIDE; |
160 | 164 |
161 // cc::TextureLayerClient implementation. | 165 // cc::TextureLayerClient implementation. |
162 virtual unsigned PrepareTexture(cc::ResourceUpdateQueue* queue) OVERRIDE; | 166 virtual unsigned PrepareTexture(cc::ResourceUpdateQueue* queue) OVERRIDE; |
163 virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE; | 167 virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE; |
164 virtual bool PrepareTextureMailbox(cc::TextureMailbox* mailbox) OVERRIDE; | 168 virtual bool PrepareTextureMailbox(cc::TextureMailbox* mailbox) OVERRIDE; |
(...skipping 26 matching lines...) Expand all Loading... |
191 bool HasValidFrame() const; | 195 bool HasValidFrame() const; |
192 | 196 |
193 // Select all text between the given coordinates. | 197 // Select all text between the given coordinates. |
194 void SelectRange(const gfx::Point& start, const gfx::Point& end); | 198 void SelectRange(const gfx::Point& start, const gfx::Point& end); |
195 | 199 |
196 void MoveCaret(const gfx::Point& point); | 200 void MoveCaret(const gfx::Point& point); |
197 | 201 |
198 void RequestContentClipping(const gfx::Rect& clipping, | 202 void RequestContentClipping(const gfx::Rect& clipping, |
199 const gfx::Size& content_size); | 203 const gfx::Size& content_size); |
200 | 204 |
| 205 // Returns true when animation ticks are still needed. This avoids a separate |
| 206 // round-trip for requesting follow-up animation. |
| 207 bool Animate(base::TimeTicks frame_time); |
| 208 |
201 private: | 209 private: |
202 void BuffersSwapped(const gpu::Mailbox& mailbox, | 210 void BuffersSwapped(const gpu::Mailbox& mailbox, |
203 const base::Closure& ack_callback); | 211 const base::Closure& ack_callback); |
204 | 212 |
205 void RunAckCallbacks(); | 213 void RunAckCallbacks(); |
206 | 214 |
207 void SwapDelegatedFrame(scoped_ptr<cc::DelegatedFrameData> frame_data); | 215 void SwapDelegatedFrame(scoped_ptr<cc::DelegatedFrameData> frame_data); |
208 void SendDelegatedFrameAck(); | 216 void SendDelegatedFrameAck(); |
209 | 217 |
210 void ComputeContentsSize(const cc::CompositorFrame* frame); | 218 void ComputeContentsSize(const cc::CompositorFrame* frame); |
211 void ResetClipping(); | 219 void ResetClipping(); |
212 void ClipContents(const gfx::Rect& clipping, const gfx::Size& content_size); | 220 void ClipContents(const gfx::Rect& clipping, const gfx::Size& content_size); |
213 | 221 |
| 222 void AttachLayers(); |
| 223 void RemoveLayers(); |
| 224 |
| 225 void UpdateAnimationSize(const cc::CompositorFrame* frame); |
| 226 void ScheduleAnimationIfNecessary(); |
| 227 |
214 // The model object. | 228 // The model object. |
215 RenderWidgetHostImpl* host_; | 229 RenderWidgetHostImpl* host_; |
216 | 230 |
217 // Whether or not this widget is potentially attached to the view hierarchy. | 231 // Whether or not this widget is potentially attached to the view hierarchy. |
218 // This view may not actually be attached if this is true, but it should be | 232 // This view may not actually be attached if this is true, but it should be |
219 // treated as such, because as soon as a ContentViewCore is set the layer | 233 // treated as such, because as soon as a ContentViewCore is set the layer |
220 // will be attached automatically. | 234 // will be attached automatically. |
221 bool is_layer_attached_; | 235 bool are_layers_attached_; |
222 | 236 |
223 // ContentViewCoreImpl is our interface to the view system. | 237 // ContentViewCoreImpl is our interface to the view system. |
224 ContentViewCoreImpl* content_view_core_; | 238 ContentViewCoreImpl* content_view_core_; |
225 | 239 |
226 ImeAdapterAndroid ime_adapter_android_; | 240 ImeAdapterAndroid ime_adapter_android_; |
227 | 241 |
228 // Body background color of the underlying document. | 242 // Body background color of the underlying document. |
229 SkColor cached_background_color_; | 243 SkColor cached_background_color_; |
230 | 244 |
231 // The texture layer for this view when using browser-side compositing. | 245 // The texture layer for this view when using browser-side compositing. |
(...skipping 21 matching lines...) Expand all Loading... |
253 // The mailbox of the previously received frame. | 267 // The mailbox of the previously received frame. |
254 gpu::Mailbox current_mailbox_; | 268 gpu::Mailbox current_mailbox_; |
255 | 269 |
256 // The mailbox of the frame we last returned. | 270 // The mailbox of the frame we last returned. |
257 gpu::Mailbox last_mailbox_; | 271 gpu::Mailbox last_mailbox_; |
258 | 272 |
259 base::WeakPtrFactory<RenderWidgetHostViewAndroid> weak_ptr_factory_; | 273 base::WeakPtrFactory<RenderWidgetHostViewAndroid> weak_ptr_factory_; |
260 | 274 |
261 std::queue<base::Closure> ack_callbacks_; | 275 std::queue<base::Closure> ack_callbacks_; |
262 | 276 |
| 277 // Used to render overscroll overlays. |
| 278 scoped_ptr<OverscrollGlow> overscroll_effect_; |
| 279 |
263 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid); | 280 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid); |
264 }; | 281 }; |
265 | 282 |
266 } // namespace content | 283 } // namespace content |
267 | 284 |
268 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ | 285 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ |
OLD | NEW |