Index: chrome/browser/dom_ui/chrome_url_data_manager.cc |
diff --git a/chrome/browser/dom_ui/chrome_url_data_manager.cc b/chrome/browser/dom_ui/chrome_url_data_manager.cc |
index 2f2959a5ab71e2f26a2b0152889c99f0a70d73bc..3da06c1549266e49b260e6b94a504fa24f98eb36 100644 |
--- a/chrome/browser/dom_ui/chrome_url_data_manager.cc |
+++ b/chrome/browser/dom_ui/chrome_url_data_manager.cc |
@@ -8,6 +8,7 @@ |
#include "base/file_util.h" |
#include "base/message_loop.h" |
#include "base/path_service.h" |
+#include "base/singleton.h" |
#include "base/string_util.h" |
#include "base/thread.h" |
#include "base/values.h" |
@@ -30,9 +31,6 @@ |
// TODO(glen): Choose a better location for this. |
static const char kChromeURLScheme[] = "chrome"; |
-// The single global instance of ChromeURLDataManager. |
-ChromeURLDataManager chrome_url_data_manager; |
- |
// URLRequestChromeJob is a URLRequestJob that manages running chrome-internal |
// resource requests asynchronously. |
// It hands off URL requests to ChromeURLDataManager, which asynchronously |
@@ -105,9 +103,10 @@ void RegisterURLRequestChromeJob() { |
// all features of in-process Web Inspector and Console Debugger. For the |
// time being we need to serve the same content from chrome://inspector |
// for the Console Debugger and in-process Web Inspector. |
- chrome_url_data_manager.AddFileSource("inspector", inspector_dir); |
- chrome_url_data_manager.AddFileSource(chrome::kChromeUIDevToolsHost, |
- inspector_dir); |
+ Singleton<ChromeURLDataManager>()->AddFileSource("inspector", |
+ inspector_dir); |
+ Singleton<ChromeURLDataManager>()->AddFileSource( |
+ chrome::kChromeUIDevToolsHost, inspector_dir); |
} |
URLRequest::RegisterProtocolFactory(kChromeURLScheme, |
@@ -119,8 +118,9 @@ void RegisterURLRequestChromeJob() { |
void UnregisterURLRequestChromeJob() { |
FilePath inspector_dir; |
if (PathService::Get(chrome::DIR_INSPECTOR, &inspector_dir)) { |
- chrome_url_data_manager.RemoveFileSource("inspector"); |
- chrome_url_data_manager.RemoveFileSource(chrome::kChromeUIDevToolsHost); |
+ Singleton<ChromeURLDataManager>()->RemoveFileSource("inspector"); |
+ Singleton<ChromeURLDataManager>()->RemoveFileSource( |
+ chrome::kChromeUIDevToolsHost); |
} |
} |
@@ -164,8 +164,8 @@ bool ChromeURLDataManager::URLToFilePath(const GURL& url, |
URLToRequest(url, &source_name, &relative_path); |
FileSourceMap::const_iterator i( |
- chrome_url_data_manager.file_sources_.find(source_name)); |
- if (i == chrome_url_data_manager.file_sources_.end()) |
+ Singleton<ChromeURLDataManager>()->file_sources_.find(source_name)); |
+ if (i == Singleton<ChromeURLDataManager>()->file_sources_.end()) |
return false; |
*file_path = i->second.AppendASCII(relative_path); |
@@ -275,7 +275,7 @@ void ChromeURLDataManager::DataSource::SendResponse( |
RefCountedMemory* bytes) { |
ChromeThread::PostTask( |
ChromeThread::IO, FROM_HERE, |
- NewRunnableMethod(&chrome_url_data_manager, |
+ NewRunnableMethod(Singleton<ChromeURLDataManager>().get(), |
&ChromeURLDataManager::DataAvailable, |
request_id, scoped_refptr<RefCountedMemory>(bytes))); |
} |
@@ -350,7 +350,7 @@ URLRequestChromeJob::URLRequestChromeJob(URLRequest* request) |
} |
URLRequestChromeJob::~URLRequestChromeJob() { |
- CHECK(!chrome_url_data_manager.HasPendingJob(this)); |
+ CHECK(!Singleton<ChromeURLDataManager>()->HasPendingJob(this)); |
} |
void URLRequestChromeJob::Start() { |
@@ -361,7 +361,7 @@ void URLRequestChromeJob::Start() { |
} |
void URLRequestChromeJob::Kill() { |
- chrome_url_data_manager.RemoveRequest(this); |
+ Singleton<ChromeURLDataManager>()->RemoveRequest(this); |
} |
bool URLRequestChromeJob::GetMimeType(std::string* mime_type) const { |
@@ -421,7 +421,7 @@ void URLRequestChromeJob::StartAsync() { |
if (!request_) |
return; |
- if (chrome_url_data_manager.StartRequest(request_->url(), this)) { |
+ if (Singleton<ChromeURLDataManager>()->StartRequest(request_->url(), this)) { |
NotifyHeadersComplete(); |
} else { |
NotifyStartError(URLRequestStatus(URLRequestStatus::FAILED, |