Chromium Code Reviews| Index: third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
| diff --git a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
| index 8eea6d9313861d478d4c03ec0a5d697e28ee3c58..110400fd8e01287a981f1330dc78397bc396076d 100644 |
| --- a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
| +++ b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
| @@ -336,8 +336,17 @@ PassRefPtrWillBeRawPtr<Resource> ResourceFetcher::resourceForStaticData(const Fe |
| if (!Platform::current()->canHandleDataURLRequestLocally(wrappedRequest)) |
| return nullptr; |
| data = PassRefPtr<SharedBuffer>(Platform::current()->parseDataURL(url, mimetype, charset)); |
| - if (!data) |
| - return nullptr; |
| + if (!data) { |
| + // We don't add |resource| to MemoryCache because it has an error, |
| + // but make ResourceFetcher::requestResource() to return this |
| + // Resource to make all data font URLs to be resolved synchronously. |
| + // https://crbug.com/382170 |
| + RefPtrWillBeRawPtr<Resource> resource = factory.create(request.resourceRequest(), request.charset()); |
| + resource->setNeedsSynchronousCacheHit(substituteData.forceSynchronousLoad()); |
| + resource->setOptions(request.options()); |
|
Nate Chapin
2016/03/01 19:05:06
Can we do the this and the changes above it earlie
hiroshige
2016/03/01 22:13:14
Done.
|
| + resource->error(Resource::LoadError); |
| + return resource.release(); |
| + } |
| } |
| ResourceResponse response(url, mimetype, data->size(), charset, String()); |
| response.setHTTPStatusCode(200); |