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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedItem.java

Issue 2459033002: 📰 Add a context menu to remove status items (Closed)
Patch Set: fix test Created 4 years, 1 month 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/ntp/MostVisitedItem.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedItem.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedItem.java
index 2d70e4ec8f6141233193e255a138a574b8b808e3..2990625effbd17f382e5c2845164f58448a31232 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedItem.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedItem.java
@@ -10,17 +10,19 @@
import android.view.View.OnClickListener;
import android.view.View.OnCreateContextMenuListener;
-import org.chromium.chrome.browser.ntp.ContextMenuHandler.TouchDisableableView;
import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
import org.chromium.ui.mojom.WindowOpenDisposition;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* Displays the title, thumbnail, and favicon of a most visited page. The item can be clicked, or
* long-pressed to trigger a context menu with options to "open in new tab", "open in incognito
* tab", or "remove".
*/
-public class MostVisitedItem
- implements OnCreateContextMenuListener, OnClickListener, ContextMenuHandler.Delegate {
+public class MostVisitedItem implements OnCreateContextMenuListener, OnClickListener {
/**
* Interface for an object that handles callbacks from a MostVisitedItem.
*/
@@ -39,7 +41,6 @@
private int mTileType;
private int mSource;
private View mView;
- private TouchDisableableView mWrapperView;
/**
* Constructs a MostVisitedItem with the given manager, title, URL, whitelist icon path, index,
@@ -70,10 +71,9 @@ public MostVisitedItem(NewTabPageManager manager, String title, String url,
* Sets the view that will display this item. MostVisitedItem will handle clicks on the view.
* This should be called exactly once.
*/
- public void initView(View view, TouchDisableableView parent) {
+ public void initView(View view) {
assert mView == null;
mView = view;
- mWrapperView = parent;
mView.setOnClickListener(this);
mView.setOnCreateContextMenuListener(this);
}
@@ -88,7 +88,6 @@ public View getView() {
/**
* @return The URL of this most visited item.
*/
- @Override
public String getUrl() {
return mUrl;
}
@@ -154,22 +153,36 @@ public int getSource() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
- new ContextMenuHandler(mManager, mWrapperView, this)
- .onCreateContextMenu(menu);
+ mManager.getContextMenuManager().createContextMenu(
+ menu, v, new ContextMenuManager.Delegate() {
+ @Override
+ public void openItem(int windowDisposition) {
+ mManager.openMostVisitedItem(windowDisposition, MostVisitedItem.this);
+ }
+
+ @Override
+ public void removeItem() {
+ mManager.removeMostVisitedItem(MostVisitedItem.this);
+ }
+
+ @Override
+ public String getUrl() {
+ return MostVisitedItem.this.getUrl();
+ }
+
+ @Override
+ public Set<Integer> getSupportedMenuItems() {
+ return new HashSet<>(Arrays.asList(ContextMenuManager.ID_OPEN_IN_NEW_WINDOW,
+ ContextMenuManager.ID_OPEN_IN_NEW_TAB,
+ ContextMenuManager.ID_OPEN_IN_INCOGNITO_TAB,
+ ContextMenuManager.ID_REMOVE,
+ ContextMenuManager.ID_SAVE_FOR_OFFLINE));
+ }
+ });
}
@Override
public void onClick(View v) {
mManager.openMostVisitedItem(WindowOpenDisposition.CURRENT_TAB, MostVisitedItem.this);
}
-
- @Override
- public void openItem(int windowDisposition) {
- mManager.openMostVisitedItem(windowDisposition, MostVisitedItem.this);
- }
-
- @Override
- public void removeItem() {
- mManager.removeMostVisitedItem(MostVisitedItem.this);
- }
}

Powered by Google App Engine
This is Rietveld 408576698