diff --git a/src/lib/template/templatizer.html b/src/lib/template/templatizer.html
index 698ef36395..60245c6f8e 100644
--- a/src/lib/template/templatizer.html
+++ b/src/lib/template/templatizer.html
@@ -101,7 +101,6 @@
_prepParentProperties: function(archetype) {
var parentProps = this._parentProps = archetype._parentProps;
if (this._forwardParentProp && parentProps) {
-
// Prototype setup (memoized on archetype)
var proto = archetype._parentPropProto;
if (!proto) {
@@ -126,13 +125,11 @@
Polymer.Bind._createAccessors(proto, parentProp, effects);
}
}
-
// Instance setup
if (this._templatized != this) {
Polymer.Bind.prepareInstance(this._templatized);
}
this._extendTemplate(this._templatized, proto);
-
}
},
@@ -195,6 +192,8 @@
stamp: function(model) {
model = model || {};
if (this._parentProps) {
+ // TODO(kschaaf): Maybe this is okay
+ // model.parent = this.dataHost;
model.parent = model.parent || {};
for (var prop in this._parentProps) {
model.parent[prop] = this['_parent_' + prop];
diff --git a/src/lib/template/x-if.html b/src/lib/template/x-if.html
index d4c1bdd610..60671d43a1 100644
--- a/src/lib/template/x-if.html
+++ b/src/lib/template/x-if.html
@@ -53,11 +53,11 @@
render: function() {
this.debounce('render', function() {
- if (!this.ctor) {
- this._wrapTextNodes(this._content);
- this.templatize(this);
- }
if (this.if) {
+ if (!this.ctor) {
+ this._wrapTextNodes(this._content);
+ this.templatize(this);
+ }
this._ensureInstance();
} else if (this.restamp) {
this._teardownInstance();
diff --git a/src/lib/template/x-repeat.html b/src/lib/template/x-repeat.html
index b5b023a25b..74e968f8bd 100644
--- a/src/lib/template/x-repeat.html
+++ b/src/lib/template/x-repeat.html
@@ -195,7 +195,7 @@
_itemsChanged: function(items, old, path) {
if (path) {
- this._notifyItemChanged(path, items);
+ this._forwardItemPath(path, items);
this._checkObservedPaths(path);
} else {
if (old) {
@@ -496,7 +496,7 @@
// Called as a side effect of a host items.. path change,
// responsible for notifying item. changes to row for key
- _notifyItemChanged: function(path, value) {
+ _forwardItemPath: function(path, value) {
if (this._rowForKey) {
// 'items.'.length == 6
var dot = path.indexOf('.', 6);