| Index: chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
| index 898adb5bc116ea4205d2aa6def3d77a88c467153..740763797c9f9d5e6a41e556d77229b57e625972 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
|
| @@ -13,6 +13,8 @@ import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.IntentHandler;
|
| import org.chromium.chrome.browser.UrlConstants;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| +import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
|
| +import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
|
| import org.chromium.chrome.browser.util.IntentUtils;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| import org.chromium.ui.base.DeviceFormFactor;
|
| @@ -31,12 +33,18 @@ public class DownloadUtils {
|
| */
|
| public static void showDownloadManager(Activity activity, Tab tab) {
|
| if (DeviceFormFactor.isTablet(activity)) {
|
| - tab.loadUrl(new LoadUrlParams(UrlConstants.DOWNLOADS_URL));
|
| + LoadUrlParams params = new LoadUrlParams(UrlConstants.DOWNLOADS_URL);
|
| + if (tab == null || !tab.isInitialized()) {
|
| + TabDelegate delegate = new TabDelegate(false);
|
| + delegate.createNewTab(params, TabLaunchType.FROM_CHROME_UI, null);
|
| + } else {
|
| + tab.loadUrl(params);
|
| + }
|
| } else {
|
| Intent intent = new Intent();
|
| intent.setClass(activity, DownloadActivity.class);
|
| intent.putExtra(IntentHandler.EXTRA_PARENT_COMPONENT, activity.getComponentName());
|
| - intent.putExtra(EXTRA_IS_OFF_THE_RECORD, tab.isIncognito());
|
| + if (tab != null) intent.putExtra(EXTRA_IS_OFF_THE_RECORD, tab.isIncognito());
|
| activity.startActivity(intent);
|
| }
|
| }
|
|
|