diff --git a/plugins/pilot/fixoldbrowsers.js b/plugins/pilot/fixoldbrowsers.js index 1f7f1033..2dcb835b 100644 --- a/plugins/pilot/fixoldbrowsers.js +++ b/plugins/pilot/fixoldbrowsers.js @@ -37,61 +37,6 @@ define(function(require, exports, module) { -// Narwhal's shim for ES5 defineProperty -// ES5 15.2.3.6 -if (!Object.defineProperty) { - Object.defineProperty = function(object, property, descriptor) { - var has = Object.prototype.hasOwnProperty; - if (typeof descriptor == "object" && object.__defineGetter__) { - if (has.call(descriptor, "value")) { - if (!object.__lookupGetter__(property) && !object.__lookupSetter__(property)) { - // data property defined and no pre-existing accessors - object[property] = descriptor.value; - } - if (has.call(descriptor, "get") || has.call(descriptor, "set")) { - // descriptor has a value property but accessor already exists - throw new TypeError("Object doesn't support this action"); - } - } - // fail silently if "writable", "enumerable", or "configurable" - // are requested but not supported - /* - // alternate approach: - if ( // can't implement these features; allow false but not true - !(has.call(descriptor, "writable") ? descriptor.writable : true) || - !(has.call(descriptor, "enumerable") ? descriptor.enumerable : true) || - !(has.call(descriptor, "configurable") ? descriptor.configurable : true) - ) - throw new RangeError( - "This implementation of Object.defineProperty does not " + - "support configurable, enumerable, or writable." - ); - */ - else if (typeof descriptor.get == "function") { - object.__defineGetter__(property, descriptor.get); - } - if (typeof descriptor.set == "function") { - object.__defineSetter__(property, descriptor.set); - } - } - return object; - }; -} - -// ES5 15.2.3.7 -if (!Object.defineProperties) { - Object.defineProperties = function(object, properties) { - for (var property in properties) { - if (Object.prototype.hasOwnProperty.call(properties, property)) { - Object.defineProperty(object, property, properties[property]); - } - } - return object; - }; -} - - - /** * Array detector. * Firefox 3.5 and Safari 4 have this already. Chrome 4 however ...