Chromium Code Reviews| Index: Source/core/dom/Microtask.cpp |
| diff --git a/Source/core/dom/Microtask.cpp b/Source/core/dom/Microtask.cpp |
| index e63b84b1f60d1b998e79bd7c14b378e2510dbad4..d0e4431c8b16bb21cad7b897d48ff668b2365ab6 100644 |
| --- a/Source/core/dom/Microtask.cpp |
| +++ b/Source/core/dom/Microtask.cpp |
| @@ -32,12 +32,13 @@ |
| #include "core/dom/Microtask.h" |
| #include "bindings/v8/V8PerIsolateData.h" |
| +#include "public/platform/WebThread.h" |
| #include "wtf/Vector.h" |
| #include <v8.h> |
| namespace WebCore { |
| -typedef Vector<MicrotaskCallback> MicrotaskQueue; |
| +typedef Vector<blink::WebThread::Task*> MicrotaskQueue; |
|
abarth-chromium
2014/04/18 16:01:04
Vector<OwnPtr<blink::WebThread::Task> >
?
|
| static MicrotaskQueue& microtaskQueue() |
| { |
| @@ -54,17 +55,18 @@ void Microtask::performCheckpoint() |
| isolateData->setPerformingMicrotaskCheckpoint(true); |
| while (!microtaskQueue().isEmpty()) { |
| - Vector<MicrotaskCallback> microtasks; |
| + Vector<blink::WebThread::Task*> microtasks; |
| microtasks.swap(microtaskQueue()); |
| for (size_t i = 0; i < microtasks.size(); ++i) { |
| - microtasks[i](); |
| + microtasks[i]->run(); |
| + delete microtasks[i]; |
| } |
| } |
| isolateData->setPerformingMicrotaskCheckpoint(false); |
| } |
| -void Microtask::enqueueMicrotask(MicrotaskCallback callback) |
| +void Microtask::enqueueMicrotask(blink::WebThread::Task* callback) |
| { |
| microtaskQueue().append(callback); |
| } |