Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(275)

Unified Diff: third_party/WebKit/Source/core/loader/resource/ImageResource.cpp

Issue 2810423003: Schedule bitmap animation timers on the compositor task runner. (Closed)
Patch Set: fix up comment about a method changed by blink reformat Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));

Powered by Google App Engine
This is Rietveld 408576698