summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/gpu_process_host.cc2
-rw-r--r--chrome/browser/plugin_process_host.cc2
-rw-r--r--chrome/browser/renderer_host/resource_message_filter_gtk.cc8
-rw-r--r--chrome/gpu/gpu_channel.cc4
-rw-r--r--chrome/gpu/gpu_video_service.cc5
-rw-r--r--chrome/gpu/gpu_video_service.h5
-rw-r--r--chrome/renderer/automation/dom_automation_v8_extension.cc2
-rw-r--r--chrome/renderer/extensions/bindings_utils.cc14
-rw-r--r--chrome/renderer/extensions/bindings_utils.h15
-rw-r--r--chrome/renderer/extensions/event_bindings.cc2
-rw-r--r--chrome/renderer/extensions/extension_api_json_validity_unittest.cc2
-rw-r--r--chrome/renderer/extensions/extension_process_bindings.cc4
-rw-r--r--chrome/renderer/extensions/js_only_v8_extensions.cc6
-rw-r--r--chrome/renderer/extensions/renderer_extension_bindings.cc2
-rw-r--r--chrome/test/webdriver/commands/create_session.cc2
-rw-r--r--chrome/test/webdriver/commands/session_with_id.cc2
-rw-r--r--chrome/test/webdriver/commands/webdriver_command.cc2
-rw-r--r--chrome/test/webdriver/server.cc3
-rw-r--r--chrome/test/webdriver/session_manager.cc5
-rw-r--r--chrome/test/webdriver/session_manager.h3
20 files changed, 52 insertions, 38 deletions
diff --git a/chrome/browser/gpu_process_host.cc b/chrome/browser/gpu_process_host.cc
index abc8273..dd40b005 100644
--- a/chrome/browser/gpu_process_host.cc
+++ b/chrome/browser/gpu_process_host.cc
@@ -222,7 +222,7 @@ void SendDelayedReply(IPC::Message* reply_msg) {
void GetViewXIDDispatcher(gfx::NativeViewId id, IPC::Message* reply_msg) {
XID xid;
- GtkNativeViewManager* manager = Singleton<GtkNativeViewManager>::get();
+ GtkNativeViewManager* manager = GtkNativeViewManager::GetInstance();
if (!manager->GetPermanentXIDForId(&xid, id)) {
DLOG(ERROR) << "Can't find XID for view id " << id;
xid = 0;
diff --git a/chrome/browser/plugin_process_host.cc b/chrome/browser/plugin_process_host.cc
index a87fdd6..c6ee524 100644
--- a/chrome/browser/plugin_process_host.cc
+++ b/chrome/browser/plugin_process_host.cc
@@ -87,7 +87,7 @@ void PluginProcessHost::AddWindow(HWND window) {
void PluginProcessHost::OnMapNativeViewId(gfx::NativeViewId id,
gfx::PluginWindowHandle* output) {
*output = 0;
- Singleton<GtkNativeViewManager>()->GetXIDForId(output, id);
+ GtkNativeViewManager::GetInstance()->GetXIDForId(output, id);
}
#endif // defined(TOOLKIT_USES_GTK)
diff --git a/chrome/browser/renderer_host/resource_message_filter_gtk.cc b/chrome/browser/renderer_host/resource_message_filter_gtk.cc
index 59c6588..e2bf641 100644
--- a/chrome/browser/renderer_host/resource_message_filter_gtk.cc
+++ b/chrome/browser/renderer_host/resource_message_filter_gtk.cc
@@ -69,8 +69,8 @@ void ResourceMessageFilter::DoOnGetWindowRect(gfx::NativeViewId view,
gfx::Rect rect;
XID window;
- AutoLock lock(Singleton<GtkNativeViewManager>()->unrealize_lock());
- if (Singleton<GtkNativeViewManager>()->GetXIDForId(&window, view)) {
+ AutoLock lock(GtkNativeViewManager::GetInstance()->unrealize_lock());
+ if (GtkNativeViewManager::GetInstance()->GetXIDForId(&window, view)) {
if (window) {
int x, y;
unsigned width, height;
@@ -109,8 +109,8 @@ void ResourceMessageFilter::DoOnGetRootWindowRect(gfx::NativeViewId view,
gfx::Rect rect;
XID window;
- AutoLock lock(Singleton<GtkNativeViewManager>()->unrealize_lock());
- if (Singleton<GtkNativeViewManager>()->GetXIDForId(&window, view)) {
+ AutoLock lock(GtkNativeViewManager::GetInstance()->unrealize_lock());
+ if (GtkNativeViewManager::GetInstance()->GetXIDForId(&window, view)) {
if (window) {
const XID toplevel = GetTopLevelWindow(window);
if (toplevel) {
diff --git a/chrome/gpu/gpu_channel.cc b/chrome/gpu/gpu_channel.cc
index 10641ed..9d3ebd3 100644
--- a/chrome/gpu/gpu_channel.cc
+++ b/chrome/gpu/gpu_channel.cc
@@ -206,7 +206,7 @@ void GpuChannel::OnCreateVideoDecoder(int32 context_route_id,
int32 decoder_host_id) {
#if defined(ENABLE_GPU)
VLOG(1) << "GpuChannel::OnCreateVideoDecoder";
- GpuVideoService* service = GpuVideoService::get();
+ GpuVideoService* service = GpuVideoService::GetInstance();
if (service == NULL) {
// TODO(hclam): Need to send a failure message.
return;
@@ -228,7 +228,7 @@ void GpuChannel::OnCreateVideoDecoder(int32 context_route_id,
void GpuChannel::OnDestroyVideoDecoder(int32 decoder_id) {
#if defined(ENABLE_GPU)
LOG(ERROR) << "GpuChannel::OnDestroyVideoDecoder";
- GpuVideoService* service = GpuVideoService::get();
+ GpuVideoService* service = GpuVideoService::GetInstance();
if (service == NULL)
return;
service->DestroyVideoDecoder(&router_, decoder_id);
diff --git a/chrome/gpu/gpu_video_service.cc b/chrome/gpu/gpu_video_service.cc
index 03025b8..ca9d482 100644
--- a/chrome/gpu/gpu_video_service.cc
+++ b/chrome/gpu/gpu_video_service.cc
@@ -23,6 +23,11 @@ GpuVideoService::~GpuVideoService() {
UnintializeGpuVideoService();
}
+// static
+GpuVideoService* GpuVideoService::GetInstance() {
+ return Singleton<GpuVideoService>::get();
+}
+
void GpuVideoService::OnChannelConnected(int32 peer_pid) {
LOG(ERROR) << "GpuVideoService::OnChannelConnected";
}
diff --git a/chrome/gpu/gpu_video_service.h b/chrome/gpu/gpu_video_service.h
index e6af444..b9ad6da 100644
--- a/chrome/gpu/gpu_video_service.h
+++ b/chrome/gpu/gpu_video_service.h
@@ -14,9 +14,10 @@
class GpuChannel;
-class GpuVideoService : public IPC::Channel::Listener,
- public Singleton<GpuVideoService> {
+class GpuVideoService : public IPC::Channel::Listener {
public:
+ static GpuVideoService* GetInstance();
+
// IPC::Channel::Listener.
virtual void OnChannelConnected(int32 peer_pid);
virtual void OnChannelError();
diff --git a/chrome/renderer/automation/dom_automation_v8_extension.cc b/chrome/renderer/automation/dom_automation_v8_extension.cc
index efe5ada..258c874 100644
--- a/chrome/renderer/automation/dom_automation_v8_extension.cc
+++ b/chrome/renderer/automation/dom_automation_v8_extension.cc
@@ -14,6 +14,6 @@ const char* DomAutomationV8Extension::kName = "chrome/domautomation";
v8::Extension* DomAutomationV8Extension::Get() {
static v8::Extension* extension =
new bindings_utils::ExtensionBase(
- kName, GetStringResource<IDR_DOM_AUTOMATION_JS>(), 0, NULL);
+ kName, GetStringResource(IDR_DOM_AUTOMATION_JS), 0, NULL);
return extension;
}
diff --git a/chrome/renderer/extensions/bindings_utils.cc b/chrome/renderer/extensions/bindings_utils.cc
index 83ddeee..5b213c4 100644
--- a/chrome/renderer/extensions/bindings_utils.cc
+++ b/chrome/renderer/extensions/bindings_utils.cc
@@ -22,6 +22,20 @@ struct SingletonData {
PendingRequestMap pending_requests;
};
+typedef std::map<int, std::string> StringMap;
+
+const char* GetStringResource(int resource_id) {
+ StringMap* strings = Singleton<StringMap>::get();
+ StringMap::iterator it = strings->find(resource_id);
+ if (it == strings->end()) {
+ it = strings->insert(std::make_pair(
+ resource_id,
+ ResourceBundle::GetSharedInstance().GetRawDataResource(
+ resource_id).as_string())).first;
+ }
+ return it->second.c_str();
+}
+
// ExtensionBase
v8::Handle<v8::FunctionTemplate>
diff --git a/chrome/renderer/extensions/bindings_utils.h b/chrome/renderer/extensions/bindings_utils.h
index d1bc3b3..f506ce0 100644
--- a/chrome/renderer/extensions/bindings_utils.h
+++ b/chrome/renderer/extensions/bindings_utils.h
@@ -50,20 +50,7 @@ class ExtensionBase : public v8::Extension {
static v8::Handle<v8::Value> GetChromeHidden(const v8::Arguments& args);
};
-template<int kResourceId>
-struct StringResourceTemplate {
- StringResourceTemplate()
- : resource(ResourceBundle::GetSharedInstance().GetRawDataResource(
- kResourceId).as_string()) {
- }
- std::string resource;
-};
-
-template<int kResourceId>
-const char* GetStringResource() {
- return
- Singleton< StringResourceTemplate<kResourceId> >::get()->resource.c_str();
-}
+const char* GetStringResource(int resource_id);
// Contains information about a single javascript context.
struct ContextInfo {
diff --git a/chrome/renderer/extensions/event_bindings.cc b/chrome/renderer/extensions/event_bindings.cc
index 60c5c0d..d960509 100644
--- a/chrome/renderer/extensions/event_bindings.cc
+++ b/chrome/renderer/extensions/event_bindings.cc
@@ -72,7 +72,7 @@ class ExtensionImpl : public ExtensionBase {
public:
ExtensionImpl()
: ExtensionBase(EventBindings::kName,
- GetStringResource<IDR_EVENT_BINDINGS_JS>(),
+ GetStringResource(IDR_EVENT_BINDINGS_JS),
0, NULL) {
}
~ExtensionImpl() {}
diff --git a/chrome/renderer/extensions/extension_api_json_validity_unittest.cc b/chrome/renderer/extensions/extension_api_json_validity_unittest.cc
index b692649..49858f2 100644
--- a/chrome/renderer/extensions/extension_api_json_validity_unittest.cc
+++ b/chrome/renderer/extensions/extension_api_json_validity_unittest.cc
@@ -130,7 +130,7 @@ TEST_F(ExtensionApiJsonValidityTest, Basic) {
// chrome/renderer/resources/extension_process_bindings.js .
TEST_F(ExtensionApiJsonValidityTest, MAYBE_WithV8) {
std::string ext_api_string =
- bindings_utils::GetStringResource<IDR_EXTENSION_API_JSON>();
+ bindings_utils::GetStringResource(IDR_EXTENSION_API_JSON);
// Create a global variable holding the text of extension_api.json .
SetGlobalStringVar("ext_api_json_text", ext_api_string);
diff --git a/chrome/renderer/extensions/extension_process_bindings.cc b/chrome/renderer/extensions/extension_process_bindings.cc
index 6631587..7370e3d 100644
--- a/chrome/renderer/extensions/extension_process_bindings.cc
+++ b/chrome/renderer/extensions/extension_process_bindings.cc
@@ -194,7 +194,7 @@ class ExtensionViewAccumulator : public RenderViewVisitor {
class ExtensionImpl : public ExtensionBase {
public:
ExtensionImpl() : ExtensionBase(
- kExtensionName, GetStringResource<IDR_EXTENSION_PROCESS_BINDINGS_JS>(),
+ kExtensionName, GetStringResource(IDR_EXTENSION_PROCESS_BINDINGS_JS),
arraysize(kExtensionDeps), kExtensionDeps) {}
static void SetFunctionNames(const std::vector<std::string>& names) {
@@ -253,7 +253,7 @@ class ExtensionImpl : public ExtensionBase {
private:
static v8::Handle<v8::Value> GetExtensionAPIDefinition(
const v8::Arguments& args) {
- return v8::String::New(GetStringResource<IDR_EXTENSION_API_JSON>());
+ return v8::String::New(GetStringResource(IDR_EXTENSION_API_JSON));
}
static v8::Handle<v8::Value> PopupViewFinder(
diff --git a/chrome/renderer/extensions/js_only_v8_extensions.cc b/chrome/renderer/extensions/js_only_v8_extensions.cc
index 359e756..2549cc3 100644
--- a/chrome/renderer/extensions/js_only_v8_extensions.cc
+++ b/chrome/renderer/extensions/js_only_v8_extensions.cc
@@ -14,7 +14,7 @@ const char* BaseJsV8Extension::kName = "chrome/base";
v8::Extension* BaseJsV8Extension::Get() {
static v8::Extension* extension =
new bindings_utils::ExtensionBase(
- kName, GetStringResource<IDR_BASE_JS>(), 0, NULL);
+ kName, GetStringResource(IDR_BASE_JS), 0, NULL);
return extension;
}
@@ -23,7 +23,7 @@ const char* JsonSchemaJsV8Extension::kName = "chrome/jsonschema";
v8::Extension* JsonSchemaJsV8Extension::Get() {
static v8::Extension* extension =
new bindings_utils::ExtensionBase(
- kName, GetStringResource<IDR_JSON_SCHEMA_JS>(), 0, NULL);
+ kName, GetStringResource(IDR_JSON_SCHEMA_JS), 0, NULL);
return extension;
}
@@ -32,6 +32,6 @@ const char* ExtensionApiTestV8Extension::kName = "chrome/extensionapitest";
v8::Extension* ExtensionApiTestV8Extension::Get() {
static v8::Extension* extension =
new bindings_utils::ExtensionBase(
- kName, GetStringResource<IDR_EXTENSION_APITEST_JS>(), 0, NULL);
+ kName, GetStringResource(IDR_EXTENSION_APITEST_JS), 0, NULL);
return extension;
}
diff --git a/chrome/renderer/extensions/renderer_extension_bindings.cc b/chrome/renderer/extensions/renderer_extension_bindings.cc
index d8fc4db..9555672 100644
--- a/chrome/renderer/extensions/renderer_extension_bindings.cc
+++ b/chrome/renderer/extensions/renderer_extension_bindings.cc
@@ -63,7 +63,7 @@ class ExtensionImpl : public ExtensionBase {
public:
ExtensionImpl()
: ExtensionBase(RendererExtensionBindings::kName,
- GetStringResource<IDR_RENDERER_EXTENSION_BINDINGS_JS>(),
+ GetStringResource(IDR_RENDERER_EXTENSION_BINDINGS_JS),
arraysize(kExtensionDeps), kExtensionDeps) {
}
~ExtensionImpl() {}
diff --git a/chrome/test/webdriver/commands/create_session.cc b/chrome/test/webdriver/commands/create_session.cc
index 30c71c7..7ba85a4 100644
--- a/chrome/test/webdriver/commands/create_session.cc
+++ b/chrome/test/webdriver/commands/create_session.cc
@@ -15,7 +15,7 @@
namespace webdriver {
void CreateSession::ExecutePost(Response* const response) {
- SessionManager* session_manager = Singleton<SessionManager>::get();
+ SessionManager* session_manager = SessionManager::GetInstance();
std::string session_id;
if (!session_manager->Create(&session_id)) {
diff --git a/chrome/test/webdriver/commands/session_with_id.cc b/chrome/test/webdriver/commands/session_with_id.cc
index e2dcced..682f5a2 100644
--- a/chrome/test/webdriver/commands/session_with_id.cc
+++ b/chrome/test/webdriver/commands/session_with_id.cc
@@ -41,7 +41,7 @@ void SessionWithID::ExecuteGet(Response* const response) {
}
void SessionWithID::ExecuteDelete(Response* const response) {
- Singleton<SessionManager>::get()->Delete(session_->id());
+ SessionManager::GetInstance()->Delete(session_->id());
response->set_status(kSuccess);
}
diff --git a/chrome/test/webdriver/commands/webdriver_command.cc b/chrome/test/webdriver/commands/webdriver_command.cc
index da1b601..206679e 100644
--- a/chrome/test/webdriver/commands/webdriver_command.cc
+++ b/chrome/test/webdriver/commands/webdriver_command.cc
@@ -51,7 +51,7 @@ bool WebDriverCommand::Init(Response* const response) {
}
VLOG(1) << "Fetching session: " << session_id;
- session_ = Singleton<SessionManager>::get()->GetSession(session_id);
+ session_ = SessionManager::GetInstance()->GetSession(session_id);
if (session_ == NULL) {
response->set_value(Value::CreateStringValue(
"Session not found: " + session_id));
diff --git a/chrome/test/webdriver/server.cc b/chrome/test/webdriver/server.cc
index ad496b1..8465f14 100644
--- a/chrome/test/webdriver/server.cc
+++ b/chrome/test/webdriver/server.cc
@@ -106,8 +106,7 @@ int main(int argc, char *argv[]) {
}
VLOG(1) << "Using port: " << port;
- webdriver::SessionManager* session =
- Singleton<webdriver::SessionManager>::get();
+ webdriver::SessionManager* session = webdriver::SessionManager::GetInstance();
session->SetIPAddress(port);
// Initialize SHTTPD context.
diff --git a/chrome/test/webdriver/session_manager.cc b/chrome/test/webdriver/session_manager.cc
index 6e49bb6..ab7db24 100644
--- a/chrome/test/webdriver/session_manager.cc
+++ b/chrome/test/webdriver/session_manager.cc
@@ -183,4 +183,9 @@ Session* SessionManager::GetSession(const std::string& id) const {
return it->second;
}
+// static
+SessionManager* SessionManager::GetInstance() {
+ return Singleton<SessionManager>::get();
+}
+
} // namespace webdriver
diff --git a/chrome/test/webdriver/session_manager.h b/chrome/test/webdriver/session_manager.h
index e93843f..91db207 100644
--- a/chrome/test/webdriver/session_manager.h
+++ b/chrome/test/webdriver/session_manager.h
@@ -21,6 +21,9 @@ namespace webdriver {
// their own profiles.
class SessionManager {
public:
+ // Returns the singleton instance.
+ static SessionManager* GetInstance();
+
std::string GetIPAddress();
bool SetIPAddress(const std::string& port);