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

Unified Diff: content/renderer/pepper/content_renderer_pepper_host_factory.cc

Issue 1864293002: Convert //ppapi to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more nullptr 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 side-by-side diff with in-line comments
Download patch
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&
« no previous file with comments | « content/renderer/pepper/content_renderer_pepper_host_factory.h ('k') | content/renderer/pepper/pepper_compositor_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698