Change UnmatchedServiceWorkerProcessTracker to handle default SiteInstance.
- Added code that enables the default SiteInstance to use an unmatched
service worker process for a site that is handled by the default SiteInstance.
- Remove default SiteInstance specific conditions from tests that were
testing process reuse and unmatched service worker process behavior.
- Added code to BrowsingInstance that tracks what site URLs are associated
with its default SiteInstance. This allows process reuse to be constrained
to sites explicitly associated with a specific default SiteInstance.
Bug: 958060
Change-Id: I9ce95dbd5ecc192cba8cd4e6046787d248ff3532
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1668449
Reviewed-by: Charlie Reis <[email protected]>
Commit-Queue: Aaron Colwell <[email protected]>
Cr-Commit-Position: refs/heads/master@{#672681}
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
index f346b89..e7fadf3 100644
--- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc
@@ -194,10 +194,14 @@
return browsing_instance_->default_process();
}
-bool SiteInstanceImpl::IsDefaultSiteInstance() {
+bool SiteInstanceImpl::IsDefaultSiteInstance() const {
return browsing_instance_->IsDefaultSiteInstance(this);
}
+bool SiteInstanceImpl::IsSiteInDefaultSiteInstance(const GURL& site_url) const {
+ return browsing_instance_->IsSiteInDefaultSiteInstance(site_url);
+}
+
void SiteInstanceImpl::MaybeSetBrowsingInstanceDefaultProcess() {
if (!base::FeatureList::IsEnabled(
features::kProcessSharingWithStrictSiteInstances)) {