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. |