From: Aleksander Ɓukasz Date: Mon, 23 Jun 2014 13:38:51 +0000 (+0200) Subject: smartxml: caching text nodes via expando X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/9989928c6291c30fc0ff774e4bd9f9127d10a67c?ds=sidebyside;hp=b3493517adea9831d8bed8bbd33422d6d8527796 smartxml: caching text nodes via expando --- diff --git a/src/smartxml/smartxml.js b/src/smartxml/smartxml.js index 9cff5ec..c0b3c42 100644 --- a/src/smartxml/smartxml.js +++ b/src/smartxml/smartxml.js @@ -280,6 +280,7 @@ $.extend(ElementNode.prototype, { var TextNode = function(nativeNode, document) { DocumentNode.call(this, nativeNode, document); + nativeNode.__smartxmlTextNodeInstance = this; }; TextNode.prototype = Object.create(DocumentNode.prototype); @@ -360,7 +361,8 @@ $.extend(Document.prototype, Backbone.Events, fragments, { var cached; if(from instanceof Node) { - cached = ($(from).data(privateKey) || {}).node; + /* globals Text */ + cached = from instanceof Text ? from.__smartxmlTextNodeInstance : ($(from).data(privateKey) || {}).node; if(cached instanceof DocumentNode) { return cached; }