| Index: third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
|
| index 8af06b1b7fc289165dd9b0d836b654fe093950d7..7087606d7df5c16c5e548e1b0fafb72863c7a28d 100644
|
| --- a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
|
| @@ -129,13 +129,17 @@ class ImageResource::ImageResourceFactory : public ResourceFactory {
|
| STACK_ALLOCATED();
|
|
|
| public:
|
| - ImageResourceFactory(const FetchParameters& fetch_params)
|
| - : ResourceFactory(Resource::kImage), fetch_params_(&fetch_params) {}
|
| + ImageResourceFactory(const FetchParameters& fetch_params,
|
| + RefPtr<WebTaskRunner> task_runner)
|
| + : ResourceFactory(Resource::kImage),
|
| + fetch_params_(&fetch_params),
|
| + task_runner_(task_runner) {}
|
|
|
| Resource* Create(const ResourceRequest& request,
|
| const ResourceLoaderOptions& options,
|
| const String&) const override {
|
| - return new ImageResource(request, options, ImageResourceContent::Create(),
|
| + return new ImageResource(task_runner_, request, options,
|
| + ImageResourceContent::Create(task_runner_),
|
| fetch_params_->GetPlaceholderImageRequestType() ==
|
| FetchParameters::kAllowPlaceholder);
|
| }
|
| @@ -143,9 +147,11 @@ class ImageResource::ImageResourceFactory : public ResourceFactory {
|
| private:
|
| // Weak, unowned pointer. Must outlive |this|.
|
| const FetchParameters* fetch_params_;
|
| + RefPtr<WebTaskRunner> task_runner_;
|
| };
|
|
|
| -ImageResource* ImageResource::Fetch(FetchParameters& params,
|
| +ImageResource* ImageResource::Fetch(RefPtr<WebTaskRunner> task_runner,
|
| + FetchParameters& params,
|
| ResourceFetcher* fetcher) {
|
| if (params.GetResourceRequest().GetRequestContext() ==
|
| WebURLRequest::kRequestContextUnspecified) {
|
| @@ -168,8 +174,8 @@ ImageResource* ImageResource::Fetch(FetchParameters& params,
|
| return nullptr;
|
| }
|
|
|
| - return ToImageResource(
|
| - fetcher->RequestResource(params, ImageResourceFactory(params)));
|
| + return ToImageResource(fetcher->RequestResource(
|
| + params, ImageResourceFactory(params, task_runner)));
|
| }
|
|
|
| bool ImageResource::CanReuse(const FetchParameters& params) const {
|
| @@ -182,12 +188,14 @@ bool ImageResource::CanReuse(const FetchParameters& params) const {
|
| return true;
|
| }
|
|
|
| -ImageResource* ImageResource::Create(const ResourceRequest& request) {
|
| - return new ImageResource(request, ResourceLoaderOptions(),
|
| - ImageResourceContent::Create(), false);
|
| +ImageResource* ImageResource::Create(RefPtr<WebTaskRunner> task_runner,
|
| + const ResourceRequest& request) {
|
| + return new ImageResource(task_runner, request, ResourceLoaderOptions(),
|
| + ImageResourceContent::Create(task_runner), false);
|
| }
|
|
|
| -ImageResource::ImageResource(const ResourceRequest& resource_request,
|
| +ImageResource::ImageResource(RefPtr<WebTaskRunner> task_runner,
|
| + const ResourceRequest& resource_request,
|
| const ResourceLoaderOptions& options,
|
| ImageResourceContent* content,
|
| bool is_placeholder)
|
| @@ -199,7 +207,8 @@ ImageResource::ImageResource(const ResourceRequest& resource_request,
|
| placeholder_option_(
|
| is_placeholder ? PlaceholderOption::kShowAndReloadPlaceholderAlways
|
| : PlaceholderOption::kDoNotReloadPlaceholder),
|
| - flush_timer_(this, &ImageResource::FlushImageIfNeeded) {
|
| + flush_timer_(this, &ImageResource::FlushImageIfNeeded),
|
| + task_runner_(task_runner) {
|
| DCHECK(GetContent());
|
| RESOURCE_LOADING_DVLOG(1) << "new ImageResource(ResourceRequest) " << this;
|
| GetContent()->SetImageResourceInfo(new ImageResourceInfoImpl(this));
|
|
|