Index: src/object-observe.js |
diff --git a/src/object-observe.js b/src/object-observe.js |
index 73a5d34c7ca2bcff899f60402f6fa15cb71e6042..38489ca7a83e37ab07f5116fb879b650ffd7095e 100644 |
--- a/src/object-observe.js |
+++ b/src/object-observe.js |
@@ -384,7 +384,7 @@ function ObserverEnqueueIfActive(observer, objectInfo, changeRecord, |
observationState.pendingObservers = { __proto__: null }; |
observationState.pendingObservers[callbackInfo.priority] = callback; |
callbackInfo.push(changeRecord); |
- %SetObserverDeliveryPending(); |
+ %SetMicrotasksPending(true); |
rafaelw
2013/11/14 21:08:46
nit: All of these work items are run within a sing
rossberg
2013/11/26 13:23:52
Done.
|
} |
function ObjectInfoEnqueueExternalChangeRecord(objectInfo, changeRecord, type) { |
@@ -562,15 +562,16 @@ function ObjectDeliverChangeRecords(callback) { |
while (CallbackDeliverPending(callback)) {} |
} |
-function DeliverChangeRecords() { |
- while (observationState.pendingObservers) { |
- var pendingObservers = observationState.pendingObservers; |
+function ObserveMicrotasksRunner() { |
rafaelw
2013/11/14 21:08:46
nit: along the same lines: ObserveMicrotaskRunner
rossberg
2013/11/26 13:23:52
Done.
|
+ var pendingObservers = observationState.pendingObservers; |
+ if (pendingObservers) { |
observationState.pendingObservers = null; |
for (var i in pendingObservers) { |
CallbackDeliverPending(pendingObservers[i]); |
} |
} |
} |
+RunMicrotasks.runners.push(ObserveMicrotasksRunner); |
function SetupObjectObserve() { |
%CheckIsBootstrapping(); |