| Index: content/browser/browsing_instance.cc
|
| diff --git a/content/browser/browsing_instance.cc b/content/browser/browsing_instance.cc
|
| index d52d6e06f5056c9e73f5fafe2f86df1d228aa611..eec9d8d6f7bd35f3868f4bd4bb5a3e7ac124f241 100644
|
| --- a/content/browser/browsing_instance.cc
|
| +++ b/content/browser/browsing_instance.cc
|
| @@ -14,8 +14,10 @@
|
| #include "content/public/common/url_constants.h"
|
|
|
| // static
|
| -BrowsingInstance::ContextSiteInstanceMap
|
| - BrowsingInstance::context_site_instance_map_;
|
| +base::LazyInstance<
|
| + BrowsingInstance::ContextSiteInstanceMap,
|
| + base::LeakyLazyInstanceTraits<BrowsingInstance::ContextSiteInstanceMap> >
|
| + BrowsingInstance::context_site_instance_map_(base::LINKER_INITIALIZED);
|
|
|
| BrowsingInstance::BrowsingInstance(content::BrowserContext* browser_context)
|
| : browser_context_(browser_context) {
|
| @@ -60,7 +62,7 @@ BrowsingInstance::SiteInstanceMap* BrowsingInstance::GetSiteInstanceMap(
|
|
|
| // Otherwise, process-per-site is in use, at least for this URL. Look up the
|
| // global map for this context, creating an entry if necessary.
|
| - return &context_site_instance_map_[browser_context];
|
| + return &context_site_instance_map_.Get()[browser_context];
|
| }
|
|
|
| bool BrowsingInstance::HasSiteInstance(const GURL& url) {
|
| @@ -129,7 +131,9 @@ void BrowsingInstance::UnregisterSiteInstance(SiteInstance* site_instance) {
|
| if (!RemoveSiteInstanceFromMap(&site_instance_map_, site, site_instance)) {
|
| // Wasn't in our local map, so look in the static per-browser context map.
|
| RemoveSiteInstanceFromMap(
|
| - &context_site_instance_map_[browser_context_], site, site_instance);
|
| + &context_site_instance_map_.Get()[browser_context_],
|
| + site,
|
| + site_instance);
|
| }
|
| }
|
|
|
|
|