Chromium Code Reviews| Index: chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java |
| diff --git a/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java b/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java |
| index f74528ec457e2f347399dd51196cce5b7212560e..a979d69f15f90262963d2d285360b6323e3ee123 100644 |
| --- a/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java |
| +++ b/chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java |
| @@ -8,6 +8,7 @@ import android.app.Activity; |
| import android.app.FragmentManager; |
| import android.content.Intent; |
| import android.os.Bundle; |
| +import android.provider.Browser; |
| import android.support.v7.app.ActionBarActivity; |
| import android.text.TextUtils; |
| import android.util.Log; |
| @@ -29,6 +30,7 @@ import org.chromium.base.library_loader.LibraryProcessType; |
| import org.chromium.base.library_loader.ProcessInitException; |
| import org.chromium.chrome.browser.DevToolsServer; |
| import org.chromium.chrome.browser.FileProviderHelper; |
| +import org.chromium.chrome.browser.ServiceTabLauncher; |
| import org.chromium.chrome.browser.Tab; |
| import org.chromium.chrome.browser.appmenu.AppMenuHandler; |
| import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate; |
| @@ -244,10 +246,23 @@ public class ChromeShellActivity extends ActionBarActivity implements AppMenuPro |
| if (MemoryPressureListener.handleDebugIntent(this, intent.getAction())) return; |
| String url = getUrlFromIntent(intent); |
| - if (!TextUtils.isEmpty(url)) { |
| - ChromeShellTab tab = getActiveTab(); |
| - if (tab != null) tab.loadUrlWithSanitization(url); |
| + if (TextUtils.isEmpty(url)) return; |
| + |
| + if (intent.getBooleanExtra(Browser.EXTRA_CREATE_NEW_TAB, false)) { |
| + if (mTabManager == null) return; |
| + |
| + Tab newTab = mTabManager.createTab(url, TabLaunchType.FROM_EXTERNAL_APP); |
|
mlamouri (slow - plz ping)
2015/02/19 14:51:17
FROM_EXTERNAL_APP isn't quite right...
Peter Beverloo
2015/02/19 16:03:07
Done.
|
| + if (newTab != null && intent.hasExtra(ServiceTabLauncher.LAUNCH_REQUEST_ID_EXTRA)) { |
| + ServiceTabLauncher.onWebContentsForRequestAvailable( |
| + intent.getIntExtra(ServiceTabLauncher.LAUNCH_REQUEST_ID_EXTRA, 0), |
| + newTab.getWebContents()); |
| + } |
| + |
| + return; |
| } |
| + |
| + ChromeShellTab tab = getActiveTab(); |
| + if (tab != null) tab.loadUrlWithSanitization(url); |
| } |
| @Override |