Chromium Code Reviews| 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 : scale_(scale), | |
| 69 color_type_(color_type), | |
| 70 src_subrect_(src_subrect), | |
| 71 result_callback_(result_callback) {} | |
| 72 ~ReadbackRequest() {}; | |
| 73 float GetScale() { return scale_; } | |
| 74 SkColorType GetColorFormat() { return color_type_; } | |
| 75 gfx::Rect GetCaptureRect() { return src_subrect_; } | |
|
no sievers
2014/07/28 17:07:06
nit: return a reference for the rect
| |
| 76 const base::Callback<void(bool, const SkBitmap&)>& GetResultCallback() { | |
| 77 return result_callback_; | |
| 78 } | |
| 79 | |
| 80 private: | |
| 81 ReadbackRequest() {}; | |
| 82 float scale_; | |
| 83 SkColorType color_type_; | |
| 84 gfx::Rect src_subrect_; | |
| 85 base::Callback<void(bool, const SkBitmap&)> result_callback_; | |
| 86 }; | |
| 87 | |
| 61 // ----------------------------------------------------------------------------- | 88 // ----------------------------------------------------------------------------- |
| 62 // See comments in render_widget_host_view.h about this class and its members. | 89 // See comments in render_widget_host_view.h about this class and its members. |
| 63 // ----------------------------------------------------------------------------- | 90 // ----------------------------------------------------------------------------- |
| 64 class CONTENT_EXPORT RenderWidgetHostViewAndroid | 91 class CONTENT_EXPORT RenderWidgetHostViewAndroid |
| 65 : public RenderWidgetHostViewBase, | 92 : public RenderWidgetHostViewBase, |
| 66 public cc::DelegatedFrameResourceCollectionClient, | 93 public cc::DelegatedFrameResourceCollectionClient, |
| 67 public ImageTransportFactoryAndroidObserver, | 94 public ImageTransportFactoryAndroidObserver, |
| 68 public ui::GestureProviderClient, | 95 public ui::GestureProviderClient, |
| 69 public ui::WindowAndroidObserver, | 96 public ui::WindowAndroidObserver, |
| 70 public DelegatedFrameEvictorClient, | 97 public DelegatedFrameEvictorClient, |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 308 void InternalSwapCompositorFrame(uint32 output_surface_id, | 335 void InternalSwapCompositorFrame(uint32 output_surface_id, |
| 309 scoped_ptr<cc::CompositorFrame> frame); | 336 scoped_ptr<cc::CompositorFrame> frame); |
| 310 | 337 |
| 311 bool Animate(base::TimeTicks frame_time); | 338 bool Animate(base::TimeTicks frame_time); |
| 312 | 339 |
| 313 void OnContentScrollingChange(); | 340 void OnContentScrollingChange(); |
| 314 bool IsContentScrolling() const; | 341 bool IsContentScrolling() const; |
| 315 | 342 |
| 316 float GetDpiScale() const; | 343 float GetDpiScale() const; |
| 317 | 344 |
| 345 // Add the ReadbackRequest to the queue and wait for frame arraival. | |
|
no sievers
2014/07/28 17:07:06
not: typo in 'arraival'
| |
| 346 void WaitForValidFrameArrival(const ReadbackRequest& readback_request); | |
|
no sievers
2014/07/28 17:07:06
nit: How about a more specific name? Something lik
| |
| 347 | |
| 348 // Handles all unprocessed and pending readback requests. | |
| 349 void ProcessPendingReadbackRequests(); | |
| 350 | |
| 318 // The model object. | 351 // The model object. |
| 319 RenderWidgetHostImpl* host_; | 352 RenderWidgetHostImpl* host_; |
| 320 | 353 |
| 321 // Used to track whether this render widget needs a BeginFrame. | 354 // Used to track whether this render widget needs a BeginFrame. |
| 322 bool needs_begin_frame_; | 355 bool needs_begin_frame_; |
| 323 | 356 |
| 324 bool is_showing_; | 357 bool is_showing_; |
| 325 | 358 |
| 326 // ContentViewCoreImpl is our interface to the view system. | 359 // ContentViewCoreImpl is our interface to the view system. |
| 327 ContentViewCoreImpl* content_view_core_; | 360 ContentViewCoreImpl* content_view_core_; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 388 scoped_ptr<cc::CompositorFrame> output_frame); | 421 scoped_ptr<cc::CompositorFrame> output_frame); |
| 389 ~LastFrameInfo(); | 422 ~LastFrameInfo(); |
| 390 uint32 output_surface_id; | 423 uint32 output_surface_id; |
| 391 scoped_ptr<cc::CompositorFrame> frame; | 424 scoped_ptr<cc::CompositorFrame> frame; |
| 392 }; | 425 }; |
| 393 | 426 |
| 394 scoped_ptr<LastFrameInfo> last_frame_info_; | 427 scoped_ptr<LastFrameInfo> last_frame_info_; |
| 395 | 428 |
| 396 TextSurroundingSelectionCallback text_surrounding_selection_callback_; | 429 TextSurroundingSelectionCallback text_surrounding_selection_callback_; |
| 397 | 430 |
| 431 // List of readbackrequests waiting for arrival of a valid frame. | |
| 432 std::queue<ReadbackRequest> readbacks_waiting_for_frame_; | |
| 433 | |
| 398 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid); | 434 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid); |
| 399 }; | 435 }; |
| 400 | 436 |
| 401 } // namespace content | 437 } // namespace content |
| 402 | 438 |
| 403 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ | 439 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_ANDROID_H_ |
| OLD | NEW |