Chromium Code Reviews| 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(); |