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

Unified Diff: ui/base/clipboard/clipboard.h

Issue 9264014: Upstream the clipboard implementation for Android (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Another clean-up Created 8 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: ui/base/clipboard/clipboard.h
diff --git a/ui/base/clipboard/clipboard.h b/ui/base/clipboard/clipboard.h
index 4dc7a380557640a94b1d6cf426d6712104a1987a..65b95c254fb549ac83262a1cd62a590b534cbf08 100644
--- a/ui/base/clipboard/clipboard.h
+++ b/ui/base/clipboard/clipboard.h
@@ -20,6 +20,11 @@
#include <gdk/gdk.h>
#endif
+#if defined(OS_ANDROID)
+#include "base/synchronization/lock.h"
+#include <jni.h>
sky 2012/01/19 21:26:56 include jni.h first, then newline, then lock.h
Peter Beverloo 2012/01/20 15:13:51 Done.
+#endif
+
namespace gfx {
class Size;
}
@@ -70,6 +75,9 @@ class UI_EXPORT Clipboard {
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 +173,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);
@@ -322,6 +331,31 @@ class UI_EXPORT Clipboard {
GtkClipboard* clipboard_;
GtkClipboard* primary_selection_;
#endif
+#if defined(OS_ANDROID)
sky 2012/01/19 21:26:56 Shouldn't this be #elif?
Peter Beverloo 2012/01/20 15:13:51 Done.
+ // Java class and methods for the Android ClipboardManager
sky 2012/01/19 21:26:56 methods first, then fields.
Peter Beverloo 2012/01/20 15:13:51 Done.
+ jobject clipboard_manager_;
+ jmethodID set_text_;
+ jmethodID has_text_;
+ jmethodID get_text_;
+ jmethodID to_string_;
+
+ // 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);
+#endif
// MIME type constants.
static const char kMimeTypeText[];

Powered by Google App Engine
This is Rietveld 408576698