Index: ui/base/clipboard/clipboard.cc |
diff --git a/ui/base/clipboard/clipboard.cc b/ui/base/clipboard/clipboard.cc |
index 27f747a048fe4dc7b48309346f3024977bb08c5d..0bd542d563a9a66cb3955b062ab7695380b63958 100644 |
--- a/ui/base/clipboard/clipboard.cc |
+++ b/ui/base/clipboard/clipboard.cc |
@@ -7,10 +7,8 @@ |
#include <iterator> |
#include <limits> |
-#include "base/lazy_instance.h" |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
-#include "base/synchronization/lock.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/gfx/size.h" |
@@ -35,41 +33,32 @@ bool ValidateAndMapSharedBitmap(size_t bitmap_bytes, |
return true; |
} |
-// A list of allowed threads. By default, this is empty and no thread checking |
-// is done (in the unit test case), but a user (like content) can set which |
-// threads are allowed to call this method. |
-typedef std::vector<base::PlatformThreadId> AllowedThreadsVector; |
-static base::LazyInstance<AllowedThreadsVector> g_allowed_threads = |
- LAZY_INSTANCE_INITIALIZER; |
+} // namespace |
-// Mapping from threads to clipboard objects. |
-typedef std::map<base::PlatformThreadId, Clipboard*> ClipboardMap; |
-static base::LazyInstance<ClipboardMap> g_clipboard_map = |
+base::LazyInstance<Clipboard::AllowedThreadsVector> |
+ Clipboard::allowed_threads_ = LAZY_INSTANCE_INITIALIZER; |
+base::LazyInstance<Clipboard::ClipboardMap> Clipboard::clipboard_map_ = |
+ LAZY_INSTANCE_INITIALIZER; |
+base::LazyInstance<base::Lock>::Leaky Clipboard::clipboard_map_lock_ = |
LAZY_INSTANCE_INITIALIZER; |
- |
-// Mutex that controls access to |g_clipboard_map|. |
-static base::LazyInstance<base::Lock>::Leaky |
- g_clipboard_map_lock = LAZY_INSTANCE_INITIALIZER; |
- |
-} // namespace |
// static |
void Clipboard::SetAllowedThreads( |
const std::vector<base::PlatformThreadId>& allowed_threads) { |
- base::AutoLock lock(g_clipboard_map_lock.Get()); |
+ base::AutoLock lock(clipboard_map_lock_.Get()); |
- g_allowed_threads.Get().clear(); |
+ allowed_threads_.Get().clear(); |
std::copy(allowed_threads.begin(), allowed_threads.end(), |
- std::back_inserter(g_allowed_threads.Get())); |
+ std::back_inserter(allowed_threads_.Get())); |
} |
// static |
Clipboard* Clipboard::GetForCurrentThread() { |
- base::AutoLock lock(g_clipboard_map_lock.Get()); |
+ base::AutoLock lock(clipboard_map_lock_.Get()); |
base::PlatformThreadId id = base::PlatformThread::CurrentId(); |
- AllowedThreadsVector* allowed_threads = g_allowed_threads.Pointer(); |
+ AllowedThreadsVector* allowed_threads = allowed_threads_.Pointer(); |
if (!allowed_threads->empty()) { |
bool found = false; |
for (AllowedThreadsVector::const_iterator it = allowed_threads->begin(); |
@@ -83,8 +72,8 @@ Clipboard* Clipboard::GetForCurrentThread() { |
DCHECK(found); |
} |
- ClipboardMap* clipboard_map = g_clipboard_map.Pointer(); |
- ClipboardMap::iterator it = clipboard_map->find(id); |
+ ClipboardMap* clipboard_map = clipboard_map_.Pointer(); |
+ ClipboardMap::const_iterator it = clipboard_map->find(id); |
if (it != clipboard_map->end()) |
return it->second; |
@@ -94,9 +83,9 @@ Clipboard* Clipboard::GetForCurrentThread() { |
} |
void Clipboard::DestroyClipboardForCurrentThread() { |
- base::AutoLock lock(g_clipboard_map_lock.Get()); |
+ base::AutoLock lock(clipboard_map_lock_.Get()); |
- ClipboardMap* clipboard_map = g_clipboard_map.Pointer(); |
+ ClipboardMap* clipboard_map = clipboard_map_.Pointer(); |
base::PlatformThreadId id = base::PlatformThread::CurrentId(); |
ClipboardMap::iterator it = clipboard_map->find(id); |
if (it != clipboard_map->end()) { |