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

Unified Diff: content/browser/compositor/gpu_process_transport_factory.cc

Issue 2297473002: Use unique ptr for PerCompositorData (Closed)
Patch Set: Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/compositor/gpu_process_transport_factory.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/compositor/gpu_process_transport_factory.cc
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
index 9af7049aa73f0f6b660511d0caac792b9f5bcea8..6e94f4867cd31d5f7bed294e0892d3544e709427 100644
--- a/content/browser/compositor/gpu_process_transport_factory.cc
+++ b/content/browser/compositor/gpu_process_transport_factory.cc
@@ -282,7 +282,7 @@ static bool ShouldCreateGpuOutputSurface(ui::Compositor* compositor) {
void GpuProcessTransportFactory::CreateOutputSurface(
base::WeakPtr<ui::Compositor> compositor) {
DCHECK(!!compositor);
- PerCompositorData* data = per_compositor_data_[compositor.get()];
+ PerCompositorData* data = per_compositor_data_[compositor.get()].get();
if (!data) {
data = CreatePerCompositorData(compositor.get());
} else {
@@ -326,7 +326,7 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
if (num_attempts > kNumRetriesBeforeSoftwareFallback) {
@@ -573,7 +573,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
std::unique_ptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector(
ui::Compositor* source_compositor,
ui::Layer* target_layer) {
- PerCompositorData* source_data = per_compositor_data_[source_compositor];
+ PerCompositorData* source_data =
+ per_compositor_data_[source_compositor].get();
DCHECK(source_data);
std::unique_ptr<ReflectorImpl> reflector(
@@ -587,7 +588,7 @@ std::unique_ptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector(
void GpuProcessTransportFactory::RemoveReflector(ui::Reflector* reflector) {
ReflectorImpl* reflector_impl = static_cast<ReflectorImpl*>(reflector);
PerCompositorData* data =
- per_compositor_data_[reflector_impl->mirrored_compositor()];
+ per_compositor_data_[reflector_impl->mirrored_compositor()].get();
DCHECK(data);
data->reflector->Shutdown();
data->reflector = nullptr;
@@ -597,13 +598,12 @@ void GpuProcessTransportFactory::RemoveCompositor(ui::Compositor* compositor) {
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor);
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
#if !defined(GPU_SURFACE_HANDLE_IS_ACCELERATED_WINDOW)
if (data->surface_handle)
GpuSurfaceTracker::Get()->RemoveSurface(data->surface_handle);
#endif
- delete data;
per_compositor_data_.erase(it);
if (per_compositor_data_.empty()) {
// Destroying the GLHelper may cause some async actions to be cancelled,
@@ -663,7 +663,7 @@ void GpuProcessTransportFactory::SetDisplayVisible(ui::Compositor* compositor,
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor);
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
// The compositor will always SetVisible on the Display once it is set up, so
// do nothing if |display| is null.
@@ -676,7 +676,7 @@ void GpuProcessTransportFactory::ResizeDisplay(ui::Compositor* compositor,
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor);
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
if (data->display)
data->display->Resize(size);
@@ -688,7 +688,7 @@ void GpuProcessTransportFactory::SetDisplayColorSpace(
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor);
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
data->color_space = color_space;
if (data->display)
@@ -701,7 +701,7 @@ void GpuProcessTransportFactory::SetAuthoritativeVSyncInterval(
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor);
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
if (data->begin_frame_source)
data->begin_frame_source->SetAuthoritativeVSyncInterval(interval);
@@ -714,7 +714,7 @@ void GpuProcessTransportFactory::SetDisplayVSyncParameters(
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor);
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
if (data->begin_frame_source)
data->begin_frame_source->OnUpdateVSyncParameters(timebase, interval);
@@ -725,7 +725,7 @@ void GpuProcessTransportFactory::SetOutputIsSecure(ui::Compositor* compositor,
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor);
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
data->output_is_secure = secure;
if (data->display)
@@ -770,7 +770,7 @@ void GpuProcessTransportFactory::SetCompositorSuspendedForRecycle(
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor);
if (it == per_compositor_data_.end())
return;
- PerCompositorData* data = it->second;
+ PerCompositorData* data = it->second.get();
DCHECK(data);
if (data->display_output_surface)
data->display_output_surface->SetSurfaceSuspendedForRecycle(suspended);
@@ -820,7 +820,7 @@ GpuProcessTransportFactory::CreatePerCompositorData(
gfx::AcceleratedWidget widget = compositor->widget();
- PerCompositorData* data = new PerCompositorData;
+ auto data = base::MakeUnique<PerCompositorData>();
if (widget == gfx::kNullAcceleratedWidget) {
data->surface_handle = gpu::kNullSurfaceHandle;
} else {
@@ -832,9 +832,9 @@ GpuProcessTransportFactory::CreatePerCompositorData(
#endif
}
- per_compositor_data_[compositor] = data;
-
- return data;
+ PerCompositorData* return_ptr = data.get();
+ per_compositor_data_[compositor] = std::move(data);
+ return return_ptr;
}
void GpuProcessTransportFactory::OnLostMainThreadSharedContextInsideCallback() {
« no previous file with comments | « content/browser/compositor/gpu_process_transport_factory.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698