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

Unified Diff: third_party/WebKit/Source/core/fetch/ImageResource.cpp

Issue 2191633003: Move ResourceClient to Oilpan heap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@onheap-raw-resource-client
Patch Set: build fix Created 4 years, 4 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/fetch/ImageResource.cpp
diff --git a/third_party/WebKit/Source/core/fetch/ImageResource.cpp b/third_party/WebKit/Source/core/fetch/ImageResource.cpp
index f9b25215b01aee542b3ff782b100b12d8887fa10..b1de57e7388509f74d67a3889f1b257d86b28752 100644
--- a/third_party/WebKit/Source/core/fetch/ImageResource.cpp
+++ b/third_party/WebKit/Source/core/fetch/ImageResource.cpp
@@ -26,7 +26,6 @@
#include "core/fetch/ImageResourceObserver.h"
#include "core/fetch/MemoryCache.h"
#include "core/fetch/ResourceClient.h"
-#include "core/fetch/ResourceClientOrObserverWalker.h"
#include "core/fetch/ResourceFetcher.h"
#include "core/fetch/ResourceLoader.h"
#include "core/fetch/ResourceLoadingLog.h"
@@ -38,14 +37,14 @@
#include "public/platform/Platform.h"
#include "public/platform/WebCachePolicy.h"
#include "wtf/CurrentTime.h"
+#include "wtf/HashCountedSet.h"
#include "wtf/StdLibExtras.h"
+#include "wtf/Vector.h"
#include <memory>
#include <v8.h>
namespace blink {
-using ImageResourceObserverWalker = ResourceClientOrObserverWalker<ImageResourceObserver, ImageResourceObserver>;
-
ImageResource* ImageResource::fetch(FetchRequest& request, ResourceFetcher* fetcher)
{
if (request.resourceRequest().requestContext() == WebURLRequest::RequestContextUnspecified)
@@ -104,11 +103,12 @@ void ImageResource::notifyObserversInternal(MarkFinishedOption markFinishedOptio
if (isLoading())
return;
- ImageResourceObserverWalker walker(m_observers);
- while (auto* observer = walker.next()) {
- if (markFinishedOption == MarkFinishedOption::ShouldMarkFinished)
- markObserverFinished(observer);
- observer->imageNotifyFinished(this);
+ for (auto* observer : m_observers.asVector()) {
+ if (m_observers.contains(observer)) {
+ if (markFinishedOption == MarkFinishedOption::ShouldMarkFinished)
+ markObserverFinished(observer);
+ observer->imageNotifyFinished(this);
+ }
}
}
@@ -182,14 +182,13 @@ ResourcePriority ImageResource::priorityFromObservers()
{
ResourcePriority priority;
- ImageResourceObserverWalker finishedWalker(m_finishedObservers);
- while (const auto* observer = finishedWalker.next()) {
- priorityFromObserver(observer, priority);
+ for (auto* observer : m_finishedObservers.asVector()) {
+ if (m_finishedObservers.contains(observer))
+ priorityFromObserver(observer, priority);
}
-
- ImageResourceObserverWalker walker(m_observers);
- while (const auto* observer = walker.next()) {
- priorityFromObserver(observer, priority);
+ for (auto* observer : m_observers.asVector()) {
+ if (m_observers.contains(observer))
+ priorityFromObserver(observer, priority);
}
return priority;
@@ -327,14 +326,13 @@ LayoutSize ImageResource::imageSize(RespectImageOrientationEnum shouldRespectIma
void ImageResource::notifyObservers(const IntRect* changeRect)
{
- ImageResourceObserverWalker finishedWalker(m_finishedObservers);
- while (auto* observer = finishedWalker.next()) {
- observer->imageChanged(this, changeRect);
+ for (auto* observer : m_finishedObservers.asVector()) {
+ if (m_finishedObservers.contains(observer))
+ observer->imageChanged(this, changeRect);
}
-
- ImageResourceObserverWalker walker(m_observers);
- while (auto* observer = walker.next()) {
- observer->imageChanged(this, changeRect);
+ for (auto* observer : m_observers.asVector()) {
+ if (m_observers.contains(observer))
+ observer->imageChanged(this, changeRect);
}
}
@@ -484,15 +482,13 @@ bool ImageResource::shouldPauseAnimation(const blink::Image* image)
if (!image || image != m_image)
return false;
- ImageResourceObserverWalker finishedWalker(m_finishedObservers);
- while (auto* observer = finishedWalker.next()) {
- if (observer->willRenderImage())
+ for (auto* observer : m_finishedObservers.asVector()) {
+ if (m_finishedObservers.contains(observer) && observer->willRenderImage())
return false;
}
- ImageResourceObserverWalker walker(m_observers);
- while (auto* observer = walker.next()) {
- if (observer->willRenderImage())
+ for (auto* observer : m_observers.asVector()) {
+ if (m_observers.contains(observer) && observer->willRenderImage())
return false;
}
@@ -512,16 +508,12 @@ void ImageResource::updateImageAnimationPolicy()
return;
ImageAnimationPolicy newPolicy = ImageAnimationPolicyAllowed;
-
- ImageResourceObserverWalker finishedWalker(m_finishedObservers);
- while (auto* observer = finishedWalker.next()) {
- if (observer->getImageAnimationPolicy(newPolicy))
+ for (auto* observer : m_finishedObservers.asVector()) {
+ if (m_finishedObservers.contains(observer) && observer->getImageAnimationPolicy(newPolicy))
break;
}
-
- ImageResourceObserverWalker walker(m_observers);
- while (auto* observer = walker.next()) {
- if (observer->getImageAnimationPolicy(newPolicy))
+ for (auto* observer : m_observers.asVector()) {
+ if (m_observers.contains(observer) && observer->getImageAnimationPolicy(newPolicy))
break;
}
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ImageResource.h ('k') | third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698