Chromium Code Reviews| Index: src/object-observe.js |
| diff --git a/src/object-observe.js b/src/object-observe.js |
| index 9c7ac3889eb573b04ae6c4612dc5d4791174fda0..a4761e488098cddda2344d91777ca7b28506c11a 100644 |
| --- a/src/object-observe.js |
| +++ b/src/object-observe.js |
| @@ -132,7 +132,8 @@ var defaultAcceptTypes = TypeMapCreateFromList([ |
| 'updated', |
| 'deleted', |
| 'prototype', |
| - 'reconfigured' |
| + 'reconfigured', |
| + 'preventExtensions' |
| ]); |
| // An Observer is a registration to observe an object by a callback with |
| @@ -443,9 +444,20 @@ function NotifyChange(type, object, name, oldValue) { |
| if (!ObjectInfoHasActiveObservers(objectInfo)) |
| return; |
| - var changeRecord = (arguments.length < 4) ? |
| - { type: type, object: object, name: name } : |
| - { type: type, object: object, name: name, oldValue: oldValue }; |
| + var changeRecord; |
|
rossberg
2013/10/30 19:11:45
I think you can write this more concisely as follo
rafaelw
2013/10/30 23:00:30
We need the changeRecord object to have the defaul
|
| + if (arguments.length == 2) { |
| + changeRecord = { type: type, object: object }; |
| + } else if (arguments.length == 3) { |
| + changeRecord = { type: type, object: object, name: name }; |
| + } else { |
| + changeRecord = { |
| + type: type, |
| + object: object, |
| + name: name, |
| + oldValue: oldValue |
| + }; |
| + } |
| + |
| ObjectFreeze(changeRecord); |
| ObjectInfoEnqueueChangeRecord(objectInfo, changeRecord); |
| } |