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

Side by Side Diff: third_party/WebKit/Source/core/loader/resource/ImageResourceContent.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, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/loader/resource/ImageResourceContent.h" 5 #include "core/loader/resource/ImageResourceContent.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "core/loader/resource/ImageResource.h" 9 #include "core/loader/resource/ImageResource.h"
10 #include "core/loader/resource/ImageResourceInfo.h" 10 #include "core/loader/resource/ImageResourceInfo.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 const KURL&, 61 const KURL&,
62 const AtomicString& initiator_name) override {} 62 const AtomicString& initiator_name) override {}
63 63
64 const KURL url_; 64 const KURL url_;
65 const ResourceResponse response_; 65 const ResourceResponse response_;
66 const ResourceError error_; 66 const ResourceError error_;
67 }; 67 };
68 68
69 } // namespace 69 } // namespace
70 70
71 ImageResourceContent::ImageResourceContent(PassRefPtr<blink::Image> image) 71 ImageResourceContent::ImageResourceContent(RefPtr<WebTaskRunner> task_runner,
72 : image_(std::move(image)), is_refetchable_data_from_disk_cache_(true) { 72 PassRefPtr<blink::Image> image)
73 : image_(std::move(image)),
74 is_refetchable_data_from_disk_cache_(true),
75 task_runner_(task_runner) {
73 DEFINE_STATIC_LOCAL(NullImageResourceInfo, null_info, 76 DEFINE_STATIC_LOCAL(NullImageResourceInfo, null_info,
74 (new NullImageResourceInfo())); 77 (new NullImageResourceInfo()));
75 info_ = &null_info; 78 info_ = &null_info;
76 } 79 }
77 80
78 ImageResourceContent* ImageResourceContent::Fetch(FetchParameters& params, 81 ImageResourceContent* ImageResourceContent::Fetch(
79 ResourceFetcher* fetcher) { 82 RefPtr<WebTaskRunner> task_runner,
83 FetchParameters& params,
84 ResourceFetcher* fetcher) {
80 // TODO(hiroshige): Remove direct references to ImageResource by making 85 // TODO(hiroshige): Remove direct references to ImageResource by making
81 // the dependencies around ImageResource and ImageResourceContent cleaner. 86 // the dependencies around ImageResource and ImageResourceContent cleaner.
82 ImageResource* resource = ImageResource::Fetch(params, fetcher); 87 ImageResource* resource = ImageResource::Fetch(task_runner, params, fetcher);
83 if (!resource) 88 if (!resource)
84 return nullptr; 89 return nullptr;
85 return resource->GetContent(); 90 return resource->GetContent();
86 } 91 }
87 92
88 void ImageResourceContent::SetImageResourceInfo(ImageResourceInfo* info) { 93 void ImageResourceContent::SetImageResourceInfo(ImageResourceInfo* info) {
89 info_ = info; 94 info_ = info;
90 } 95 }
91 96
92 DEFINE_TRACE(ImageResourceContent) { 97 DEFINE_TRACE(ImageResourceContent) {
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 observer->ImageNotifyFinished(this); 307 observer->ImageNotifyFinished(this);
303 } 308 }
304 } 309 }
305 } 310 }
306 } 311 }
307 } 312 }
308 313
309 PassRefPtr<Image> ImageResourceContent::CreateImage() { 314 PassRefPtr<Image> ImageResourceContent::CreateImage() {
310 if (info_->GetResponse().MimeType() == "image/svg+xml") 315 if (info_->GetResponse().MimeType() == "image/svg+xml")
311 return SVGImage::Create(this); 316 return SVGImage::Create(this);
312 return BitmapImage::Create(this); 317 return BitmapImage::Create(task_runner_, this);
313 } 318 }
314 319
315 void ImageResourceContent::ClearImage() { 320 void ImageResourceContent::ClearImage() {
316 if (!image_) 321 if (!image_)
317 return; 322 return;
318 int64_t length = image_->Data() ? image_->Data()->size() : 0; 323 int64_t length = image_->Data() ? image_->Data()->size() : 0;
319 v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(-length); 324 v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(-length);
320 325
321 // If our Image has an observer, it's always us so we need to clear the back 326 // If our Image has an observer, it's always us so we need to clear the back
322 // pointer before dropping our reference. 327 // pointer before dropping our reference.
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 516
512 const ResourceResponse& ImageResourceContent::GetResponse() const { 517 const ResourceResponse& ImageResourceContent::GetResponse() const {
513 return info_->GetResponse(); 518 return info_->GetResponse();
514 } 519 }
515 520
516 const ResourceError& ImageResourceContent::GetResourceError() const { 521 const ResourceError& ImageResourceContent::GetResourceError() const {
517 return info_->GetResourceError(); 522 return info_->GetResourceError();
518 } 523 }
519 524
520 } // namespace blink 525 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698