| 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);
|
| }
|
|
|
| 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() {
|
| + var pendingObservers = observationState.pendingObservers;
|
| + if (pendingObservers) {
|
| observationState.pendingObservers = null;
|
| for (var i in pendingObservers) {
|
| CallbackDeliverPending(pendingObservers[i]);
|
| }
|
| }
|
| }
|
| +RunMicrotasks.runners.push(ObserveMicrotasksRunner);
|
|
|
| function SetupObjectObserve() {
|
| %CheckIsBootstrapping();
|
|
|