| Index: chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
| index 79f80d557c54d4b636ecb30cce2a5f8e84fafe68..9db4c4f63b42cc642750b426287dd898b19610cc 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
| @@ -17,12 +17,10 @@ import android.content.pm.ResolveInfo;
|
| import android.net.Uri;
|
| import android.os.Build;
|
| import android.os.StrictMode;
|
| -import android.os.TransactionTooLargeException;
|
| import android.provider.Browser;
|
| import android.provider.Telephony;
|
| import android.support.v7.app.AlertDialog;
|
| import android.text.TextUtils;
|
| -import android.util.Log;
|
| import android.webkit.MimeTypeMap;
|
|
|
| import org.chromium.base.ApplicationState;
|
| @@ -40,6 +38,7 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
|
| import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler.OverrideUrlLoadingResult;
|
| import org.chromium.chrome.browser.instantapps.InstantAppsHandler;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| +import org.chromium.chrome.browser.util.IntentUtils;
|
| import org.chromium.chrome.browser.util.UrlUtilities;
|
| import org.chromium.chrome.browser.webapps.WebappActivity;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| @@ -58,7 +57,6 @@ import java.util.List;
|
| * The main implementation of the {@link ExternalNavigationDelegate}.
|
| */
|
| public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegate {
|
| - private static final String TAG = "ExternalNavigationDelegateImpl";
|
| private static final String PDF_VIEWER = "com.google.android.apps.docs";
|
| private static final String PDF_MIME = "application/pdf";
|
| private static final String PDF_SUFFIX = ".pdf";
|
| @@ -155,7 +153,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
| }
|
| return activityResolved;
|
| } catch (RuntimeException e) {
|
| - logTransactionTooLargeOrRethrow(e, intent);
|
| + IntentUtils.logTransactionTooLargeOrRethrow(e, intent);
|
| }
|
| return false;
|
| }
|
| @@ -184,7 +182,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
| PackageManager pm = context.getPackageManager();
|
| return pm.resolveActivity(intent, 0);
|
| } catch (RuntimeException e) {
|
| - logTransactionTooLargeOrRethrow(e, intent);
|
| + IntentUtils.logTransactionTooLargeOrRethrow(e, intent);
|
| }
|
| return null;
|
| }
|
| @@ -215,7 +213,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
| return info != null
|
| && info.activityInfo.packageName.equals(context.getPackageName());
|
| } catch (RuntimeException e) {
|
| - logTransactionTooLargeOrRethrow(e, intent);
|
| + IntentUtils.logTransactionTooLargeOrRethrow(e, intent);
|
| return false;
|
| }
|
| }
|
| @@ -265,7 +263,6 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
| return result;
|
| }
|
|
|
| - int count = 0;
|
| for (ResolveInfo info : infos) {
|
| IntentFilter filter = info.filter;
|
| if (filter == null) {
|
| @@ -304,7 +301,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
| intent, PackageManager.GET_RESOLVED_FILTER);
|
| return getSpecializedHandlersWithFilter(handlers, packageName).size() > 0;
|
| } catch (RuntimeException e) {
|
| - logTransactionTooLargeOrRethrow(e, intent);
|
| + IntentUtils.logTransactionTooLargeOrRethrow(e, intent);
|
| }
|
| return false;
|
| }
|
| @@ -328,7 +325,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
| context.startActivity(intent);
|
| recordExternalNavigationDispatched(intent);
|
| } catch (RuntimeException e) {
|
| - logTransactionTooLargeOrRethrow(e, intent);
|
| + IntentUtils.logTransactionTooLargeOrRethrow(e, intent);
|
| }
|
| }
|
|
|
| @@ -349,7 +346,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
| if (activityWasLaunched) recordExternalNavigationDispatched(intent);
|
| return activityWasLaunched;
|
| } catch (RuntimeException e) {
|
| - logTransactionTooLargeOrRethrow(e, intent);
|
| + IntentUtils.logTransactionTooLargeOrRethrow(e, intent);
|
| return false;
|
| } finally {
|
| StrictMode.setThreadPolicy(oldPolicy);
|
| @@ -531,15 +528,6 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
| return Telephony.Sms.getDefaultSmsPackage(mApplicationContext);
|
| }
|
|
|
| - private static void logTransactionTooLargeOrRethrow(RuntimeException e, Intent intent) {
|
| - // See http://crbug.com/369574.
|
| - if (e.getCause() instanceof TransactionTooLargeException) {
|
| - Log.e(TAG, "Could not resolve Activity for intent " + intent.toString(), e);
|
| - } else {
|
| - throw e;
|
| - }
|
| - }
|
| -
|
| private void closeTab(Tab tab) {
|
| Context context = tab.getWindowAndroid().getContext().get();
|
| if (context instanceof ChromeActivity) {
|
|
|