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

Side by Side Diff: content/browser/child_process_security_policy_impl.cc

Issue 70133002: FileAPI: Expose GrantCreateReadWriteFileSystem to ContentAPI (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/child_process_security_policy_impl.h" 5 #include "content/browser/child_process_security_policy_impl.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 void ChildProcessSecurityPolicyImpl::GrantWriteFileSystem( 471 void ChildProcessSecurityPolicyImpl::GrantWriteFileSystem(
472 int child_id, const std::string& filesystem_id) { 472 int child_id, const std::string& filesystem_id) {
473 GrantPermissionsForFileSystem(child_id, filesystem_id, WRITE_FILE_GRANT); 473 GrantPermissionsForFileSystem(child_id, filesystem_id, WRITE_FILE_GRANT);
474 } 474 }
475 475
476 void ChildProcessSecurityPolicyImpl::GrantCreateFileForFileSystem( 476 void ChildProcessSecurityPolicyImpl::GrantCreateFileForFileSystem(
477 int child_id, const std::string& filesystem_id) { 477 int child_id, const std::string& filesystem_id) {
478 GrantPermissionsForFileSystem(child_id, filesystem_id, CREATE_NEW_FILE_GRANT); 478 GrantPermissionsForFileSystem(child_id, filesystem_id, CREATE_NEW_FILE_GRANT);
479 } 479 }
480 480
481 void ChildProcessSecurityPolicyImpl::GrantCreateReadWriteFileSystem(
482 int child_id, const std::string& filesystem_id) {
483 GrantPermissionsForFileSystem(
484 child_id, filesystem_id, CREATE_READ_WRITE_FILE_GRANT);
485 }
486
481 void ChildProcessSecurityPolicyImpl::GrantCopyIntoFileSystem( 487 void ChildProcessSecurityPolicyImpl::GrantCopyIntoFileSystem(
482 int child_id, const std::string& filesystem_id) { 488 int child_id, const std::string& filesystem_id) {
483 GrantPermissionsForFileSystem(child_id, filesystem_id, COPY_INTO_FILE_GRANT); 489 GrantPermissionsForFileSystem(child_id, filesystem_id, COPY_INTO_FILE_GRANT);
484 } 490 }
485 491
486 void ChildProcessSecurityPolicyImpl::GrantDeleteFromFileSystem( 492 void ChildProcessSecurityPolicyImpl::GrantDeleteFromFileSystem(
487 int child_id, const std::string& filesystem_id) { 493 int child_id, const std::string& filesystem_id) {
488 GrantPermissionsForFileSystem(child_id, filesystem_id, DELETE_FILE_GRANT); 494 GrantPermissionsForFileSystem(child_id, filesystem_id, DELETE_FILE_GRANT);
489 } 495 }
490 496
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 return HasPermissionsForFileSystem(child_id, filesystem_id, 642 return HasPermissionsForFileSystem(child_id, filesystem_id,
637 COPY_INTO_FILE_GRANT); 643 COPY_INTO_FILE_GRANT);
638 } 644 }
639 645
640 bool ChildProcessSecurityPolicyImpl::CanDeleteFromFileSystem( 646 bool ChildProcessSecurityPolicyImpl::CanDeleteFromFileSystem(
641 int child_id, const std::string& filesystem_id) { 647 int child_id, const std::string& filesystem_id) {
642 return HasPermissionsForFileSystem(child_id, filesystem_id, 648 return HasPermissionsForFileSystem(child_id, filesystem_id,
643 DELETE_FILE_GRANT); 649 DELETE_FILE_GRANT);
644 } 650 }
645 651
646 void ChildProcessSecurityPolicyImpl::GrantCreateReadWriteFileSystem(
647 int child_id, const std::string& filesystem_id) {
648 GrantPermissionsForFileSystem(
649 child_id, filesystem_id, CREATE_READ_WRITE_FILE_GRANT);
650 }
651
652 bool ChildProcessSecurityPolicyImpl::HasPermissionsForFile( 652 bool ChildProcessSecurityPolicyImpl::HasPermissionsForFile(
653 int child_id, const base::FilePath& file, int permissions) { 653 int child_id, const base::FilePath& file, int permissions) {
654 base::AutoLock lock(lock_); 654 base::AutoLock lock(lock_);
655 bool result = ChildProcessHasPermissionsForFile(child_id, file, permissions); 655 bool result = ChildProcessHasPermissionsForFile(child_id, file, permissions);
656 if (!result) { 656 if (!result) {
657 // If this is a worker thread that has no access to a given file, 657 // If this is a worker thread that has no access to a given file,
658 // let's check that its renderer process has access to that file instead. 658 // let's check that its renderer process has access to that file instead.
659 WorkerToMainProcessMap::iterator iter = worker_map_.find(child_id); 659 WorkerToMainProcessMap::iterator iter = worker_map_.find(child_id);
660 if (iter != worker_map_.end() && iter->second != 0) { 660 if (iter != worker_map_.end() && iter->second != 0) {
661 result = ChildProcessHasPermissionsForFile(iter->second, 661 result = ChildProcessHasPermissionsForFile(iter->second,
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 base::AutoLock lock(lock_); 855 base::AutoLock lock(lock_);
856 856
857 SecurityStateMap::iterator state = security_state_.find(child_id); 857 SecurityStateMap::iterator state = security_state_.find(child_id);
858 if (state == security_state_.end()) 858 if (state == security_state_.end())
859 return false; 859 return false;
860 860
861 return state->second->can_send_midi_sysex(); 861 return state->second->can_send_midi_sysex();
862 } 862 }
863 863
864 } // namespace content 864 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/child_process_security_policy_impl.h ('k') | content/public/browser/child_process_security_policy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698