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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java

Issue 2359923005: Ensure CCTs have the proper context menu on tab restore. (Closed)
Patch Set: Created 4 years, 3 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/customtabs/CustomTabActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
index 8b116e742ce7e45ff4d583770af93daecec4ca48..2c02d1a5c8f771bf5756a64119446ed6b37b513e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
@@ -52,7 +52,9 @@ import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.pageinfo.WebsiteSettingsPopup;
import org.chromium.chrome.browser.rappor.RapporServiceBridge;
import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.tab.TabDelegateFactory;
import org.chromium.chrome.browser.tab.TabIdManager;
+import org.chromium.chrome.browser.tabmodel.ChromeTabCreator;
import org.chromium.chrome.browser.tabmodel.EmptyTabModelObserver;
import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
import org.chromium.chrome.browser.tabmodel.TabModelObserver;
@@ -68,6 +70,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.Referrer;
import org.chromium.ui.base.PageTransition;
+import org.chromium.ui.base.WindowAndroid;
/**
* The activity for custom tabs. It will be launched on top of a client's task.
@@ -128,6 +131,22 @@ public class CustomTabActivity extends ChromeActivity {
}
}
+ private static class CustomTabCreator extends ChromeTabCreator {
+ private final boolean mSupportsUrlBarHiding;
+
+ public CustomTabCreator(
+ ChromeActivity activity, WindowAndroid nativeWindow, boolean incognito,
+ boolean supportsUrlBarHiding) {
+ super(activity, nativeWindow, incognito);
+ mSupportsUrlBarHiding = supportsUrlBarHiding;
+ }
+
+ @Override
+ public TabDelegateFactory createDefaultTabDelegateFactory() {
+ return new CustomTabDelegateFactory(mSupportsUrlBarHiding);
+ }
+ }
+
private PageLoadMetricsObserver mMetricsObserver;
// Only the normal tab model is observed because there is no incognito tabmodel in Custom Tabs.
@@ -271,6 +290,13 @@ public class CustomTabActivity extends ChromeActivity {
getTaskId(), getSavedInstanceState() != null);
setTabModelSelector(new TabModelSelectorImpl(
this, persistencePolicy, getWindowAndroid(), false));
+ setTabCreators(
+ new CustomTabCreator(
+ this, getWindowAndroid(), false,
+ mIntentDataProvider.shouldEnableUrlBarHiding()),
+ new CustomTabCreator(
+ this, getWindowAndroid(), true,
+ mIntentDataProvider.shouldEnableUrlBarHiding()));
getToolbarManager().setCloseButtonDrawable(mIntentDataProvider.getCloseButtonDrawable());
getToolbarManager().setShowTitle(mIntentDataProvider.getTitleVisibilityState()

Powered by Google App Engine
This is Rietveld 408576698