| Index: content/browser/child_process_security_policy_impl.cc
|
| diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
|
| index a9b54d8cfe3f82ccdb0085d3234220242e539a10..210a3c3c7cb5c9e7c2c9ab5e7c957a6a69c6cbc9 100644
|
| --- a/content/browser/child_process_security_policy_impl.cc
|
| +++ b/content/browser/child_process_security_policy_impl.cc
|
| @@ -268,6 +268,20 @@ class ChildProcessSecurityPolicyImpl::SecurityState {
|
| origin_lock_ = gurl;
|
| }
|
|
|
| + ChildProcessSecurityPolicyImpl::CheckOriginLockResult CheckOriginLock(
|
| + const GURL& gurl) {
|
| + if (origin_lock_.is_empty())
|
| + return ChildProcessSecurityPolicyImpl::CheckOriginLockResult::NO_LOCK;
|
| +
|
| + if (origin_lock_ == gurl) {
|
| + return ChildProcessSecurityPolicyImpl::CheckOriginLockResult::
|
| + HAS_EQUAL_LOCK;
|
| + }
|
| +
|
| + return ChildProcessSecurityPolicyImpl::CheckOriginLockResult::
|
| + HAS_WRONG_LOCK;
|
| + }
|
| +
|
| bool has_web_ui_bindings() const {
|
| return enabled_bindings_ & BINDINGS_POLICY_WEB_UI;
|
| }
|
| @@ -1025,6 +1039,16 @@ void ChildProcessSecurityPolicyImpl::LockToOrigin(int child_id,
|
| state->second->LockToOrigin(gurl);
|
| }
|
|
|
| +ChildProcessSecurityPolicyImpl::CheckOriginLockResult
|
| +ChildProcessSecurityPolicyImpl::CheckOriginLock(int child_id,
|
| + const GURL& site_url) {
|
| + base::AutoLock lock(lock_);
|
| + SecurityStateMap::iterator state = security_state_.find(child_id);
|
| + if (state == security_state_.end())
|
| + return ChildProcessSecurityPolicyImpl::CheckOriginLockResult::NO_LOCK;
|
| + return state->second->CheckOriginLock(site_url);
|
| +}
|
| +
|
| void ChildProcessSecurityPolicyImpl::GrantPermissionsForFileSystem(
|
| int child_id,
|
| const std::string& filesystem_id,
|
|
|