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

Unified Diff: ui/base/clipboard/clipboard.cc

Issue 720373003: Add FakeClipboard implementation for unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: One more fix... Created 6 years, 1 month 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: 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()) {

Powered by Google App Engine
This is Rietveld 408576698