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

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

Issue 2614023005: Revert of Add an experimental standalone content suggestions UI. (Closed)
Patch Set: Created 3 years, 11 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/ContextMenuManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java
index 8a290a96734fb3906a81f876440ee482fa62f0f8..79910e5857edb491729a8f3a898764bae5f45968 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java
@@ -17,6 +17,7 @@
import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
+import org.chromium.chrome.browser.tab.Tab;
import org.chromium.ui.base.WindowAndroid.OnCloseContextMenuListener;
import org.chromium.ui.mojom.WindowOpenDisposition;
@@ -42,10 +43,9 @@
public static final int ID_SAVE_FOR_OFFLINE = 3;
public static final int ID_REMOVE = 4;
- private final Activity mActivity;
private final NewTabPageManager mManager;
+ private final Tab mTab;
private final TouchDisableableView mOuterView;
- private boolean mContextMenuOpen;
/** Defines callback to configure the context menu and respond to user interaction. */
public interface Delegate {
@@ -65,10 +65,10 @@
/** Interface for a view that can be set to stop responding to touches. */
public interface TouchDisableableView { void setTouchEnabled(boolean enabled); }
- public ContextMenuManager(Activity activity, NewTabPageManager newTabPageManager,
- TouchDisableableView outerView) {
- mActivity = activity;
+ public ContextMenuManager(
+ NewTabPageManager newTabPageManager, Tab tab, TouchDisableableView outerView) {
mManager = newTabPageManager;
+ mTab = tab;
mOuterView = outerView;
}
@@ -111,19 +111,22 @@
// or swiping to dismiss an item (eg. https://crbug.com/638854, https://crbug.com/638555,
// https://crbug.com/636296)
mOuterView.setTouchEnabled(false);
- mContextMenuOpen = true;
+
+ mTab.getWindowAndroid().addContextMenuCloseListener(this);
}
@Override
public void onContextMenuClosed() {
- if (!mContextMenuOpen) return;
mOuterView.setTouchEnabled(true);
- mContextMenuOpen = false;
+ mTab.getWindowAndroid().removeContextMenuCloseListener(this);
}
/** Closes the context menu, if open. */
public void closeContextMenu() {
- mActivity.closeContextMenu();
+ Activity activity = mTab.getWindowAndroid().getActivity().get();
+ if (activity == null) return;
+
+ activity.closeContextMenu();
}
private boolean shouldShowItem(@ContextMenuItemId int itemId, Delegate delegate) {

Powered by Google App Engine
This is Rietveld 408576698