Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java |
index 8412e5c9f3af3d51cffe0648f6fe39d7a0cbdfd6..fffd9faf99958c24d6426d3c6a3f71b739152102 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java |
@@ -361,8 +361,15 @@ public class NewTabPageView extends FrameLayout |
mScrollView.enableBottomShadow(SHADOW_COLOR); |
mNewTabPageLayout = (NewTabPageLayout) findViewById(R.id.ntp_content); |
} |
- mContextMenuManager = |
- new ContextMenuManager(mManager, tab, mUseCardsUi ? mRecyclerView : mScrollView); |
+ mContextMenuManager = new ContextMenuManager(mActivity, mManager, |
+ mUseCardsUi ? mRecyclerView : mScrollView); |
+ mActivity.getWindowAndroid().addContextMenuCloseListener(mContextMenuManager); |
+ manager.addDestructionObserver(new DestructionObserver() { |
+ @Override |
+ public void onDestroy() { |
+ mActivity.getWindowAndroid().removeContextMenuCloseListener(mContextMenuManager); |
+ } |
+ }); |
mMostVisitedDesign = new MostVisitedDesign(getContext()); |
mMostVisitedLayout = |