Removed fallback check on each defineSecureProp call
This check was originally added because IE8's implementation is broken. However, we already perform a test in the `can_define_prop` configuration, so this is not necessary (it seems to be a relic).perfodd
parent
7fbdb091a4
commit
e7f0f2ffc1
28
lib/util.js
28
lib/util.js
|
@ -562,8 +562,8 @@ exports.defineSecureProp( exports.getPropertyDescriptor, 'canTraverse',
|
|||
|
||||
|
||||
/**
|
||||
* Appropriately returns defineSecureProp implementation to avoid check on each
|
||||
* invocation
|
||||
* Appropriately returns defineSecureProp implementation to avoid check on
|
||||
* each invocation
|
||||
*
|
||||
* @return {function( Object, string, * )}
|
||||
*/
|
||||
|
@ -584,26 +584,14 @@ function getDefineSecureProp()
|
|||
// uses ECMAScript 5's Object.defineProperty() method
|
||||
return function( obj, prop, value )
|
||||
{
|
||||
try
|
||||
Object.defineProperty( obj, prop,
|
||||
{
|
||||
Object.defineProperty( obj, prop,
|
||||
{
|
||||
value: value,
|
||||
value: value,
|
||||
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
});
|
||||
}
|
||||
catch ( e )
|
||||
{
|
||||
// let's not have this happen again, as repeatedly throwing
|
||||
// exceptions will do nothing but slow down the system
|
||||
exports.definePropertyFallback( true );
|
||||
|
||||
// there's an error (ehem, IE8); fall back
|
||||
fallback( obj, prop, value );
|
||||
}
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
configurable: false,
|
||||
} );
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue