diff options
author | pdr@chromium.org <pdr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-07 20:20:39 +0000 |
---|---|---|
committer | pdr@chromium.org <pdr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-07 20:20:39 +0000 |
commit | ddba66b64259c75afa34e654b1cdf0ae86444be6 (patch) | |
tree | 181622b619aa7fb6887d6d2b2ca3484a876578b2 | |
parent | 7a055c917006400b81662815a2e0a8d837edbccb (diff) | |
download | chromium_src-ddba66b64259c75afa34e654b1cdf0ae86444be6.zip chromium_src-ddba66b64259c75afa34e654b1cdf0ae86444be6.tar.gz chromium_src-ddba66b64259c75afa34e654b1cdf0ae86444be6.tar.bz2 |
Expose parseDataURL to Platform
This patch exposes data url parsing to WebKit. This is a Chromium-side
change for https://codereview.chromium.org/16433002.
BUG=224317
R=jamesr@chromium.org
Review URL: https://codereview.chromium.org/16096016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204907 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | webkit/glue/webkitplatformsupport_impl.cc | 16 | ||||
-rw-r--r-- | webkit/glue/webkitplatformsupport_impl.h | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/webkit/glue/webkitplatformsupport_impl.cc b/webkit/glue/webkitplatformsupport_impl.cc index c4d9e52..850041b 100644 --- a/webkit/glue/webkitplatformsupport_impl.cc +++ b/webkit/glue/webkitplatformsupport_impl.cc @@ -28,6 +28,8 @@ #include "grit/webkit_chromium_resources.h" #include "grit/webkit_resources.h" #include "grit/webkit_strings.h" +#include "net/base/data_url.h" +#include "net/base/mime_util.h" #include "net/base/net_errors.h" #include "third_party/WebKit/public/platform/WebCookie.h" #include "third_party/WebKit/public/platform/WebData.h" @@ -403,6 +405,20 @@ WebString WebKitPlatformSupportImpl::userAgent(const WebURL& url) { return WebString::fromUTF8(webkit_glue::GetUserAgent(url)); } +WebData WebKitPlatformSupportImpl::parseDataURL( + const WebURL& url, + WebString& mimetype_out, + WebString& charset_out) { + std::string mime_type, char_set, data; + if (net::DataURL::Parse(url, &mime_type, &char_set, &data) + && net::IsSupportedMimeType(mime_type)) { + mimetype_out = WebString::fromUTF8(mime_type); + charset_out = WebString::fromUTF8(char_set); + return data; + } + return WebData(); +} + WebURLError WebKitPlatformSupportImpl::cancelledError( const WebURL& unreachableURL) const { return WebURLLoaderImpl::CreateError(unreachableURL, net::ERR_ABORTED); diff --git a/webkit/glue/webkitplatformsupport_impl.h b/webkit/glue/webkitplatformsupport_impl.h index 5e4acb2..53d31bf 100644 --- a/webkit/glue/webkitplatformsupport_impl.h +++ b/webkit/glue/webkitplatformsupport_impl.h @@ -85,6 +85,9 @@ class WEBKIT_GLUE_EXPORT WebKitPlatformSupportImpl : virtual WebKit::WebURLLoader* createURLLoader(); virtual WebKit::WebSocketStreamHandle* createSocketStreamHandle(); virtual WebKit::WebString userAgent(const WebKit::WebURL& url); + WebKit::WebData parseDataURL( + const WebKit::WebURL& url, WebKit::WebString& mimetype, + WebKit::WebString& charset); virtual WebKit::WebURLError cancelledError(const WebKit::WebURL& url) const; virtual void getPluginList(bool refresh, WebKit::WebPluginListBuilder*); virtual void decrementStatsCounter(const char* name); |