Chromium Code Reviews| Index: ui/base/clipboard/clipboard.h |
| diff --git a/ui/base/clipboard/clipboard.h b/ui/base/clipboard/clipboard.h |
| index 4dc7a380557640a94b1d6cf426d6712104a1987a..8248a03b5ca5e3f2b7ea1955ea570a435deb89e8 100644 |
| --- a/ui/base/clipboard/clipboard.h |
| +++ b/ui/base/clipboard/clipboard.h |
| @@ -20,6 +20,12 @@ |
| #include <gdk/gdk.h> |
| #endif |
| +#if defined(OS_ANDROID) |
| +#include <jni.h> |
| + |
| +#include "base/synchronization/lock.h" |
|
dcheng
2012/02/01 19:02:04
I think this can be moved to the .cc file.
Peter Beverloo
2012/02/02 12:16:11
Done.
|
| +#endif |
| + |
| namespace gfx { |
| class Size; |
| } |
| @@ -66,10 +72,13 @@ class UI_EXPORT Clipboard { |
| explicit FormatType(NSString* native_format); |
| NSString* ToNSString() const { return data_; } |
| NSString* data_; |
| -#elif defined(USE_AURA) |
| +#elif defined(USE_AURA) || defined(OS_ANDROID) |
| explicit FormatType(const std::string& native_format); |
| const std::string& ToString() const { return data_; } |
| std::string data_; |
| +#if defined(OS_ANDROID) |
| + int compare(const std::string& str) const { return data_.compare(str); } |
| +#endif |
| #elif defined(TOOLKIT_USES_GTK) |
| explicit FormatType(const std::string& native_format); |
| explicit FormatType(const GdkAtom& native_format); |
| @@ -165,7 +174,8 @@ class UI_EXPORT Clipboard { |
| // On Linux/BSD, we need to know when the clipboard is set to a URL. Most |
| // platforms don't care. |
| -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(USE_AURA) |
| +#if defined(OS_WIN) || defined(OS_MACOSX) || defined(USE_AURA) \ |
| + || defined(OS_ANDROID) |
| void DidWriteURL(const std::string& utf8_text) {} |
| #else // !defined(OS_WIN) && !defined(OS_MACOSX) |
| void DidWriteURL(const std::string& utf8_text); |
| @@ -321,6 +331,30 @@ class UI_EXPORT Clipboard { |
| TargetMap* clipboard_data_; |
| GtkClipboard* clipboard_; |
| GtkClipboard* primary_selection_; |
| +#elif defined(OS_ANDROID) |
| + // Returns whether some text is available from the Android Clipboard |
| + bool IsTextAvailableFromAndroid() const; |
| + |
| + // Make sure that the Android Clipboard contents matches what we think it |
| + // should contain. If it changed, a copy occured from another application and |
| + // all internal data is dropped. |
| + void ValidateInternalClipboard() const; |
| + |
| + // Clear the Clipboard for all types. Both for Android and internal |
| + void Clear(); |
| + |
| + // Clear the internal clipboard |
| + void ClearInternalClipboard() const; |
| + |
| + // This private method is used to set non text key/value |
| + void Set(const std::string& key, const std::string& value); |
| + |
| + // Java class and methods for the Android ClipboardManager |
| + jobject clipboard_manager_; |
| + jmethodID set_text_; |
| + jmethodID has_text_; |
| + jmethodID get_text_; |
| + jmethodID to_string_; |
| #endif |
| // MIME type constants. |