| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2009 Joseph Pecoraro | 3 * Copyright (C) 2009 Joseph Pecoraro |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 1184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1195 var nameElement = document.createElement("span"); | 1195 var nameElement = document.createElement("span"); |
| 1196 nameElement.className = "webkit-css-property"; | 1196 nameElement.className = "webkit-css-property"; |
| 1197 nameElement.textContent = this.name; | 1197 nameElement.textContent = this.name; |
| 1198 this.nameElement = nameElement; | 1198 this.nameElement = nameElement; |
| 1199 | 1199 |
| 1200 var valueElement = document.createElement("span"); | 1200 var valueElement = document.createElement("span"); |
| 1201 valueElement.className = "value"; | 1201 valueElement.className = "value"; |
| 1202 this.valueElement = valueElement; | 1202 this.valueElement = valueElement; |
| 1203 | 1203 |
| 1204 if (value) { | 1204 if (value) { |
| 1205 var self = this; |
| 1206 |
| 1205 function processValue(regex, processor, nextProcessor, valueText) | 1207 function processValue(regex, processor, nextProcessor, valueText) |
| 1206 { | 1208 { |
| 1207 var container = document.createDocumentFragment(); | 1209 var container = document.createDocumentFragment(); |
| 1208 | 1210 |
| 1209 var items = valueText.replace(regex, "\0$1\0").split("\0"); | 1211 var items = valueText.replace(regex, "\0$1\0").split("\0"); |
| 1210 for (var i = 0; i < items.length; ++i) { | 1212 for (var i = 0; i < items.length; ++i) { |
| 1211 if ((i % 2) === 0) { | 1213 if ((i % 2) === 0) { |
| 1212 if (nextProcessor) | 1214 if (nextProcessor) |
| 1213 container.appendChild(nextProcessor(items[i])); | 1215 container.appendChild(nextProcessor(items[i])); |
| 1214 else | 1216 else |
| 1215 container.appendChild(document.createTextNode(items[
i])); | 1217 container.appendChild(document.createTextNode(items[
i])); |
| 1216 } else { | 1218 } else { |
| 1217 var processedNode = processor(items[i]); | 1219 var processedNode = processor(items[i]); |
| 1218 if (processedNode) | 1220 if (processedNode) |
| 1219 container.appendChild(processedNode); | 1221 container.appendChild(processedNode); |
| 1220 } | 1222 } |
| 1221 } | 1223 } |
| 1222 | 1224 |
| 1223 return container; | 1225 return container; |
| 1224 } | 1226 } |
| 1225 | 1227 |
| 1226 function linkifyURL(url) | 1228 function linkifyURL(url) |
| 1227 { | 1229 { |
| 1230 var hrefUrl = url; |
| 1231 var match = hrefUrl.match(/['"]?([^'"]+)/); |
| 1232 if (match) |
| 1233 hrefUrl = match[1]; |
| 1228 var container = document.createDocumentFragment(); | 1234 var container = document.createDocumentFragment(); |
| 1229 container.appendChild(document.createTextNode("url(")); | 1235 container.appendChild(document.createTextNode("url(")); |
| 1230 var hasResource = !!WebInspector.resourceForURL(url); | 1236 if (self._styleRule.sourceURL) |
| 1231 container.appendChild(WebInspector.linkifyURLAsNode(url, url, nu
ll, hasResource)); | 1237 hrefUrl = WebInspector.completeURL(self._styleRule.sourceURL
, hrefUrl); |
| 1238 else if (WebInspector.panels.elements.focusedDOMNode) |
| 1239 hrefUrl = WebInspector.resourceURLForRelatedNode(WebInspecto
r.panels.elements.focusedDOMNode, hrefUrl); |
| 1240 var hasResource = !!WebInspector.resourceForURL(hrefUrl); |
| 1241 // FIXME: WebInspector.linkifyURLAsNode() should really use base
URI. |
| 1242 container.appendChild(WebInspector.linkifyURLAsNode(hrefUrl, url
, null, hasResource)); |
| 1232 container.appendChild(document.createTextNode(")")); | 1243 container.appendChild(document.createTextNode(")")); |
| 1233 return container; | 1244 return container; |
| 1234 } | 1245 } |
| 1235 | 1246 |
| 1236 function processColor(text) | 1247 function processColor(text) |
| 1237 { | 1248 { |
| 1238 try { | 1249 try { |
| 1239 var color = new WebInspector.Color(text); | 1250 var color = new WebInspector.Color(text); |
| 1240 } catch (e) { | 1251 } catch (e) { |
| 1241 return document.createTextNode(text); | 1252 return document.createTextNode(text); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1323 | 1334 |
| 1324 var container = document.createDocumentFragment(); | 1335 var container = document.createDocumentFragment(); |
| 1325 container.appendChild(swatchElement); | 1336 container.appendChild(swatchElement); |
| 1326 container.appendChild(colorValueElement); | 1337 container.appendChild(colorValueElement); |
| 1327 return container; | 1338 return container; |
| 1328 } | 1339 } |
| 1329 | 1340 |
| 1330 var colorRegex = /((?:rgb|hsl)a?\([^)]+\)|#[0-9a-fA-F]{6}|#[0-9a-fA-
F]{3}|\b\w+\b(?!-))/g; | 1341 var colorRegex = /((?:rgb|hsl)a?\([^)]+\)|#[0-9a-fA-F]{6}|#[0-9a-fA-
F]{3}|\b\w+\b(?!-))/g; |
| 1331 var colorProcessor = processValue.bind(window, colorRegex, processCo
lor, null); | 1342 var colorProcessor = processValue.bind(window, colorRegex, processCo
lor, null); |
| 1332 | 1343 |
| 1333 valueElement.appendChild(processValue(/url\(([^)]+)\)/g, linkifyURL,
colorProcessor, value)); | 1344 valueElement.appendChild(processValue(/url\(\s*([^)\s]+)\s*\)/g, lin
kifyURL, colorProcessor, value)); |
| 1334 } | 1345 } |
| 1335 | 1346 |
| 1336 this.listItemElement.removeChildren(); | 1347 this.listItemElement.removeChildren(); |
| 1337 | 1348 |
| 1338 if (!this.treeOutline) | 1349 if (!this.treeOutline) |
| 1339 return; | 1350 return; |
| 1340 | 1351 |
| 1341 // Append the checkbox for root elements of an editable section. | 1352 // Append the checkbox for root elements of an editable section. |
| 1342 if (enabledCheckboxElement && this.treeOutline.section && this.treeOutli
ne.section.editable && this.parent.root) | 1353 if (enabledCheckboxElement && this.treeOutline.section && this.treeOutli
ne.section.editable && this.parent.root) |
| 1343 this.listItemElement.appendChild(enabledCheckboxElement); | 1354 this.listItemElement.appendChild(enabledCheckboxElement); |
| (...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1765 | 1776 |
| 1766 // Append a ";" if the new text does not end in ";". | 1777 // Append a ";" if the new text does not end in ";". |
| 1767 // FIXME: this does not handle trailing comments. | 1778 // FIXME: this does not handle trailing comments. |
| 1768 if (styleText.length && !/;\s*$/.test(styleText)) | 1779 if (styleText.length && !/;\s*$/.test(styleText)) |
| 1769 styleText += ";"; | 1780 styleText += ";"; |
| 1770 this.property.setText(styleText, updateInterface, callback.bind(this)); | 1781 this.property.setText(styleText, updateInterface, callback.bind(this)); |
| 1771 } | 1782 } |
| 1772 } | 1783 } |
| 1773 | 1784 |
| 1774 WebInspector.StylePropertyTreeElement.prototype.__proto__ = TreeElement.prototyp
e; | 1785 WebInspector.StylePropertyTreeElement.prototype.__proto__ = TreeElement.prototyp
e; |
| OLD | NEW |