Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Side by Side Diff: content/browser/compositor/delegated_frame_host.h

Issue 859423002: Explicitly specify the ui::Compositor to DelegatedFrameHost (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use compositor Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/wm/window_animations.cc ('k') | content/browser/compositor/delegated_frame_host.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_COMPOSITOR_DELEGATED_FRAME_HOST_H_ 5 #ifndef CONTENT_BROWSER_COMPOSITOR_DELEGATED_FRAME_HOST_H_
6 #define CONTENT_BROWSER_COMPOSITOR_DELEGATED_FRAME_HOST_H_ 6 #define CONTENT_BROWSER_COMPOSITOR_DELEGATED_FRAME_HOST_H_
7 7
8 #include "cc/layers/delegated_frame_provider.h" 8 #include "cc/layers/delegated_frame_provider.h"
9 #include "cc/layers/delegated_frame_resource_collection.h" 9 #include "cc/layers/delegated_frame_resource_collection.h"
10 #include "cc/output/copy_output_result.h" 10 #include "cc/output/copy_output_result.h"
(...skipping 26 matching lines...) Expand all
37 class ReadbackYUVInterface; 37 class ReadbackYUVInterface;
38 class RenderWidgetHostViewFrameSubscriber; 38 class RenderWidgetHostViewFrameSubscriber;
39 class RenderWidgetHostImpl; 39 class RenderWidgetHostImpl;
40 class ResizeLock; 40 class ResizeLock;
41 41
42 // The DelegatedFrameHostClient is the interface from the DelegatedFrameHost, 42 // The DelegatedFrameHostClient is the interface from the DelegatedFrameHost,
43 // which manages delegated frames, and the ui::Compositor being used to 43 // which manages delegated frames, and the ui::Compositor being used to
44 // display them. 44 // display them.
45 class CONTENT_EXPORT DelegatedFrameHostClient { 45 class CONTENT_EXPORT DelegatedFrameHostClient {
46 public: 46 public:
47 virtual ui::Compositor* GetCompositor() const = 0;
48 virtual ui::Layer* GetLayer() = 0; 47 virtual ui::Layer* GetLayer() = 0;
49 virtual RenderWidgetHostImpl* GetHost() = 0; 48 virtual RenderWidgetHostImpl* GetHost() = 0;
50 virtual bool IsVisible() = 0; 49 virtual bool IsVisible() = 0;
51 virtual scoped_ptr<ResizeLock> CreateResizeLock( 50 virtual scoped_ptr<ResizeLock> CreateResizeLock(
52 bool defer_compositor_lock) = 0; 51 bool defer_compositor_lock) = 0;
53 virtual gfx::Size DesiredFrameSize() = 0; 52 virtual gfx::Size DesiredFrameSize() = 0;
54 53
55 // TODO(ccameron): It is likely that at least one of these two functions is 54 // TODO(ccameron): It is likely that at least one of these two functions is
56 // redundant. Find which one, and delete it. 55 // redundant. Find which one, and delete it.
57 virtual float CurrentDeviceScaleFactor() = 0; 56 virtual float CurrentDeviceScaleFactor() = 0;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 void SwapDelegatedFrame( 88 void SwapDelegatedFrame(
90 uint32 output_surface_id, 89 uint32 output_surface_id,
91 scoped_ptr<cc::DelegatedFrameData> frame_data, 90 scoped_ptr<cc::DelegatedFrameData> frame_data,
92 float frame_device_scale_factor, 91 float frame_device_scale_factor,
93 const std::vector<ui::LatencyInfo>& latency_info); 92 const std::vector<ui::LatencyInfo>& latency_info);
94 void WasHidden(); 93 void WasHidden();
95 void WasShown(const ui::LatencyInfo& latency_info); 94 void WasShown(const ui::LatencyInfo& latency_info);
96 void WasResized(); 95 void WasResized();
97 bool HasSavedFrame(); 96 bool HasSavedFrame();
98 gfx::Size GetRequestedRendererSize() const; 97 gfx::Size GetRequestedRendererSize() const;
99 void AddedToWindow(); 98 void SetCompositor(ui::Compositor* compositor);
100 void RemovingFromWindow(); 99 void ResetCompositor();
101 void CopyFromCompositingSurface(const gfx::Rect& src_subrect, 100 void CopyFromCompositingSurface(const gfx::Rect& src_subrect,
102 const gfx::Size& output_size, 101 const gfx::Size& output_size,
103 ReadbackRequestCallback& callback, 102 ReadbackRequestCallback& callback,
104 const SkColorType color_type); 103 const SkColorType color_type);
105 void CopyFromCompositingSurfaceToVideoFrame( 104 void CopyFromCompositingSurfaceToVideoFrame(
106 const gfx::Rect& src_subrect, 105 const gfx::Rect& src_subrect,
107 const scoped_refptr<media::VideoFrame>& target, 106 const scoped_refptr<media::VideoFrame>& target,
108 const base::Callback<void(bool)>& callback); 107 const base::Callback<void(bool)>& callback);
109 bool CanCopyToVideoFrame() const; 108 bool CanCopyToVideoFrame() const;
110 bool CanSubscribeFrame() const; 109 bool CanSubscribeFrame() const;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 void LockResources(); 143 void LockResources();
145 void UnlockResources(); 144 void UnlockResources();
146 145
147 // Overridden from ui::CompositorObserver: 146 // Overridden from ui::CompositorObserver:
148 void OnCompositingDidCommit(ui::Compositor* compositor) override; 147 void OnCompositingDidCommit(ui::Compositor* compositor) override;
149 void OnCompositingStarted(ui::Compositor* compositor, 148 void OnCompositingStarted(ui::Compositor* compositor,
150 base::TimeTicks start_time) override; 149 base::TimeTicks start_time) override;
151 void OnCompositingEnded(ui::Compositor* compositor) override; 150 void OnCompositingEnded(ui::Compositor* compositor) override;
152 void OnCompositingAborted(ui::Compositor* compositor) override; 151 void OnCompositingAborted(ui::Compositor* compositor) override;
153 void OnCompositingLockStateChanged(ui::Compositor* compositor) override; 152 void OnCompositingLockStateChanged(ui::Compositor* compositor) override;
153 void OnCompositingShuttingDown(ui::Compositor* compositor) override;
154 154
155 // Overridden from ui::CompositorVSyncManager::Observer: 155 // Overridden from ui::CompositorVSyncManager::Observer:
156 void OnUpdateVSyncParameters(base::TimeTicks timebase, 156 void OnUpdateVSyncParameters(base::TimeTicks timebase,
157 base::TimeDelta interval) override; 157 base::TimeDelta interval) override;
158 158
159 // Overridden from ui::LayerOwnerObserver: 159 // Overridden from ui::LayerOwnerObserver:
160 void OnLayerRecreated(ui::Layer* old_layer, ui::Layer* new_layer) override; 160 void OnLayerRecreated(ui::Layer* old_layer, ui::Layer* new_layer) override;
161 161
162 // Overridden from ImageTransportFactoryObserver: 162 // Overridden from ImageTransportFactoryObserver:
163 void OnLostResources() override; 163 void OnLostResources() override;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 // cc::DelegatedFrameProviderClient implementation. 221 // cc::DelegatedFrameProviderClient implementation.
222 void UnusedResourcesAreAvailable() override; 222 void UnusedResourcesAreAvailable() override;
223 223
224 // cc::SurfaceFactoryClient implementation. 224 // cc::SurfaceFactoryClient implementation.
225 void ReturnResources(const cc::ReturnedResourceArray& resources) override; 225 void ReturnResources(const cc::ReturnedResourceArray& resources) override;
226 226
227 void DidReceiveFrameFromRenderer(const gfx::Rect& damage_rect); 227 void DidReceiveFrameFromRenderer(const gfx::Rect& damage_rect);
228 228
229 DelegatedFrameHostClient* client_; 229 DelegatedFrameHostClient* client_;
230 230
231 ui::Compositor* compositor_;
232
231 // True if this renders into a Surface, false if it renders into a delegated 233 // True if this renders into a Surface, false if it renders into a delegated
232 // layer. 234 // layer.
233 bool use_surfaces_; 235 bool use_surfaces_;
234 236
235 std::vector<base::Closure> on_compositing_did_commit_callbacks_; 237 std::vector<base::Closure> on_compositing_did_commit_callbacks_;
236 238
237 // The vsync manager we are observing for changes, if any. 239 // The vsync manager we are observing for changes, if any.
238 scoped_refptr<ui::CompositorVSyncManager> vsync_manager_; 240 scoped_refptr<ui::CompositorVSyncManager> vsync_manager_;
239 241
240 // The current VSync timebase and interval. These are zero until the first 242 // The current VSync timebase and interval. These are zero until the first
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 // YUV readback pipeline. 308 // YUV readback pipeline.
307 scoped_ptr<content::ReadbackYUVInterface> 309 scoped_ptr<content::ReadbackYUVInterface>
308 yuv_readback_pipeline_; 310 yuv_readback_pipeline_;
309 311
310 scoped_ptr<DelegatedFrameEvictor> delegated_frame_evictor_; 312 scoped_ptr<DelegatedFrameEvictor> delegated_frame_evictor_;
311 }; 313 };
312 314
313 } // namespace content 315 } // namespace content
314 316
315 #endif // CONTENT_BROWSER_COMPOSITOR_DELEGATED_FRAME_HOST_H_ 317 #endif // CONTENT_BROWSER_COMPOSITOR_DELEGATED_FRAME_HOST_H_
OLDNEW
« no previous file with comments | « ash/wm/window_animations.cc ('k') | content/browser/compositor/delegated_frame_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698