diff options
Diffstat (limited to 'chrome')
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); |