OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 var $observeNotifyChange; | 5 var $observeNotifyChange; |
6 var $observeEnqueueSpliceRecord; | 6 var $observeEnqueueSpliceRecord; |
7 var $observeBeginPerformSplice; | 7 var $observeBeginPerformSplice; |
8 var $observeEndPerformSplice; | 8 var $observeEndPerformSplice; |
9 var $observeNativeObjectObserve; | 9 var $observeNativeObjectObserve; |
10 var $observeNativeObjectGetNotifier; | 10 var $observeNativeObjectGetNotifier; |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 } | 382 } |
383 return callbackInfo; | 383 return callbackInfo; |
384 } | 384 } |
385 | 385 |
386 | 386 |
387 function ObjectObserve(object, callback, acceptList) { | 387 function ObjectObserve(object, callback, acceptList) { |
388 if (!IS_SPEC_OBJECT(object)) | 388 if (!IS_SPEC_OBJECT(object)) |
389 throw MakeTypeError(kObserveNonObject, "observe", "observe"); | 389 throw MakeTypeError(kObserveNonObject, "observe", "observe"); |
390 if (%IsJSGlobalProxy(object)) | 390 if (%IsJSGlobalProxy(object)) |
391 throw MakeTypeError(kObserveGlobalProxy, "observe"); | 391 throw MakeTypeError(kObserveGlobalProxy, "observe"); |
| 392 if (%IsAccessCheckNeeded(object)) |
| 393 throw MakeTypeError(kObserveAccessChecked, "observe"); |
392 if (!IS_SPEC_FUNCTION(callback)) | 394 if (!IS_SPEC_FUNCTION(callback)) |
393 throw MakeTypeError(kObserveNonFunction, "observe"); | 395 throw MakeTypeError(kObserveNonFunction, "observe"); |
394 if (ObjectIsFrozen(callback)) | 396 if (ObjectIsFrozen(callback)) |
395 throw MakeTypeError(kObserveCallbackFrozen); | 397 throw MakeTypeError(kObserveCallbackFrozen); |
396 | 398 |
397 var objectObserveFn = %GetObjectContextObjectObserve(object); | 399 var objectObserveFn = %GetObjectContextObjectObserve(object); |
398 return objectObserveFn(object, callback, acceptList); | 400 return objectObserveFn(object, callback, acceptList); |
399 } | 401 } |
400 | 402 |
401 | 403 |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
610 if (IS_SPEC_OBJECT(changeRecord)) | 612 if (IS_SPEC_OBJECT(changeRecord)) |
611 ObjectInfoEnqueueExternalChangeRecord(objectInfo, changeRecord, changeType); | 613 ObjectInfoEnqueueExternalChangeRecord(objectInfo, changeRecord, changeType); |
612 } | 614 } |
613 | 615 |
614 | 616 |
615 function ObjectGetNotifier(object) { | 617 function ObjectGetNotifier(object) { |
616 if (!IS_SPEC_OBJECT(object)) | 618 if (!IS_SPEC_OBJECT(object)) |
617 throw MakeTypeError(kObserveNonObject, "getNotifier", "getNotifier"); | 619 throw MakeTypeError(kObserveNonObject, "getNotifier", "getNotifier"); |
618 if (%IsJSGlobalProxy(object)) | 620 if (%IsJSGlobalProxy(object)) |
619 throw MakeTypeError(kObserveGlobalProxy, "getNotifier"); | 621 throw MakeTypeError(kObserveGlobalProxy, "getNotifier"); |
| 622 if (%IsAccessCheckNeeded(object)) |
| 623 throw MakeTypeError(kObserveAccessChecked, "getNotifier"); |
620 | 624 |
621 if (ObjectIsFrozen(object)) return null; | 625 if (ObjectIsFrozen(object)) return null; |
622 | 626 |
623 if (!%ObjectWasCreatedInCurrentOrigin(object)) return null; | 627 if (!%ObjectWasCreatedInCurrentOrigin(object)) return null; |
624 | 628 |
625 var getNotifierFn = %GetObjectContextObjectGetNotifier(object); | 629 var getNotifierFn = %GetObjectContextObjectGetNotifier(object); |
626 return getNotifierFn(object); | 630 return getNotifierFn(object); |
627 } | 631 } |
628 | 632 |
629 | 633 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
693 | 697 |
694 $observeNotifyChange = NotifyChange; | 698 $observeNotifyChange = NotifyChange; |
695 $observeEnqueueSpliceRecord = EnqueueSpliceRecord; | 699 $observeEnqueueSpliceRecord = EnqueueSpliceRecord; |
696 $observeBeginPerformSplice = BeginPerformSplice; | 700 $observeBeginPerformSplice = BeginPerformSplice; |
697 $observeEndPerformSplice = EndPerformSplice; | 701 $observeEndPerformSplice = EndPerformSplice; |
698 $observeNativeObjectObserve = NativeObjectObserve; | 702 $observeNativeObjectObserve = NativeObjectObserve; |
699 $observeNativeObjectGetNotifier = NativeObjectGetNotifier; | 703 $observeNativeObjectGetNotifier = NativeObjectGetNotifier; |
700 $observeNativeObjectNotifierPerformChange = NativeObjectNotifierPerformChange; | 704 $observeNativeObjectNotifierPerformChange = NativeObjectNotifierPerformChange; |
701 | 705 |
702 }) | 706 }) |
OLD | NEW |