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 30b0ffbd6d960038e38cc3048880e140b5680f80..e43d51498f6db6fdf8dba6cf48b9fa9d7e7ae8ab 100644 |
--- a/third_party/WebKit/Source/core/fetch/ImageResource.cpp |
+++ b/third_party/WebKit/Source/core/fetch/ImageResource.cpp |
@@ -106,13 +106,10 @@ void ImageResource::checkNotify() |
void ImageResource::markClientsAndObserversFinished() |
{ |
- while (!m_observers.isEmpty()) { |
- HashCountedSet<ImageResourceObserver*>::iterator it = m_observers.begin(); |
- for (int i = it->value; i; i--) { |
- m_finishedObservers.add(it->key); |
- m_observers.remove(it); |
- } |
- } |
+ HashCountedSet<ImageResourceObserver*> observers; |
+ m_observers.swap(observers); |
+ for (const auto& it : observers) |
+ m_finishedObservers.add(it.key, it.value); |
Resource::markClientsAndObserversFinished(); |
} |