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

Side by Side Diff: content/renderer/pepper/resource_converter.cc

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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 #include "content/renderer/pepper/resource_converter.h" 5 #include "content/renderer/pepper/resource_converter.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 } 84 }
85 85
86 // Given a V8 value containing a DOMFileSystem, creates a resource host and 86 // Given a V8 value containing a DOMFileSystem, creates a resource host and
87 // returns the resource information for serialization. 87 // returns the resource information for serialization.
88 // On error, false. 88 // On error, false.
89 bool DOMFileSystemToResource( 89 bool DOMFileSystemToResource(
90 PP_Instance instance, 90 PP_Instance instance,
91 RendererPpapiHost* host, 91 RendererPpapiHost* host,
92 const blink::WebDOMFileSystem& dom_file_system, 92 const blink::WebDOMFileSystem& dom_file_system,
93 int* pending_renderer_id, 93 int* pending_renderer_id,
94 scoped_ptr<IPC::Message>* create_message, 94 std::unique_ptr<IPC::Message>* create_message,
95 scoped_ptr<IPC::Message>* browser_host_create_message) { 95 std::unique_ptr<IPC::Message>* browser_host_create_message) {
96 DCHECK(!dom_file_system.isNull()); 96 DCHECK(!dom_file_system.isNull());
97 97
98 PP_FileSystemType file_system_type = 98 PP_FileSystemType file_system_type =
99 WebFileSystemTypeToPPAPI(dom_file_system.type()); 99 WebFileSystemTypeToPPAPI(dom_file_system.type());
100 GURL root_url = dom_file_system.rootURL(); 100 GURL root_url = dom_file_system.rootURL();
101 101
102 // Raw external file system access is not allowed, but external file system 102 // Raw external file system access is not allowed, but external file system
103 // access through fileapi is allowed. (Without this check, there would be a 103 // access through fileapi is allowed. (Without this check, there would be a
104 // CHECK failure in FileRefResource.) 104 // CHECK failure in FileRefResource.)
105 if ((file_system_type == PP_FILESYSTEMTYPE_EXTERNAL) && 105 if ((file_system_type == PP_FILESYSTEMTYPE_EXTERNAL) &&
106 (!root_url.is_valid())) { 106 (!root_url.is_valid())) {
107 return false; 107 return false;
108 } 108 }
109 109
110 *pending_renderer_id = host->GetPpapiHost()->AddPendingResourceHost( 110 *pending_renderer_id = host->GetPpapiHost()->AddPendingResourceHost(
111 scoped_ptr<ppapi::host::ResourceHost>(new PepperFileSystemHost( 111 std::unique_ptr<ppapi::host::ResourceHost>(new PepperFileSystemHost(
112 host, instance, 0, root_url, file_system_type))); 112 host, instance, 0, root_url, file_system_type)));
113 if (*pending_renderer_id == 0) 113 if (*pending_renderer_id == 0)
114 return false; 114 return false;
115 115
116 create_message->reset( 116 create_message->reset(
117 new PpapiPluginMsg_FileSystem_CreateFromPendingHost(file_system_type)); 117 new PpapiPluginMsg_FileSystem_CreateFromPendingHost(file_system_type));
118 118
119 browser_host_create_message->reset( 119 browser_host_create_message->reset(
120 new PpapiHostMsg_FileSystem_CreateFromRenderer(root_url.spec(), 120 new PpapiHostMsg_FileSystem_CreateFromRenderer(root_url.spec(),
121 file_system_type)); 121 file_system_type));
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 // blink::WebMediaStreamTrack track = host->track(); 156 // blink::WebMediaStreamTrack track = host->track();
157 // *dom_video_track = track.toV8Value(); 157 // *dom_video_track = track.toV8Value();
158 return false; 158 return false;
159 } 159 }
160 160
161 bool DOMMediaStreamTrackToResource( 161 bool DOMMediaStreamTrackToResource(
162 PP_Instance instance, 162 PP_Instance instance,
163 RendererPpapiHost* host, 163 RendererPpapiHost* host,
164 const blink::WebDOMMediaStreamTrack& dom_media_stream_track, 164 const blink::WebDOMMediaStreamTrack& dom_media_stream_track,
165 int* pending_renderer_id, 165 int* pending_renderer_id,
166 scoped_ptr<IPC::Message>* create_message) { 166 std::unique_ptr<IPC::Message>* create_message) {
167 DCHECK(!dom_media_stream_track.isNull()); 167 DCHECK(!dom_media_stream_track.isNull());
168 *pending_renderer_id = 0; 168 *pending_renderer_id = 0;
169 #if defined(ENABLE_WEBRTC) 169 #if defined(ENABLE_WEBRTC)
170 const blink::WebMediaStreamTrack track = dom_media_stream_track.component(); 170 const blink::WebMediaStreamTrack track = dom_media_stream_track.component();
171 const std::string id = track.source().id().utf8(); 171 const std::string id = track.source().id().utf8();
172 172
173 if (track.source().getType() == blink::WebMediaStreamSource::TypeVideo) { 173 if (track.source().getType() == blink::WebMediaStreamSource::TypeVideo) {
174 *pending_renderer_id = host->GetPpapiHost()->AddPendingResourceHost( 174 *pending_renderer_id = host->GetPpapiHost()->AddPendingResourceHost(
175 scoped_ptr<ppapi::host::ResourceHost>( 175 std::unique_ptr<ppapi::host::ResourceHost>(
176 new PepperMediaStreamVideoTrackHost(host, instance, 0, track))); 176 new PepperMediaStreamVideoTrackHost(host, instance, 0, track)));
177 if (*pending_renderer_id == 0) 177 if (*pending_renderer_id == 0)
178 return false; 178 return false;
179 179
180 create_message->reset( 180 create_message->reset(
181 new PpapiPluginMsg_MediaStreamVideoTrack_CreateFromPendingHost(id)); 181 new PpapiPluginMsg_MediaStreamVideoTrack_CreateFromPendingHost(id));
182 return true; 182 return true;
183 } else if (track.source().getType() == 183 } else if (track.source().getType() ==
184 blink::WebMediaStreamSource::TypeAudio) { 184 blink::WebMediaStreamSource::TypeAudio) {
185 *pending_renderer_id = host->GetPpapiHost()->AddPendingResourceHost( 185 *pending_renderer_id = host->GetPpapiHost()->AddPendingResourceHost(
186 scoped_ptr<ppapi::host::ResourceHost>( 186 std::unique_ptr<ppapi::host::ResourceHost>(
187 new PepperMediaStreamAudioTrackHost(host, instance, 0, track))); 187 new PepperMediaStreamAudioTrackHost(host, instance, 0, track)));
188 if (*pending_renderer_id == 0) 188 if (*pending_renderer_id == 0)
189 return false; 189 return false;
190 190
191 create_message->reset( 191 create_message->reset(
192 new PpapiPluginMsg_MediaStreamAudioTrack_CreateFromPendingHost(id)); 192 new PpapiPluginMsg_MediaStreamAudioTrack_CreateFromPendingHost(id));
193 return true; 193 return true;
194 } 194 }
195 #endif 195 #endif
196 return false; 196 return false;
(...skipping 19 matching lines...) Expand all
216 v8::Context::Scope context_scope(context); 216 v8::Context::Scope context_scope(context);
217 v8::HandleScope handle_scope(context->GetIsolate()); 217 v8::HandleScope handle_scope(context->GetIsolate());
218 RendererPpapiHost* host = RendererPpapiHost::GetForPPInstance(instance_); 218 RendererPpapiHost* host = RendererPpapiHost::GetForPPInstance(instance_);
219 219
220 *was_resource = false; 220 *was_resource = false;
221 221
222 blink::WebDOMFileSystem dom_file_system = 222 blink::WebDOMFileSystem dom_file_system =
223 blink::WebDOMFileSystem::fromV8Value(val); 223 blink::WebDOMFileSystem::fromV8Value(val);
224 if (!dom_file_system.isNull()) { 224 if (!dom_file_system.isNull()) {
225 int pending_renderer_id; 225 int pending_renderer_id;
226 scoped_ptr<IPC::Message> create_message; 226 std::unique_ptr<IPC::Message> create_message;
227 scoped_ptr<IPC::Message> browser_host_create_message; 227 std::unique_ptr<IPC::Message> browser_host_create_message;
228 if (!DOMFileSystemToResource(instance_, 228 if (!DOMFileSystemToResource(instance_,
229 host, 229 host,
230 dom_file_system, 230 dom_file_system,
231 &pending_renderer_id, 231 &pending_renderer_id,
232 &create_message, 232 &create_message,
233 &browser_host_create_message)) { 233 &browser_host_create_message)) {
234 return false; 234 return false;
235 } 235 }
236 DCHECK(create_message); 236 DCHECK(create_message);
237 DCHECK(browser_host_create_message); 237 DCHECK(browser_host_create_message);
238 scoped_refptr<HostResourceVar> result_var = 238 scoped_refptr<HostResourceVar> result_var =
239 CreateResourceVarWithBrowserHost( 239 CreateResourceVarWithBrowserHost(
240 pending_renderer_id, *create_message, *browser_host_create_message); 240 pending_renderer_id, *create_message, *browser_host_create_message);
241 *result = result_var->GetPPVar(); 241 *result = result_var->GetPPVar();
242 *was_resource = true; 242 *was_resource = true;
243 return true; 243 return true;
244 } 244 }
245 245
246 blink::WebDOMMediaStreamTrack dom_media_stream_track = 246 blink::WebDOMMediaStreamTrack dom_media_stream_track =
247 blink::WebDOMMediaStreamTrack::fromV8Value(val); 247 blink::WebDOMMediaStreamTrack::fromV8Value(val);
248 if (!dom_media_stream_track.isNull()) { 248 if (!dom_media_stream_track.isNull()) {
249 int pending_renderer_id; 249 int pending_renderer_id;
250 scoped_ptr<IPC::Message> create_message; 250 std::unique_ptr<IPC::Message> create_message;
251 if (!DOMMediaStreamTrackToResource(instance_, 251 if (!DOMMediaStreamTrackToResource(instance_,
252 host, 252 host,
253 dom_media_stream_track, 253 dom_media_stream_track,
254 &pending_renderer_id, 254 &pending_renderer_id,
255 &create_message)) { 255 &create_message)) {
256 return false; 256 return false;
257 } 257 }
258 DCHECK(create_message); 258 DCHECK(create_message);
259 scoped_refptr<HostResourceVar> result_var = 259 scoped_refptr<HostResourceVar> result_var =
260 CreateResourceVar(pending_renderer_id, *create_message); 260 CreateResourceVar(pending_renderer_id, *create_message);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 const IPC::Message& create_message, 347 const IPC::Message& create_message,
348 const IPC::Message& browser_host_create_message) { 348 const IPC::Message& browser_host_create_message) {
349 scoped_refptr<HostResourceVar> result = 349 scoped_refptr<HostResourceVar> result =
350 CreateResourceVar(pending_renderer_id, create_message); 350 CreateResourceVar(pending_renderer_id, create_message);
351 browser_host_create_messages_.push_back(browser_host_create_message); 351 browser_host_create_messages_.push_back(browser_host_create_message);
352 browser_vars_.push_back(result); 352 browser_vars_.push_back(result);
353 return result; 353 return result;
354 } 354 }
355 355
356 } // namespace content 356 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/renderer_ppapi_host_impl.cc ('k') | content/renderer/pepper/url_response_info_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698