| Index: content/browser/compositor/delegated_frame_host.h
|
| diff --git a/content/browser/compositor/delegated_frame_host.h b/content/browser/compositor/delegated_frame_host.h
|
| index 593455b97fb183f9f6372ece5dc6e6d1a239d07e..a2d9171718b1ffa57636e8adcb7da444346d2562 100644
|
| --- a/content/browser/compositor/delegated_frame_host.h
|
| +++ b/content/browser/compositor/delegated_frame_host.h
|
| @@ -44,25 +44,26 @@ class ResizeLock;
|
| // display them.
|
| class CONTENT_EXPORT DelegatedFrameHostClient {
|
| public:
|
| - virtual ui::Layer* GetLayer() = 0;
|
| - virtual RenderWidgetHostImpl* GetHost() = 0;
|
| - virtual bool IsVisible() = 0;
|
| - virtual scoped_ptr<ResizeLock> CreateResizeLock(
|
| + virtual ui::Layer* DelegatedFrameHostGetLayer() const = 0;
|
| + virtual bool DelegatedFrameHostIsVisible() const = 0;
|
| + virtual gfx::Size DelegatedFrameHostDesiredSizeInDIP() const = 0;
|
| +
|
| + virtual bool DelegatedFrameCanCreateResizeLock() const = 0;
|
| + virtual scoped_ptr<ResizeLock> DelegatedFrameHostCreateResizeLock(
|
| bool defer_compositor_lock) = 0;
|
| - virtual gfx::Size DesiredFrameSize() = 0;
|
| -
|
| - // TODO(ccameron): It is likely that at least one of these two functions is
|
| - // redundant. Find which one, and delete it.
|
| - virtual float CurrentDeviceScaleFactor() = 0;
|
| - virtual gfx::Size ConvertViewSizeToPixel(const gfx::Size& size) = 0;
|
| -
|
| - // These are to be overridden for testing only.
|
| - // TODO(ccameron): This is convoluted. Make the tests that need to override
|
| - // these functions test DelegatedFrameHost directly (rather than do it
|
| - // through RenderWidgetHostViewAura).
|
| - virtual DelegatedFrameHost* GetDelegatedFrameHost() const = 0;
|
| - virtual bool ShouldCreateResizeLock();
|
| - virtual void RequestCopyOfOutput(scoped_ptr<cc::CopyOutputRequest> request);
|
| + virtual void DelegatedFrameHostResizeLockWasReleased() = 0;
|
| +
|
| + virtual void DelegatedFrameHostSendCompositorSwapAck(
|
| + int output_surface_id,
|
| + const cc::CompositorFrameAck& ack) = 0;
|
| + virtual void DelegatedFrameHostSendReclaimCompositorResources(
|
| + int output_surface_id,
|
| + const cc::CompositorFrameAck& ack) = 0;
|
| + virtual void DelegatedFrameHostOnLostCompositorResources() = 0;
|
| +
|
| + virtual void DelegatedFrameHostUpdateVSyncParameters(
|
| + const base::TimeTicks& timebase,
|
| + const base::TimeDelta& interval) = 0;
|
| };
|
|
|
| // The DelegatedFrameHost is used to host all of the RenderWidgetHostView state
|
| @@ -120,10 +121,13 @@ class CONTENT_EXPORT DelegatedFrameHost
|
| void OnCompositingDidCommitForTesting(ui::Compositor* compositor) {
|
| OnCompositingDidCommit(compositor);
|
| }
|
| - bool ShouldCreateResizeLockForTesting() { return ShouldCreateResizeLock(); }
|
| bool ReleasedFrontLockActiveForTesting() const {
|
| return !!released_front_lock_.get();
|
| }
|
| + void SetRequestCopyOfOutputCallbackForTesting(
|
| + const base::Callback<void(scoped_ptr<cc::CopyOutputRequest>)>& callback) {
|
| + request_copy_of_output_callback_for_testing_ = callback;
|
| + }
|
|
|
| private:
|
| friend class DelegatedFrameHostClient;
|
| @@ -138,10 +142,9 @@ class CONTENT_EXPORT DelegatedFrameHost
|
| return frame_subscriber_.get();
|
| }
|
| bool ShouldCreateResizeLock();
|
| - void RequestCopyOfOutput(scoped_ptr<cc::CopyOutputRequest> request);
|
| -
|
| void LockResources();
|
| void UnlockResources();
|
| + void RequestCopyOfOutput(scoped_ptr<cc::CopyOutputRequest> request);
|
|
|
| // Overridden from ui::CompositorObserver:
|
| void OnCompositingDidCommit(ui::Compositor* compositor) override;
|
| @@ -226,8 +229,7 @@ class CONTENT_EXPORT DelegatedFrameHost
|
|
|
| void DidReceiveFrameFromRenderer(const gfx::Rect& damage_rect);
|
|
|
| - DelegatedFrameHostClient* client_;
|
| -
|
| + DelegatedFrameHostClient* const client_;
|
| ui::Compositor* compositor_;
|
|
|
| // True if this renders into a Surface, false if it renders into a delegated
|
| @@ -305,6 +307,11 @@ class CONTENT_EXPORT DelegatedFrameHost
|
| scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_;
|
| std::vector<scoped_refptr<OwnedMailbox> > idle_frame_subscriber_textures_;
|
|
|
| + // Callback used to pass the output request to the layer or to a function
|
| + // specified by a test.
|
| + base::Callback<void(scoped_ptr<cc::CopyOutputRequest>)>
|
| + request_copy_of_output_callback_for_testing_;
|
| +
|
| // YUV readback pipeline.
|
| scoped_ptr<content::ReadbackYUVInterface>
|
| yuv_readback_pipeline_;
|
|
|