emberjs/ember.js — pull request #3508 by tricknotes (2013-10-01 06:36:53+00:00)
Title: Fix Ember.Object.extend for old IE

In old IE, `Ember.Object.extend` couldn't extend property that is named the same as a property of `Object.prototype`.

``` javascript

MyClass = Ember.Object.extend({
toString: function() {
return 'MyClass'
}
});

var object = MyClass.create();

// The following should return `'MyClass'`.
object.toString(); //=> '<(unknown mixin):ember123>'
```

The cause is that `for ~ in` loop doesn't enumerate a property of `Object.prototype` in old IE.
To fix this issue, I fixed `Ember.keys` to return its own properties and I used it for `Ember.Object.extend`.