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

Unified Diff: content/browser/shared/child_process_security_policy_helper.cc

Issue 2108053005: Pull ChildProcessSecurityPolicyImpl out to shared subfolder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 6 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/browser/shared/child_process_security_policy_helper.cc
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/shared/child_process_security_policy_helper.cc
similarity index 75%
rename from content/browser/child_process_security_policy_impl.cc
rename to content/browser/shared/child_process_security_policy_helper.cc
index 0def4b57ad00d5633e426246ec2b46e29c3159ae..b09179ca0c438374f3451be86b00ec863860393f 100644
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/shared/child_process_security_policy_helper.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/browser/child_process_security_policy_impl.h"
+#include "content/browser/shared/child_process_security_policy_helper.h"
#include <algorithm>
#include <utility>
@@ -37,24 +37,24 @@ namespace {
// Used internally only. These bit positions have no relationship to any
// underlying OS and can be changed to accommodate finer-grained permissions.
enum ChildProcessSecurityPermissions {
- READ_FILE_PERMISSION = 1 << 0,
- WRITE_FILE_PERMISSION = 1 << 1,
- CREATE_NEW_FILE_PERMISSION = 1 << 2,
+ READ_FILE_PERMISSION = 1 << 0,
+ WRITE_FILE_PERMISSION = 1 << 1,
+ CREATE_NEW_FILE_PERMISSION = 1 << 2,
CREATE_OVERWRITE_FILE_PERMISSION = 1 << 3,
- DELETE_FILE_PERMISSION = 1 << 4,
+ DELETE_FILE_PERMISSION = 1 << 4,
// Used by Media Galleries API
- COPY_INTO_FILE_PERMISSION = 1 << 5,
+ COPY_INTO_FILE_PERMISSION = 1 << 5,
};
// Used internally only. Bitmasks that are actually used by the Grant* and Can*
// methods. These contain one or more ChildProcessSecurityPermissions.
enum ChildProcessSecurityGrants {
- READ_FILE_GRANT = READ_FILE_PERMISSION,
- WRITE_FILE_GRANT = WRITE_FILE_PERMISSION,
+ READ_FILE_GRANT = READ_FILE_PERMISSION,
+ WRITE_FILE_GRANT = WRITE_FILE_PERMISSION,
- CREATE_NEW_FILE_GRANT = CREATE_NEW_FILE_PERMISSION |
- COPY_INTO_FILE_PERMISSION,
+ CREATE_NEW_FILE_GRANT =
+ CREATE_NEW_FILE_PERMISSION | COPY_INTO_FILE_PERMISSION,
CREATE_READ_WRITE_FILE_GRANT = CREATE_NEW_FILE_PERMISSION |
CREATE_OVERWRITE_FILE_PERMISSION |
@@ -63,28 +63,27 @@ enum ChildProcessSecurityGrants {
COPY_INTO_FILE_PERMISSION |
DELETE_FILE_PERMISSION,
- COPY_INTO_FILE_GRANT = COPY_INTO_FILE_PERMISSION,
- DELETE_FILE_GRANT = DELETE_FILE_PERMISSION,
+ COPY_INTO_FILE_GRANT = COPY_INTO_FILE_PERMISSION,
+ DELETE_FILE_GRANT = DELETE_FILE_PERMISSION,
};
} // namespace
// The SecurityState class is used to maintain per-child process security state
// information.
-class ChildProcessSecurityPolicyImpl::SecurityState {
+class ChildProcessSecurityPolicyHelper::SecurityState {
public:
SecurityState()
- : enabled_bindings_(0),
- can_read_raw_cookies_(false),
- can_send_midi_sysex_(false) { }
+ : enabled_bindings_(0),
+ can_read_raw_cookies_(false),
+ can_send_midi_sysex_(false) {}
~SecurityState() {
scheme_policy_.clear();
storage::IsolatedContext* isolated_context =
storage::IsolatedContext::GetInstance();
for (FileSystemMap::iterator iter = filesystem_permissions_.begin();
- iter != filesystem_permissions_.end();
- ++iter) {
+ iter != filesystem_permissions_.end(); ++iter) {
isolated_context->RemoveReference(iter->first);
}
UMA_HISTOGRAM_COUNTS("ChildProcessSecurityPolicy.PerChildFilePermissions",
@@ -92,14 +91,10 @@ class ChildProcessSecurityPolicyImpl::SecurityState {
}
// Grant permission to request URLs with the specified origin.
- void GrantOrigin(const url::Origin& origin) {
- origin_set_.insert(origin);
- }
+ void GrantOrigin(const url::Origin& origin) { origin_set_.insert(origin); }
// Grant permission to request URLs with the specified scheme.
- void GrantScheme(const std::string& scheme) {
- scheme_policy_[scheme] = true;
- }
+ void GrantScheme(const std::string& scheme) { scheme_policy_[scheme] = true; }
// Revoke permission to request URLs with the specified scheme.
void RevokeScheme(const std::string& scheme) {
@@ -115,7 +110,7 @@ class ChildProcessSecurityPolicyImpl::SecurityState {
}
// Grant navigation to a file but not the file:// scheme in general.
- void GrantRequestOfSpecificFile(const base::FilePath &file) {
+ void GrantRequestOfSpecificFile(const base::FilePath& file) {
request_file_set_.insert(file.StripTrailingSeparators());
}
@@ -159,21 +154,13 @@ class ChildProcessSecurityPolicyImpl::SecurityState {
}
#endif
- void GrantBindings(int bindings) {
- enabled_bindings_ |= bindings;
- }
+ void GrantBindings(int bindings) { enabled_bindings_ |= bindings; }
- void GrantReadRawCookies() {
- can_read_raw_cookies_ = true;
- }
+ void GrantReadRawCookies() { can_read_raw_cookies_ = true; }
- void RevokeReadRawCookies() {
- can_read_raw_cookies_ = false;
- }
+ void RevokeReadRawCookies() { can_read_raw_cookies_ = false; }
- void GrantPermissionForMidiSysEx() {
- can_send_midi_sysex_ = true;
- }
+ void GrantPermissionForMidiSysEx() { can_send_midi_sysex_ = true; }
// Determine whether permission has been granted to commit |url|.
bool CanCommitURL(const GURL& url) {
@@ -238,21 +225,15 @@ class ChildProcessSecurityPolicyImpl::SecurityState {
return origin_lock_ == site_gurl;
}
- void LockToOrigin(const GURL& gurl) {
- origin_lock_ = gurl;
- }
+ void LockToOrigin(const GURL& gurl) { origin_lock_ = gurl; }
bool has_web_ui_bindings() const {
return enabled_bindings_ & BINDINGS_POLICY_WEB_UI;
}
- bool can_read_raw_cookies() const {
- return can_read_raw_cookies_;
- }
+ bool can_read_raw_cookies() const { return can_read_raw_cookies_; }
- bool can_send_midi_sysex() const {
- return can_send_midi_sysex_;
- }
+ bool can_send_midi_sysex() const { return can_send_midi_sysex_; }
private:
typedef std::map<std::string, bool> SchemeMap;
@@ -294,7 +275,7 @@ class ChildProcessSecurityPolicyImpl::SecurityState {
DISALLOW_COPY_AND_ASSIGN(SecurityState);
};
-ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() {
+ChildProcessSecurityPolicyHelper::ChildProcessSecurityPolicyHelper() {
// We know about these schemes and believe them to be safe.
RegisterWebSafeScheme(url::kHttpScheme);
RegisterWebSafeScheme(url::kHttpsScheme);
@@ -310,7 +291,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() {
RegisterPseudoScheme(kViewSourceScheme);
}
-ChildProcessSecurityPolicyImpl::~ChildProcessSecurityPolicyImpl() {
+ChildProcessSecurityPolicyHelper::~ChildProcessSecurityPolicyHelper() {
web_safe_schemes_.clear();
pseudo_schemes_.clear();
STLDeleteContainerPairSecondPointers(security_state_.begin(),
@@ -320,26 +301,27 @@ ChildProcessSecurityPolicyImpl::~ChildProcessSecurityPolicyImpl() {
// static
ChildProcessSecurityPolicy* ChildProcessSecurityPolicy::GetInstance() {
- return ChildProcessSecurityPolicyImpl::GetInstance();
+ return ChildProcessSecurityPolicyHelper::GetInstance();
}
-ChildProcessSecurityPolicyImpl* ChildProcessSecurityPolicyImpl::GetInstance() {
- return base::Singleton<ChildProcessSecurityPolicyImpl>::get();
+ChildProcessSecurityPolicyHelper*
+ChildProcessSecurityPolicyHelper::GetInstance() {
+ return base::Singleton<ChildProcessSecurityPolicyHelper>::get();
}
-void ChildProcessSecurityPolicyImpl::Add(int child_id) {
+void ChildProcessSecurityPolicyHelper::Add(int child_id) {
base::AutoLock lock(lock_);
AddChild(child_id);
}
-void ChildProcessSecurityPolicyImpl::AddWorker(int child_id,
- int main_render_process_id) {
+void ChildProcessSecurityPolicyHelper::AddWorker(int child_id,
+ int main_render_process_id) {
base::AutoLock lock(lock_);
AddChild(child_id);
worker_map_[child_id] = main_render_process_id;
}
-void ChildProcessSecurityPolicyImpl::Remove(int child_id) {
+void ChildProcessSecurityPolicyHelper::Remove(int child_id) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator it = security_state_.find(child_id);
if (it == security_state_.end())
@@ -350,7 +332,7 @@ void ChildProcessSecurityPolicyImpl::Remove(int child_id) {
worker_map_.erase(child_id);
}
-void ChildProcessSecurityPolicyImpl::RegisterWebSafeScheme(
+void ChildProcessSecurityPolicyHelper::RegisterWebSafeScheme(
const std::string& scheme) {
base::AutoLock lock(lock_);
DCHECK_EQ(0U, web_safe_schemes_.count(scheme)) << "Add schemes at most once.";
@@ -360,14 +342,14 @@ void ChildProcessSecurityPolicyImpl::RegisterWebSafeScheme(
web_safe_schemes_.insert(scheme);
}
-bool ChildProcessSecurityPolicyImpl::IsWebSafeScheme(
+bool ChildProcessSecurityPolicyHelper::IsWebSafeScheme(
const std::string& scheme) {
base::AutoLock lock(lock_);
return ContainsKey(web_safe_schemes_, scheme);
}
-void ChildProcessSecurityPolicyImpl::RegisterPseudoScheme(
+void ChildProcessSecurityPolicyHelper::RegisterPseudoScheme(
const std::string& scheme) {
base::AutoLock lock(lock_);
DCHECK_EQ(0U, pseudo_schemes_.count(scheme)) << "Add schemes at most once.";
@@ -377,16 +359,15 @@ void ChildProcessSecurityPolicyImpl::RegisterPseudoScheme(
pseudo_schemes_.insert(scheme);
}
-bool ChildProcessSecurityPolicyImpl::IsPseudoScheme(
+bool ChildProcessSecurityPolicyHelper::IsPseudoScheme(
const std::string& scheme) {
base::AutoLock lock(lock_);
return ContainsKey(pseudo_schemes_, scheme);
}
-void ChildProcessSecurityPolicyImpl::GrantRequestURL(
- int child_id, const GURL& url) {
-
+void ChildProcessSecurityPolicyHelper::GrantRequestURL(int child_id,
+ const GURL& url) {
if (!url.is_valid())
return; // Can't grant the capability to request invalid URLs.
@@ -409,7 +390,7 @@ void ChildProcessSecurityPolicyImpl::GrantRequestURL(
}
}
-void ChildProcessSecurityPolicyImpl::GrantRequestSpecificFileURL(
+void ChildProcessSecurityPolicyHelper::GrantRequestSpecificFileURL(
int child_id,
const GURL& url) {
if (!url.SchemeIs(url::kFileScheme))
@@ -429,28 +410,34 @@ void ChildProcessSecurityPolicyImpl::GrantRequestSpecificFileURL(
}
}
-void ChildProcessSecurityPolicyImpl::GrantReadFile(int child_id,
- const base::FilePath& file) {
+void ChildProcessSecurityPolicyHelper::GrantReadFile(
+ int child_id,
+ const base::FilePath& file) {
GrantPermissionsForFile(child_id, file, READ_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantCreateReadWriteFile(
- int child_id, const base::FilePath& file) {
+void ChildProcessSecurityPolicyHelper::GrantCreateReadWriteFile(
+ int child_id,
+ const base::FilePath& file) {
GrantPermissionsForFile(child_id, file, CREATE_READ_WRITE_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantCopyInto(int child_id,
- const base::FilePath& dir) {
+void ChildProcessSecurityPolicyHelper::GrantCopyInto(
+ int child_id,
+ const base::FilePath& dir) {
GrantPermissionsForFile(child_id, dir, COPY_INTO_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantDeleteFrom(
- int child_id, const base::FilePath& dir) {
+void ChildProcessSecurityPolicyHelper::GrantDeleteFrom(
+ int child_id,
+ const base::FilePath& dir) {
GrantPermissionsForFile(child_id, dir, DELETE_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantPermissionsForFile(
- int child_id, const base::FilePath& file, int permissions) {
+void ChildProcessSecurityPolicyHelper::GrantPermissionsForFile(
+ int child_id,
+ const base::FilePath& file,
+ int permissions) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -460,8 +447,9 @@ void ChildProcessSecurityPolicyImpl::GrantPermissionsForFile(
state->second->GrantPermissionsForFile(file, permissions);
}
-void ChildProcessSecurityPolicyImpl::RevokeAllPermissionsForFile(
- int child_id, const base::FilePath& file) {
+void ChildProcessSecurityPolicyHelper::RevokeAllPermissionsForFile(
+ int child_id,
+ const base::FilePath& file) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -471,38 +459,44 @@ void ChildProcessSecurityPolicyImpl::RevokeAllPermissionsForFile(
state->second->RevokeAllPermissionsForFile(file);
}
-void ChildProcessSecurityPolicyImpl::GrantReadFileSystem(
- int child_id, const std::string& filesystem_id) {
+void ChildProcessSecurityPolicyHelper::GrantReadFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
GrantPermissionsForFileSystem(child_id, filesystem_id, READ_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantWriteFileSystem(
- int child_id, const std::string& filesystem_id) {
+void ChildProcessSecurityPolicyHelper::GrantWriteFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
GrantPermissionsForFileSystem(child_id, filesystem_id, WRITE_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantCreateFileForFileSystem(
- int child_id, const std::string& filesystem_id) {
+void ChildProcessSecurityPolicyHelper::GrantCreateFileForFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
GrantPermissionsForFileSystem(child_id, filesystem_id, CREATE_NEW_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantCreateReadWriteFileSystem(
- int child_id, const std::string& filesystem_id) {
- GrantPermissionsForFileSystem(
- child_id, filesystem_id, CREATE_READ_WRITE_FILE_GRANT);
+void ChildProcessSecurityPolicyHelper::GrantCreateReadWriteFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
+ GrantPermissionsForFileSystem(child_id, filesystem_id,
+ CREATE_READ_WRITE_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantCopyIntoFileSystem(
- int child_id, const std::string& filesystem_id) {
+void ChildProcessSecurityPolicyHelper::GrantCopyIntoFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
GrantPermissionsForFileSystem(child_id, filesystem_id, COPY_INTO_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantDeleteFromFileSystem(
- int child_id, const std::string& filesystem_id) {
+void ChildProcessSecurityPolicyHelper::GrantDeleteFromFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
GrantPermissionsForFileSystem(child_id, filesystem_id, DELETE_FILE_GRANT);
}
-void ChildProcessSecurityPolicyImpl::GrantSendMidiSysExMessage(int child_id) {
+void ChildProcessSecurityPolicyHelper::GrantSendMidiSysExMessage(int child_id) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -512,8 +506,8 @@ void ChildProcessSecurityPolicyImpl::GrantSendMidiSysExMessage(int child_id) {
state->second->GrantPermissionForMidiSysEx();
}
-void ChildProcessSecurityPolicyImpl::GrantOrigin(int child_id,
- const url::Origin& origin) {
+void ChildProcessSecurityPolicyHelper::GrantOrigin(int child_id,
+ const url::Origin& origin) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -523,8 +517,8 @@ void ChildProcessSecurityPolicyImpl::GrantOrigin(int child_id,
state->second->GrantOrigin(origin);
}
-void ChildProcessSecurityPolicyImpl::GrantScheme(int child_id,
- const std::string& scheme) {
+void ChildProcessSecurityPolicyHelper::GrantScheme(int child_id,
+ const std::string& scheme) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -534,7 +528,7 @@ void ChildProcessSecurityPolicyImpl::GrantScheme(int child_id,
state->second->GrantScheme(scheme);
}
-void ChildProcessSecurityPolicyImpl::GrantWebUIBindings(int child_id) {
+void ChildProcessSecurityPolicyHelper::GrantWebUIBindings(int child_id) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -550,7 +544,7 @@ void ChildProcessSecurityPolicyImpl::GrantWebUIBindings(int child_id) {
state->second->GrantScheme(url::kFileScheme);
}
-void ChildProcessSecurityPolicyImpl::GrantReadRawCookies(int child_id) {
+void ChildProcessSecurityPolicyHelper::GrantReadRawCookies(int child_id) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -560,7 +554,7 @@ void ChildProcessSecurityPolicyImpl::GrantReadRawCookies(int child_id) {
state->second->GrantReadRawCookies();
}
-void ChildProcessSecurityPolicyImpl::RevokeReadRawCookies(int child_id) {
+void ChildProcessSecurityPolicyHelper::RevokeReadRawCookies(int child_id) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -570,8 +564,8 @@ void ChildProcessSecurityPolicyImpl::RevokeReadRawCookies(int child_id) {
state->second->RevokeReadRawCookies();
}
-bool ChildProcessSecurityPolicyImpl::CanRequestURL(
- int child_id, const GURL& url) {
+bool ChildProcessSecurityPolicyHelper::CanRequestURL(int child_id,
+ const GURL& url) {
if (!url.is_valid())
return false; // Can't request invalid URLs.
@@ -595,8 +589,8 @@ bool ChildProcessSecurityPolicyImpl::CanRequestURL(
!net::URLRequest::IsHandledURL(url);
}
-bool ChildProcessSecurityPolicyImpl::CanCommitURL(int child_id,
- const GURL& url) {
+bool ChildProcessSecurityPolicyHelper::CanCommitURL(int child_id,
+ const GURL& url) {
if (!url.is_valid())
return false; // Can't commit invalid URLs.
@@ -624,12 +618,12 @@ bool ChildProcessSecurityPolicyImpl::CanCommitURL(int child_id,
}
}
-bool ChildProcessSecurityPolicyImpl::CanReadFile(int child_id,
- const base::FilePath& file) {
+bool ChildProcessSecurityPolicyHelper::CanReadFile(int child_id,
+ const base::FilePath& file) {
return HasPermissionsForFile(child_id, file, READ_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanReadAllFiles(
+bool ChildProcessSecurityPolicyHelper::CanReadAllFiles(
int child_id,
const std::vector<base::FilePath>& files) {
return std::all_of(files.begin(), files.end(),
@@ -638,37 +632,43 @@ bool ChildProcessSecurityPolicyImpl::CanReadAllFiles(
});
}
-bool ChildProcessSecurityPolicyImpl::CanCreateReadWriteFile(
+bool ChildProcessSecurityPolicyHelper::CanCreateReadWriteFile(
int child_id,
const base::FilePath& file) {
return HasPermissionsForFile(child_id, file, CREATE_READ_WRITE_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanReadFileSystem(
- int child_id, const std::string& filesystem_id) {
+bool ChildProcessSecurityPolicyHelper::CanReadFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
return HasPermissionsForFileSystem(child_id, filesystem_id, READ_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanReadWriteFileSystem(
- int child_id, const std::string& filesystem_id) {
+bool ChildProcessSecurityPolicyHelper::CanReadWriteFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
return HasPermissionsForFileSystem(child_id, filesystem_id,
READ_FILE_GRANT | WRITE_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanCopyIntoFileSystem(
- int child_id, const std::string& filesystem_id) {
+bool ChildProcessSecurityPolicyHelper::CanCopyIntoFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
return HasPermissionsForFileSystem(child_id, filesystem_id,
COPY_INTO_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanDeleteFromFileSystem(
- int child_id, const std::string& filesystem_id) {
+bool ChildProcessSecurityPolicyHelper::CanDeleteFromFileSystem(
+ int child_id,
+ const std::string& filesystem_id) {
return HasPermissionsForFileSystem(child_id, filesystem_id,
DELETE_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::HasPermissionsForFile(
- int child_id, const base::FilePath& file, int permissions) {
+bool ChildProcessSecurityPolicyHelper::HasPermissionsForFile(
+ int child_id,
+ const base::FilePath& file,
+ int permissions) {
base::AutoLock lock(lock_);
bool result = ChildProcessHasPermissionsForFile(child_id, file, permissions);
if (!result) {
@@ -676,15 +676,14 @@ bool ChildProcessSecurityPolicyImpl::HasPermissionsForFile(
// let's check that its renderer process has access to that file instead.
WorkerToMainProcessMap::iterator iter = worker_map_.find(child_id);
if (iter != worker_map_.end() && iter->second != 0) {
- result = ChildProcessHasPermissionsForFile(iter->second,
- file,
- permissions);
+ result =
+ ChildProcessHasPermissionsForFile(iter->second, file, permissions);
}
}
return result;
}
-bool ChildProcessSecurityPolicyImpl::HasPermissionsForFileSystemFile(
+bool ChildProcessSecurityPolicyHelper::HasPermissionsForFileSystemFile(
int child_id,
const storage::FileSystemURL& url,
int permissions) {
@@ -704,8 +703,8 @@ bool ChildProcessSecurityPolicyImpl::HasPermissionsForFileSystemFile(
// When Isolated filesystems is overlayed on top of another filesystem,
// its per-filesystem permission overrides the underlying filesystem
// permissions).
- return HasPermissionsForFileSystem(
- child_id, url.mount_filesystem_id(), permissions);
+ return HasPermissionsForFileSystem(child_id, url.mount_filesystem_id(),
+ permissions);
}
FileSystemPermissionPolicyMap::iterator found =
@@ -727,44 +726,44 @@ bool ChildProcessSecurityPolicyImpl::HasPermissionsForFileSystemFile(
return false;
}
-bool ChildProcessSecurityPolicyImpl::CanReadFileSystemFile(
+bool ChildProcessSecurityPolicyHelper::CanReadFileSystemFile(
int child_id,
const storage::FileSystemURL& url) {
return HasPermissionsForFileSystemFile(child_id, url, READ_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanWriteFileSystemFile(
+bool ChildProcessSecurityPolicyHelper::CanWriteFileSystemFile(
int child_id,
const storage::FileSystemURL& url) {
return HasPermissionsForFileSystemFile(child_id, url, WRITE_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanCreateFileSystemFile(
+bool ChildProcessSecurityPolicyHelper::CanCreateFileSystemFile(
int child_id,
const storage::FileSystemURL& url) {
return HasPermissionsForFileSystemFile(child_id, url, CREATE_NEW_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanCreateReadWriteFileSystemFile(
+bool ChildProcessSecurityPolicyHelper::CanCreateReadWriteFileSystemFile(
int child_id,
const storage::FileSystemURL& url) {
return HasPermissionsForFileSystemFile(child_id, url,
CREATE_READ_WRITE_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanCopyIntoFileSystemFile(
+bool ChildProcessSecurityPolicyHelper::CanCopyIntoFileSystemFile(
int child_id,
const storage::FileSystemURL& url) {
return HasPermissionsForFileSystemFile(child_id, url, COPY_INTO_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::CanDeleteFileSystemFile(
+bool ChildProcessSecurityPolicyHelper::CanDeleteFileSystemFile(
int child_id,
const storage::FileSystemURL& url) {
return HasPermissionsForFileSystemFile(child_id, url, DELETE_FILE_GRANT);
}
-bool ChildProcessSecurityPolicyImpl::HasWebUIBindings(int child_id) {
+bool ChildProcessSecurityPolicyHelper::HasWebUIBindings(int child_id) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -774,7 +773,7 @@ bool ChildProcessSecurityPolicyImpl::HasWebUIBindings(int child_id) {
return state->second->has_web_ui_bindings();
}
-bool ChildProcessSecurityPolicyImpl::CanReadRawCookies(int child_id) {
+bool ChildProcessSecurityPolicyHelper::CanReadRawCookies(int child_id) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
@@ -784,7 +783,7 @@ bool ChildProcessSecurityPolicyImpl::CanReadRawCookies(int child_id) {
return state->second->can_read_raw_cookies();
}
-void ChildProcessSecurityPolicyImpl::AddChild(int child_id) {
+void ChildProcessSecurityPolicyHelper::AddChild(int child_id) {
if (security_state_.count(child_id) != 0) {
NOTREACHED() << "Add child process at most once.";
return;
@@ -793,16 +792,19 @@ void ChildProcessSecurityPolicyImpl::AddChild(int child_id) {
security_state_[child_id] = new SecurityState();
}
-bool ChildProcessSecurityPolicyImpl::ChildProcessHasPermissionsForFile(
- int child_id, const base::FilePath& file, int permissions) {
+bool ChildProcessSecurityPolicyHelper::ChildProcessHasPermissionsForFile(
+ int child_id,
+ const base::FilePath& file,
+ int permissions) {
SecurityStateMap::iterator state = security_state_.find(child_id);
if (state == security_state_.end())
return false;
return state->second->HasPermissionsForFile(file, permissions);
}
-bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(int child_id,
- const GURL& gurl) {
+bool ChildProcessSecurityPolicyHelper::CanAccessDataForOrigin(
+ int child_id,
+ const GURL& gurl) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
if (state == security_state_.end()) {
@@ -813,8 +815,8 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(int child_id,
return state->second->CanAccessDataForOrigin(gurl);
}
-void ChildProcessSecurityPolicyImpl::LockToOrigin(int child_id,
- const GURL& gurl) {
+void ChildProcessSecurityPolicyHelper::LockToOrigin(int child_id,
+ const GURL& gurl) {
// "gurl" can be currently empty in some cases, such as file://blah.
DCHECK(SiteInstanceImpl::GetSiteForURL(NULL, gurl) == gurl);
base::AutoLock lock(lock_);
@@ -823,7 +825,7 @@ void ChildProcessSecurityPolicyImpl::LockToOrigin(int child_id,
state->second->LockToOrigin(gurl);
}
-void ChildProcessSecurityPolicyImpl::GrantPermissionsForFileSystem(
+void ChildProcessSecurityPolicyHelper::GrantPermissionsForFileSystem(
int child_id,
const std::string& filesystem_id,
int permission) {
@@ -835,7 +837,7 @@ void ChildProcessSecurityPolicyImpl::GrantPermissionsForFileSystem(
state->second->GrantPermissionsForFileSystem(filesystem_id, permission);
}
-bool ChildProcessSecurityPolicyImpl::HasPermissionsForFileSystem(
+bool ChildProcessSecurityPolicyHelper::HasPermissionsForFileSystem(
int child_id,
const std::string& filesystem_id,
int permission) {
@@ -847,14 +849,14 @@ bool ChildProcessSecurityPolicyImpl::HasPermissionsForFileSystem(
return state->second->HasPermissionsForFileSystem(filesystem_id, permission);
}
-void ChildProcessSecurityPolicyImpl::RegisterFileSystemPermissionPolicy(
+void ChildProcessSecurityPolicyHelper::RegisterFileSystemPermissionPolicy(
storage::FileSystemType type,
int policy) {
base::AutoLock lock(lock_);
file_system_policy_map_[type] = policy;
}
-bool ChildProcessSecurityPolicyImpl::CanSendMidiSysExMessage(int child_id) {
+bool ChildProcessSecurityPolicyHelper::CanSendMidiSysExMessage(int child_id) {
base::AutoLock lock(lock_);
SecurityStateMap::iterator state = security_state_.find(child_id);
« no previous file with comments | « content/browser/shared/child_process_security_policy_helper.h ('k') | content/browser/site_instance_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698