| 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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 } | 51 } |
| 52 | 52 |
| 53 namespace content { | 53 namespace content { |
| 54 class ContentViewCoreImpl; | 54 class ContentViewCoreImpl; |
| 55 class OverscrollGlow; | 55 class OverscrollGlow; |
| 56 class RenderWidgetHost; | 56 class RenderWidgetHost; |
| 57 class RenderWidgetHostImpl; | 57 class RenderWidgetHostImpl; |
| 58 struct DidOverscrollParams; | 58 struct DidOverscrollParams; |
| 59 struct NativeWebKeyboardEvent; | 59 struct NativeWebKeyboardEvent; |
| 60 | 60 |
| 61 class ReadbackRequest { |
| 62 public: |
| 63 explicit ReadbackRequest( |
| 64 float scale, |
| 65 SkColorType color_type, |
| 66 gfx::Rect src_subrect, |
| 67 const base::Callback<void(bool, const SkBitmap&)>& result_callback); |
| 68 ~ReadbackRequest(); |
| 69 float GetScale() { return scale_; } |
| 70 SkColorType GetColorFormat() { return color_type_; } |
| 71 const gfx::Rect GetCaptureRect() { return src_subrect_; } |
| 72 const base::Callback<void(bool, const SkBitmap&)>& GetResultCallback() { |
| 73 return result_callback_; |
| 74 } |
| 75 |
| 76 private: |
| 77 ReadbackRequest(); |
| 78 float scale_; |
| 79 SkColorType color_type_; |
| 80 gfx::Rect src_subrect_; |
| 81 base::Callback<void(bool, const SkBitmap&)> result_callback_; |
| 82 }; |
| 83 |
| 61 // ----------------------------------------------------------------------------- | 84 // ----------------------------------------------------------------------------- |
| 62 // See comments in render_widget_host_view.h about this class and its members. | 85 // See comments in render_widget_host_view.h about this class and its members. |
| 63 // ----------------------------------------------------------------------------- | 86 // ----------------------------------------------------------------------------- |
| 64 class CONTENT_EXPORT RenderWidgetHostViewAndroid | 87 class CONTENT_EXPORT RenderWidgetHostViewAndroid |
| 65 : public RenderWidgetHostViewBase, | 88 : public RenderWidgetHostViewBase, |
| 66 public cc::DelegatedFrameResourceCollectionClient, | 89 public cc::DelegatedFrameResourceCollectionClient, |
| 67 public ImageTransportFactoryAndroidObserver, | 90 public ImageTransportFactoryAndroidObserver, |
| 68 public ui::GestureProviderClient, | 91 public ui::GestureProviderClient, |
| 69 public ui::WindowAndroidObserver, | 92 public ui::WindowAndroidObserver, |
| 70 public DelegatedFrameEvictorClient, | 93 public DelegatedFrameEvictorClient, |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 310 void InternalSwapCompositorFrame(uint32 output_surface_id, | 333 void InternalSwapCompositorFrame(uint32 output_surface_id, |
| 311 scoped_ptr<cc::CompositorFrame> frame); | 334 scoped_ptr<cc::CompositorFrame> frame); |
| 312 | 335 |
| 313 bool Animate(base::TimeTicks frame_time); | 336 bool Animate(base::TimeTicks frame_time); |
| 314 | 337 |
| 315 void OnContentScrollingChange(); | 338 void OnContentScrollingChange(); |
| 316 bool IsContentScrolling() const; | 339 bool IsContentScrolling() const; |
| 317 | 340 |
| 318 float GetDpiScale() const; | 341 float GetDpiScale() const; |
| 319 | 342 |
| 343 // Handles all unprocessed and pending readback requests. |
| 344 void AbortPendingReadbackRequests(); |
| 345 |
| 320 // The model object. | 346 // The model object. |
| 321 RenderWidgetHostImpl* host_; | 347 RenderWidgetHostImpl* host_; |
| 322 | 348 |
| 323 // Used to track whether this render widget needs a BeginFrame. | 349 // Used to track whether this render widget needs a BeginFrame. |
| 324 bool needs_begin_frame_; | 350 bool needs_begin_frame_; |
| 325 | 351 |
| 326 bool is_showing_; | 352 bool is_showing_; |
| 327 | 353 |
| 328 // ContentViewCoreImpl is our interface to the view system. | 354 // ContentViewCoreImpl is our interface to the view system. |
| 329 ContentViewCoreImpl* content_view_core_; | 355 ContentViewCoreImpl* content_view_core_; |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 scoped_ptr<cc::CompositorFrame> output_frame); | 412 scoped_ptr<cc::CompositorFrame> output_frame); |
| 387 ~LastFrameInfo(); | 413 ~LastFrameInfo(); |
| 388 uint32 output_surface_id; | 414 uint32 output_surface_id; |
| 389 scoped_ptr<cc::CompositorFrame> frame; | 415 scoped_ptr<cc::CompositorFrame> frame; |
| 390 }; | 416 }; |
| 391 | 417 |
| 392 scoped_ptr<LastFrameInfo> last_frame_info_; | 418 scoped_ptr<LastFrameInfo> last_frame_info_; |
| 393 | 419 |
| 394 TextSurroundingSelectionCallback text_surrounding_selection_callback_; | 420 TextSurroundingSelectionCallback text_surrounding_selection_callback_; |
| 395 | 421 |
| 422 // List of readbackrequests waiting for arrival of a valid frame. |
| 423 std::queue<ReadbackRequest> readbacks_waiting_for_frame_; |
| 424 |
| 396 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid); | 425 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid); |
| 397 }; | 426 }; |
| 398 | 427 |
| 399 } // namespace content | 428 } // namespace content |
| 400 | 429 |
| 401 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ | 430 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ |
| OLD | NEW |