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

Unified Diff: content/browser/site_instance_impl.cc

Issue 2706933003: webapk: Avoid overwriting default CreationParams
Patch Set: cleanups Created 3 years, 10 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/site_instance_impl.cc
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
index a4c886260e008f39fc30ab153d898df9fd09f2d0..3c6d83886b67aa141cb61ea061e61d659e7a30f2 100644
--- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc
@@ -5,6 +5,7 @@
#include "content/browser/site_instance_impl.h"
#include "content/browser/browsing_instance.h"
+#include "content/browser/child_process_launcher.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/frame_host/debug_urls.h"
#include "content/browser/frame_host/frame_tree_node.h"
@@ -47,17 +48,19 @@ SiteInstanceImpl::~SiteInstanceImpl() {
}
scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::Create(
- BrowserContext* browser_context) {
- return make_scoped_refptr(
- new SiteInstanceImpl(new BrowsingInstance(browser_context)));
+ BrowserContext* browser_context,
+ int child_process_param_id) {
+ return make_scoped_refptr(new SiteInstanceImpl(
+ new BrowsingInstance(browser_context, child_process_param_id)));
}
scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForURL(
BrowserContext* browser_context,
- const GURL& url) {
+ const GURL& url,
+ int child_process_param_id) {
// This will create a new SiteInstance and BrowsingInstance.
scoped_refptr<BrowsingInstance> instance(
- new BrowsingInstance(browser_context));
+ new BrowsingInstance(browser_context, child_process_param_id));
return instance->GetSiteInstanceForURL(url);
}
@@ -96,7 +99,8 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
// Gets the correct render process to use for this SiteInstance.
RenderProcessHost* GetProcessHost(SiteInstance* site_instance,
- bool is_for_guests_only) {
+ bool is_for_guests_only,
+ int child_process_param_id) {
StoragePartition* default_partition =
BrowserContext::GetDefaultStoragePartition(browser_context_);
StoragePartition* partition =
@@ -107,7 +111,7 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
if (partition != default_partition || is_for_guests_only) {
RenderProcessHostImpl* host = new RenderProcessHostImpl(
browser_context_, static_cast<StoragePartitionImpl*>(partition),
- is_for_guests_only);
+ is_for_guests_only, child_process_param_id);
host->SetIsNeverSuitableForReuse();
return host;
}
@@ -120,7 +124,7 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
host_ = new RenderProcessHostImpl(
browser_context_, static_cast<StoragePartitionImpl*>(partition),
- false /* for guests only */);
+ false /* for guests only */, child_process_param_id);
host_->SetIsNeverSuitableForReuse();
host_->AddObserver(this);
@@ -154,7 +158,8 @@ RenderProcessHost* SiteInstanceImpl::GetDefaultSubframeProcessHost(
browser_context->SetUserData(kDefaultSubframeProcessHostHolderKey, holder);
}
- return holder->GetProcessHost(this, is_for_guests_only);
+ return holder->GetProcessHost(this, is_for_guests_only,
+ browsing_instance_->child_process_param_id());
boliu 2017/02/23 00:51:30 I think this is the thing being discussed in the b
}
RenderProcessHost* SiteInstanceImpl::GetProcess() {
@@ -201,8 +206,9 @@ RenderProcessHost* SiteInstanceImpl::GetProcess() {
StoragePartitionImpl* partition =
static_cast<StoragePartitionImpl*>(
BrowserContext::GetStoragePartition(browser_context, this));
- process_ = new RenderProcessHostImpl(browser_context, partition,
- is_for_guests_only);
+ process_ = new RenderProcessHostImpl(
+ browser_context, partition, is_for_guests_only,
+ browsing_instance_->child_process_param_id());
}
}
CHECK(process_);
@@ -362,15 +368,17 @@ BrowserContext* SiteInstanceImpl::GetBrowserContext() const {
// static
scoped_refptr<SiteInstance> SiteInstance::Create(
- BrowserContext* browser_context) {
- return SiteInstanceImpl::Create(browser_context);
+ BrowserContext* browser_context,
+ int child_process_param_id) {
+ return SiteInstanceImpl::Create(browser_context, child_process_param_id);
}
// static
scoped_refptr<SiteInstance> SiteInstance::CreateForURL(
BrowserContext* browser_context,
const GURL& url) {
- return SiteInstanceImpl::CreateForURL(browser_context, url);
+ return SiteInstanceImpl::CreateForURL(browser_context, url,
+ ChildProcessLauncher::DEFAULT_PARAM_ID);
}
// static

Powered by Google App Engine
This is Rietveld 408576698