| Index: webkit/appcache/web_application_cache_host_impl.cc
|
| diff --git a/webkit/appcache/web_application_cache_host_impl.cc b/webkit/appcache/web_application_cache_host_impl.cc
|
| index f65bed65e086d1f315ffb4be13c2cc76e57ffd85..76c75c19c8984ce3fa0ee541a9c499d20cbf940c 100644
|
| --- a/webkit/appcache/web_application_cache_host_impl.cc
|
| +++ b/webkit/appcache/web_application_cache_host_impl.cc
|
| @@ -6,9 +6,9 @@
|
|
|
| #include "base/compiler_specific.h"
|
| #include "base/id_map.h"
|
| +#include "base/lazy_instance.h"
|
| #include "base/string_util.h"
|
| #include "base/stringprintf.h"
|
| -#include "base/singleton.h"
|
| #include "third_party/WebKit/WebKit/chromium/public/WebDataSource.h"
|
| #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
|
| #include "third_party/WebKit/WebKit/chromium/public/WebURL.h"
|
| @@ -29,6 +29,7 @@ namespace appcache {
|
| namespace {
|
|
|
| typedef IDMap<WebApplicationCacheHostImpl> HostsMap;
|
| +static base::LazyInstance<HostsMap> g_hosts_map(base::LINKER_INITIALIZED);
|
|
|
| // Note: the order of the elements in this array must match those
|
| // of the EventID enum in appcache_interfaces.h.
|
| @@ -45,14 +46,10 @@ GURL ClearUrlRef(const GURL& url) {
|
| return url.ReplaceComponents(replacements);
|
| }
|
|
|
| -HostsMap* all_hosts() {
|
| - return Singleton<HostsMap>::get();
|
| -}
|
| -
|
| } // anon namespace
|
|
|
| WebApplicationCacheHostImpl* WebApplicationCacheHostImpl::FromId(int id) {
|
| - return all_hosts()->Lookup(id);
|
| + return g_hosts_map.Get().Lookup(id);
|
| }
|
|
|
| WebApplicationCacheHostImpl* WebApplicationCacheHostImpl::FromFrame(
|
| @@ -71,7 +68,7 @@ WebApplicationCacheHostImpl::WebApplicationCacheHostImpl(
|
| AppCacheBackend* backend)
|
| : client_(client),
|
| backend_(backend),
|
| - ALLOW_THIS_IN_INITIALIZER_LIST(host_id_(all_hosts()->Add(this))),
|
| + ALLOW_THIS_IN_INITIALIZER_LIST(host_id_(g_hosts_map.Get().Add(this))),
|
| has_status_(false),
|
| status_(UNCACHED),
|
| has_cached_status_(false),
|
| @@ -86,7 +83,7 @@ WebApplicationCacheHostImpl::WebApplicationCacheHostImpl(
|
|
|
| WebApplicationCacheHostImpl::~WebApplicationCacheHostImpl() {
|
| backend_->UnregisterHost(host_id_);
|
| - all_hosts()->Remove(host_id_);
|
| + g_hosts_map.Get().Remove(host_id_);
|
| }
|
|
|
| void WebApplicationCacheHostImpl::OnCacheSelected(
|
|
|