| Index: src/object-observe.js
|
| diff --git a/src/object-observe.js b/src/object-observe.js
|
| index 499b27eca1bef61b76b367f591fbc66413cd09bd..468da31ec2588958b985e4cb4346cf20e54122f0 100644
|
| --- a/src/object-observe.js
|
| +++ b/src/object-observe.js
|
| @@ -390,11 +390,13 @@ function ObserverEnqueueIfActive(observer, objectInfo, changeRecord,
|
| }
|
|
|
| var callbackInfo = CallbackInfoNormalize(callback);
|
| - if (!observationState.pendingObservers)
|
| + if (IS_NULL(observationState.pendingObservers)) {
|
| observationState.pendingObservers = nullProtoObject();
|
| + GetMicrotaskQueue().push(ObserveMicrotaskRunner);
|
| + %SetMicrotaskPending(true);
|
| + }
|
| observationState.pendingObservers[callbackInfo.priority] = callback;
|
| callbackInfo.push(changeRecord);
|
| - %SetMicrotaskPending(true);
|
| }
|
|
|
| function ObjectInfoEnqueueExternalChangeRecord(objectInfo, changeRecord, type) {
|
| @@ -583,7 +585,6 @@ function ObserveMicrotaskRunner() {
|
| }
|
| }
|
| }
|
| -RunMicrotasks.runners.push(ObserveMicrotaskRunner);
|
|
|
| function SetupObjectObserve() {
|
| %CheckIsBootstrapping();
|
|
|