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

Unified Diff: Source/core/dom/Microtask.cpp

Issue 242123005: Allow posting a Task to Microtasks (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: use WebThread::Tasl Created 6 years, 8 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: 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);
}

Powered by Google App Engine
This is Rietveld 408576698