diff options
| author | Iain Merrick <husky@google.com> | 2010-10-27 12:33:09 +0100 |
|---|---|---|
| committer | Iain Merrick <husky@google.com> | 2010-10-27 12:33:09 +0100 |
| commit | 2bcd292da929ab7558de4a557c347bffd51c924d (patch) | |
| tree | afd0469b73e89121abf2fb6f1dd157de33a7b014 /core | |
| parent | 2723d060330af0fa7d92bfae157452760a189f3b (diff) | |
| download | frameworks_base-2bcd292da929ab7558de4a557c347bffd51c924d.zip frameworks_base-2bcd292da929ab7558de4a557c347bffd51c924d.tar.gz frameworks_base-2bcd292da929ab7558de4a557c347bffd51c924d.tar.bz2 | |
Strip off MIME types when loading content URLs.
Matching behaviour that has been in ContentLoader.java since
approximately day 0. Without this, we can't load Gmail attachments
with the Chrome HTTP stack because of permission errors -- we have
to load exactly the URL Gmail tells us.
See http://b/issue?id=3125650
Change-Id: I764036efd428299b2fcd611b62dc046a40d80a55
Diffstat (limited to 'core')
| -rw-r--r-- | core/java/android/webkit/BrowserFrame.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java index 6e588b9..5254027 100644 --- a/core/java/android/webkit/BrowserFrame.java +++ b/core/java/android/webkit/BrowserFrame.java @@ -752,6 +752,14 @@ class BrowserFrame extends Handler { } } else if (type == CONTENT) { try { + // Strip off mimetype, for compatibility with ContentLoader.java + // If we don't do this, we can fail to load Gmail attachments, + // because the URL being loaded doesn't exactly match the URL we + // have permission to read. + int mimeIndex = url.lastIndexOf('?'); + if (mimeIndex != -1) { + url = url.substring(0, mimeIndex); + } Uri uri = Uri.parse(url); return mContext.getContentResolver().openInputStream(uri); } catch (Exception e) { |
