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

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: Fix IsSuitableHost for sites that require a dedicated process but don't set an origin lock 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..245e9d142c79198db86658fbbfeb51b13957032e 100644
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -268,6 +268,10 @@ class ChildProcessSecurityPolicyImpl::SecurityState {
origin_lock_ = gurl;
}
+ bool HasOriginLock() { return !origin_lock_.is_empty(); }
+
+ bool IsLockedToOrigin(const GURL& gurl) { return origin_lock_ == gurl; }
+
bool has_web_ui_bindings() const {
return enabled_bindings_ & BINDINGS_POLICY_WEB_UI;
}
@@ -1025,6 +1029,23 @@ void ChildProcessSecurityPolicyImpl::LockToOrigin(int child_id,
state->second->LockToOrigin(gurl);
}
+bool ChildProcessSecurityPolicyImpl::HasOriginLock(int child_id) {
+ base::AutoLock lock(lock_);
+ SecurityStateMap::iterator state = security_state_.find(child_id);
+ if (state == security_state_.end())
+ return false;
+ return state->second->HasOriginLock();
+}
+
+bool ChildProcessSecurityPolicyImpl::IsLockedToOrigin(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 false;
+ return state->second->IsLockedToOrigin(site_url);
+}
+
void ChildProcessSecurityPolicyImpl::GrantPermissionsForFileSystem(
int child_id,
const std::string& filesystem_id,

Powered by Google App Engine
This is Rietveld 408576698