diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-12 09:27:01 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-12 09:27:01 -0700 |
| commit | f2c9b2c0b4e4e7df17ca0ff03311ea3f23cc2148 (patch) | |
| tree | 36eb0e481414e6a2f7874eea4dac11732f656b90 /core/java/android/webkit/FrameLoader.java | |
| parent | c5127603976b27475921ace59168d2b920219a8e (diff) | |
| parent | 758bf410843724d31f4ab48e8d7dd6b7c1240f23 (diff) | |
Merge change 20706
* changes:
Improve Browser performance by 1-2%. To address domain sanity bug, http://b/issue?id=1022797, we decoded/encoded the url for each request. As the url can be long, getBytes() and String.init are taking 1.5% in nytimes.com and 2.4% in cnn.com. By doing a simple URL encoding test, we can shave 1-2 secs thread time during loading.
Diffstat (limited to 'core/java/android/webkit/FrameLoader.java')
| -rw-r--r-- | core/java/android/webkit/FrameLoader.java | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/core/java/android/webkit/FrameLoader.java b/core/java/android/webkit/FrameLoader.java index 829872962921..e7978acba075 100644 --- a/core/java/android/webkit/FrameLoader.java +++ b/core/java/android/webkit/FrameLoader.java @@ -95,17 +95,6 @@ class FrameLoader { public boolean executeLoad() { String url = mListener.url(); - // Attempt to decode the percent-encoded url. - try { - url = new String(URLUtil.decode(url.getBytes())); - } catch (IllegalArgumentException e) { - // Fail with a bad url error if the decode fails. - mListener.error(EventHandler.ERROR_BAD_URL, - mListener.getContext().getString( - com.android.internal.R.string.httpErrorBadUrl)); - return false; - } - if (URLUtil.isNetworkUrl(url)){ if (mSettings.getBlockNetworkLoads()) { mListener.error(EventHandler.ERROR_BAD_URL, @@ -113,6 +102,13 @@ class FrameLoader { com.android.internal.R.string.httpErrorBadUrl)); return false; } + // Make sure it is correctly URL encoded before sending the request + if (!URLUtil.verifyURLEncoding(url)) { + mListener.error(EventHandler.ERROR_BAD_URL, + mListener.getContext().getString( + com.android.internal.R.string.httpErrorBadUrl)); + return false; + } mNetwork = Network.getInstance(mListener.getContext()); return handleHTTPLoad(); } else if (handleLocalFile(url, mListener, mSettings)) { |
