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

Side by Side Diff: content/browser/renderer_host/pepper/pepper_file_io_host.cc

Issue 216473002: Replace DCHECK(BrowserThread::CurrentlyOn) with DCHECK_CURRENTLY_ON in content/browser/renderer_hos… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync to r260263 Created 6 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 | Annotate | Revision Log
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/browser/renderer_host/pepper/pepper_file_io_host.h" 5 #include "content/browser/renderer_host/pepper/pepper_file_io_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/callback_helpers.h" 9 #include "base/callback_helpers.h"
10 #include "base/files/file_util_proxy.h" 10 #include "base/files/file_util_proxy.h"
(...skipping 26 matching lines...) Expand all
37 namespace content { 37 namespace content {
38 38
39 using ppapi::FileIOStateManager; 39 using ppapi::FileIOStateManager;
40 using ppapi::PPTimeToTime; 40 using ppapi::PPTimeToTime;
41 41
42 namespace { 42 namespace {
43 43
44 PepperFileIOHost::UIThreadStuff 44 PepperFileIOHost::UIThreadStuff
45 GetUIThreadStuffForInternalFileSystems(int render_process_id) { 45 GetUIThreadStuffForInternalFileSystems(int render_process_id) {
46 PepperFileIOHost::UIThreadStuff stuff; 46 PepperFileIOHost::UIThreadStuff stuff;
47 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 47 DCHECK_CURRENTLY_ON(BrowserThread::UI);
48 RenderProcessHost* host = RenderProcessHost::FromID(render_process_id); 48 RenderProcessHost* host = RenderProcessHost::FromID(render_process_id);
49 if (host) { 49 if (host) {
50 stuff.resolved_render_process_id = base::GetProcId(host->GetHandle()); 50 stuff.resolved_render_process_id = base::GetProcId(host->GetHandle());
51 StoragePartition* storage_partition = host->GetStoragePartition(); 51 StoragePartition* storage_partition = host->GetStoragePartition();
52 if (storage_partition) 52 if (storage_partition)
53 stuff.file_system_context = storage_partition->GetFileSystemContext(); 53 stuff.file_system_context = storage_partition->GetFileSystemContext();
54 } 54 }
55 return stuff; 55 return stuff;
56 } 56 }
57 57
58 base::ProcessId GetResolvedRenderProcessId(int render_process_id) { 58 base::ProcessId GetResolvedRenderProcessId(int render_process_id) {
59 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 59 DCHECK_CURRENTLY_ON(BrowserThread::UI);
60 RenderProcessHost* host = RenderProcessHost::FromID(render_process_id); 60 RenderProcessHost* host = RenderProcessHost::FromID(render_process_id);
61 if (!host) 61 if (!host)
62 return base::kNullProcessId; 62 return base::kNullProcessId;
63 return base::GetProcId(host->GetHandle()); 63 return base::GetProcId(host->GetHandle());
64 } 64 }
65 65
66 bool GetPluginAllowedToCallRequestOSFileHandle(int render_process_id, 66 bool GetPluginAllowedToCallRequestOSFileHandle(int render_process_id,
67 const GURL& document_url) { 67 const GURL& document_url) {
68 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 68 DCHECK_CURRENTLY_ON(BrowserThread::UI);
69 ContentBrowserClient* client = GetContentClient()->browser(); 69 ContentBrowserClient* client = GetContentClient()->browser();
70 RenderProcessHost* host = RenderProcessHost::FromID(render_process_id); 70 RenderProcessHost* host = RenderProcessHost::FromID(render_process_id);
71 if (!host) 71 if (!host)
72 return false; 72 return false;
73 return client->IsPluginAllowedToCallRequestOSFileHandle( 73 return client->IsPluginAllowedToCallRequestOSFileHandle(
74 host->GetBrowserContext(), document_url); 74 host->GetBrowserContext(), document_url);
75 } 75 }
76 76
77 bool FileOpenForWrite(int32_t open_flags) { 77 bool FileOpenForWrite(int32_t open_flags) {
78 return (open_flags & (PP_FILEOPENFLAG_WRITE | PP_FILEOPENFLAG_APPEND)) != 0; 78 return (open_flags & (PP_FILEOPENFLAG_WRITE | PP_FILEOPENFLAG_APPEND)) != 0;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 platform_file_flags)); 192 platform_file_flags));
193 } 193 }
194 state_manager_.SetPendingOperation(FileIOStateManager::OPERATION_EXCLUSIVE); 194 state_manager_.SetPendingOperation(FileIOStateManager::OPERATION_EXCLUSIVE);
195 return PP_OK_COMPLETIONPENDING; 195 return PP_OK_COMPLETIONPENDING;
196 } 196 }
197 197
198 void PepperFileIOHost::GotUIThreadStuffForInternalFileSystems( 198 void PepperFileIOHost::GotUIThreadStuffForInternalFileSystems(
199 ppapi::host::ReplyMessageContext reply_context, 199 ppapi::host::ReplyMessageContext reply_context,
200 int platform_file_flags, 200 int platform_file_flags,
201 UIThreadStuff ui_thread_stuff) { 201 UIThreadStuff ui_thread_stuff) {
202 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 202 DCHECK_CURRENTLY_ON(BrowserThread::IO);
203 file_system_context_ = ui_thread_stuff.file_system_context; 203 file_system_context_ = ui_thread_stuff.file_system_context;
204 resolved_render_process_id_ = ui_thread_stuff.resolved_render_process_id; 204 resolved_render_process_id_ = ui_thread_stuff.resolved_render_process_id;
205 if (resolved_render_process_id_ == base::kNullProcessId || 205 if (resolved_render_process_id_ == base::kNullProcessId ||
206 !file_system_context_.get()) { 206 !file_system_context_.get()) {
207 reply_context.params.set_result(PP_ERROR_FAILED); 207 reply_context.params.set_result(PP_ERROR_FAILED);
208 SendOpenErrorReply(reply_context); 208 SendOpenErrorReply(reply_context);
209 return; 209 return;
210 } 210 }
211 211
212 if (!file_system_context_->GetFileSystemBackend(file_system_url_.type())) { 212 if (!file_system_context_->GetFileSystemBackend(file_system_url_.type())) {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 248
249 ExecutePlatformOpenFileCallback( 249 ExecutePlatformOpenFileCallback(
250 reply_context, result, base::PassPlatformFile(&file), true); 250 reply_context, result, base::PassPlatformFile(&file), true);
251 } 251 }
252 252
253 void PepperFileIOHost::GotResolvedRenderProcessId( 253 void PepperFileIOHost::GotResolvedRenderProcessId(
254 ppapi::host::ReplyMessageContext reply_context, 254 ppapi::host::ReplyMessageContext reply_context,
255 base::FilePath path, 255 base::FilePath path,
256 int platform_file_flags, 256 int platform_file_flags,
257 base::ProcessId resolved_render_process_id) { 257 base::ProcessId resolved_render_process_id) {
258 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 258 DCHECK_CURRENTLY_ON(BrowserThread::IO);
259 resolved_render_process_id_ = resolved_render_process_id; 259 resolved_render_process_id_ = resolved_render_process_id;
260 base::FileUtilProxy::CreateOrOpen( 260 base::FileUtilProxy::CreateOrOpen(
261 file_message_loop_, 261 file_message_loop_,
262 path, 262 path,
263 platform_file_flags, 263 platform_file_flags,
264 base::Bind(&PepperFileIOHost::ExecutePlatformOpenFileCallback, 264 base::Bind(&PepperFileIOHost::ExecutePlatformOpenFileCallback,
265 weak_factory_.GetWeakPtr(), 265 weak_factory_.GetWeakPtr(),
266 reply_context)); 266 reply_context));
267 } 267 }
268 268
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 document_url), 387 document_url),
388 base::Bind(&PepperFileIOHost::GotPluginAllowedToCallRequestOSFileHandle, 388 base::Bind(&PepperFileIOHost::GotPluginAllowedToCallRequestOSFileHandle,
389 weak_factory_.GetWeakPtr(), 389 weak_factory_.GetWeakPtr(),
390 context->MakeReplyMessageContext())); 390 context->MakeReplyMessageContext()));
391 return PP_OK_COMPLETIONPENDING; 391 return PP_OK_COMPLETIONPENDING;
392 } 392 }
393 393
394 void PepperFileIOHost::GotPluginAllowedToCallRequestOSFileHandle( 394 void PepperFileIOHost::GotPluginAllowedToCallRequestOSFileHandle(
395 ppapi::host::ReplyMessageContext reply_context, 395 ppapi::host::ReplyMessageContext reply_context,
396 bool plugin_allowed) { 396 bool plugin_allowed) {
397 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 397 DCHECK_CURRENTLY_ON(BrowserThread::IO);
398 if (!browser_ppapi_host_->external_plugin() || 398 if (!browser_ppapi_host_->external_plugin() ||
399 host()->permissions().HasPermission(ppapi::PERMISSION_PRIVATE) || 399 host()->permissions().HasPermission(ppapi::PERMISSION_PRIVATE) ||
400 plugin_allowed) { 400 plugin_allowed) {
401 if (!AddFileToReplyContext(open_flags_, &reply_context)) 401 if (!AddFileToReplyContext(open_flags_, &reply_context))
402 reply_context.params.set_result(PP_ERROR_FAILED); 402 reply_context.params.set_result(PP_ERROR_FAILED);
403 } else { 403 } else {
404 reply_context.params.set_result(PP_ERROR_NOACCESS); 404 reply_context.params.set_result(PP_ERROR_NOACCESS);
405 } 405 }
406 host()->SendReply(reply_context, 406 host()->SendReply(reply_context,
407 PpapiPluginMsg_FileIO_RequestOSFileHandleReply()); 407 PpapiPluginMsg_FileIO_RequestOSFileHandleReply());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 464
465 ppapi::proxy::SerializedHandle file_handle; 465 ppapi::proxy::SerializedHandle file_handle;
466 // A non-zero resource id signals NaClIPCAdapter to create a NaClQuotaDesc. 466 // A non-zero resource id signals NaClIPCAdapter to create a NaClQuotaDesc.
467 PP_Resource quota_file_io = check_quota_ ? pp_resource() : 0; 467 PP_Resource quota_file_io = check_quota_ ? pp_resource() : 0;
468 file_handle.set_file_handle(transit_file, open_flags, quota_file_io); 468 file_handle.set_file_handle(transit_file, open_flags, quota_file_io);
469 reply_context->params.AppendHandle(file_handle); 469 reply_context->params.AppendHandle(file_handle);
470 return true; 470 return true;
471 } 471 }
472 472
473 } // namespace content 473 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698