| 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;
|
| }
|
|
|