diff --git a/src/renderers/dom/client/utils/DOMChildrenOperations.js b/src/renderers/dom/client/utils/DOMChildrenOperations.js index c5c796325d08..c9c6fdda9943 100644 --- a/src/renderers/dom/client/utils/DOMChildrenOperations.js +++ b/src/renderers/dom/client/utils/DOMChildrenOperations.js @@ -20,7 +20,13 @@ var setInnerHTML = require('setInnerHTML'); var setTextContent = require('setTextContent'); function getNodeAfter(parentNode, node) { - return node ? node.nextSibling : parentNode.firstChild; + if (node) { + return node.nextSibling; + } + if (window.Polymer !== undefined) { + parentNode = window.Polymer.dom(parentNode); + } + return parentNode.firstChild; } /** diff --git a/src/renderers/dom/client/utils/DOMLazyTree.js b/src/renderers/dom/client/utils/DOMLazyTree.js index 4fbb2e044384..e8077f69f866 100644 --- a/src/renderers/dom/client/utils/DOMLazyTree.js +++ b/src/renderers/dom/client/utils/DOMLazyTree.js @@ -51,6 +51,9 @@ function insertTreeChildren(tree) { } function insertTreeBefore(parentNode, tree, referenceNode) { + if (window.Polymer !== undefined) { + parentNode = window.Polymer.dom(parentNode); + } parentNode.insertBefore(tree.node, referenceNode); insertTreeChildren(tree); } diff --git a/src/renderers/dom/client/utils/setTextContent.js b/src/renderers/dom/client/utils/setTextContent.js index d15ce89eac9f..0ee8a00d9b31 100644 --- a/src/renderers/dom/client/utils/setTextContent.js +++ b/src/renderers/dom/client/utils/setTextContent.js @@ -26,12 +26,18 @@ var setInnerHTML = require('setInnerHTML'); * @internal */ var setTextContent = function(node, text) { + if (window.Polymer !== undefined) { + node = window.Polymer.dom(node); + } node.textContent = text; }; if (ExecutionEnvironment.canUseDOM) { if (!('textContent' in document.documentElement)) { setTextContent = function(node, text) { + if (window.Polymer !== undefined) { + node = window.Polymer.dom(node); + } setInnerHTML(node, escapeTextContentForBrowser(text)); }; }