Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Side by Side Diff: chrome/browser/extensions/extension_function_dispatcher.cc

Issue 5685007: Rename all methods accessing Singleton<T> as GetInstance(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_function_dispatcher.h" 5 #include "chrome/browser/extensions/extension_function_dispatcher.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/process_util.h" 9 #include "base/process_util.h"
10 #include "base/singleton.h" 10 #include "base/singleton.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 // Template for defining ExtensionFunctionFactory. 68 // Template for defining ExtensionFunctionFactory.
69 template<class T> 69 template<class T>
70 ExtensionFunction* NewExtensionFunction() { 70 ExtensionFunction* NewExtensionFunction() {
71 return new T(); 71 return new T();
72 } 72 }
73 73
74 // Contains a list of all known extension functions and allows clients to 74 // Contains a list of all known extension functions and allows clients to
75 // create instances of them. 75 // create instances of them.
76 class FactoryRegistry { 76 class FactoryRegistry {
77 public: 77 public:
78 static FactoryRegistry* instance(); 78 static FactoryRegistry* GetInstance();
79 FactoryRegistry() { ResetFunctions(); } 79 FactoryRegistry() { ResetFunctions(); }
80 80
81 // Resets all functions to their default values. 81 // Resets all functions to their default values.
82 void ResetFunctions(); 82 void ResetFunctions();
83 83
84 // Adds all function names to 'names'. 84 // Adds all function names to 'names'.
85 void GetAllNames(std::vector<std::string>* names); 85 void GetAllNames(std::vector<std::string>* names);
86 86
87 // Allows overriding of specific functions (e.g. for testing). Functions 87 // Allows overriding of specific functions (e.g. for testing). Functions
88 // must be previously registered. Returns true if successful. 88 // must be previously registered. Returns true if successful.
89 bool OverrideFunction(const std::string& name, 89 bool OverrideFunction(const std::string& name,
90 ExtensionFunctionFactory factory); 90 ExtensionFunctionFactory factory);
91 91
92 // Factory method for the ExtensionFunction registered as 'name'. 92 // Factory method for the ExtensionFunction registered as 'name'.
93 ExtensionFunction* NewFunction(const std::string& name); 93 ExtensionFunction* NewFunction(const std::string& name);
94 94
95 private: 95 private:
96 template<class T> 96 template<class T>
97 void RegisterFunction() { 97 void RegisterFunction() {
98 factories_[T::function_name()] = &NewExtensionFunction<T>; 98 factories_[T::function_name()] = &NewExtensionFunction<T>;
99 } 99 }
100 100
101 typedef std::map<std::string, ExtensionFunctionFactory> FactoryMap; 101 typedef std::map<std::string, ExtensionFunctionFactory> FactoryMap;
102 FactoryMap factories_; 102 FactoryMap factories_;
103 }; 103 };
104 104
105 FactoryRegistry* FactoryRegistry::instance() { 105 FactoryRegistry* FactoryRegistry::GetInstance() {
106 return Singleton<FactoryRegistry>::get(); 106 return Singleton<FactoryRegistry>::get();
107 } 107 }
108 108
109 void FactoryRegistry::ResetFunctions() { 109 void FactoryRegistry::ResetFunctions() {
110 // Register all functions here. 110 // Register all functions here.
111 111
112 // Windows 112 // Windows
113 RegisterFunction<GetWindowFunction>(); 113 RegisterFunction<GetWindowFunction>();
114 RegisterFunction<GetCurrentWindowFunction>(); 114 RegisterFunction<GetCurrentWindowFunction>();
115 RegisterFunction<GetLastFocusedWindowFunction>(); 115 RegisterFunction<GetLastFocusedWindowFunction>();
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 function->set_name(name); 318 function->set_name(name);
319 return function; 319 return function;
320 } 320 }
321 321
322 }; // namespace 322 }; // namespace
323 323
324 // ExtensionFunctionDispatcher ------------------------------------------------- 324 // ExtensionFunctionDispatcher -------------------------------------------------
325 325
326 void ExtensionFunctionDispatcher::GetAllFunctionNames( 326 void ExtensionFunctionDispatcher::GetAllFunctionNames(
327 std::vector<std::string>* names) { 327 std::vector<std::string>* names) {
328 FactoryRegistry::instance()->GetAllNames(names); 328 FactoryRegistry::GetInstance()->GetAllNames(names);
329 } 329 }
330 330
331 bool ExtensionFunctionDispatcher::OverrideFunction( 331 bool ExtensionFunctionDispatcher::OverrideFunction(
332 const std::string& name, ExtensionFunctionFactory factory) { 332 const std::string& name, ExtensionFunctionFactory factory) {
333 return FactoryRegistry::instance()->OverrideFunction(name, factory); 333 return FactoryRegistry::GetInstance()->OverrideFunction(name, factory);
334 } 334 }
335 335
336 void ExtensionFunctionDispatcher::ResetFunctions() { 336 void ExtensionFunctionDispatcher::ResetFunctions() {
337 FactoryRegistry::instance()->ResetFunctions(); 337 FactoryRegistry::GetInstance()->ResetFunctions();
338 } 338 }
339 339
340 ExtensionFunctionDispatcher* ExtensionFunctionDispatcher::Create( 340 ExtensionFunctionDispatcher* ExtensionFunctionDispatcher::Create(
341 RenderViewHost* render_view_host, 341 RenderViewHost* render_view_host,
342 Delegate* delegate, 342 Delegate* delegate,
343 const GURL& url) { 343 const GURL& url) {
344 ExtensionsService* service = 344 ExtensionsService* service =
345 render_view_host->process()->profile()->GetExtensionsService(); 345 render_view_host->process()->profile()->GetExtensionsService();
346 DCHECK(service); 346 DCHECK(service);
347 347
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 // before the browser is sufficiently initialized to return here. 437 // before the browser is sufficiently initialized to return here.
438 // A similar situation may arise during shutdown. 438 // A similar situation may arise during shutdown.
439 // TODO(rafaelw): Delay creation of background_page until the browser 439 // TODO(rafaelw): Delay creation of background_page until the browser
440 // is available. http://code.google.com/p/chromium/issues/detail?id=13284 440 // is available. http://code.google.com/p/chromium/issues/detail?id=13284
441 return browser; 441 return browser;
442 } 442 }
443 443
444 void ExtensionFunctionDispatcher::HandleRequest( 444 void ExtensionFunctionDispatcher::HandleRequest(
445 const ViewHostMsg_DomMessage_Params& params) { 445 const ViewHostMsg_DomMessage_Params& params) {
446 scoped_refptr<ExtensionFunction> function( 446 scoped_refptr<ExtensionFunction> function(
447 FactoryRegistry::instance()->NewFunction(params.name)); 447 FactoryRegistry::GetInstance()->NewFunction(params.name));
448 function->set_dispatcher_peer(peer_); 448 function->set_dispatcher_peer(peer_);
449 function->set_profile(profile_); 449 function->set_profile(profile_);
450 function->set_extension_id(extension_id()); 450 function->set_extension_id(extension_id());
451 function->SetArgs(&params.arguments); 451 function->SetArgs(&params.arguments);
452 function->set_source_url(params.source_url); 452 function->set_source_url(params.source_url);
453 function->set_request_id(params.request_id); 453 function->set_request_id(params.request_id);
454 function->set_has_callback(params.has_callback); 454 function->set_has_callback(params.has_callback);
455 function->set_user_gesture(params.user_gesture); 455 function->set_user_gesture(params.user_gesture);
456 ExtensionsService* service = profile()->GetExtensionsService(); 456 ExtensionsService* service = profile()->GetExtensionsService();
457 DCHECK(service); 457 DCHECK(service);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 } else { 494 } else {
495 NOTREACHED(); 495 NOTREACHED();
496 base::KillProcess(render_view_host_->process()->GetHandle(), 496 base::KillProcess(render_view_host_->process()->GetHandle(),
497 ResultCodes::KILLED_BAD_MESSAGE, false); 497 ResultCodes::KILLED_BAD_MESSAGE, false);
498 } 498 }
499 } 499 }
500 500
501 Profile* ExtensionFunctionDispatcher::profile() { 501 Profile* ExtensionFunctionDispatcher::profile() {
502 return profile_; 502 return profile_;
503 } 503 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_bookmarks_module.cc ('k') | chrome/browser/extensions/extension_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698