Changeset 56688 in webkit
- Timestamp:
- Mar 28, 2010 3:33:23 AM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r56687 r56688 1 2010-03-28 Joseph Pecoraro <joepeck@webkit.org> 2 3 Reviewed by Pavel Feldman. 4 5 Web Inspector: Consolidate Tree Hierarchy Attribute HTML Generation 6 https://bugs.webkit.org/show_bug.cgi?id=36719 7 8 Consolidates the generation of Element Tree Hierarchy attribute code 9 generation to a single function: _attributeHTML. 10 11 * inspector/front-end/ElementsTreeOutline.js: 12 (WebInspector.ElementsTreeElement.prototype._addNewAttribute): convert to use attributeHTML. 13 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): convert to use attributeHTML. 14 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 15 (WebInspector.ElementsTreeElement.prototype._attributeHTML): a single point for generating the html for attributes. 16 1 17 2010-03-28 Joseph Pecoraro <joepeck@webkit.org> 2 18 -
trunk/WebCore/inspector/front-end/ElementsTreeOutline.js
r56687 r56688 787 787 _addNewAttribute: function() 788 788 { 789 var attr = document.createElement("span"); 790 attr.className = "webkit-html-attribute"; 789 // Cannot just convert the textual html into an element without 790 // a parent node. Use a temporary span container for the HTML. 791 var container = document.createElement("span"); 792 container.innerHTML = this._attributeHTML(" ", ""); 793 var attr = container.firstChild; 791 794 attr.style.marginLeft = "2px"; // overrides the .editing margin rule 792 795 attr.style.marginRight = "2px"; // overrides the .editing margin rule 793 var name = document.createElement("span");794 name.className = "webkit-html-attribute-name new-attribute";795 name.textContent = " ";796 var value = document.createElement("span");797 value.className = "webkit-html-attribute-value";798 attr.appendChild(name);799 attr.appendChild(value);800 796 801 797 var tag = this.listItemElement.getElementsByClassName("webkit-html-tag")[0]; … … 1025 1021 if (!previous || previous.nodeType !== Node.TEXT_NODE) 1026 1022 element.parentNode.insertBefore(document.createTextNode(" "), element); 1027 element.outerHTML = "<span class=\"webkit-html-attribute\">" + 1028 "<span class=\"webkit-html-attribute-name\">" + attr.name.escapeHTML() + "</span>=​\"" + 1029 "<span class=\"webkit-html-attribute-value\">" + attr.value.escapeHTML() + "</span>​\"" + 1030 "</span>"; 1023 element.outerHTML = this._attributeHTML(name, value); 1031 1024 } 1032 1025 … … 1053 1046 try { 1054 1047 this.representedObject.setAttribute(attr.name, attr.value); 1055 regenerateStyledAttribute (attr.name, attr.value);1048 regenerateStyledAttribute.call(this, attr.name, attr.value); 1056 1049 } catch(e) {} // ignore invalid attribute (innerHTML doesn't throw errors, but this can) 1057 1050 } … … 1215 1208 }, 1216 1209 1210 _attributeHTML: function(name, value, node, linkify, tooltipText) 1211 { 1212 var hasText = (value.length > 0); 1213 var html = "<span class=\"webkit-html-attribute\"><span class=\"webkit-html-attribute-name\">" + name.escapeHTML() + "</span>"; 1214 1215 if (hasText) 1216 html += "=​\""; 1217 1218 if (linkify && (name === "src" || name === "href")) { 1219 value = value.replace(/([\/;:\)\]\}])/g, "$1\u200B"); 1220 html += linkify(this._rewriteAttrHref(node, value), value, "webkit-html-attribute-value", node.nodeName.toLowerCase() === "a", tooltipText); 1221 } else { 1222 value = value.escapeHTML().replace(/([\/;:\)\]\}])/g, "$1​"); 1223 html += "<span class=\"webkit-html-attribute-value\">" + value + "</span>"; 1224 } 1225 1226 if (hasText) 1227 html += "\""; 1228 1229 html += "</span>"; 1230 return html; 1231 }, 1232 1217 1233 _nodeTitleInfo: function(linkify, tooltipText) 1218 1234 { … … 1236 1252 for (var i = 0; i < node.attributes.length; ++i) { 1237 1253 var attr = node.attributes[i]; 1238 info.title += " <span class=\"webkit-html-attribute\"><span class=\"webkit-html-attribute-name\">" + attr.name.escapeHTML() + "</span>=​\""; 1239 1240 var value = attr.value; 1241 if (linkify && (attr.name === "src" || attr.name === "href")) { 1242 var value = value.replace(/([\/;:\)\]\}])/g, "$1\u200B"); 1243 info.title += linkify(this._rewriteAttrHref(node, attr.value), value, "webkit-html-attribute-value", node.nodeName.toLowerCase() == "a", tooltipText); 1244 } else { 1245 var value = value.escapeHTML(); 1246 value = value.replace(/([\/;:\)\]\}])/g, "$1​"); 1247 info.title += "<span class=\"webkit-html-attribute-value\">" + value + "</span>"; 1248 } 1249 info.title += "\"</span>"; 1254 info.title += " " + this._attributeHTML(attr.name, attr.value, node, linkify, tooltipText); 1250 1255 } 1251 1256 }
Note: See TracChangeset
for help on using the changeset viewer.