Chromium Code Reviews| 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..6f7f4ad22dcb4a2b2bd4f5d5383183bc385668f1 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 { |
| + 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,19 @@ public class ContextMenuHelper implements OnCreateContextMenuListener { |
| ShareHelper.shareImage(activity, jpegImageData); |
| } |
| + public void getThumbnail() { |
|
Theresa
2017/03/27 18:28:26
nit: this needs a JavaDoc
JJ
2017/03/27 20:47:12
Done.
|
| + 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 +192,10 @@ public class ContextMenuHelper implements OnCreateContextMenuListener { |
| mOnMenuClosed); |
| } |
| + public void setOnThumbnailReceivedListener(OnThumbnailReceivedListener listener) { |
| + mOnThumbnailReceivedListener = listener; |
| + } |
| + |
| /** |
| * @return The {@link ContextMenuPopulator} responsible for populating the context menu. |
| */ |
| @@ -185,4 +209,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); |
| } |