| 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()
|
|
|