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

Side by Side Diff: content/renderer/gpu/render_widget_compositor.h

Issue 1873783003: Convert //content/renderer from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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_RENDERER_GPU_RENDER_WIDGET_COMPOSITOR_H_ 5 #ifndef CONTENT_RENDERER_GPU_RENDER_WIDGET_COMPOSITOR_H_
6 #define CONTENT_RENDERER_GPU_RENDER_WIDGET_COMPOSITOR_H_ 6 #define CONTENT_RENDERER_GPU_RENDER_WIDGET_COMPOSITOR_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 class RenderWidgetCompositorDelegate; 46 class RenderWidgetCompositorDelegate;
47 47
48 class CONTENT_EXPORT RenderWidgetCompositor 48 class CONTENT_EXPORT RenderWidgetCompositor
49 : NON_EXPORTED_BASE(public blink::WebLayerTreeView), 49 : NON_EXPORTED_BASE(public blink::WebLayerTreeView),
50 NON_EXPORTED_BASE(public cc::LayerTreeHostClient), 50 NON_EXPORTED_BASE(public cc::LayerTreeHostClient),
51 NON_EXPORTED_BASE(public cc::LayerTreeHostSingleThreadClient), 51 NON_EXPORTED_BASE(public cc::LayerTreeHostSingleThreadClient),
52 NON_EXPORTED_BASE(public cc::RemoteProtoChannel) { 52 NON_EXPORTED_BASE(public cc::RemoteProtoChannel) {
53 public: 53 public:
54 // Attempt to construct and initialize a compositor instance for the widget 54 // Attempt to construct and initialize a compositor instance for the widget
55 // with the given settings. Returns NULL if initialization fails. 55 // with the given settings. Returns NULL if initialization fails.
56 static scoped_ptr<RenderWidgetCompositor> Create( 56 static std::unique_ptr<RenderWidgetCompositor> Create(
57 RenderWidgetCompositorDelegate* delegate, 57 RenderWidgetCompositorDelegate* delegate,
58 float device_scale_factor, 58 float device_scale_factor,
59 CompositorDependencies* compositor_deps); 59 CompositorDependencies* compositor_deps);
60 60
61 ~RenderWidgetCompositor() override; 61 ~RenderWidgetCompositor() override;
62 62
63 void SetNeverVisible(); 63 void SetNeverVisible();
64 const base::WeakPtr<cc::InputHandler>& GetInputHandler(); 64 const base::WeakPtr<cc::InputHandler>& GetInputHandler();
65 bool BeginMainFrameRequested() const; 65 bool BeginMainFrameRequested() const;
66 void SetNeedsDisplayOnAllLayers(); 66 void SetNeedsDisplayOnAllLayers();
67 void SetRasterizeOnlyVisibleContent(); 67 void SetRasterizeOnlyVisibleContent();
68 void SetNeedsRedrawRect(gfx::Rect damage_rect); 68 void SetNeedsRedrawRect(gfx::Rect damage_rect);
69 // Like setNeedsRedraw but forces the frame to be drawn, without early-outs. 69 // Like setNeedsRedraw but forces the frame to be drawn, without early-outs.
70 // Redraw will be forced after the next commit 70 // Redraw will be forced after the next commit
71 void SetNeedsForcedRedraw(); 71 void SetNeedsForcedRedraw();
72 // Calling CreateLatencyInfoSwapPromiseMonitor() to get a scoped 72 // Calling CreateLatencyInfoSwapPromiseMonitor() to get a scoped
73 // LatencyInfoSwapPromiseMonitor. During the life time of the 73 // LatencyInfoSwapPromiseMonitor. During the life time of the
74 // LatencyInfoSwapPromiseMonitor, if SetNeedsCommit() or 74 // LatencyInfoSwapPromiseMonitor, if SetNeedsCommit() or
75 // SetNeedsUpdateLayers() is called on LayerTreeHost, the original latency 75 // SetNeedsUpdateLayers() is called on LayerTreeHost, the original latency
76 // info will be turned into a LatencyInfoSwapPromise. 76 // info will be turned into a LatencyInfoSwapPromise.
77 scoped_ptr<cc::SwapPromiseMonitor> CreateLatencyInfoSwapPromiseMonitor( 77 std::unique_ptr<cc::SwapPromiseMonitor> CreateLatencyInfoSwapPromiseMonitor(
78 ui::LatencyInfo* latency); 78 ui::LatencyInfo* latency);
79 // Calling QueueSwapPromise() to directly queue a SwapPromise into 79 // Calling QueueSwapPromise() to directly queue a SwapPromise into
80 // LayerTreeHost. 80 // LayerTreeHost.
81 void QueueSwapPromise(scoped_ptr<cc::SwapPromise> swap_promise); 81 void QueueSwapPromise(std::unique_ptr<cc::SwapPromise> swap_promise);
82 int GetSourceFrameNumber() const; 82 int GetSourceFrameNumber() const;
83 void SetNeedsUpdateLayers(); 83 void SetNeedsUpdateLayers();
84 void SetNeedsCommit(); 84 void SetNeedsCommit();
85 void NotifyInputThrottledUntilCommit(); 85 void NotifyInputThrottledUntilCommit();
86 const cc::Layer* GetRootLayer() const; 86 const cc::Layer* GetRootLayer() const;
87 int ScheduleMicroBenchmark( 87 int ScheduleMicroBenchmark(
88 const std::string& name, 88 const std::string& name,
89 scoped_ptr<base::Value> value, 89 std::unique_ptr<base::Value> value,
90 const base::Callback<void(scoped_ptr<base::Value>)>& callback); 90 const base::Callback<void(std::unique_ptr<base::Value>)>& callback);
91 bool SendMessageToMicroBenchmark(int id, scoped_ptr<base::Value> value); 91 bool SendMessageToMicroBenchmark(int id, std::unique_ptr<base::Value> value);
92 void SetSurfaceIdNamespace(uint32_t surface_id_namespace); 92 void SetSurfaceIdNamespace(uint32_t surface_id_namespace);
93 void OnHandleCompositorProto(const std::vector<uint8_t>& proto); 93 void OnHandleCompositorProto(const std::vector<uint8_t>& proto);
94 cc::ManagedMemoryPolicy GetGpuMemoryPolicy( 94 cc::ManagedMemoryPolicy GetGpuMemoryPolicy(
95 const cc::ManagedMemoryPolicy& policy); 95 const cc::ManagedMemoryPolicy& policy);
96 void SetPaintedDeviceScaleFactor(float device_scale); 96 void SetPaintedDeviceScaleFactor(float device_scale);
97 97
98 // WebLayerTreeView implementation. 98 // WebLayerTreeView implementation.
99 void setRootLayer(const blink::WebLayer& layer) override; 99 void setRootLayer(const blink::WebLayer& layer) override;
100 void clearRootLayer() override; 100 void clearRootLayer() override;
101 void attachCompositorAnimationTimeline( 101 void attachCompositorAnimationTimeline(
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 float top_controls_delta) override; 166 float top_controls_delta) override;
167 void RequestNewOutputSurface() override; 167 void RequestNewOutputSurface() override;
168 void DidInitializeOutputSurface() override; 168 void DidInitializeOutputSurface() override;
169 void DidFailToInitializeOutputSurface() override; 169 void DidFailToInitializeOutputSurface() override;
170 void WillCommit() override; 170 void WillCommit() override;
171 void DidCommit() override; 171 void DidCommit() override;
172 void DidCommitAndDrawFrame() override; 172 void DidCommitAndDrawFrame() override;
173 void DidCompleteSwapBuffers() override; 173 void DidCompleteSwapBuffers() override;
174 void DidCompletePageScaleAnimation() override; 174 void DidCompletePageScaleAnimation() override;
175 void RecordFrameTimingEvents( 175 void RecordFrameTimingEvents(
176 scoped_ptr<cc::FrameTimingTracker::CompositeTimingSet> composite_events, 176 std::unique_ptr<cc::FrameTimingTracker::CompositeTimingSet>
177 scoped_ptr<cc::FrameTimingTracker::MainFrameTimingSet> main_frame_events) 177 composite_events,
178 override; 178 std::unique_ptr<cc::FrameTimingTracker::MainFrameTimingSet>
179 main_frame_events) override;
179 180
180 // cc::LayerTreeHostSingleThreadClient implementation. 181 // cc::LayerTreeHostSingleThreadClient implementation.
181 void RequestScheduleAnimation() override; 182 void RequestScheduleAnimation() override;
182 void DidPostSwapBuffers() override; 183 void DidPostSwapBuffers() override;
183 void DidAbortSwapBuffers() override; 184 void DidAbortSwapBuffers() override;
184 185
185 // cc::RemoteProtoChannel implementation. 186 // cc::RemoteProtoChannel implementation.
186 void SetProtoReceiver(ProtoReceiver* receiver) override; 187 void SetProtoReceiver(ProtoReceiver* receiver) override;
187 void SendCompositorProto(const cc::proto::CompositorMessage& proto) override; 188 void SendCompositorProto(const cc::proto::CompositorMessage& proto) override;
188 189
(...skipping 13 matching lines...) Expand all
202 203
203 private: 204 private:
204 void LayoutAndUpdateLayers(); 205 void LayoutAndUpdateLayers();
205 void InvokeLayoutAndPaintCallback(); 206 void InvokeLayoutAndPaintCallback();
206 bool CompositeIsSynchronous() const; 207 bool CompositeIsSynchronous() const;
207 void SynchronouslyComposite(); 208 void SynchronouslyComposite();
208 209
209 int num_failed_recreate_attempts_; 210 int num_failed_recreate_attempts_;
210 RenderWidgetCompositorDelegate* const delegate_; 211 RenderWidgetCompositorDelegate* const delegate_;
211 CompositorDependencies* const compositor_deps_; 212 CompositorDependencies* const compositor_deps_;
212 scoped_ptr<cc::LayerTreeHost> layer_tree_host_; 213 std::unique_ptr<cc::LayerTreeHost> layer_tree_host_;
213 bool never_visible_; 214 bool never_visible_;
214 215
215 blink::WebLayoutAndPaintAsyncCallback* layout_and_paint_async_callback_; 216 blink::WebLayoutAndPaintAsyncCallback* layout_and_paint_async_callback_;
216 scoped_ptr<cc::CopyOutputRequest> temporary_copy_output_request_; 217 std::unique_ptr<cc::CopyOutputRequest> temporary_copy_output_request_;
217 218
218 cc::RemoteProtoChannel::ProtoReceiver* remote_proto_channel_receiver_; 219 cc::RemoteProtoChannel::ProtoReceiver* remote_proto_channel_receiver_;
219 220
220 base::WeakPtrFactory<RenderWidgetCompositor> weak_factory_; 221 base::WeakPtrFactory<RenderWidgetCompositor> weak_factory_;
221 }; 222 };
222 223
223 } // namespace content 224 } // namespace content
224 225
225 #endif // CONTENT_RENDERER_GPU_RENDER_WIDGET_COMPOSITOR_H_ 226 #endif // CONTENT_RENDERER_GPU_RENDER_WIDGET_COMPOSITOR_H_
OLDNEW
« no previous file with comments | « content/renderer/gpu/queue_message_swap_promise_unittest.cc ('k') | content/renderer/gpu/render_widget_compositor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698