Index: ui/base/clipboard/clipboard_win.h |
diff --git a/ui/base/clipboard/clipboard_win.h b/ui/base/clipboard/clipboard_win.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a0769ff8859ec6b9aaf10437bb3e5c63c5d46c1e |
--- /dev/null |
+++ b/ui/base/clipboard/clipboard_win.h |
@@ -0,0 +1,77 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// 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_ |
+ |
+#include "ui/base/clipboard/clipboard.h" |
+ |
+#include "base/memory/scoped_ptr.h" |
+ |
+namespace ui { |
+ |
+class ClipboardWin : public Clipboard { |
+ private: |
+ friend class Clipboard; |
+ |
+ ClipboardWin(); |
+ ~ClipboardWin() override; |
+ |
+ // Clipboard overrides: |
+ uint64 GetSequenceNumber(ClipboardType type) override; |
+ bool IsFormatAvailable(const FormatType& format, |
+ ClipboardType type) const override; |
+ void Clear(ClipboardType type) override; |
+ void ReadAvailableTypes(ClipboardType type, |
+ std::vector<base::string16>* types, |
+ bool* contains_filenames) const override; |
+ void ReadText(ClipboardType type, base::string16* result) const override; |
+ void ReadAsciiText(ClipboardType type, std::string* result) const override; |
+ void ReadHTML(ClipboardType type, |
+ base::string16* markup, |
+ std::string* src_url, |
+ uint32* fragment_start, |
+ uint32* fragment_end) const override; |
+ void ReadRTF(ClipboardType type, std::string* result) const override; |
+ SkBitmap ReadImage(ClipboardType type) const override; |
+ void ReadCustomData(ClipboardType clipboard_type, |
+ const base::string16& type, |
+ base::string16* result) const override; |
+ void ReadBookmark(base::string16* title, std::string* url) const override; |
+ void ReadData(const FormatType& format, std::string* result) const override; |
+ void WriteObjects(ClipboardType type, const ObjectMap& objects) override; |
+ void WriteText(const char* text_data, size_t text_len) override; |
+ void WriteHTML(const char* markup_data, |
+ size_t markup_len, |
+ const char* url_data, |
+ size_t url_len) override; |
+ void WriteRTF(const char* rtf_data, size_t data_len) override; |
+ void WriteBookmark(const char* title_data, |
+ size_t title_len, |
+ const char* url_data, |
+ size_t url_len) override; |
+ void WriteWebSmartPaste() override; |
+ void WriteBitmap(const SkBitmap& bitmap) override; |
+ void WriteData(const FormatType& format, |
+ 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); |
+ |
+ // Return the window that should be the clipboard owner, creating it |
+ // if neccessary. Marked const for lazily initialization by const methods. |
+ HWND GetClipboardWindow() const; |
+ |
+ // Mark this as mutable so const methods can still do lazy initialization. |
+ mutable scoped_ptr<base::win::MessageWindow> clipboard_owner_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ClipboardWin); |
+}; |
+ |
+} // namespace ui |
+ |
+#endif // UI_BASE_CLIPBOARD_CLIPBOARD_WIN_H_ |