Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappTabDelegate.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappTabDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappTabDelegate.java |
index e2831bcf967c1ea558d30f5d184bf7229a1406c8..e3e1e9e9a2c74c14e48d61cf70a12c6cf87e00c1 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappTabDelegate.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappTabDelegate.java |
@@ -3,12 +3,9 @@ |
// found in the LICENSE file. |
package org.chromium.chrome.browser.webapps; |
-import android.content.Intent; |
import android.net.Uri; |
import android.support.customtabs.CustomTabsIntent; |
-import org.chromium.chrome.browser.IntentHandler; |
-import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.tab.TabIdManager; |
import org.chromium.chrome.browser.tabmodel.AsyncTabParamsManager; |
@@ -23,8 +20,11 @@ |
* {@code _blank} links and {@code window.open(url)} calls instead of creating a new tab in Chrome. |
*/ |
public class WebappTabDelegate extends TabDelegate { |
- public WebappTabDelegate(boolean incognito) { |
+ private final WebappActivity mActivity; |
+ |
+ public WebappTabDelegate(WebappActivity activity, boolean incognito) { |
super(incognito); |
+ this.mActivity = activity; |
} |
@Override |
@@ -32,12 +32,11 @@ |
int assignedTabId = TabIdManager.getInstance().generateValidId(Tab.INVALID_TAB_ID); |
AsyncTabParamsManager.add(assignedTabId, asyncParams); |
- Intent intent = new CustomTabsIntent.Builder().setShowTitle(true).build().intent; |
- intent.setData(Uri.parse(asyncParams.getLoadUrlParams().getUrl())); |
- intent.putExtra(CustomTabIntentDataProvider.EXTRA_SEND_TO_EXTERNAL_DEFAULT_HANDLER, true); |
- intent.putExtra(CustomTabIntentDataProvider.EXTRA_IS_OPENED_BY_CHROME, true); |
- addAsyncTabExtras(asyncParams, parentId, false /* isChromeUI */, assignedTabId, intent); |
+ CustomTabsIntent customTabIntent = |
+ new CustomTabsIntent.Builder().setShowTitle(true).build(); |
- IntentHandler.startActivityForTrustedIntent(intent); |
+ customTabIntent.intent.setPackage(mActivity.getPackageName()); |
+ addAsyncTabExtras(asyncParams, parentId, true, assignedTabId, customTabIntent.intent); |
+ customTabIntent.launchUrl(mActivity, Uri.parse(asyncParams.getLoadUrlParams().getUrl())); |
} |
} |