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

Unified Diff: ui/android/java/src/org/chromium/ui/base/Clipboard.java

Issue 59023007: Enable pasting HTML content from the Android clipboard (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Upload *all* the files Created 7 years 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/android/java/src/org/chromium/ui/base/Clipboard.java
diff --git a/ui/android/java/src/org/chromium/ui/base/Clipboard.java b/ui/android/java/src/org/chromium/ui/base/Clipboard.java
index e62c84ab84134c46b304d537d96300d8e0f234d8..9e5cf61d37c59642a94d36ec710107c9d07ad4ee 100644
--- a/ui/android/java/src/org/chromium/ui/base/Clipboard.java
+++ b/ui/android/java/src/org/chromium/ui/base/Clipboard.java
@@ -4,6 +4,7 @@
package org.chromium.ui.base;
+import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.CalledByNative;
import org.chromium.base.JNINamespace;
@@ -77,6 +78,23 @@ public class Clipboard {
}
/**
+ * Gets the HTML text of top item on the primary clip on the Android clipboard.
+ *
+ * @return a Java string with the html text if any, or null if there is no html
+ * text or no entries on the primary clip.
+ */
+ @CalledByNative
+ private String getHTMLText() {
+ if (isHTMLClipboardSupported()) {
+ final ClipData clip = mClipboardManager.getPrimaryClip();
+ if (clip != null && clip.getItemCount() > 0) {
+ return clip.getItemAt(0).getHtmlText();
+ }
+ }
+ return null;
+ }
+
+ /**
* Emulates the behavior of the now-deprecated
* {@link android.text.ClipboardManager#setText(CharSequence)}, setting the
* clipboard's current primary clip to a plain-text clip that consists of
@@ -100,29 +118,14 @@ public class Clipboard {
*/
@CalledByNative
private void setHTMLText(final String html, final String text) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ if (isHTMLClipboardSupported()) {
mClipboardManager.setPrimaryClip(
ClipData.newHtmlText(null, text, html));
}
}
- /**
- * Approximates the behavior of the now-deprecated
- * {@link android.text.ClipboardManager#hasText()}, returning true if and
- * only if the clipboard has a primary clip and that clip contains a plain
- * non-empty text entry (without attempting coercion - URLs and intents
- * will cause this method to return false).
- *
- * @return as described above
- */
- @SuppressWarnings("javadoc")
@CalledByNative
- private boolean hasPlainText() {
- final ClipData clip = mClipboardManager.getPrimaryClip();
- if (clip != null && clip.getItemCount() > 0) {
- final CharSequence text = clip.getItemAt(0).getText();
- return !TextUtils.isEmpty(text);
- }
- return false;
+ private static boolean isHTMLClipboardSupported() {
+ return ApiCompatibilityUtils.isHTMLClipboardSupported();
}
}
« no previous file with comments | « base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java ('k') | ui/base/clipboard/clipboard_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698