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 9a4ad655d5bee8ec03003948c828de905273cdcf..14718e5bb3aa0b4d96513cb157839682ccc74be9 100644 |
--- a/content/browser/compositor/gpu_process_transport_factory.cc |
+++ b/content/browser/compositor/gpu_process_transport_factory.cc |
@@ -10,6 +10,7 @@ |
#include "base/bind.h" |
#include "base/command_line.h" |
#include "base/location.h" |
+#include "base/memory/ptr_util.h" |
#include "base/metrics/histogram.h" |
#include "base/single_thread_task_runner.h" |
#include "base/thread_task_runner_handle.h" |
@@ -89,7 +90,7 @@ struct GpuProcessTransportFactory::PerCompositorData { |
int surface_id; |
BrowserCompositorOutputSurface* surface; |
ReflectorImpl* reflector; |
- scoped_ptr<cc::OnscreenDisplayClient> display_client; |
+ std::unique_ptr<cc::OnscreenDisplayClient> display_client; |
PerCompositorData() : surface_id(0), surface(nullptr), reflector(nullptr) {} |
}; |
@@ -100,7 +101,7 @@ GpuProcessTransportFactory::GpuProcessTransportFactory() |
callback_factory_(this) { |
cc::SetClientNameForMetrics("Browser"); |
- surface_manager_ = make_scoped_ptr(new cc::SurfaceManager); |
+ surface_manager_ = base::WrapUnique(new cc::SurfaceManager); |
task_graph_runner_->Start("CompositorTileWorker1", |
base::SimpleThread::Options()); |
@@ -118,7 +119,7 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() { |
task_graph_runner_->Shutdown(); |
} |
-scoped_ptr<WebGraphicsContext3DCommandBufferImpl> |
+std::unique_ptr<WebGraphicsContext3DCommandBufferImpl> |
GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() { |
CauseForGpuLaunch cause = |
CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE; |
@@ -127,38 +128,38 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() { |
return CreateContextCommon(gpu_channel_host, gpu::kNullSurfaceHandle); |
} |
-scoped_ptr<cc::SoftwareOutputDevice> |
+std::unique_ptr<cc::SoftwareOutputDevice> |
GpuProcessTransportFactory::CreateSoftwareOutputDevice( |
ui::Compositor* compositor) { |
#if defined(MOJO_RUNNER_CLIENT) |
if (IsRunningInMojoShell()) { |
- return scoped_ptr<cc::SoftwareOutputDevice>( |
+ return std::unique_ptr<cc::SoftwareOutputDevice>( |
new SoftwareOutputDeviceMus(compositor)); |
} |
#endif |
#if defined(OS_WIN) |
- return scoped_ptr<cc::SoftwareOutputDevice>( |
+ return std::unique_ptr<cc::SoftwareOutputDevice>( |
new SoftwareOutputDeviceWin(software_backing_.get(), compositor)); |
#elif defined(USE_OZONE) |
return SoftwareOutputDeviceOzone::Create(compositor); |
#elif defined(USE_X11) |
- return scoped_ptr<cc::SoftwareOutputDevice>(new SoftwareOutputDeviceX11( |
- compositor)); |
+ return std::unique_ptr<cc::SoftwareOutputDevice>( |
+ new SoftwareOutputDeviceX11(compositor)); |
#elif defined(OS_MACOSX) |
- return scoped_ptr<cc::SoftwareOutputDevice>( |
+ return std::unique_ptr<cc::SoftwareOutputDevice>( |
new SoftwareOutputDeviceMac(compositor)); |
#else |
NOTREACHED(); |
- return scoped_ptr<cc::SoftwareOutputDevice>(); |
+ return std::unique_ptr<cc::SoftwareOutputDevice>(); |
#endif |
} |
-scoped_ptr<BrowserCompositorOverlayCandidateValidator> |
+std::unique_ptr<BrowserCompositorOverlayCandidateValidator> |
CreateOverlayCandidateValidator(gfx::AcceleratedWidget widget) { |
- scoped_ptr<BrowserCompositorOverlayCandidateValidator> validator; |
+ std::unique_ptr<BrowserCompositorOverlayCandidateValidator> validator; |
#if defined(USE_OZONE) |
- scoped_ptr<ui::OverlayCandidatesOzone> overlay_candidates = |
+ std::unique_ptr<ui::OverlayCandidatesOzone> overlay_candidates = |
ui::OzonePlatform::GetInstance() |
->GetOverlayManager() |
->CreateOverlayCandidates(widget); |
@@ -324,9 +325,9 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
} |
} |
- scoped_ptr<BrowserCompositorOutputSurface> surface; |
+ std::unique_ptr<BrowserCompositorOutputSurface> surface; |
if (!create_gpu_output_surface) { |
- surface = make_scoped_ptr(new SoftwareBrowserCompositorOutputSurface( |
+ surface = base::WrapUnique(new SoftwareBrowserCompositorOutputSurface( |
CreateSoftwareOutputDevice(compositor.get()), |
compositor->vsync_manager())); |
} else { |
@@ -334,10 +335,10 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
ContextProvider::Capabilities capabilities = |
context_provider->ContextCapabilities(); |
if (!data->surface_id) { |
- surface = make_scoped_ptr(new OffscreenBrowserCompositorOutputSurface( |
+ surface = base::WrapUnique(new OffscreenBrowserCompositorOutputSurface( |
context_provider, shared_worker_context_provider_, |
compositor->vsync_manager(), |
- scoped_ptr<BrowserCompositorOverlayCandidateValidator>())); |
+ std::unique_ptr<BrowserCompositorOverlayCandidateValidator>())); |
} else if (capabilities.gpu.surfaceless) { |
GLenum target = GL_TEXTURE_2D; |
GLenum format = GL_RGB; |
@@ -346,18 +347,18 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
format = GL_RGBA; |
#endif |
surface = |
- make_scoped_ptr(new GpuSurfacelessBrowserCompositorOutputSurface( |
+ base::WrapUnique(new GpuSurfacelessBrowserCompositorOutputSurface( |
context_provider, shared_worker_context_provider_, |
data->surface_id, compositor->vsync_manager(), |
CreateOverlayCandidateValidator(compositor->widget()), target, |
format, BrowserGpuMemoryBufferManager::current())); |
} else { |
- scoped_ptr<BrowserCompositorOverlayCandidateValidator> validator; |
+ std::unique_ptr<BrowserCompositorOverlayCandidateValidator> validator; |
#if !defined(OS_MACOSX) |
// Overlays are only supported on surfaceless output surfaces on Mac. |
validator = CreateOverlayCandidateValidator(compositor->widget()); |
#endif |
- surface = make_scoped_ptr(new GpuBrowserCompositorOutputSurface( |
+ surface = base::WrapUnique(new GpuBrowserCompositorOutputSurface( |
context_provider, shared_worker_context_provider_, |
compositor->vsync_manager(), std::move(validator))); |
} |
@@ -380,13 +381,13 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
// OnscreenDisplayClient associated with that context, then return a |
// SurfaceDisplayOutputSurface set up to draw to the display's surface. |
cc::SurfaceManager* manager = surface_manager_.get(); |
- scoped_ptr<cc::OnscreenDisplayClient> display_client( |
+ std::unique_ptr<cc::OnscreenDisplayClient> display_client( |
new cc::OnscreenDisplayClient( |
std::move(surface), manager, HostSharedBitmapManager::current(), |
BrowserGpuMemoryBufferManager::current(), |
compositor->GetRendererSettings(), compositor->task_runner())); |
- scoped_ptr<cc::SurfaceDisplayOutputSurface> output_surface( |
+ std::unique_ptr<cc::SurfaceDisplayOutputSurface> output_surface( |
new cc::SurfaceDisplayOutputSurface( |
manager, compositor->surface_id_allocator(), context_provider, |
shared_worker_context_provider_)); |
@@ -397,13 +398,13 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
compositor->SetOutputSurface(std::move(output_surface)); |
} |
-scoped_ptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector( |
+std::unique_ptr<ui::Reflector> GpuProcessTransportFactory::CreateReflector( |
ui::Compositor* source_compositor, |
ui::Layer* target_layer) { |
PerCompositorData* source_data = per_compositor_data_[source_compositor]; |
DCHECK(source_data); |
- scoped_ptr<ReflectorImpl> reflector( |
+ std::unique_ptr<ReflectorImpl> reflector( |
new ReflectorImpl(source_compositor, target_layer)); |
source_data->reflector = reflector.get(); |
if (BrowserCompositorOutputSurface* source_surface = source_data->surface) |
@@ -440,7 +441,7 @@ void GpuProcessTransportFactory::RemoveCompositor(ui::Compositor* compositor) { |
// GLHelper created in this case would be lost/leaked if we just reset() |
// on the |gl_helper_| variable directly. So instead we call reset() on a |
// local scoped_ptr. |
- scoped_ptr<GLHelper> helper = std::move(gl_helper_); |
+ std::unique_ptr<GLHelper> helper = std::move(gl_helper_); |
// If there are any observer left at this point, make sure they clean up |
// before we destroy the GLHelper. |
@@ -482,10 +483,10 @@ ui::ContextFactory* GpuProcessTransportFactory::GetContextFactory() { |
return this; |
} |
-scoped_ptr<cc::SurfaceIdAllocator> |
+std::unique_ptr<cc::SurfaceIdAllocator> |
GpuProcessTransportFactory::CreateSurfaceIdAllocator() { |
- scoped_ptr<cc::SurfaceIdAllocator> allocator = |
- make_scoped_ptr(new cc::SurfaceIdAllocator(next_surface_id_namespace_++)); |
+ std::unique_ptr<cc::SurfaceIdAllocator> allocator = base::WrapUnique( |
+ new cc::SurfaceIdAllocator(next_surface_id_namespace_++)); |
if (GetSurfaceManager()) |
allocator->RegisterSurfaceIdNamespace(GetSurfaceManager()); |
return allocator; |
@@ -606,7 +607,7 @@ GpuProcessTransportFactory::CreatePerCompositorData( |
return data; |
} |
-scoped_ptr<WebGraphicsContext3DCommandBufferImpl> |
+std::unique_ptr<WebGraphicsContext3DCommandBufferImpl> |
GpuProcessTransportFactory::CreateContextCommon( |
scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, |
gpu::SurfaceHandle surface_handle) { |
@@ -642,7 +643,7 @@ GpuProcessTransportFactory::CreateContextCommon( |
bool automatic_flushes = false; |
GURL url("chrome://gpu/GpuProcessTransportFactory::CreateContextCommon"); |
- scoped_ptr<WebGraphicsContext3DCommandBufferImpl> context( |
+ std::unique_ptr<WebGraphicsContext3DCommandBufferImpl> context( |
new WebGraphicsContext3DCommandBufferImpl( |
surface_handle, url, gpu_channel_host.get(), attributes, |
gfx::PreferIntegratedGpu, share_resources, automatic_flushes, |
@@ -669,7 +670,7 @@ void GpuProcessTransportFactory::OnLostMainThreadSharedContext() { |
shared_main_thread_contexts_; |
shared_main_thread_contexts_ = NULL; |
- scoped_ptr<GLHelper> lost_gl_helper = std::move(gl_helper_); |
+ std::unique_ptr<GLHelper> lost_gl_helper = std::move(gl_helper_); |
FOR_EACH_OBSERVER(ImageTransportFactoryObserver, |
observer_list_, |