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

Side by Side Diff: ui/base/clipboard/clipboard_win.h

Issue 658963003: Change Clipboard to use virtual methods for testing purposes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test rebase Created 6 years, 2 months 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef UI_BASE_CLIPBOARD_CLIPBOARD_WIN_H_
6 #define UI_BASE_CLIPBOARD_CLIPBOARD_WIN_H_
7
8 #include "ui/base/clipboard/clipboard.h"
9
10 #include "base/memory/scoped_ptr.h"
11
12 namespace ui {
13
14 class ClipboardWin : public Clipboard {
15 public:
16 ClipboardWin();
17 ~ClipboardWin() override;
18
19 // Clipboard public overrides:
20 uint64 GetSequenceNumber(ClipboardType type) override;
21 bool IsFormatAvailable(const FormatType& format,
22 ClipboardType type) const override;
23 void Clear(ClipboardType type) override;
24 void ReadAvailableTypes(ClipboardType type,
25 std::vector<base::string16>* types,
26 bool* contains_filenames) const override;
27 void ReadText(ClipboardType type, base::string16* result) const override;
28 void ReadAsciiText(ClipboardType type, std::string* result) const override;
29 void ReadHTML(ClipboardType type,
30 base::string16* markup,
31 std::string* src_url,
32 uint32* fragment_start,
33 uint32* fragment_end) const override;
34 void ReadRTF(ClipboardType type, std::string* result) const override;
35 SkBitmap ReadImage(ClipboardType type) const override;
36 void ReadCustomData(ClipboardType clipboard_type,
37 const base::string16& type,
38 base::string16* result) const override;
39 void ReadBookmark(base::string16* title, std::string* url) const override;
40 void ReadData(const FormatType& format, std::string* result) const override;
41
42 protected:
43 // Clipboard protected overrides:
44 void WriteObjects(ClipboardType type, const ObjectMap& objects) override;
45 void WriteText(const char* text_data, size_t text_len) override;
46 void WriteHTML(const char* markup_data,
47 size_t markup_len,
48 const char* url_data,
49 size_t url_len) override;
50 void WriteRTF(const char* rtf_data, size_t data_len) override;
51 void WriteBookmark(const char* title_data,
52 size_t title_len,
53 const char* url_data,
54 size_t url_len) override;
55 void WriteWebSmartPaste() override;
56 void WriteBitmap(const SkBitmap& bitmap) override;
57 void WriteData(const FormatType& format,
58 const char* data_data,
59 size_t data_len) override;
60
61 private:
62 void WriteBitmapFromHandle(HBITMAP source_hbitmap, const gfx::Size& size);
63
64 // Safely write to system clipboard. Free |handle| on failure.
65 void WriteToClipboard(unsigned int format, HANDLE handle);
66
67 // Return the window that should be the clipboard owner, creating it
68 // if neccessary. Marked const for lazily initialization by const methods.
69 HWND GetClipboardWindow() const;
70
71 // Mark this as mutable so const methods can still do lazy initialization.
72 mutable scoped_ptr<base::win::MessageWindow> clipboard_owner_;
73
74 DISALLOW_COPY_AND_ASSIGN(ClipboardWin);
75 };
76
77 } // namespace ui
78
79 #endif // UI_BASE_CLIPBOARD_CLIPBOARD_WIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698