| 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_AURA_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> |
| 9 #include <string> | 10 #include <string> |
| 10 #include <vector> | 11 #include <vector> |
| 11 | 12 |
| 12 #include "base/callback.h" | 13 #include "base/callback.h" |
| 13 #include "base/gtest_prod_util.h" | 14 #include "base/gtest_prod_util.h" |
| 14 #include "base/memory/linked_ptr.h" | 15 #include "base/memory/linked_ptr.h" |
| 15 #include "base/memory/ref_counted.h" | 16 #include "base/memory/ref_counted.h" |
| 16 #include "base/memory/scoped_ptr.h" | 17 #include "base/memory/scoped_ptr.h" |
| 17 #include "base/memory/weak_ptr.h" | 18 #include "base/memory/weak_ptr.h" |
| 18 #include "cc/layers/delegated_frame_provider.h" | 19 #include "cc/layers/delegated_frame_provider.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 41 #include "webkit/common/cursors/webcursor.h" | 42 #include "webkit/common/cursors/webcursor.h" |
| 42 | 43 |
| 43 namespace aura { | 44 namespace aura { |
| 44 class WindowTracker; | 45 class WindowTracker; |
| 45 namespace client { | 46 namespace client { |
| 46 class ScopedTooltipDisabler; | 47 class ScopedTooltipDisabler; |
| 47 } | 48 } |
| 48 } | 49 } |
| 49 | 50 |
| 50 namespace cc { | 51 namespace cc { |
| 52 class CopyOutputRequest; |
| 51 class CopyOutputResult; | 53 class CopyOutputResult; |
| 52 class DelegatedFrameData; | 54 class DelegatedFrameData; |
| 53 } | 55 } |
| 54 | 56 |
| 55 namespace gfx { | 57 namespace gfx { |
| 56 class Canvas; | 58 class Canvas; |
| 57 class Display; | 59 class Display; |
| 58 } | 60 } |
| 59 | 61 |
| 60 namespace ui { | 62 namespace ui { |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 // Should be constructed via RenderWidgetHostView::CreateViewForWidget. | 366 // Should be constructed via RenderWidgetHostView::CreateViewForWidget. |
| 365 explicit RenderWidgetHostViewAura(RenderWidgetHost* host); | 367 explicit RenderWidgetHostViewAura(RenderWidgetHost* host); |
| 366 | 368 |
| 367 RenderWidgetHostViewFrameSubscriber* frame_subscriber() const { | 369 RenderWidgetHostViewFrameSubscriber* frame_subscriber() const { |
| 368 return frame_subscriber_.get(); | 370 return frame_subscriber_.get(); |
| 369 } | 371 } |
| 370 | 372 |
| 371 virtual bool ShouldCreateResizeLock(); | 373 virtual bool ShouldCreateResizeLock(); |
| 372 virtual scoped_ptr<ResizeLock> CreateResizeLock(bool defer_compositor_lock); | 374 virtual scoped_ptr<ResizeLock> CreateResizeLock(bool defer_compositor_lock); |
| 373 | 375 |
| 376 virtual void RequestCopyOfOutput(scoped_ptr<cc::CopyOutputRequest> request); |
| 377 |
| 374 // Exposed for tests. | 378 // Exposed for tests. |
| 375 aura::Window* window() { return window_; } | 379 aura::Window* window() { return window_; } |
| 376 gfx::Size current_frame_size() const { return current_frame_size_; } | 380 gfx::Size current_frame_size() const { return current_frame_size_; } |
| 377 void LockResources(); | 381 void LockResources(); |
| 378 void UnlockResources(); | 382 void UnlockResources(); |
| 379 | 383 |
| 380 // Overridden from ui::CompositorObserver: | 384 // Overridden from ui::CompositorObserver: |
| 381 virtual void OnCompositingDidCommit(ui::Compositor* compositor) OVERRIDE; | 385 virtual void OnCompositingDidCommit(ui::Compositor* compositor) OVERRIDE; |
| 382 virtual void OnCompositingStarted(ui::Compositor* compositor, | 386 virtual void OnCompositingStarted(ui::Compositor* compositor, |
| 383 base::TimeTicks start_time) OVERRIDE; | 387 base::TimeTicks start_time) OVERRIDE; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 397 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 401 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 398 SkippedDelegatedFrames); | 402 SkippedDelegatedFrames); |
| 399 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, OutputSurfaceIdChange); | 403 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, OutputSurfaceIdChange); |
| 400 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 404 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 401 DiscardDelegatedFrames); | 405 DiscardDelegatedFrames); |
| 402 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 406 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 403 DiscardDelegatedFramesWithLocking); | 407 DiscardDelegatedFramesWithLocking); |
| 404 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SoftwareDPIChange); | 408 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SoftwareDPIChange); |
| 405 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 409 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 406 UpdateCursorIfOverSelf); | 410 UpdateCursorIfOverSelf); |
| 411 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraCopyRequestTest, |
| 412 DestroyedAfterCopyRequest); |
| 407 | 413 |
| 408 class WindowObserver; | 414 class WindowObserver; |
| 409 friend class WindowObserver; | 415 friend class WindowObserver; |
| 410 | 416 |
| 411 // Overridden from ImageTransportFactoryObserver: | 417 // Overridden from ImageTransportFactoryObserver: |
| 412 virtual void OnLostResources() OVERRIDE; | 418 virtual void OnLostResources() OVERRIDE; |
| 413 | 419 |
| 414 // Overridden from BrowserAccessibilityDelegate: | 420 // Overridden from BrowserAccessibilityDelegate: |
| 415 virtual void SetAccessibilityFocus(int acc_obj_id) OVERRIDE; | 421 virtual void SetAccessibilityFocus(int acc_obj_id) OVERRIDE; |
| 416 virtual void AccessibilityDoDefaultAction(int acc_obj_id) OVERRIDE; | 422 virtual void AccessibilityDoDefaultAction(int acc_obj_id) OVERRIDE; |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 499 scoped_refptr<OwnedMailbox> subscriber_texture, | 505 scoped_refptr<OwnedMailbox> subscriber_texture, |
| 500 scoped_refptr<media::VideoFrame> video_frame, | 506 scoped_refptr<media::VideoFrame> video_frame, |
| 501 const base::Callback<void(bool)>& callback, | 507 const base::Callback<void(bool)>& callback, |
| 502 scoped_ptr<cc::CopyOutputResult> result); | 508 scoped_ptr<cc::CopyOutputResult> result); |
| 503 static void CopyFromCompositingSurfaceFinishedForVideo( | 509 static void CopyFromCompositingSurfaceFinishedForVideo( |
| 504 base::WeakPtr<RenderWidgetHostViewAura> rwhva, | 510 base::WeakPtr<RenderWidgetHostViewAura> rwhva, |
| 505 const base::Callback<void(bool)>& callback, | 511 const base::Callback<void(bool)>& callback, |
| 506 scoped_refptr<OwnedMailbox> subscriber_texture, | 512 scoped_refptr<OwnedMailbox> subscriber_texture, |
| 507 scoped_ptr<cc::SingleReleaseCallback> release_callback, | 513 scoped_ptr<cc::SingleReleaseCallback> release_callback, |
| 508 bool result); | 514 bool result); |
| 515 static void ReturnSubscriberTexture( |
| 516 base::WeakPtr<RenderWidgetHostViewAura> rwhva, |
| 517 scoped_refptr<OwnedMailbox> subscriber_texture, |
| 518 uint32 sync_point); |
| 509 | 519 |
| 510 ui::Compositor* GetCompositor() const; | 520 ui::Compositor* GetCompositor() const; |
| 511 | 521 |
| 512 // Detaches |this| from the input method object. | 522 // Detaches |this| from the input method object. |
| 513 void DetachFromInputMethod(); | 523 void DetachFromInputMethod(); |
| 514 | 524 |
| 515 // Dismisses a Web Popup on mouse press outside the popup and its parent. | 525 // Dismisses a Web Popup on mouse press outside the popup and its parent. |
| 516 void ApplyEventFilterForPopupExit(ui::MouseEvent* event); | 526 void ApplyEventFilterForPopupExit(ui::MouseEvent* event); |
| 517 | 527 |
| 518 // Converts |rect| from window coordinate to screen coordinate. | 528 // Converts |rect| from window coordinate to screen coordinate. |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 758 // over this view changes, we need this information in order to create a new | 768 // over this view changes, we need this information in order to create a new |
| 759 // region for the HWND. | 769 // region for the HWND. |
| 760 PluginWindowMoves plugin_window_moves_; | 770 PluginWindowMoves plugin_window_moves_; |
| 761 #endif | 771 #endif |
| 762 | 772 |
| 763 base::TimeTicks last_draw_ended_; | 773 base::TimeTicks last_draw_ended_; |
| 764 | 774 |
| 765 // Subscriber that listens to frame presentation events. | 775 // Subscriber that listens to frame presentation events. |
| 766 scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_; | 776 scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_; |
| 767 std::vector<scoped_refptr<OwnedMailbox> > idle_frame_subscriber_textures_; | 777 std::vector<scoped_refptr<OwnedMailbox> > idle_frame_subscriber_textures_; |
| 778 std::set<OwnedMailbox*> active_frame_subscriber_textures_; |
| 768 | 779 |
| 769 // YUV readback pipeline. | 780 // YUV readback pipeline. |
| 770 scoped_ptr<content::ReadbackYUVInterface> | 781 scoped_ptr<content::ReadbackYUVInterface> |
| 771 yuv_readback_pipeline_; | 782 yuv_readback_pipeline_; |
| 772 | 783 |
| 773 TouchEditingClient* touch_editing_client_; | 784 TouchEditingClient* touch_editing_client_; |
| 774 | 785 |
| 775 std::vector<ui::LatencyInfo> software_latency_info_; | 786 std::vector<ui::LatencyInfo> software_latency_info_; |
| 776 | 787 |
| 777 struct ReleasedFrameInfo { | 788 struct ReleasedFrameInfo { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 792 // passed to windowless plugins like Flash/Silverlight, etc as the | 803 // passed to windowless plugins like Flash/Silverlight, etc as the |
| 793 // container window. | 804 // container window. |
| 794 HWND plugin_parent_window_; | 805 HWND plugin_parent_window_; |
| 795 #endif | 806 #endif |
| 796 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); | 807 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); |
| 797 }; | 808 }; |
| 798 | 809 |
| 799 } // namespace content | 810 } // namespace content |
| 800 | 811 |
| 801 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ | 812 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ |
| OLD | NEW |