Lines Matching refs:Observer
157 // An Observer is a registration to observe an object by a callback with
159 // set for Object.observe, the observer is represented as a direct reference
160 // to the callback. An observer never changes its accept types and thus never
165 var observer = nullProtoObject();
166 observer.callback = callback;
167 observer.accept = acceptList;
168 return observer;
172 function ObserverGetCallback(observer) {
173 return IS_CALLABLE(observer) ? observer : observer.callback;
177 function ObserverGetAcceptTypes(observer) {
178 return IS_CALLABLE(observer) ? defaultAcceptTypes : observer.accept;
182 function ObserverIsActive(observer, objectInfo) {
184 ObserverGetAcceptTypes(observer));
239 // observer is referenced directly via objectInfo.changeObservers. When a second
241 // priority -> observer and is then stored on objectInfo.changeObservers.
244 var observer = objectInfo.changeObservers;
245 var callback = ObserverGetCallback(observer);
249 objectInfo.changeObservers[priority] = observer;
256 var observer = ObserverCreate(callback, acceptList);
259 objectInfo.changeObservers = observer;
265 objectInfo.changeObservers[priority] = observer;
291 var observer = objectInfo.changeObservers[priority];
292 if (!IS_NULL(observer) && ObserverIsActive(observer, objectInfo))
433 function ObserverEnqueueIfActive(observer, objectInfo, changeRecord) {
434 if (!ObserverIsActive(observer, objectInfo) ||
435 !TypeMapHasType(ObserverGetAcceptTypes(observer), changeRecord.type)) {
439 var callback = ObserverGetCallback(observer);
491 var observer = objectInfo.changeObservers;
492 ObserverEnqueueIfActive(observer, objectInfo, changeRecord);
497 var observer = objectInfo.changeObservers[priority];
498 if (IS_NULL(observer))
500 ObserverEnqueueIfActive(observer, objectInfo, changeRecord);