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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuHelper.java

Issue 2777773002: Show the image header for the Context Menu (Closed)
Patch Set: Fixed based off twellington's comments Created 3 years, 9 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: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuHelper.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuHelper.java
index add1beea26b99973b26161438dc23c41689de6b0..95c47d8775ed819f3e3912cbef5d539021888d12 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuHelper.java
@@ -5,6 +5,8 @@
package org.chromium.chrome.browser.contextmenu;
import android.app.Activity;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.util.Pair;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
@@ -36,6 +38,11 @@ public class ContextMenuHelper implements OnCreateContextMenuListener {
private Callback<Integer> mCallback;
private Runnable mOnMenuShown;
private Runnable mOnMenuClosed;
+ private OnThumbnailReceivedListener mOnThumbnailReceivedListener;
+
+ interface OnThumbnailReceivedListener {
Theresa 2017/03/28 17:23:08 nit: This should probably have a JavaDoc too
JJ 2017/03/28 23:19:20 Done.
+ void onThumbnailReceived(Bitmap bitmap);
+ }
private ContextMenuHelper(long nativeContextMenuHelper) {
mNativeContextMenuHelper = nativeContextMenuHelper;
@@ -107,7 +114,7 @@ public class ContextMenuHelper implements OnCreateContextMenuListener {
List<Pair<Integer, List<ContextMenuItem>>> items =
mPopulator.buildContextMenu(null, mActivity, mCurrentContextMenuParams);
- ContextMenuUi menuUi = new TabularContextMenuUi();
+ ContextMenuUi menuUi = new TabularContextMenuUi(this);
menuUi.displayMenu(mActivity, mCurrentContextMenuParams, items, mCallback, mOnMenuShown,
mOnMenuClosed);
return;
@@ -163,6 +170,22 @@ public class ContextMenuHelper implements OnCreateContextMenuListener {
ShareHelper.shareImage(activity, jpegImageData);
}
+ /**
+ * This gets the thumbnail of the current image that triggered the context menu.
Theresa 2017/03/28 17:23:08 nit: s/This gets/Gets
JJ 2017/03/28 23:19:20 Done.
+ */
+ public void getThumbnail() {
+ if (mNativeContextMenuHelper == 0) return;
+ nativeRetrieveHeaderThumbnail(mNativeContextMenuHelper);
+ }
+
+ @CalledByNative
+ private void onHeaderThumbnailReceived(WindowAndroid windowAndroid, byte[] jpegImageData) {
+ Bitmap bitmap = BitmapFactory.decodeByteArray(jpegImageData, 0, jpegImageData.length);
+ if (mOnThumbnailReceivedListener != null) {
+ mOnThumbnailReceivedListener.onThumbnailReceived(bitmap);
+ }
+ }
+
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
List<Pair<Integer, List<ContextMenuItem>>> items =
@@ -172,6 +195,10 @@ public class ContextMenuHelper implements OnCreateContextMenuListener {
mOnMenuClosed);
}
+ public void setOnThumbnailReceivedListener(OnThumbnailReceivedListener listener) {
Theresa 2017/03/28 17:23:08 nit: JavaDoc here too
JJ 2017/03/28 23:19:20 Done.
+ mOnThumbnailReceivedListener = listener;
+ }
+
/**
* @return The {@link ContextMenuPopulator} responsible for populating the context menu.
*/
@@ -185,4 +212,5 @@ public class ContextMenuHelper implements OnCreateContextMenuListener {
private native void nativeSearchForImage(long nativeContextMenuHelper);
private native void nativeShareImage(long nativeContextMenuHelper);
private native void nativeOnContextMenuClosed(long nativeContextMenuHelper);
+ private native void nativeRetrieveHeaderThumbnail(long nativeContextMenuHelper);
}

Powered by Google App Engine
This is Rietveld 408576698