Index: chrome/android/java_staging/src/org/chromium/chrome/browser/document/TabDelegateImpl.java |
diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/document/TabDelegateImpl.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/document/TabDelegateImpl.java |
deleted file mode 100644 |
index 24f1b264c2f54054d384e78e67a6d7ef93f6b8cc..0000000000000000000000000000000000000000 |
--- a/chrome/android/java_staging/src/org/chromium/chrome/browser/document/TabDelegateImpl.java |
+++ /dev/null |
@@ -1,156 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-package org.chromium.chrome.browser.document; |
- |
-import android.app.Activity; |
-import android.text.TextUtils; |
- |
-import org.chromium.chrome.browser.ChromeMobileApplication; |
-import org.chromium.chrome.browser.Tab; |
-import org.chromium.chrome.browser.TabState; |
-import org.chromium.chrome.browser.UrlConstants; |
-import org.chromium.chrome.browser.tab.ChromeTab; |
-import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
-import org.chromium.chrome.browser.tabmodel.document.ActivityDelegate; |
-import org.chromium.chrome.browser.tabmodel.document.TabDelegate; |
-import org.chromium.content_public.browser.LoadUrlParams; |
-import org.chromium.content_public.browser.WebContents; |
-import org.chromium.ui.base.PageTransition; |
- |
-/** |
- * Provides Tabs to a DocumentTabModel. |
- * TODO(dfalcantara): delete or refactor this after upstreaming. |
- */ |
-public class TabDelegateImpl implements TabDelegate { |
- private boolean mIsIncognito; |
- |
- /** |
- * Creates a TabDelegate. |
- * @param incognito Whether or not the TabDelegate handles the creation of incognito tabs. |
- */ |
- public TabDelegateImpl(boolean incognito) { |
- mIsIncognito = incognito; |
- } |
- |
- @Override |
- public Tab getActivityTab(ActivityDelegate activityDelegate, Activity activity) { |
- if (!(activity instanceof DocumentActivity) |
- || !activityDelegate.isValidActivity(mIsIncognito, activity.getIntent())) { |
- return null; |
- } |
- return ((DocumentActivity) activity).getActivityTab(); |
- } |
- |
- /** |
- * Creates a frozen Tab. This Tab is not meant to be used or unfrozen -- it is only used as a |
- * placeholder until the real Tab can be created. |
- * The index is ignored in DocumentMode because Android handles the ordering of Tabs. |
- */ |
- @Override |
- public Tab createFrozenTab(TabState state, int id, int index) { |
- return ChromeTab.createFrozenTabFromState(id, null, state.isIncognito(), null, |
- Tab.INVALID_TAB_ID, state); |
- } |
- |
- @Override |
- public Tab createTabWithWebContents( |
- WebContents webContents, int parentId, TabLaunchType type) { |
- createTabWithWebContents( |
- webContents, parentId, type, DocumentMetricIds.STARTED_BY_WINDOW_OPEN); |
- return null; |
- } |
- |
- @Override |
- public void createTabWithWebContents( |
- WebContents webContents, int parentId, TabLaunchType type, int startedBy) { |
- // Tabs can't be launched in affiliated mode when a webcontents exists. |
- assert type != TabLaunchType.FROM_LONGPRESS_BACKGROUND; |
- |
- // TODO(dfalcantara): Pipe information about paused WebContents from native. |
- PendingDocumentData data = new PendingDocumentData(); |
- data.webContents = webContents; |
- data.webContentsPaused = startedBy != DocumentMetricIds.STARTED_BY_CHROME_HOME_RECENT_TABS; |
- |
- String url = webContents.getUrl(); |
- if (url == null) url = ""; |
- |
- // Determine information about the parent Activity. |
- Tab parentTab = parentId == Tab.INVALID_TAB_ID |
- ? null : ChromeMobileApplication.getDocumentTabModelSelector().getTabById(parentId); |
- Activity activity = getActivityFromTab(parentTab); |
- |
- int pageTransition = startedBy == DocumentMetricIds.STARTED_BY_CHROME_HOME_RECENT_TABS |
- ? PageTransition.RELOAD : PageTransition.AUTO_TOPLEVEL; |
- ChromeLauncherActivity.launchDocumentInstance(activity, mIsIncognito, |
- ChromeLauncherActivity.LAUNCH_MODE_FOREGROUND, url, startedBy, pageTransition, |
- data); |
- } |
- |
- @Override |
- public Tab launchUrl(String url, TabLaunchType type) { |
- return createNewTab(new LoadUrlParams(url), type, null); |
- } |
- |
- @Override |
- public Tab launchNTP() { |
- return createNewTab(new LoadUrlParams(UrlConstants.NTP_URL, PageTransition.AUTO_TOPLEVEL), |
- TabLaunchType.FROM_MENU_OR_OVERVIEW, null); |
- } |
- |
- @Override |
- public Tab createNewTab(LoadUrlParams loadUrlParams, TabLaunchType type, Tab parent) { |
- // Figure out how the page will be launched. |
- int launchMode; |
- if (TextUtils.equals(UrlConstants.NTP_URL, loadUrlParams.getUrl())) { |
- launchMode = ChromeLauncherActivity.LAUNCH_MODE_RETARGET; |
- } else if (type == TabLaunchType.FROM_LONGPRESS_BACKGROUND && !mIsIncognito) { |
- launchMode = ChromeLauncherActivity.LAUNCH_MODE_AFFILIATED; |
- } else { |
- launchMode = ChromeLauncherActivity.LAUNCH_MODE_FOREGROUND; |
- } |
- |
- // Classify the startup type. |
- int documentStartedBy = DocumentMetricIds.STARTED_BY_UNKNOWN; |
- if (parent != null && TextUtils.equals(UrlConstants.NTP_URL, parent.getUrl())) { |
- documentStartedBy = DocumentMetricIds.STARTED_BY_CHROME_HOME_MOST_VISITED; |
- } else if (type == TabLaunchType.FROM_LONGPRESS_BACKGROUND |
- || type == TabLaunchType.FROM_LONGPRESS_FOREGROUND) { |
- documentStartedBy = DocumentMetricIds.STARTED_BY_CONTEXT_MENU; |
- } else if (type == TabLaunchType.FROM_MENU_OR_OVERVIEW) { |
- documentStartedBy = DocumentMetricIds.STARTED_BY_OPTIONS_MENU; |
- } |
- |
- createNewDocumentTab(loadUrlParams, type, parent, launchMode, documentStartedBy, null); |
- |
- // Tab is created aysnchronously. Can't return it yet. |
- return null; |
- } |
- |
- @Override |
- public void createNewDocumentTab(LoadUrlParams loadUrlParams, TabLaunchType type, |
- Tab parent, int documentLaunchMode, int documentStartedBy, Integer requestId) { |
- // Pack up everything. |
- PendingDocumentData params = null; |
- if (loadUrlParams.getPostData() != null |
- || loadUrlParams.getVerbatimHeaders() != null |
- || loadUrlParams.getReferrer() != null |
- || requestId != null) { |
- params = new PendingDocumentData(); |
- params.postData = loadUrlParams.getPostData(); |
- params.extraHeaders = loadUrlParams.getVerbatimHeaders(); |
- params.referrer = loadUrlParams.getReferrer(); |
- params.requestId = requestId == null ? 0 : requestId.intValue(); |
- } |
- |
- ChromeLauncherActivity.launchDocumentInstance(getActivityFromTab(parent), mIsIncognito, |
- documentLaunchMode, loadUrlParams.getUrl(), documentStartedBy, |
- loadUrlParams.getTransitionType(), params); |
- } |
- |
- private Activity getActivityFromTab(Tab tab) { |
- return tab == null || tab.getWindowAndroid() == null |
- ? null : tab.getWindowAndroid().getActivity().get(); |
- } |
-} |