| Index: content/renderer/pepper/content_renderer_pepper_host_factory.cc
|
| diff --git a/content/renderer/pepper/content_renderer_pepper_host_factory.cc b/content/renderer/pepper/content_renderer_pepper_host_factory.cc
|
| index fc216e1c468f5a2d0ceada51f26f91d39b41049f..8f13230a8430fc6a34febfdfecb17acccd022548 100644
|
| --- a/content/renderer/pepper/content_renderer_pepper_host_factory.cc
|
| +++ b/content/renderer/pepper/content_renderer_pepper_host_factory.cc
|
| @@ -7,6 +7,7 @@
|
| #include <utility>
|
|
|
| #include "base/logging.h"
|
| +#include "base/memory/ptr_util.h"
|
| #include "base/strings/string_util.h"
|
| #include "build/build_config.h"
|
| #include "content/common/content_switches_internal.h"
|
| @@ -101,7 +102,8 @@ ContentRendererPepperHostFactory::ContentRendererPepperHostFactory(
|
|
|
| ContentRendererPepperHostFactory::~ContentRendererPepperHostFactory() {}
|
|
|
| -scoped_ptr<ResourceHost> ContentRendererPepperHostFactory::CreateResourceHost(
|
| +std::unique_ptr<ResourceHost>
|
| +ContentRendererPepperHostFactory::CreateResourceHost(
|
| ppapi::host::PpapiHost* host,
|
| PP_Resource resource,
|
| PP_Instance instance,
|
| @@ -110,19 +112,19 @@ scoped_ptr<ResourceHost> ContentRendererPepperHostFactory::CreateResourceHost(
|
|
|
| // Make sure the plugin is giving us a valid instance for this resource.
|
| if (!host_->IsValidInstance(instance))
|
| - return scoped_ptr<ResourceHost>();
|
| + return nullptr;
|
|
|
| PepperPluginInstanceImpl* instance_impl =
|
| host_->GetPluginInstanceImpl(instance);
|
| if (!instance_impl->render_frame())
|
| - return scoped_ptr<ResourceHost>();
|
| + return nullptr;
|
|
|
| // Public interfaces.
|
| switch (message.type()) {
|
| case PpapiHostMsg_Compositor_Create::ID: {
|
| if (!CanUseCompositorAPI(host_, instance))
|
| - return scoped_ptr<ResourceHost>();
|
| - return scoped_ptr<ResourceHost>(
|
| + return nullptr;
|
| + return base::WrapUnique(
|
| new PepperCompositorHost(host_, instance, resource));
|
| }
|
| case PpapiHostMsg_FileRef_CreateForFileAPI::ID: {
|
| @@ -131,9 +133,9 @@ scoped_ptr<ResourceHost> ContentRendererPepperHostFactory::CreateResourceHost(
|
| if (!UnpackMessage<PpapiHostMsg_FileRef_CreateForFileAPI>(
|
| message, &file_system, &internal_path)) {
|
| NOTREACHED();
|
| - return scoped_ptr<ResourceHost>();
|
| + return nullptr;
|
| }
|
| - return scoped_ptr<ResourceHost>(new PepperFileRefRendererHost(
|
| + return base::WrapUnique(new PepperFileRefRendererHost(
|
| host_, instance, resource, file_system, internal_path));
|
| }
|
| case PpapiHostMsg_FileSystem_Create::ID: {
|
| @@ -141,9 +143,9 @@ scoped_ptr<ResourceHost> ContentRendererPepperHostFactory::CreateResourceHost(
|
| if (!UnpackMessage<PpapiHostMsg_FileSystem_Create>(message,
|
| &file_system_type)) {
|
| NOTREACHED();
|
| - return scoped_ptr<ResourceHost>();
|
| + return nullptr;
|
| }
|
| - return scoped_ptr<ResourceHost>(new PepperFileSystemHost(
|
| + return base::WrapUnique(new PepperFileSystemHost(
|
| host_, instance, resource, file_system_type));
|
| }
|
| case PpapiHostMsg_Graphics2D_Create::ID: {
|
| @@ -152,7 +154,7 @@ scoped_ptr<ResourceHost> ContentRendererPepperHostFactory::CreateResourceHost(
|
| if (!UnpackMessage<PpapiHostMsg_Graphics2D_Create>(
|
| message, &size, &is_always_opaque)) {
|
| NOTREACHED();
|
| - return scoped_ptr<ResourceHost>();
|
| + return nullptr;
|
| }
|
| ppapi::PPB_ImageData_Shared::ImageDataType image_type =
|
| ppapi::PPB_ImageData_Shared::PLATFORM;
|
| @@ -169,35 +171,35 @@ scoped_ptr<ResourceHost> ContentRendererPepperHostFactory::CreateResourceHost(
|
| #endif
|
| scoped_refptr<PPB_ImageData_Impl> image_data(new PPB_ImageData_Impl(
|
| instance, image_type));
|
| - return scoped_ptr<ResourceHost>(PepperGraphics2DHost::Create(
|
| + return base::WrapUnique(PepperGraphics2DHost::Create(
|
| host_, instance, resource, size, is_always_opaque, image_data));
|
| }
|
| case PpapiHostMsg_URLLoader_Create::ID:
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperURLLoaderHost(host_, false, instance, resource));
|
| case PpapiHostMsg_VideoDecoder_Create::ID:
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperVideoDecoderHost(host_, instance, resource));
|
| case PpapiHostMsg_VideoEncoder_Create::ID:
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperVideoEncoderHost(host_, instance, resource));
|
| case PpapiHostMsg_WebSocket_Create::ID:
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperWebSocketHost(host_, instance, resource));
|
| #if defined(ENABLE_WEBRTC)
|
| case PpapiHostMsg_MediaStreamVideoTrack_Create::ID:
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperMediaStreamVideoTrackHost(host_, instance, resource));
|
| // These private MediaStream interfaces are exposed as if they were public
|
| // so they can be used by NaCl plugins. However, they are available only
|
| // for whitelisted apps.
|
| case PpapiHostMsg_VideoDestination_Create::ID:
|
| if (CanUseMediaStreamAPI(host_, instance))
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperVideoDestinationHost(host_, instance, resource));
|
| case PpapiHostMsg_VideoSource_Create::ID:
|
| if (CanUseMediaStreamAPI(host_, instance))
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperVideoSourceHost(host_, instance, resource));
|
| #endif // defined(ENABLE_WEBRTC)
|
| }
|
| @@ -206,22 +208,18 @@ scoped_ptr<ResourceHost> ContentRendererPepperHostFactory::CreateResourceHost(
|
| if (GetPermissions().HasPermission(ppapi::PERMISSION_DEV)) {
|
| switch (message.type()) {
|
| case PpapiHostMsg_AudioEncoder_Create::ID:
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperAudioEncoderHost(host_, instance, resource));
|
| case PpapiHostMsg_AudioInput_Create::ID:
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperAudioInputHost(host_, instance, resource));
|
| case PpapiHostMsg_FileChooser_Create::ID:
|
| - return scoped_ptr<ResourceHost>(
|
| + return base::WrapUnique(
|
| new PepperFileChooserHost(host_, instance, resource));
|
| case PpapiHostMsg_VideoCapture_Create::ID: {
|
| - PepperVideoCaptureHost* host =
|
| - new PepperVideoCaptureHost(host_, instance, resource);
|
| - if (!host->Init()) {
|
| - delete host;
|
| - return scoped_ptr<ResourceHost>();
|
| - }
|
| - return scoped_ptr<ResourceHost>(host);
|
| + std::unique_ptr<PepperVideoCaptureHost> host(
|
| + new PepperVideoCaptureHost(host_, instance, resource));
|
| + return host->Init() ? std::move(host) : nullptr;
|
| }
|
| }
|
| }
|
| @@ -232,12 +230,12 @@ scoped_ptr<ResourceHost> ContentRendererPepperHostFactory::CreateResourceHost(
|
| if (!GetPermissions().HasPermission(ppapi::PERMISSION_PRIVATE) &&
|
| !CanUseCameraDeviceAPI(host_, instance))
|
| return nullptr;
|
| - scoped_ptr<PepperCameraDeviceHost> host(
|
| + std::unique_ptr<PepperCameraDeviceHost> host(
|
| new PepperCameraDeviceHost(host_, instance, resource));
|
| return host->Init() ? std::move(host) : nullptr;
|
| }
|
|
|
| - return scoped_ptr<ResourceHost>();
|
| + return nullptr;
|
| }
|
|
|
| const ppapi::PpapiPermissions&
|
|
|