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

Unified Diff: chrome/browser/ui/cocoa/view_id_util.mm

Issue 5711001: Add a new GetInstance() method for remaining files with singleton classes under chrome/browser. (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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/view_id_util.mm
diff --git a/chrome/browser/ui/cocoa/view_id_util.mm b/chrome/browser/ui/cocoa/view_id_util.mm
index df8f0793735aaefa4dab4675e256294f4659ba1f..ea0e859b3a0322ede492a13d29700650c8246a58 100644
--- a/chrome/browser/ui/cocoa/view_id_util.mm
+++ b/chrome/browser/ui/cocoa/view_id_util.mm
@@ -9,8 +9,8 @@
#include <map>
#include <utility>
+#include "base/lazy_instance.h"
#include "base/logging.h"
-#include "base/singleton.h"
#import "chrome/browser/ui/cocoa/browser_window_controller.h"
#import "chrome/browser/ui/cocoa/tab_strip_controller.h"
@@ -21,6 +21,8 @@ namespace {
// rather than using a separated map.
typedef std::map<NSView*, ViewID> ViewIDMap;
+static base::LazyInstance<ViewIDMap> g_view_id_map(base::LINKER_INITIALIZED);
+
// Returns the view's nearest descendant (including itself) with a specific
// ViewID, or nil if no subview has that ViewID.
NSView* FindViewWithID(NSView* view, ViewID viewID) {
@@ -44,12 +46,12 @@ void SetID(NSView* view, ViewID viewID) {
DCHECK(viewID != VIEW_ID_NONE);
// We handle VIEW_ID_TAB_0 to VIEW_ID_TAB_LAST in GetView() function directly.
DCHECK(!((viewID >= VIEW_ID_TAB_0) && (viewID <= VIEW_ID_TAB_LAST)));
- (*Singleton<ViewIDMap>::get())[view] = viewID;
+ g_view_id_map.Get()[view] = viewID;
}
void UnsetID(NSView* view) {
DCHECK(view);
- Singleton<ViewIDMap>::get()->erase(view);
+ g_view_id_map.Get().erase(view);
}
NSView* GetView(NSWindow* window, ViewID viewID) {
@@ -79,7 +81,7 @@ NSView* GetView(NSWindow* window, ViewID viewID) {
@implementation NSView (ViewID)
- (ViewID)viewID {
- ViewIDMap* map = Singleton<ViewIDMap>::get();
+ ViewIDMap* map = g_view_id_map.Pointer();
ViewIDMap::const_iterator iter = map->find(self);
return iter != map->end() ? iter->second : VIEW_ID_NONE;
}

Powered by Google App Engine
This is Rietveld 408576698