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

Unified Diff: content/browser/child_process_security_policy_impl.cc

Issue 2921063003: Fix process reuse for dedicated processes when over process limit. (Closed)
Patch Set: Rebase Created 3 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/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,
« no previous file with comments | « content/browser/child_process_security_policy_impl.h ('k') | content/browser/isolated_origin_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698