Index: third_party/WebKit/Source/core/timing/PerformanceBase.cpp |
diff --git a/third_party/WebKit/Source/core/timing/PerformanceBase.cpp b/third_party/WebKit/Source/core/timing/PerformanceBase.cpp |
index 1c5fb3d84657a04bc2e19f2a783c6f78b93ea257..517acfe9e793aa08b8f2f81a4f4814dbbc55bb5e 100644 |
--- a/third_party/WebKit/Source/core/timing/PerformanceBase.cpp |
+++ b/third_party/WebKit/Source/core/timing/PerformanceBase.cpp |
@@ -410,14 +410,13 @@ void PerformanceBase::resumeSuspendedObservers() |
void PerformanceBase::deliverObservationsTimerFired(Timer<PerformanceBase>*) |
{ |
ASSERT(isMainThread()); |
- PerformanceObserverVector observers; |
- copyToVector(m_activeObservers, observers); |
- m_activeObservers.clear(); |
- for (size_t i = 0; i < observers.size(); ++i) { |
- if (observers[i]->shouldBeSuspended()) |
- m_suspendedObservers.add(observers[i]); |
+ PerformanceObservers observers; |
+ m_activeObservers.swap(observers); |
+ for (const auto& observer : observers) { |
+ if (observer->shouldBeSuspended()) |
+ m_suspendedObservers.add(observer); |
else |
- observers[i]->deliver(); |
+ observer->deliver(); |
} |
} |