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

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

Issue 2452543005: 🏠 Merge the context menu code for NTP tiles and suggestions (Closed)
Patch Set: address comments Created 4 years, 2 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/ntp/NewTabPage.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
index a6a0b8f2d30f370df371f3e853c79e6e67d1501e..bd8a4278473d586ffe4b8dbcdeb0d72ad8a1110e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
@@ -15,10 +15,8 @@
import android.support.v4.view.ViewCompat;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
-import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.Menu;
-import android.view.MenuItem.OnMenuItemClickListener;
import android.view.View;
import org.chromium.base.ApiCompatibilityUtils;
@@ -94,12 +92,6 @@
implements NativePage, InvalidationAwareThumbnailProvider, TemplateUrlServiceObserver {
private static final String TAG = "NewTabPage";
- // MostVisitedItem Context menu item IDs.
- static final int ID_OPEN_IN_NEW_WINDOW = 0;
- static final int ID_OPEN_IN_NEW_TAB = 1;
- static final int ID_OPEN_IN_INCOGNITO_TAB = 2;
- static final int ID_REMOVE = 3;
-
// UMA enum constants. CTA means the "click-to-action" icon.
private static final String LOGO_SHOWN_UMA_NAME = "NewTabPage.LogoShown";
private static final int STATIC_LOGO_SHOWN = 0;
@@ -263,13 +255,28 @@ private void recordOpenedMostVisitedItem(MostVisitedItem item) {
}
@Override
- public void openMostVisitedItem(MostVisitedItem item) {
+ public void openMostVisitedItem(int windowDisposition, MostVisitedItem item) {
if (mIsDestroyed) return;
- recordOpenedMostVisitedItem(item);
+
String url = item.getUrl();
- if (!switchToExistingTab(url)) {
- openUrlMostVisited(WindowOpenDisposition.CURRENT_TAB, url);
+
+ // TODO(treib): Should we call recordOpenedMostVisitedItem here?
+ if (windowDisposition != WindowOpenDisposition.NEW_WINDOW) {
+ recordOpenedMostVisitedItem(item);
}
+
+ if (windowDisposition == WindowOpenDisposition.CURRENT_TAB
+ && switchToExistingTab(url)) {
+ return;
+ }
+
+ openUrl(windowDisposition, new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK));
+ }
+
+ @Override
+ public void removeMostVisitedItem(MostVisitedItem item) {
+ mMostVisitedSites.addBlacklistedUrl(item.getUrl());
+ showMostVisitedItemRemovedSnackbar(item.getUrl());
}
@Override
@@ -354,11 +361,6 @@ public void openSnippet(int windowOpenDisposition, SnippetArticle article) {
openUrl(windowOpenDisposition, loadUrlParams);
}
- // TODO(mastiz): Merge with openMostVisitedItem().
- private void openUrlMostVisited(int windowOpenDisposition, String url) {
- openUrl(windowOpenDisposition, new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK));
- }
-
private void openUrl(int windowOpenDisposition, LoadUrlParams loadUrlParams) {
assert !mIsDestroyed;
switch (windowOpenDisposition) {
@@ -383,50 +385,6 @@ private void openUrl(int windowOpenDisposition, LoadUrlParams loadUrlParams) {
}
@Override
- public void onCreateContextMenu(ContextMenu menu, OnMenuItemClickListener listener) {
- if (mIsDestroyed) return;
- if (isOpenInNewWindowEnabled()) {
- menu.add(Menu.NONE, ID_OPEN_IN_NEW_WINDOW, Menu.NONE,
- R.string.contextmenu_open_in_other_window)
- .setOnMenuItemClickListener(listener);
- }
- menu.add(Menu.NONE, ID_OPEN_IN_NEW_TAB, Menu.NONE, R.string.contextmenu_open_in_new_tab)
- .setOnMenuItemClickListener(listener);
- if (isOpenInIncognitoEnabled()) {
- menu.add(Menu.NONE, ID_OPEN_IN_INCOGNITO_TAB, Menu.NONE,
- R.string.contextmenu_open_in_incognito_tab).setOnMenuItemClickListener(
- listener);
- }
- menu.add(Menu.NONE, ID_REMOVE, Menu.NONE, R.string.remove)
- .setOnMenuItemClickListener(listener);
- }
-
- @Override
- public boolean onMenuItemClick(int menuId, MostVisitedItem item) {
- if (mIsDestroyed) return false;
- switch (menuId) {
- case ID_OPEN_IN_NEW_WINDOW:
- // TODO(treib): Should we call recordOpenedMostVisitedItem here?
- openUrlMostVisited(WindowOpenDisposition.NEW_WINDOW, item.getUrl());
- return true;
- case ID_OPEN_IN_NEW_TAB:
- recordOpenedMostVisitedItem(item);
- openUrlMostVisited(WindowOpenDisposition.NEW_FOREGROUND_TAB, item.getUrl());
- return true;
- case ID_OPEN_IN_INCOGNITO_TAB:
- recordOpenedMostVisitedItem(item);
- openUrlMostVisited(WindowOpenDisposition.OFF_THE_RECORD, item.getUrl());
- return true;
- case ID_REMOVE:
- mMostVisitedSites.addBlacklistedUrl(item.getUrl());
- showMostVisitedItemRemovedSnackbar(item.getUrl());
- return true;
- default:
- return false;
- }
- }
-
- @Override
public boolean isOpenInNewWindowEnabled() {
return MultiWindowUtils.getInstance().isOpenInOtherWindowSupported(mActivity);
}

Powered by Google App Engine
This is Rietveld 408576698