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

Unified Diff: ui/base/test/test_clipboard.h

Issue 720373003: Add FakeClipboard implementation for unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: WINDOWS!!! 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
« no previous file with comments | « ui/base/clipboard/clipboard_win.cc ('k') | ui/base/test/test_clipboard.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/test/test_clipboard.h
diff --git a/ui/base/clipboard/clipboard_win.h b/ui/base/test/test_clipboard.h
similarity index 67%
copy from ui/base/clipboard/clipboard_win.h
copy to ui/base/test/test_clipboard.h
index a0769ff8859ec6b9aaf10437bb3e5c63c5d46c1e..c1701bf72464242fe041bd3aa538d3b7a161fd67 100644
--- a/ui/base/clipboard/clipboard_win.h
+++ b/ui/base/test/test_clipboard.h
@@ -2,24 +2,24 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef UI_BASE_CLIPBOARD_CLIPBOARD_WIN_H_
-#define UI_BASE_CLIPBOARD_CLIPBOARD_WIN_H_
+#ifndef UI_BASE_TEST_TEST_CLIPBOARD_H_
+#define UI_BASE_TEST_TEST_CLIPBOARD_H_
+#include <map>
+#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/base/clipboard/clipboard.h"
-#include "base/memory/scoped_ptr.h"
-
namespace ui {
-class ClipboardWin : public Clipboard {
- private:
- friend class Clipboard;
+class TestClipboard : public Clipboard {
+ public:
+ TestClipboard();
+ ~TestClipboard() override;
- ClipboardWin();
- ~ClipboardWin() override;
+ static void UseForCurrentThread();
- // Clipboard overrides:
- uint64 GetSequenceNumber(ClipboardType type) override;
+ // Clipboard overrides.
+ uint64 GetSequenceNumber(ClipboardType type) const override;
bool IsFormatAvailable(const FormatType& format,
ClipboardType type) const override;
void Clear(ClipboardType type) override;
@@ -57,21 +57,30 @@ class ClipboardWin : public Clipboard {
const char* data_data,
size_t data_len) override;
- void WriteBitmapFromHandle(HBITMAP source_hbitmap, const gfx::Size& size);
-
- // Safely write to system clipboard. Free |handle| on failure.
- void WriteToClipboard(unsigned int format, HANDLE handle);
+ private:
+ struct DataStore {
+ DataStore();
+ ~DataStore();
+ void Clear();
+ uint64 sequence_number;
+ std::map<FormatType, std::string> data;
+ std::string url_title;
+ std::string html_src_url;
+ SkBitmap image;
+ };
- // Return the window that should be the clipboard owner, creating it
- // if neccessary. Marked const for lazily initialization by const methods.
- HWND GetClipboardWindow() const;
+ // The non-const versions increment the sequence number as a side effect.
+ const DataStore& GetStore(ClipboardType type) const;
+ const DataStore& GetDefaultStore() const;
+ DataStore& GetStore(ClipboardType type);
+ DataStore& GetDefaultStore();
- // Mark this as mutable so const methods can still do lazy initialization.
- mutable scoped_ptr<base::win::MessageWindow> clipboard_owner_;
+ ClipboardType default_store_type_;
+ mutable std::map<ClipboardType, DataStore> stores_;
- DISALLOW_COPY_AND_ASSIGN(ClipboardWin);
+ DISALLOW_COPY_AND_ASSIGN(TestClipboard);
};
} // namespace ui
-#endif // UI_BASE_CLIPBOARD_CLIPBOARD_WIN_H_
+#endif // UI_BASE_TEST_TEST_CLIPBOARD_H_
« no previous file with comments | « ui/base/clipboard/clipboard_win.cc ('k') | ui/base/test/test_clipboard.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698