Remove Platform::parseDataURL

We only use this data URL parser to pre-cache images loaded from data URLs.
It's not clear we need that optimization in this system. If we do want it, we
can just call the data URL parser directly.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/691623003
This commit is contained in:
Adam Barth 2014-10-30 09:41:31 -07:00
parent 07106fceee
commit 4be2d764fa
7 changed files with 0 additions and 76 deletions

View File

@ -114,27 +114,6 @@ static ResourceLoadPriority loadPriority(Resource::Type type, const FetchRequest
return ResourceLoadPriorityUnresolved;
}
static Resource* resourceFromDataURIRequest(const ResourceRequest& request, const ResourceLoaderOptions& resourceOptions)
{
const KURL& url = request.url();
ASSERT(url.protocolIsData());
blink::WebString mimetype;
blink::WebString charset;
RefPtr<SharedBuffer> data = PassRefPtr<SharedBuffer>(blink::Platform::current()->parseDataURL(url, mimetype, charset));
if (!data)
return 0;
ResourceResponse response(url, mimetype, data->size(), charset, String());
Resource* resource = createResource(Resource::Image, request, charset);
resource->setOptions(resourceOptions);
resource->responseReceived(response);
if (data->size())
resource->setResourceBuffer(data);
resource->finish();
return resource;
}
static WebURLRequest::RequestContext requestContextFromType(const ResourceFetcher* fetcher, Resource::Type type)
{
switch (type) {
@ -207,28 +186,11 @@ FetchContext& ResourceFetcher::context() const
ResourcePtr<ImageResource> ResourceFetcher::fetchImage(FetchRequest& request)
{
if (request.resourceRequest().url().protocolIsData())
preCacheDataURIImage(request);
request.setDefer(clientDefersImage(request.resourceRequest().url()) ? FetchRequest::DeferredByClient : FetchRequest::NoDefer);
ResourcePtr<Resource> resource = requestResource(Resource::Image, request);
return resource && resource->type() == Resource::Image ? toImageResource(resource) : 0;
}
void ResourceFetcher::preCacheDataURIImage(const FetchRequest& request)
{
const KURL& url = request.resourceRequest().url();
ASSERT(url.protocolIsData());
if (memoryCache()->resourceForURL(url))
return;
if (Resource* resource = resourceFromDataURIRequest(request.resourceRequest(), request.options())) {
memoryCache()->add(resource);
scheduleDocumentResourcesGC();
}
}
ResourcePtr<FontResource> ResourceFetcher::fetchFont(FetchRequest& request)
{
ASSERT(request.resourceRequest().frameType() == WebURLRequest::FrameTypeNone);

View File

@ -147,7 +147,6 @@ private:
ResourcePtr<Resource> requestResource(Resource::Type, FetchRequest&);
ResourcePtr<Resource> createResourceForRevalidation(const FetchRequest&, Resource*);
ResourcePtr<Resource> createResourceForLoading(Resource::Type, FetchRequest&, const String& charset);
void preCacheDataURIImage(const FetchRequest&);
void requestPreload(Resource::Type, FetchRequest&, const String& charset);
enum RevalidationPolicy { Use, Revalidate, Reload, Load };

View File

@ -184,9 +184,6 @@ public:
// A suggestion to cache this metadata in association with this URL.
virtual void cacheMetadata(const WebURL&, double responseTime, const char* data, size_t dataSize) { }
// Returns the decoded data url if url had a supported mimetype and parsing was successful.
virtual WebData parseDataURL(const WebURL&, WebString& mimetype, WebString& charset) { return WebData(); }
virtual WebURLError cancelledError(const WebURL&) const { return WebURLError(); }
virtual bool isReservedIPAddress(const WebURL&) const { return false; }

View File

@ -100,18 +100,4 @@ const unsigned char* PlatformImpl::getTraceCategoryEnabledFlag(
return buf;
}
blink::WebData PlatformImpl::parseDataURL(
const blink::WebURL& url,
blink::WebString& mimetype_out,
blink::WebString& charset_out) {
std::string mimetype, charset, data;
if (net::DataURL::Parse(url, &mimetype, &charset, &data)
&& net::IsSupportedMimeType(mimetype)) {
mimetype_out = blink::WebString::fromUTF8(mimetype);
charset_out = blink::WebString::fromUTF8(charset);
return data;
}
return blink::WebData();
}
} // namespace sky

View File

@ -32,9 +32,6 @@ class PlatformImpl : public blink::Platform {
virtual void setSharedTimerFiredFunction(void (*func)());
virtual void setSharedTimerFireInterval(double interval_seconds);
virtual void stopSharedTimer();
virtual blink::WebData parseDataURL(
const blink::WebURL& url, blink::WebString& mime_type,
blink::WebString& charset);
virtual blink::WebScrollbarBehavior* scrollbarBehavior();
virtual const unsigned char* getTraceCategoryEnabledFlag(
const char* category_name);

View File

@ -138,20 +138,6 @@ blink::WebURLLoader* PlatformImpl::createURLLoader() {
return new WebURLLoaderImpl(network_service_.get());
}
blink::WebData PlatformImpl::parseDataURL(
const blink::WebURL& url,
blink::WebString& mimetype_out,
blink::WebString& charset_out) {
std::string mimetype, charset, data;
if (net::DataURL::Parse(url, &mimetype, &charset, &data)
&& net::IsSupportedMimeType(mimetype)) {
mimetype_out = blink::WebString::fromUTF8(mimetype);
charset_out = blink::WebString::fromUTF8(charset);
return data;
}
return blink::WebData();
}
blink::WebURLError PlatformImpl::cancelledError(const blink::WebURL& url)
const {
blink::WebURLError error;

View File

@ -41,9 +41,6 @@ class PlatformImpl : public blink::Platform {
virtual blink::WebCompositorSupport* compositorSupport();
virtual mojo::NetworkService* networkService();
virtual blink::WebURLLoader* createURLLoader();
virtual blink::WebData parseDataURL(
const blink::WebURL& url, blink::WebString& mime_type,
blink::WebString& charset);
virtual blink::WebURLError cancelledError(const blink::WebURL& url) const;
virtual blink::WebScrollbarBehavior* scrollbarBehavior();
virtual const unsigned char* getTraceCategoryEnabledFlag(