Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: src/object-observe.js

Issue 1309243003: ES6: Array.prototype.slice and friends should use ToLength instead of ToUint32 (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 $observeEnqueueSpliceRecord; 5 var $observeEnqueueSpliceRecord;
6 var $observeBeginPerformSplice; 6 var $observeBeginPerformSplice;
7 var $observeEndPerformSplice; 7 var $observeEndPerformSplice;
8 8
9 var $observeObjectMethods; 9 var $observeObjectMethods;
10 var $observeArrayMethods; 10 var $observeArrayMethods;
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 "observe", ObjectObserve, 686 "observe", ObjectObserve,
687 "unobserve", ObjectUnobserve 687 "unobserve", ObjectUnobserve
688 ]; 688 ];
689 $observeArrayMethods = [ 689 $observeArrayMethods = [
690 "observe", ArrayObserve, 690 "observe", ArrayObserve,
691 "unobserve", ArrayUnobserve 691 "unobserve", ArrayUnobserve
692 ]; 692 ];
693 693
694 // TODO(adamk): Figure out why this prototype removal has to 694 // TODO(adamk): Figure out why this prototype removal has to
695 // happen as part of initial snapshotting. 695 // happen as part of initial snapshotting.
696 var removePrototypeFn = function(f, i) { 696 for (var i = 0; i < $observeObjectMethods.length; i++)
Camillo Bruni 2015/09/08 07:10:34 I presume these are accidental changes?
aperez 2015/09/09 12:48:43 Same here, now with the macro is possible to avoid
697 if (i % 2 === 1) %FunctionRemovePrototype(f); 697 if (i % 2 === 1) %FunctionRemovePrototype($observeObjectMethods[i]);
698 }; 698 for (var i = 0; i < $observeArrayMethods.length; i++)
699 $observeObjectMethods.forEach(removePrototypeFn); 699 if (i % 2 === 1) %FunctionRemovePrototype($observeArrayMethods[i]);
700 $observeArrayMethods.forEach(removePrototypeFn);
701 700
702 $observeEnqueueSpliceRecord = EnqueueSpliceRecord; 701 $observeEnqueueSpliceRecord = EnqueueSpliceRecord;
703 $observeBeginPerformSplice = BeginPerformSplice; 702 $observeBeginPerformSplice = BeginPerformSplice;
704 $observeEndPerformSplice = EndPerformSplice; 703 $observeEndPerformSplice = EndPerformSplice;
705 704
706 %InstallToContext([ 705 %InstallToContext([
707 "native_object_get_notifier", NativeObjectGetNotifier, 706 "native_object_get_notifier", NativeObjectGetNotifier,
708 "native_object_notifier_perform_change", NativeObjectNotifierPerformChange, 707 "native_object_notifier_perform_change", NativeObjectNotifierPerformChange,
709 "native_object_observe", NativeObjectObserve, 708 "native_object_observe", NativeObjectObserve,
710 "observers_begin_perform_splice", BeginPerformSplice, 709 "observers_begin_perform_splice", BeginPerformSplice,
711 "observers_end_perform_splice", EndPerformSplice, 710 "observers_end_perform_splice", EndPerformSplice,
712 "observers_enqueue_splice", EnqueueSpliceRecord, 711 "observers_enqueue_splice", EnqueueSpliceRecord,
713 "observers_notify_change", NotifyChange, 712 "observers_notify_change", NotifyChange,
714 ]); 713 ]);
715 714
716 }) 715 })
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698