| 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());
|
| }
|
|
|
| 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
|
|
|