Chromium Code Reviews| Index: ui/base/clipboard/clipboard.h |
| diff --git a/ui/base/clipboard/clipboard.h b/ui/base/clipboard/clipboard.h |
| index b98cfc4748953f32ad60eb5c45be673cd1afc771..82cdb9164d8ececbc3bb6bb1ce3a55b6a16b695e 100644 |
| --- a/ui/base/clipboard/clipboard.h |
| +++ b/ui/base/clipboard/clipboard.h |
| @@ -46,6 +46,7 @@ class NSString; |
| #endif |
| namespace ui { |
| +class ClipboardTest; |
| class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { |
| public: |
| @@ -182,8 +183,18 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { |
| return static_cast<Buffer>(buffer); |
| } |
| - Clipboard(); |
| - ~Clipboard(); |
| + // Returns the clipboard object for the current thread. |
| + // |
| + // Most implementations will have at most one clipboard which will live on |
| + // the main UI thread, but Windows has tricky semantics where there have to |
| + // be two clipboards: one that lives on the UI thread and one that lives on |
| + // the IO thread. |
| + static Clipboard* GetForCurrentThread(); |
| + |
| + // Destroys the clipboard for the current thread. Usually, this will clean up |
| + // all clipboards, except on Windows. (Previous code leaks the IO thread |
| + // clipboard, so it shouldn't be a problem.) |
| + static void DestroyClipboardForCurrentThread(); |
| // Write a bunch of objects to the system clipboard. Copies are made of the |
| // contents of |objects|. On Windows they are copied to the system clipboard. |
| @@ -284,6 +295,10 @@ class UI_EXPORT Clipboard : NON_EXPORTED_BASE(public base::ThreadChecker) { |
| private: |
| FRIEND_TEST_ALL_PREFIXES(ClipboardTest, SharedBitmapTest); |
| FRIEND_TEST_ALL_PREFIXES(ClipboardTest, EmptyHTMLTest); |
| + friend class ClipboardTest; |
|
dcheng
2012/09/05 18:28:06
Out of curiosity, is this because GetForCurrentThr
Elliot Glaysher
2012/09/05 19:26:45
Partly convenience, but also I wanted at least one
|
| + |
| + Clipboard(); |
| + ~Clipboard(); |
| void DispatchObject(ObjectType type, const ObjectMapParams& params); |