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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java

Issue 2710323003: 🏠 Close the bottom sheet when opening link in incognito (Closed)
Patch Set: Properly make ContentSuggestionsActivity compile Created 3 years, 10 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/suggestions/ContentSuggestionsActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java
index 70cd127e554b58a4cd291bcec827a01b5ee4e34b..a5591407ee34007f82e61b95e9308a50a9115970 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java
@@ -10,11 +10,17 @@
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeFeatureList;
+import org.chromium.chrome.browser.NativePageHost;
import org.chromium.chrome.browser.SynchronousInitializationActivity;
+import org.chromium.chrome.browser.TabLoadStatus;
+import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.tabmodel.TabModel;
+import org.chromium.content_public.browser.LoadUrlParams;
import java.lang.ref.WeakReference;
/**
+ * TODO(dgn): Nuke this class
* Experimental activity to show content suggestions outside of the New Tab Page.
*/
public class ContentSuggestionsActivity extends SynchronousInitializationActivity {
@@ -46,7 +52,7 @@ protected void onCreate(Bundle savedInstanceState) {
// the surface, some things, like closing the context menu will not work as they would
// affect the wrong one.
mBottomSheetContent = new SuggestionsBottomSheetContent(
- activity, activity.getActivityTab(), activity.getTabModelSelector());
+ activity, new TabShim(activity.getActivityTab()), activity.getTabModelSelector());
setContentView(mBottomSheetContent.getScrollingContentView());
}
@@ -60,4 +66,40 @@ protected void onDestroy() {
mBottomSheetContent.destroy();
super.onDestroy();
}
+
+ /** Simple implementation of NativePageHost backed by a {@link Tab} */
+ private static class TabShim implements NativePageHost {
+ private final Tab mTab;
+
+ public TabShim(Tab mTab) {
+ this.mTab = mTab;
+ }
+
+ @Override
+ public int loadUrl(LoadUrlParams urlParams, boolean incognito) {
+ if (incognito && !mTab.isIncognito()) {
+ mTab.getTabModelSelector().openNewTab(urlParams,
+ TabModel.TabLaunchType.FROM_LONGPRESS_BACKGROUND, mTab,
+ /* incognito = */ true);
+ return TabLoadStatus.DEFAULT_PAGE_LOAD;
+ }
+
+ return mTab.loadUrl(urlParams);
+ }
+
+ @Override
+ public boolean isIncognito() {
+ return mTab.isIncognito();
+ }
+
+ @Override
+ public int getParentId() {
+ return mTab.getParentId();
+ }
+
+ @Override
+ public Tab getActiveTab() {
+ return mTab;
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698