ember-source 1.11.0.1 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ember-source might be problematic. Click here for more details.

@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.11.0
8
+ * @version 1.11.1
9
9
  */
10
10
 
11
11
  (function() {
@@ -6029,7 +6029,7 @@ enifed('ember-htmlbars/compat/helper', ['exports', 'ember-metal/merge', 'ember-h
6029
6029
  function HandlebarsCompatibleHelper(fn) {
6030
6030
  this.helperFunction = function helperFunc(params, hash, options, env) {
6031
6031
  var param, blockResult, fnResult;
6032
- var context = this;
6032
+ var context = env.data.view;
6033
6033
  var handlebarsOptions = {
6034
6034
  hash: { },
6035
6035
  types: new Array(params.length),
@@ -6045,6 +6045,12 @@ enifed('ember-htmlbars/compat/helper', ['exports', 'ember-metal/merge', 'ember-h
6045
6045
  handlebarsOptions.fn = function() {
6046
6046
  blockResult = options.template.render(context, env, options.morph.contextualElement);
6047
6047
  };
6048
+
6049
+ if (options.inverse) {
6050
+ handlebarsOptions.inverse = function() {
6051
+ blockResult = options.inverse.render(context, env, options.morph.contextualElement);
6052
+ };
6053
+ }
6048
6054
  }
6049
6055
 
6050
6056
  for (var prop in hash) {
@@ -7818,8 +7824,8 @@ enifed('ember-htmlbars/system/render-view', ['exports', 'ember-metal/core', 'emb
7818
7824
  function renderHTMLBarsTemplate(view, buffer, template) {
7819
7825
  Ember['default'].assert(
7820
7826
  'The template being rendered by `' + view + '` was compiled with `' + template.revision +
7821
- '` which does not match `Ember@1.11.0` (this revision).',
7822
- template.revision === 'Ember@1.11.0'
7827
+ '` which does not match `Ember@1.11.1` (this revision).',
7828
+ template.revision === 'Ember@1.11.1'
7823
7829
  );
7824
7830
 
7825
7831
  var contextualElement = buffer.innerContextualElement();
@@ -7859,7 +7865,7 @@ enifed('ember-htmlbars/templates/component', ['exports', 'ember-template-compile
7859
7865
  exports['default'] = template['default']((function() {
7860
7866
  return {
7861
7867
  isHTMLBars: true,
7862
- revision: "Ember@1.11.0",
7868
+ revision: "Ember@1.11.1",
7863
7869
  blockParams: 0,
7864
7870
  cachedFragment: null,
7865
7871
  hasRendered: false,
@@ -7906,7 +7912,7 @@ enifed('ember-htmlbars/templates/empty', ['exports', 'ember-template-compiler/sy
7906
7912
  exports['default'] = template['default']((function() {
7907
7913
  return {
7908
7914
  isHTMLBars: true,
7909
- revision: "Ember@1.11.0",
7915
+ revision: "Ember@1.11.1",
7910
7916
  blockParams: 0,
7911
7917
  cachedFragment: null,
7912
7918
  hasRendered: false,
@@ -7946,7 +7952,7 @@ enifed('ember-htmlbars/templates/link-to-escaped', ['exports', 'ember-template-c
7946
7952
  exports['default'] = template['default']((function() {
7947
7953
  return {
7948
7954
  isHTMLBars: true,
7949
- revision: "Ember@1.11.0",
7955
+ revision: "Ember@1.11.1",
7950
7956
  blockParams: 0,
7951
7957
  cachedFragment: null,
7952
7958
  hasRendered: false,
@@ -7993,7 +7999,7 @@ enifed('ember-htmlbars/templates/link-to-unescaped', ['exports', 'ember-template
7993
7999
  exports['default'] = template['default']((function() {
7994
8000
  return {
7995
8001
  isHTMLBars: true,
7996
- revision: "Ember@1.11.0",
8002
+ revision: "Ember@1.11.1",
7997
8003
  blockParams: 0,
7998
8004
  cachedFragment: null,
7999
8005
  hasRendered: false,
@@ -8041,7 +8047,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8041
8047
  var child0 = (function() {
8042
8048
  return {
8043
8049
  isHTMLBars: true,
8044
- revision: "Ember@1.11.0",
8050
+ revision: "Ember@1.11.1",
8045
8051
  blockParams: 0,
8046
8052
  cachedFragment: null,
8047
8053
  hasRendered: false,
@@ -8084,7 +8090,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8084
8090
  var child0 = (function() {
8085
8091
  return {
8086
8092
  isHTMLBars: true,
8087
- revision: "Ember@1.11.0",
8093
+ revision: "Ember@1.11.1",
8088
8094
  blockParams: 0,
8089
8095
  cachedFragment: null,
8090
8096
  hasRendered: false,
@@ -8124,7 +8130,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8124
8130
  }());
8125
8131
  return {
8126
8132
  isHTMLBars: true,
8127
- revision: "Ember@1.11.0",
8133
+ revision: "Ember@1.11.1",
8128
8134
  blockParams: 0,
8129
8135
  cachedFragment: null,
8130
8136
  hasRendered: false,
@@ -8166,7 +8172,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8166
8172
  var child0 = (function() {
8167
8173
  return {
8168
8174
  isHTMLBars: true,
8169
- revision: "Ember@1.11.0",
8175
+ revision: "Ember@1.11.1",
8170
8176
  blockParams: 0,
8171
8177
  cachedFragment: null,
8172
8178
  hasRendered: false,
@@ -8206,7 +8212,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8206
8212
  }());
8207
8213
  return {
8208
8214
  isHTMLBars: true,
8209
- revision: "Ember@1.11.0",
8215
+ revision: "Ember@1.11.1",
8210
8216
  blockParams: 0,
8211
8217
  cachedFragment: null,
8212
8218
  hasRendered: false,
@@ -8246,7 +8252,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8246
8252
  }());
8247
8253
  return {
8248
8254
  isHTMLBars: true,
8249
- revision: "Ember@1.11.0",
8255
+ revision: "Ember@1.11.1",
8250
8256
  blockParams: 0,
8251
8257
  cachedFragment: null,
8252
8258
  hasRendered: false,
@@ -8560,7 +8566,7 @@ enifed('ember-metal-views/renderer', ['exports', 'dom-helper', 'ember-metal/envi
8560
8566
 
8561
8567
  this.beforeRemove(removeQueue[idx]);
8562
8568
 
8563
- childViews = view._childViews;
8569
+ childViews = this.childViews(view);
8564
8570
  if (childViews) {
8565
8571
  for (i=0,l=childViews.length; i<l; i++) {
8566
8572
  queue.push(childViews[i]);
@@ -8573,7 +8579,7 @@ enifed('ember-metal-views/renderer', ['exports', 'dom-helper', 'ember-metal/envi
8573
8579
 
8574
8580
  this.beforeRemove(destroyQueue[idx]);
8575
8581
 
8576
- childViews = view._childViews;
8582
+ childViews = this.childViews(view);
8577
8583
  if (childViews) {
8578
8584
  for (i=0,l=childViews.length; i<l; i++) {
8579
8585
  destroyQueue.push(childViews[i]);
@@ -11393,7 +11399,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
11393
11399
 
11394
11400
  @class Ember
11395
11401
  @static
11396
- @version 1.11.0
11402
+ @version 1.11.1
11397
11403
  */
11398
11404
 
11399
11405
  if ('undefined' === typeof Ember) {
@@ -11421,10 +11427,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
11421
11427
  /**
11422
11428
  @property VERSION
11423
11429
  @type String
11424
- @default '1.11.0'
11430
+ @default '1.11.1'
11425
11431
  @static
11426
11432
  */
11427
- Ember.VERSION = '1.11.0';
11433
+ Ember.VERSION = '1.11.1';
11428
11434
 
11429
11435
  /**
11430
11436
  Standard environmental variables. You can define these in a global `EmberENV`
@@ -16880,7 +16886,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16880
16886
  return object && object.isStream;
16881
16887
  }
16882
16888
 
16883
- /**
16889
+ /*
16884
16890
  A method of subscribing to a stream which is safe for use with a non-stream
16885
16891
  object. If a non-stream object is passed, the function does nothing.
16886
16892
 
@@ -16898,7 +16904,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16898
16904
  }
16899
16905
  }
16900
16906
 
16901
- /**
16907
+ /*
16902
16908
  A method of unsubscribing from a stream which is safe for use with a non-stream
16903
16909
  object. If a non-stream object is passed, the function does nothing.
16904
16910
 
@@ -16915,7 +16921,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16915
16921
  }
16916
16922
  }
16917
16923
 
16918
- /**
16924
+ /*
16919
16925
  Retrieve the value of a stream, or in the case a non-stream object is passed,
16920
16926
  return the object itself.
16921
16927
 
@@ -16933,7 +16939,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16933
16939
  }
16934
16940
  }
16935
16941
 
16936
- /**
16942
+ /*
16937
16943
  Map an array, replacing any streams with their values.
16938
16944
 
16939
16945
  @public
@@ -16954,7 +16960,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16954
16960
  return ret;
16955
16961
  }
16956
16962
 
16957
- /**
16963
+ /*
16958
16964
  Map a hash, replacing any stream property values with the current value of that
16959
16965
  stream.
16960
16966
 
@@ -16975,7 +16981,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16975
16981
  return ret;
16976
16982
  }
16977
16983
 
16978
- /**
16984
+ /*
16979
16985
  Check whether an array contains any stream values
16980
16986
 
16981
16987
  @public
@@ -16999,7 +17005,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16999
17005
  return containsStream;
17000
17006
  }
17001
17007
 
17002
- /**
17008
+ /*
17003
17009
  Check whether a hash has any stream property values
17004
17010
 
17005
17011
  @public
@@ -17022,7 +17028,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
17022
17028
  return containsStream;
17023
17029
  }
17024
17030
 
17025
- /**
17031
+ /*
17026
17032
  Join an array, with any streams replaced by their current values
17027
17033
 
17028
17034
  @public
@@ -17055,7 +17061,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
17055
17061
  }
17056
17062
  }
17057
17063
 
17058
- /**
17064
+ /*
17059
17065
  Generate a new stream by providing a source stream and a function that can
17060
17066
  be used to transform the stream's value. In the case of a non-stream object,
17061
17067
  returns the result of the function.
@@ -18787,7 +18793,7 @@ enifed('ember-routing-htmlbars/helpers/query-params', ['exports', 'ember-metal/c
18787
18793
  }
18788
18794
 
18789
18795
  });
18790
- enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core', 'ember-metal/error', 'ember-runtime/system/string', 'ember-routing/system/generate_controller', 'ember-metal/streams/utils', 'ember-htmlbars/system/merge-view-bindings', 'ember-htmlbars/system/append-templated-view', 'ember-metal/platform/create'], function (exports, Ember, EmberError, string, generate_controller, utils, mergeViewBindings, appendTemplatedView, create) {
18796
+ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core', 'ember-metal/property_get', 'ember-metal/error', 'ember-runtime/system/string', 'ember-routing/system/generate_controller', 'ember-metal/streams/utils', 'ember-htmlbars/system/merge-view-bindings', 'ember-htmlbars/system/append-templated-view', 'ember-metal/platform/create'], function (exports, Ember, property_get, EmberError, string, generate_controller, utils, mergeViewBindings, appendTemplatedView, create) {
18791
18797
 
18792
18798
  'use strict';
18793
18799
 
@@ -18848,6 +18854,9 @@ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core',
18848
18854
  view = container.lookup('view:' + name);
18849
18855
  if (!view) {
18850
18856
  view = container.lookup('view:default');
18857
+ }
18858
+ var viewHasTemplateSpecified = !!property_get.get(view, 'template');
18859
+ if (!viewHasTemplateSpecified) {
18851
18860
  template = template || container.lookup(templateName);
18852
18861
  }
18853
18862
 
@@ -20732,6 +20741,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20732
20741
  init: function() {
20733
20742
  property_set.set(this, 'location', property_get.get(this, 'location') || window.location);
20734
20743
  property_set.set(this, 'baseURL', jQuery['default']('base').attr('href') || '');
20744
+
20735
20745
  },
20736
20746
 
20737
20747
  /**
@@ -20741,7 +20751,13 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20741
20751
  @method initState
20742
20752
  */
20743
20753
  initState: function() {
20744
- property_set.set(this, 'history', property_get.get(this, 'history') || window.history);
20754
+ var history = property_get.get(this, 'history') || window.history;
20755
+ property_set.set(this, 'history', history);
20756
+
20757
+ if (history && 'state' in history) {
20758
+ this.supportsHistory = true;
20759
+ }
20760
+
20745
20761
  this.replaceState(this.formatURL(this.getURL()));
20746
20762
  },
20747
20763
 
@@ -20786,7 +20802,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20786
20802
  @param path {String}
20787
20803
  */
20788
20804
  setURL: function(path) {
20789
- var state = this._historyState;
20805
+ var state = this.getState();
20790
20806
  path = this.formatURL(path);
20791
20807
 
20792
20808
  if (!state || state.path !== path) {
@@ -20803,7 +20819,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20803
20819
  @param path {String}
20804
20820
  */
20805
20821
  replaceURL: function(path) {
20806
- var state = this._historyState;
20822
+ var state = this.getState();
20807
20823
  path = this.formatURL(path);
20808
20824
 
20809
20825
  if (!state || state.path !== path) {
@@ -20811,6 +20827,24 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20811
20827
  }
20812
20828
  },
20813
20829
 
20830
+ /**
20831
+ Get the current `history.state`. Checks for if a polyfill is
20832
+ required and if so fetches this._historyState. The state returned
20833
+ from getState may be null if an iframe has changed a window's
20834
+ history.
20835
+
20836
+ @private
20837
+ @method getState
20838
+ @return state {Object}
20839
+ */
20840
+ getState: function() {
20841
+ if (this.supportsHistory) {
20842
+ return property_get.get(this, 'history').state;
20843
+ }
20844
+
20845
+ return this._historyState;
20846
+ },
20847
+
20814
20848
  /**
20815
20849
  Pushes a new state.
20816
20850
 
@@ -20821,7 +20855,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20821
20855
  pushState: function(path) {
20822
20856
  var state = { path: path };
20823
20857
 
20824
- property_get.get(this, 'history').pushState(null, null, path);
20858
+ property_get.get(this, 'history').pushState(state, null, path);
20825
20859
 
20826
20860
  this._historyState = state;
20827
20861
 
@@ -20838,7 +20872,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20838
20872
  */
20839
20873
  replaceState: function(path) {
20840
20874
  var state = { path: path };
20841
- property_get.get(this, 'history').replaceState(null, null, path);
20875
+ property_get.get(this, 'history').replaceState(state, null, path);
20842
20876
 
20843
20877
  this._historyState = state;
20844
20878
 
@@ -26651,7 +26685,7 @@ enifed('ember-runtime/controllers/array_controller', ['exports', 'ember-metal/co
26651
26685
  Ember['default'].assert(
26652
26686
  'ArrayController expects `model` to implement the Ember.Array mixin. ' +
26653
26687
  'This can often be fixed by wrapping your model with `Ember.A()`.',
26654
- EmberArray['default'].detect(value)
26688
+ EmberArray['default'].detect(value) || !value
26655
26689
  );
26656
26690
 
26657
26691
  return value;
@@ -34713,7 +34747,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
34713
34747
  var disableComponentGeneration = true;
34714
34748
 
34715
34749
  return {
34716
- revision: 'Ember@1.11.0',
34750
+ revision: 'Ember@1.11.1',
34717
34751
 
34718
34752
  disableComponentGeneration: disableComponentGeneration,
34719
34753
 
@@ -36269,6 +36303,8 @@ enifed('ember-views/mixins/attribute_bindings_support', ['exports', 'ember-metal
36269
36303
  */
36270
36304
  attributeBindings: EMPTY_ARRAY,
36271
36305
 
36306
+ _attrNodes: EMPTY_ARRAY,
36307
+
36272
36308
  _unspecifiedAttributeBindings: null,
36273
36309
 
36274
36310
  /**
@@ -38886,7 +38922,10 @@ enifed('ember-views/system/renderer', ['exports', 'ember-metal/core', 'ember-met
38886
38922
  };
38887
38923
 
38888
38924
  EmberRenderer.prototype.childViews = function childViews(view) {
38889
- return view._childViews;
38925
+ if (view._attrNodes && view._childViews) {
38926
+ return view._attrNodes.concat(view._childViews);
38927
+ }
38928
+ return view._attrNodes || view._childViews;
38890
38929
  };
38891
38930
 
38892
38931
  Renderer['default'].prototype.willCreateElement = function (view) {
@@ -40459,7 +40498,7 @@ enifed('ember-views/views/select', ['exports', 'ember-metal/enumerable_utils', '
40459
40498
 
40460
40499
  var selectOptionDefaultTemplate = {
40461
40500
  isHTMLBars: true,
40462
- revision: 'Ember@1.11.0',
40501
+ revision: 'Ember@1.11.1',
40463
40502
  render: function(context, env, contextualElement) {
40464
40503
  var lazyValue = context.getStream('view.label');
40465
40504
 
@@ -41410,10 +41449,10 @@ enifed('ember-views/views/states/in_buffer', ['exports', 'ember-views/views/stat
41410
41449
 
41411
41450
  appendAttr: function(view, attrNode) {
41412
41451
  var buffer = view.buffer;
41413
- var _childViews = view._childViews;
41452
+ var _attrNodes = view._attrNodes;
41414
41453
 
41415
- if (!_childViews.length) { _childViews = view._childViews = _childViews.slice(); }
41416
- _childViews.push(attrNode);
41454
+ if (!_attrNodes.length) { _attrNodes = view._attrNodes = _attrNodes.slice(); }
41455
+ _attrNodes.push(attrNode);
41417
41456
 
41418
41457
  if (!attrNode._morph) {
41419
41458
  Ember.assert("bound attributes that do not have a morph must have a buffer", !!buffer);
@@ -41468,10 +41507,10 @@ enifed('ember-views/views/states/in_dom', ['exports', 'ember-metal/core', 'ember
41468
41507
  },
41469
41508
 
41470
41509
  appendAttr: function(view, attrNode) {
41471
- var _childViews = view._childViews;
41510
+ var _attrNodes = view._attrNodes;
41472
41511
 
41473
- if (!_childViews.length) { _childViews = view._childViews = _childViews.slice(); }
41474
- _childViews.push(attrNode);
41512
+ if (!_attrNodes.length) { _attrNodes = view._attrNodes = _attrNodes.slice(); }
41513
+ _attrNodes.push(attrNode);
41475
41514
 
41476
41515
  attrNode._parentView = view;
41477
41516
  view.renderer.appendAttrTo(attrNode, view.element, attrNode.attrName);
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.11.0
8
+ * @version 1.11.1
9
9
  */
10
10
 
11
11
  (function() {
@@ -6029,7 +6029,7 @@ enifed('ember-htmlbars/compat/helper', ['exports', 'ember-metal/merge', 'ember-h
6029
6029
  function HandlebarsCompatibleHelper(fn) {
6030
6030
  this.helperFunction = function helperFunc(params, hash, options, env) {
6031
6031
  var param, blockResult, fnResult;
6032
- var context = this;
6032
+ var context = env.data.view;
6033
6033
  var handlebarsOptions = {
6034
6034
  hash: { },
6035
6035
  types: new Array(params.length),
@@ -6045,6 +6045,12 @@ enifed('ember-htmlbars/compat/helper', ['exports', 'ember-metal/merge', 'ember-h
6045
6045
  handlebarsOptions.fn = function() {
6046
6046
  blockResult = options.template.render(context, env, options.morph.contextualElement);
6047
6047
  };
6048
+
6049
+ if (options.inverse) {
6050
+ handlebarsOptions.inverse = function() {
6051
+ blockResult = options.inverse.render(context, env, options.morph.contextualElement);
6052
+ };
6053
+ }
6048
6054
  }
6049
6055
 
6050
6056
  for (var prop in hash) {
@@ -7818,8 +7824,8 @@ enifed('ember-htmlbars/system/render-view', ['exports', 'ember-metal/core', 'emb
7818
7824
  function renderHTMLBarsTemplate(view, buffer, template) {
7819
7825
  Ember['default'].assert(
7820
7826
  'The template being rendered by `' + view + '` was compiled with `' + template.revision +
7821
- '` which does not match `Ember@1.11.0` (this revision).',
7822
- template.revision === 'Ember@1.11.0'
7827
+ '` which does not match `Ember@1.11.1` (this revision).',
7828
+ template.revision === 'Ember@1.11.1'
7823
7829
  );
7824
7830
 
7825
7831
  var contextualElement = buffer.innerContextualElement();
@@ -7859,7 +7865,7 @@ enifed('ember-htmlbars/templates/component', ['exports', 'ember-template-compile
7859
7865
  exports['default'] = template['default']((function() {
7860
7866
  return {
7861
7867
  isHTMLBars: true,
7862
- revision: "Ember@1.11.0",
7868
+ revision: "Ember@1.11.1",
7863
7869
  blockParams: 0,
7864
7870
  cachedFragment: null,
7865
7871
  hasRendered: false,
@@ -7906,7 +7912,7 @@ enifed('ember-htmlbars/templates/empty', ['exports', 'ember-template-compiler/sy
7906
7912
  exports['default'] = template['default']((function() {
7907
7913
  return {
7908
7914
  isHTMLBars: true,
7909
- revision: "Ember@1.11.0",
7915
+ revision: "Ember@1.11.1",
7910
7916
  blockParams: 0,
7911
7917
  cachedFragment: null,
7912
7918
  hasRendered: false,
@@ -7946,7 +7952,7 @@ enifed('ember-htmlbars/templates/link-to-escaped', ['exports', 'ember-template-c
7946
7952
  exports['default'] = template['default']((function() {
7947
7953
  return {
7948
7954
  isHTMLBars: true,
7949
- revision: "Ember@1.11.0",
7955
+ revision: "Ember@1.11.1",
7950
7956
  blockParams: 0,
7951
7957
  cachedFragment: null,
7952
7958
  hasRendered: false,
@@ -7993,7 +7999,7 @@ enifed('ember-htmlbars/templates/link-to-unescaped', ['exports', 'ember-template
7993
7999
  exports['default'] = template['default']((function() {
7994
8000
  return {
7995
8001
  isHTMLBars: true,
7996
- revision: "Ember@1.11.0",
8002
+ revision: "Ember@1.11.1",
7997
8003
  blockParams: 0,
7998
8004
  cachedFragment: null,
7999
8005
  hasRendered: false,
@@ -8041,7 +8047,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8041
8047
  var child0 = (function() {
8042
8048
  return {
8043
8049
  isHTMLBars: true,
8044
- revision: "Ember@1.11.0",
8050
+ revision: "Ember@1.11.1",
8045
8051
  blockParams: 0,
8046
8052
  cachedFragment: null,
8047
8053
  hasRendered: false,
@@ -8084,7 +8090,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8084
8090
  var child0 = (function() {
8085
8091
  return {
8086
8092
  isHTMLBars: true,
8087
- revision: "Ember@1.11.0",
8093
+ revision: "Ember@1.11.1",
8088
8094
  blockParams: 0,
8089
8095
  cachedFragment: null,
8090
8096
  hasRendered: false,
@@ -8124,7 +8130,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8124
8130
  }());
8125
8131
  return {
8126
8132
  isHTMLBars: true,
8127
- revision: "Ember@1.11.0",
8133
+ revision: "Ember@1.11.1",
8128
8134
  blockParams: 0,
8129
8135
  cachedFragment: null,
8130
8136
  hasRendered: false,
@@ -8166,7 +8172,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8166
8172
  var child0 = (function() {
8167
8173
  return {
8168
8174
  isHTMLBars: true,
8169
- revision: "Ember@1.11.0",
8175
+ revision: "Ember@1.11.1",
8170
8176
  blockParams: 0,
8171
8177
  cachedFragment: null,
8172
8178
  hasRendered: false,
@@ -8206,7 +8212,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8206
8212
  }());
8207
8213
  return {
8208
8214
  isHTMLBars: true,
8209
- revision: "Ember@1.11.0",
8215
+ revision: "Ember@1.11.1",
8210
8216
  blockParams: 0,
8211
8217
  cachedFragment: null,
8212
8218
  hasRendered: false,
@@ -8246,7 +8252,7 @@ enifed('ember-htmlbars/templates/select', ['exports', 'ember-template-compiler/s
8246
8252
  }());
8247
8253
  return {
8248
8254
  isHTMLBars: true,
8249
- revision: "Ember@1.11.0",
8255
+ revision: "Ember@1.11.1",
8250
8256
  blockParams: 0,
8251
8257
  cachedFragment: null,
8252
8258
  hasRendered: false,
@@ -8560,7 +8566,7 @@ enifed('ember-metal-views/renderer', ['exports', 'dom-helper', 'ember-metal/envi
8560
8566
 
8561
8567
  this.beforeRemove(removeQueue[idx]);
8562
8568
 
8563
- childViews = view._childViews;
8569
+ childViews = this.childViews(view);
8564
8570
  if (childViews) {
8565
8571
  for (i=0,l=childViews.length; i<l; i++) {
8566
8572
  queue.push(childViews[i]);
@@ -8573,7 +8579,7 @@ enifed('ember-metal-views/renderer', ['exports', 'dom-helper', 'ember-metal/envi
8573
8579
 
8574
8580
  this.beforeRemove(destroyQueue[idx]);
8575
8581
 
8576
- childViews = view._childViews;
8582
+ childViews = this.childViews(view);
8577
8583
  if (childViews) {
8578
8584
  for (i=0,l=childViews.length; i<l; i++) {
8579
8585
  destroyQueue.push(childViews[i]);
@@ -11393,7 +11399,7 @@ enifed('ember-metal/core', ['exports'], function (exports) {
11393
11399
 
11394
11400
  @class Ember
11395
11401
  @static
11396
- @version 1.11.0
11402
+ @version 1.11.1
11397
11403
  */
11398
11404
 
11399
11405
  if ('undefined' === typeof Ember) {
@@ -11421,10 +11427,10 @@ enifed('ember-metal/core', ['exports'], function (exports) {
11421
11427
  /**
11422
11428
  @property VERSION
11423
11429
  @type String
11424
- @default '1.11.0'
11430
+ @default '1.11.1'
11425
11431
  @static
11426
11432
  */
11427
- Ember.VERSION = '1.11.0';
11433
+ Ember.VERSION = '1.11.1';
11428
11434
 
11429
11435
  /**
11430
11436
  Standard environmental variables. You can define these in a global `EmberENV`
@@ -16880,7 +16886,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16880
16886
  return object && object.isStream;
16881
16887
  }
16882
16888
 
16883
- /**
16889
+ /*
16884
16890
  A method of subscribing to a stream which is safe for use with a non-stream
16885
16891
  object. If a non-stream object is passed, the function does nothing.
16886
16892
 
@@ -16898,7 +16904,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16898
16904
  }
16899
16905
  }
16900
16906
 
16901
- /**
16907
+ /*
16902
16908
  A method of unsubscribing from a stream which is safe for use with a non-stream
16903
16909
  object. If a non-stream object is passed, the function does nothing.
16904
16910
 
@@ -16915,7 +16921,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16915
16921
  }
16916
16922
  }
16917
16923
 
16918
- /**
16924
+ /*
16919
16925
  Retrieve the value of a stream, or in the case a non-stream object is passed,
16920
16926
  return the object itself.
16921
16927
 
@@ -16933,7 +16939,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16933
16939
  }
16934
16940
  }
16935
16941
 
16936
- /**
16942
+ /*
16937
16943
  Map an array, replacing any streams with their values.
16938
16944
 
16939
16945
  @public
@@ -16954,7 +16960,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16954
16960
  return ret;
16955
16961
  }
16956
16962
 
16957
- /**
16963
+ /*
16958
16964
  Map a hash, replacing any stream property values with the current value of that
16959
16965
  stream.
16960
16966
 
@@ -16975,7 +16981,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16975
16981
  return ret;
16976
16982
  }
16977
16983
 
16978
- /**
16984
+ /*
16979
16985
  Check whether an array contains any stream values
16980
16986
 
16981
16987
  @public
@@ -16999,7 +17005,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
16999
17005
  return containsStream;
17000
17006
  }
17001
17007
 
17002
- /**
17008
+ /*
17003
17009
  Check whether a hash has any stream property values
17004
17010
 
17005
17011
  @public
@@ -17022,7 +17028,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
17022
17028
  return containsStream;
17023
17029
  }
17024
17030
 
17025
- /**
17031
+ /*
17026
17032
  Join an array, with any streams replaced by their current values
17027
17033
 
17028
17034
  @public
@@ -17055,7 +17061,7 @@ enifed('ember-metal/streams/utils', ['exports', './stream'], function (exports,
17055
17061
  }
17056
17062
  }
17057
17063
 
17058
- /**
17064
+ /*
17059
17065
  Generate a new stream by providing a source stream and a function that can
17060
17066
  be used to transform the stream's value. In the case of a non-stream object,
17061
17067
  returns the result of the function.
@@ -18787,7 +18793,7 @@ enifed('ember-routing-htmlbars/helpers/query-params', ['exports', 'ember-metal/c
18787
18793
  }
18788
18794
 
18789
18795
  });
18790
- enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core', 'ember-metal/error', 'ember-runtime/system/string', 'ember-routing/system/generate_controller', 'ember-metal/streams/utils', 'ember-htmlbars/system/merge-view-bindings', 'ember-htmlbars/system/append-templated-view', 'ember-metal/platform/create'], function (exports, Ember, EmberError, string, generate_controller, utils, mergeViewBindings, appendTemplatedView, create) {
18796
+ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core', 'ember-metal/property_get', 'ember-metal/error', 'ember-runtime/system/string', 'ember-routing/system/generate_controller', 'ember-metal/streams/utils', 'ember-htmlbars/system/merge-view-bindings', 'ember-htmlbars/system/append-templated-view', 'ember-metal/platform/create'], function (exports, Ember, property_get, EmberError, string, generate_controller, utils, mergeViewBindings, appendTemplatedView, create) {
18791
18797
 
18792
18798
  'use strict';
18793
18799
 
@@ -18848,6 +18854,9 @@ enifed('ember-routing-htmlbars/helpers/render', ['exports', 'ember-metal/core',
18848
18854
  view = container.lookup('view:' + name);
18849
18855
  if (!view) {
18850
18856
  view = container.lookup('view:default');
18857
+ }
18858
+ var viewHasTemplateSpecified = !!property_get.get(view, 'template');
18859
+ if (!viewHasTemplateSpecified) {
18851
18860
  template = template || container.lookup(templateName);
18852
18861
  }
18853
18862
 
@@ -20732,6 +20741,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20732
20741
  init: function() {
20733
20742
  property_set.set(this, 'location', property_get.get(this, 'location') || window.location);
20734
20743
  property_set.set(this, 'baseURL', jQuery['default']('base').attr('href') || '');
20744
+
20735
20745
  },
20736
20746
 
20737
20747
  /**
@@ -20741,7 +20751,13 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20741
20751
  @method initState
20742
20752
  */
20743
20753
  initState: function() {
20744
- property_set.set(this, 'history', property_get.get(this, 'history') || window.history);
20754
+ var history = property_get.get(this, 'history') || window.history;
20755
+ property_set.set(this, 'history', history);
20756
+
20757
+ if (history && 'state' in history) {
20758
+ this.supportsHistory = true;
20759
+ }
20760
+
20745
20761
  this.replaceState(this.formatURL(this.getURL()));
20746
20762
  },
20747
20763
 
@@ -20786,7 +20802,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20786
20802
  @param path {String}
20787
20803
  */
20788
20804
  setURL: function(path) {
20789
- var state = this._historyState;
20805
+ var state = this.getState();
20790
20806
  path = this.formatURL(path);
20791
20807
 
20792
20808
  if (!state || state.path !== path) {
@@ -20803,7 +20819,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20803
20819
  @param path {String}
20804
20820
  */
20805
20821
  replaceURL: function(path) {
20806
- var state = this._historyState;
20822
+ var state = this.getState();
20807
20823
  path = this.formatURL(path);
20808
20824
 
20809
20825
  if (!state || state.path !== path) {
@@ -20811,6 +20827,24 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20811
20827
  }
20812
20828
  },
20813
20829
 
20830
+ /**
20831
+ Get the current `history.state`. Checks for if a polyfill is
20832
+ required and if so fetches this._historyState. The state returned
20833
+ from getState may be null if an iframe has changed a window's
20834
+ history.
20835
+
20836
+ @private
20837
+ @method getState
20838
+ @return state {Object}
20839
+ */
20840
+ getState: function() {
20841
+ if (this.supportsHistory) {
20842
+ return property_get.get(this, 'history').state;
20843
+ }
20844
+
20845
+ return this._historyState;
20846
+ },
20847
+
20814
20848
  /**
20815
20849
  Pushes a new state.
20816
20850
 
@@ -20821,7 +20855,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20821
20855
  pushState: function(path) {
20822
20856
  var state = { path: path };
20823
20857
 
20824
- property_get.get(this, 'history').pushState(null, null, path);
20858
+ property_get.get(this, 'history').pushState(state, null, path);
20825
20859
 
20826
20860
  this._historyState = state;
20827
20861
 
@@ -20838,7 +20872,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal/prope
20838
20872
  */
20839
20873
  replaceState: function(path) {
20840
20874
  var state = { path: path };
20841
- property_get.get(this, 'history').replaceState(null, null, path);
20875
+ property_get.get(this, 'history').replaceState(state, null, path);
20842
20876
 
20843
20877
  this._historyState = state;
20844
20878
 
@@ -26651,7 +26685,7 @@ enifed('ember-runtime/controllers/array_controller', ['exports', 'ember-metal/co
26651
26685
  Ember['default'].assert(
26652
26686
  'ArrayController expects `model` to implement the Ember.Array mixin. ' +
26653
26687
  'This can often be fixed by wrapping your model with `Ember.A()`.',
26654
- EmberArray['default'].detect(value)
26688
+ EmberArray['default'].detect(value) || !value
26655
26689
  );
26656
26690
 
26657
26691
  return value;
@@ -34713,7 +34747,7 @@ enifed('ember-template-compiler/system/compile_options', ['exports', 'ember-meta
34713
34747
  var disableComponentGeneration = true;
34714
34748
 
34715
34749
  return {
34716
- revision: 'Ember@1.11.0',
34750
+ revision: 'Ember@1.11.1',
34717
34751
 
34718
34752
  disableComponentGeneration: disableComponentGeneration,
34719
34753
 
@@ -36269,6 +36303,8 @@ enifed('ember-views/mixins/attribute_bindings_support', ['exports', 'ember-metal
36269
36303
  */
36270
36304
  attributeBindings: EMPTY_ARRAY,
36271
36305
 
36306
+ _attrNodes: EMPTY_ARRAY,
36307
+
36272
36308
  _unspecifiedAttributeBindings: null,
36273
36309
 
36274
36310
  /**
@@ -38886,7 +38922,10 @@ enifed('ember-views/system/renderer', ['exports', 'ember-metal/core', 'ember-met
38886
38922
  };
38887
38923
 
38888
38924
  EmberRenderer.prototype.childViews = function childViews(view) {
38889
- return view._childViews;
38925
+ if (view._attrNodes && view._childViews) {
38926
+ return view._attrNodes.concat(view._childViews);
38927
+ }
38928
+ return view._attrNodes || view._childViews;
38890
38929
  };
38891
38930
 
38892
38931
  Renderer['default'].prototype.willCreateElement = function (view) {
@@ -40459,7 +40498,7 @@ enifed('ember-views/views/select', ['exports', 'ember-metal/enumerable_utils', '
40459
40498
 
40460
40499
  var selectOptionDefaultTemplate = {
40461
40500
  isHTMLBars: true,
40462
- revision: 'Ember@1.11.0',
40501
+ revision: 'Ember@1.11.1',
40463
40502
  render: function(context, env, contextualElement) {
40464
40503
  var lazyValue = context.getStream('view.label');
40465
40504
 
@@ -41410,10 +41449,10 @@ enifed('ember-views/views/states/in_buffer', ['exports', 'ember-views/views/stat
41410
41449
 
41411
41450
  appendAttr: function(view, attrNode) {
41412
41451
  var buffer = view.buffer;
41413
- var _childViews = view._childViews;
41452
+ var _attrNodes = view._attrNodes;
41414
41453
 
41415
- if (!_childViews.length) { _childViews = view._childViews = _childViews.slice(); }
41416
- _childViews.push(attrNode);
41454
+ if (!_attrNodes.length) { _attrNodes = view._attrNodes = _attrNodes.slice(); }
41455
+ _attrNodes.push(attrNode);
41417
41456
 
41418
41457
  if (!attrNode._morph) {
41419
41458
  Ember.assert("bound attributes that do not have a morph must have a buffer", !!buffer);
@@ -41468,10 +41507,10 @@ enifed('ember-views/views/states/in_dom', ['exports', 'ember-metal/core', 'ember
41468
41507
  },
41469
41508
 
41470
41509
  appendAttr: function(view, attrNode) {
41471
- var _childViews = view._childViews;
41510
+ var _attrNodes = view._attrNodes;
41472
41511
 
41473
- if (!_childViews.length) { _childViews = view._childViews = _childViews.slice(); }
41474
- _childViews.push(attrNode);
41512
+ if (!_attrNodes.length) { _attrNodes = view._attrNodes = _attrNodes.slice(); }
41513
+ _attrNodes.push(attrNode);
41475
41514
 
41476
41515
  attrNode._parentView = view;
41477
41516
  view.renderer.appendAttrTo(attrNode, view.element, attrNode.attrName);