diff --git a/lib/ace/layer/gutter.js b/lib/ace/layer/gutter.js index cb1bf0ba..2f9dd052 100644 --- a/lib/ace/layer/gutter.js +++ b/lib/ace/layer/gutter.js @@ -37,6 +37,8 @@ define(function(require, exports, module) { +var dom = require("pilot/dom"); + var Gutter = function(parentEl) { this.element = document.createElement("div"); this.element.className = "ace_layer ace_gutter-layer"; @@ -74,13 +76,8 @@ var Gutter = function(parentEl) { "' style='height:", config.lineHeight, "px;'>", (i+1), ""); html.push(""); } - var element = document.createElement("div"); - element.className = "ace_layer ace_gutter-layer"; - element.innerHTML = html.join(""); - this.element.parentNode.replaceChild(element,this.element) - this.element=element + this.element = dom.setInnerHtml(this.element, html.join("")); this.element.style.height = config.minHeight + "px"; - }; }).call(Gutter.prototype); diff --git a/lib/ace/layer/marker.js b/lib/ace/layer/marker.js index 06422bd5..5e3cc762 100644 --- a/lib/ace/layer/marker.js +++ b/lib/ace/layer/marker.js @@ -38,6 +38,7 @@ define(function(require, exports, module) { var Range = require("ace/range").Range; +var dom = require("pilot/dom"); var Marker = function(parentEl) { this.element = document.createElement("div"); @@ -97,7 +98,7 @@ var Marker = function(parentEl) { this.drawSingleLineMarker(html, range, marker.clazz, config); } } - this.element.innerHTML = html.join(""); + this.element = dom.setInnerHtml(this.element, html.join("")); }; this.drawTextMarker = function(stringBuilder, range, clazz, layerConfig) { diff --git a/lib/ace/layer/text.js b/lib/ace/layer/text.js index 3b5192e4..0526bef2 100644 --- a/lib/ace/layer/text.js +++ b/lib/ace/layer/text.js @@ -165,7 +165,7 @@ var Text = function(parentEl) { var html = []; _self.$renderLine(html, i, tokens[i-first].tokens); - lineElement.innerHTML = html.join(""); + dom.setInnerHtml(lineElement, html.join); } }); }; @@ -231,6 +231,7 @@ var Text = function(parentEl) { var html = []; _self.$renderLine(html, row, tokens[row-firstRow].tokens); + // don't use setInnerHtml since we are working with an empty DIV lineEl.innerHTML = html.join(""); fragment.appendChild(lineEl); } @@ -251,12 +252,7 @@ var Text = function(parentEl) { _self.$renderLine(html, i, tokens[i-config.firstRow].tokens), html.push(""); } - - var element = document.createElement("div"); - element.className = "ace_layer ace_text-layer"; - element.innerHTML = html.join(""); - _self.element.parentNode.replaceChild(element,_self.element) - _self.element=element + _self.element = dom.setInnerHtml(_self.element, html.join("")); }); }; diff --git a/support/cockpit b/support/cockpit index 6024eafb..4fe1c8a8 160000 --- a/support/cockpit +++ b/support/cockpit @@ -1 +1 @@ -Subproject commit 6024eafb2559208e8f439d6f25a609d8c020d214 +Subproject commit 4fe1c8a835f81f32402b7c81a598abc7009b59be