emberjs/ember.js — pull request #3299 by sebastianseilund (2013-09-01 21:40:04+00:00)
Title: Ember.ArrayProxy issue with `arrangedContent` not being initialized

`Ember.ArrayProxy` subclasses that sets its `content` property in `init` after `this._super()` stopped working with https://github.com/emberjs/ember.js/commit/d4fd799020c995e784944139c9fd61895d5b5c4f. The `_setupArrangedContent` is now not fired through the observer as it did before. Therefore the `arrangedContent` property will be `null` in examples like this:

Example:

```javascript
App.MyCrazyArray = Ember.ArrayProxy.extend({
init: function() {
this._super();
this.set('content', Em.A());
}
});

var a = App.MyCrazyArray.create();
console.log(a.get('arrangedContent')); //`null`, the `content` value would be expected
//Therefore the `length` property is broken:
a.pushObject('John');
console.log(a.get('length')); //`0`, should be `1`
console.log(a.get('content.length')); //`1` (works)
```

So I changed the `_setupContent` and `_setupArrangedContent` to run after `init` using the new `on` feature.