summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbudorick <jbudorick@chromium.org>2015-05-11 10:34:22 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-11 17:35:01 +0000
commitc74b42e547e3e8dc42e8c4fec1b431bc4c37b0f3 (patch)
treececbedb1a1b0228b1cfe113aa11281ca6a2436f4
parent74bb4ded177e5058878ae3d0e510ef83595f8f3a (diff)
downloadchromium_src-c74b42e547e3e8dc42e8c4fec1b431bc4c37b0f3.zip
chromium_src-c74b42e547e3e8dc42e8c4fec1b431bc4c37b0f3.tar.gz
chromium_src-c74b42e547e3e8dc42e8c4fec1b431bc4c37b0f3.tar.bz2
Revert of Catch Exception for Intent.parseUri instead of URISyntaxException (patchset #2 id:20001 of https://codereview.chromium.org/1132473004/)
Reason for revert: broke findbugs: http://build.chromium.org/p/chromium.linux/builders/Android%20Clang%20Builder%20%28dbg%29/builds/59364 slipped through CQ because analyze in android_clang_dbg_recipe decided it didn't need to compile: http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_dbg_recipe/builds/75301 Original issue's description: > Catch Exception for Intent.parseUri instead of URISyntaxException > > Intent.parseUri can throw other excpetions like NumberFormatException. > So we need to catch Exception to avoid crash. > > BUG=484336 > > Committed: https://crrev.com/e9785bb71f9e0b8a9a3ba321c2c6483c8805e5a1 > Cr-Commit-Position: refs/heads/master@{#329163} TBR=torne@chromium.org,tedchoc@chromium.org,jaekyun@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=484336 Review URL: https://codereview.chromium.org/1139753003 Cr-Commit-Position: refs/heads/master@{#329170}
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwContentViewClient.java8
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/ConnectionInfoPopup.java4
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java13
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java8
4 files changed, 20 insertions, 13 deletions
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContentViewClient.java b/android_webview/java/src/org/chromium/android_webview/AwContentViewClient.java
index 4427533..5546525 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContentViewClient.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContentViewClient.java
@@ -9,19 +9,21 @@ import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.provider.Browser;
+import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.URLUtil;
import android.webkit.WebChromeClient;
import android.widget.FrameLayout;
-import org.chromium.base.Log;
import org.chromium.content.browser.ContentVideoViewClient;
import org.chromium.content.browser.ContentViewClient;
import org.chromium.content.browser.ContentViewCore;
import org.chromium.content.browser.SelectActionMode;
import org.chromium.content.browser.SelectActionModeCallback.ActionHandler;
+import java.net.URISyntaxException;
+
/**
* ContentViewClient implementation for WebView
*/
@@ -60,8 +62,8 @@ public class AwContentViewClient extends ContentViewClient implements ContentVid
// Perform generic parsing of the URI to turn it into an Intent.
try {
intent = Intent.parseUri(contentUrl, Intent.URI_INTENT_SCHEME);
- } catch (Exception ex) {
- Log.w(TAG, "Bad URI " + contentUrl, ex);
+ } catch (URISyntaxException ex) {
+ Log.w(TAG, "Bad URI " + contentUrl + ": " + ex.getMessage());
return;
}
// Sanitize the Intent, ensuring web pages can not bypass browser
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ConnectionInfoPopup.java b/chrome/android/java/src/org/chromium/chrome/browser/ConnectionInfoPopup.java
index 151113c..0972aee 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ConnectionInfoPopup.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ConnectionInfoPopup.java
@@ -27,6 +27,8 @@ import org.chromium.chrome.R;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.WebContentsObserver;
+import java.net.URISyntaxException;
+
/**
* Java side of Android implementation of the website settings UI.
*/
@@ -210,7 +212,7 @@ public class ConnectionInfoPopup implements OnClickListener {
i.putExtra(Browser.EXTRA_CREATE_NEW_TAB, true);
i.putExtra(Browser.EXTRA_APPLICATION_ID, mContext.getPackageName());
mContext.startActivity(i);
- } catch (Exception ex) {
+ } catch (URISyntaxException ex) {
// Do nothing intentionally.
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
index ed93d88..dc8a1fc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -10,10 +10,10 @@ import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import android.provider.Browser;
+import android.util.Log;
import android.webkit.WebView;
import org.chromium.base.CommandLine;
-import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.UrlConstants;
@@ -22,6 +22,7 @@ import org.chromium.chrome.browser.util.IntentUtils;
import org.chromium.ui.base.PageTransition;
import java.net.URI;
+import java.net.URISyntaxException;
import java.util.List;
/**
@@ -78,8 +79,8 @@ public class ExternalNavigationHandler {
// Perform generic parsing of the URI to turn it into an Intent.
try {
intent = Intent.parseUri(params.getUrl(), Intent.URI_INTENT_SCHEME);
- } catch (Exception ex) {
- Log.w(TAG, "Bad URI " + params.getUrl(), ex);
+ } catch (URISyntaxException ex) {
+ Log.w(TAG, "Bad URI " + params.getUrl() + ": " + ex.getMessage());
return OverrideUrlLoadingResult.NO_OVERRIDE;
}
@@ -282,7 +283,7 @@ public class ExternalNavigationHandler {
try {
currentUri = new URI(params.getUrl());
previousUri = new URI(params.getReferrerUrl());
- } catch (Exception e) {
+ } catch (URISyntaxException e) {
currentUri = null;
previousUri = null;
}
@@ -294,7 +295,7 @@ public class ExternalNavigationHandler {
try {
previousIntent = Intent.parseUri(
params.getReferrerUrl(), Intent.URI_INTENT_SCHEME);
- } catch (Exception e) {
+ } catch (URISyntaxException e) {
previousIntent = null;
}
@@ -385,7 +386,7 @@ public class ExternalNavigationHandler {
try {
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
return intent.getPackage() != null || mDelegate.canResolveActivity(intent);
- } catch (Exception ex) {
+ } catch (URISyntaxException ex) {
// Ignore the error.
}
return false;
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java
index b88614f..a874357 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java
@@ -7,13 +7,15 @@ package org.chromium.content.browser;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
+import android.util.Log;
import android.view.ActionMode;
import android.view.KeyEvent;
import android.view.View;
-import org.chromium.base.Log;
import org.chromium.content.browser.SelectActionModeCallback.ActionHandler;
+import java.net.URISyntaxException;
+
/**
* Main callback class used by ContentView.
*
@@ -143,8 +145,8 @@ public class ContentViewClient {
// Perform generic parsing of the URI to turn it into an Intent.
try {
intent = Intent.parseUri(intentUrl, Intent.URI_INTENT_SCHEME);
- } catch (Exception ex) {
- Log.w(TAG, "Bad URI " + intentUrl, ex);
+ } catch (URISyntaxException ex) {
+ Log.w(TAG, "Bad URI " + intentUrl + ": " + ex.getMessage());
return;
}