| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 725 }, | 725 }, |
| 726 | 726 |
| 727 __proto__: WebInspector.LiveLocation.prototype | 727 __proto__: WebInspector.LiveLocation.prototype |
| 728 } | 728 } |
| 729 | 729 |
| 730 /** | 730 /** |
| 731 * @constructor | 731 * @constructor |
| 732 * @implements {WebInspector.RawLocation} | 732 * @implements {WebInspector.RawLocation} |
| 733 * @extends {WebInspector.SDKObject} | 733 * @extends {WebInspector.SDKObject} |
| 734 * @param {!WebInspector.Target} target | 734 * @param {!WebInspector.Target} target |
| 735 * @param {?CSSAgent.StyleSheetId} styleSheetId |
| 735 * @param {string} url | 736 * @param {string} url |
| 736 * @param {number} lineNumber | 737 * @param {number} lineNumber |
| 737 * @param {number=} columnNumber | 738 * @param {number=} columnNumber |
| 738 */ | 739 */ |
| 739 WebInspector.CSSLocation = function(target, url, lineNumber, columnNumber) | 740 WebInspector.CSSLocation = function(target, styleSheetId, url, lineNumber, colum
nNumber) |
| 740 { | 741 { |
| 741 WebInspector.SDKObject.call(this, target); | 742 WebInspector.SDKObject.call(this, target); |
| 742 this._cssModel = target.cssModel; | 743 this._cssModel = target.cssModel; |
| 744 this._styleSheetId = styleSheetId; |
| 743 this.url = url; | 745 this.url = url; |
| 744 this.lineNumber = lineNumber; | 746 this.lineNumber = lineNumber; |
| 745 this.columnNumber = columnNumber || 0; | 747 this.columnNumber = columnNumber || 0; |
| 746 } | 748 } |
| 747 | 749 |
| 748 WebInspector.CSSLocation.prototype = { | 750 WebInspector.CSSLocation.prototype = { |
| 749 /** | 751 /** |
| 750 * @param {?CSSAgent.StyleSheetId} styleSheetId | |
| 751 * @param {function(!WebInspector.UILocation):(boolean|undefined)} updateDel
egate | 752 * @param {function(!WebInspector.UILocation):(boolean|undefined)} updateDel
egate |
| 752 * @return {?WebInspector.LiveLocation} | 753 * @return {?WebInspector.LiveLocation} |
| 753 */ | 754 */ |
| 754 createLiveLocation: function(styleSheetId, updateDelegate) | 755 createLiveLocation: function(updateDelegate) |
| 755 { | 756 { |
| 756 var header = styleSheetId ? this._cssModel.styleSheetHeaderForId(styleSh
eetId) : null; | 757 var header = this._styleSheetId ? this._cssModel.styleSheetHeaderForId(t
his._styleSheetId) : null; |
| 757 return new WebInspector.CSSStyleModel.LiveLocation(this._cssModel, heade
r, this, updateDelegate); | 758 return new WebInspector.CSSStyleModel.LiveLocation(this._cssModel, heade
r, this, updateDelegate); |
| 758 }, | 759 }, |
| 759 | 760 |
| 760 /** | 761 /** |
| 761 * @return {?WebInspector.UILocation} | 762 * @return {?WebInspector.UILocation} |
| 762 */ | 763 */ |
| 763 toUILocation: function() | 764 toUILocation: function() |
| 764 { | 765 { |
| 765 return this._cssModel.rawLocationToUILocation(this); | 766 return this._cssModel.rawLocationToUILocation(this); |
| 766 }, | 767 }, |
| (...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1102 | 1103 |
| 1103 _setRawLocationAndFrameId: function() | 1104 _setRawLocationAndFrameId: function() |
| 1104 { | 1105 { |
| 1105 if (!this.styleSheetId) | 1106 if (!this.styleSheetId) |
| 1106 return; | 1107 return; |
| 1107 var styleSheetHeader = this._cssModel.styleSheetHeaderForId(this.styleSh
eetId); | 1108 var styleSheetHeader = this._cssModel.styleSheetHeaderForId(this.styleSh
eetId); |
| 1108 this.frameId = styleSheetHeader.frameId; | 1109 this.frameId = styleSheetHeader.frameId; |
| 1109 var url = styleSheetHeader.resourceURL(); | 1110 var url = styleSheetHeader.resourceURL(); |
| 1110 if (!url) | 1111 if (!url) |
| 1111 return; | 1112 return; |
| 1112 this.rawLocation = new WebInspector.CSSLocation(this._cssModel.target(),
url, this.lineNumberInSource(0), this.columnNumberInSource(0)); | 1113 this.rawLocation = new WebInspector.CSSLocation(this._cssModel.target(),
this.styleSheetId, url, this.lineNumberInSource(0), this.columnNumberInSource(0
)); |
| 1113 }, | 1114 }, |
| 1114 | 1115 |
| 1115 /** | 1116 /** |
| 1116 * @return {string} | 1117 * @return {string} |
| 1117 */ | 1118 */ |
| 1118 resourceURL: function() | 1119 resourceURL: function() |
| 1119 { | 1120 { |
| 1120 if (!this.styleSheetId) | 1121 if (!this.styleSheetId) |
| 1121 return ""; | 1122 return ""; |
| 1122 var styleSheetHeader = this._cssModel.styleSheetHeaderForId(this.styleSh
eetId); | 1123 var styleSheetHeader = this._cssModel.styleSheetHeaderForId(this.styleSh
eetId); |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1354 else | 1355 else |
| 1355 this.setText(this.text.substring(2, this.text.length - 2).trim(), tr
ue, true, userCallback); | 1356 this.setText(this.text.substring(2, this.text.length - 2).trim(), tr
ue, true, userCallback); |
| 1356 }, | 1357 }, |
| 1357 | 1358 |
| 1358 /** | 1359 /** |
| 1359 * @param {boolean} forName | 1360 * @param {boolean} forName |
| 1360 * @return {?WebInspector.UILocation} | 1361 * @return {?WebInspector.UILocation} |
| 1361 */ | 1362 */ |
| 1362 uiLocation: function(forName) | 1363 uiLocation: function(forName) |
| 1363 { | 1364 { |
| 1364 if (!this.range || !this.ownerStyle || !this.ownerStyle.parentRule) | 1365 if (!this.range || !this.ownerStyle || !this.ownerStyle.parentRule || !t
his.ownerStyle.styleSheetId) |
| 1365 return null; | 1366 return null; |
| 1366 | 1367 |
| 1367 var url = this.ownerStyle.parentRule.resourceURL(); | 1368 var url = this.ownerStyle.parentRule.resourceURL(); |
| 1368 if (!url) | 1369 if (!url) |
| 1369 return null; | 1370 return null; |
| 1370 | 1371 |
| 1371 var range = this.range; | 1372 var range = this.range; |
| 1372 var line = forName ? range.startLine : range.endLine; | 1373 var line = forName ? range.startLine : range.endLine; |
| 1373 // End of range is exclusive, so subtract 1 from the end offset. | 1374 // End of range is exclusive, so subtract 1 from the end offset. |
| 1374 var column = forName ? range.startColumn : range.endColumn - (this.text
&& this.text.endsWith(";") ? 2 : 1); | 1375 var column = forName ? range.startColumn : range.endColumn - (this.text
&& this.text.endsWith(";") ? 2 : 1); |
| 1375 var rawLocation = new WebInspector.CSSLocation(this.ownerStyle._cssModel
.target(), url, line, column); | 1376 var rawLocation = new WebInspector.CSSLocation(this.ownerStyle._cssModel
.target(), this.ownerStyle.styleSheetId, url, line, column); |
| 1376 return rawLocation.toUILocation(); | 1377 return rawLocation.toUILocation(); |
| 1377 } | 1378 } |
| 1378 } | 1379 } |
| 1379 | 1380 |
| 1380 /** | 1381 /** |
| 1381 * @constructor | 1382 * @constructor |
| 1382 * @param {!CSSAgent.MediaQueryExpression} payload | 1383 * @param {!CSSAgent.MediaQueryExpression} payload |
| 1383 */ | 1384 */ |
| 1384 WebInspector.CSSMediaQueryExpression = function(payload) | 1385 WebInspector.CSSMediaQueryExpression = function(payload) |
| 1385 { | 1386 { |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1530 | 1531 |
| 1531 /** | 1532 /** |
| 1532 * @return {?WebInspector.CSSStyleSheetHeader} | 1533 * @return {?WebInspector.CSSStyleSheetHeader} |
| 1533 */ | 1534 */ |
| 1534 header: function() | 1535 header: function() |
| 1535 { | 1536 { |
| 1536 return this.parentStyleSheetId ? this._cssModel.styleSheetHeaderForId(th
is.parentStyleSheetId) : null; | 1537 return this.parentStyleSheetId ? this._cssModel.styleSheetHeaderForId(th
is.parentStyleSheetId) : null; |
| 1537 }, | 1538 }, |
| 1538 | 1539 |
| 1539 /** | 1540 /** |
| 1541 * @return {?WebInspector.CSSLocation} |
| 1542 */ |
| 1543 rawLocation: function() |
| 1544 { |
| 1545 if (!this.header() || typeof this.lineNumberInSource() === "undefined") |
| 1546 return null; |
| 1547 |
| 1548 var lineNumber = Number(this.lineNumberInSource()); |
| 1549 return new WebInspector.CSSLocation(this._cssModel.target(), this.header
().id, this.sourceURL, lineNumber, this.columnNumberInSource()); |
| 1550 }, |
| 1551 |
| 1552 /** |
| 1540 * @return {?WebInspector.UILocation} | 1553 * @return {?WebInspector.UILocation} |
| 1541 */ | 1554 */ |
| 1542 uiLocation: function() | 1555 uiLocation: function() |
| 1543 { | 1556 { |
| 1544 var styleSheetHeader = this.header(); | 1557 var styleSheetHeader = this.header(); |
| 1545 var lineNumber = this.lineNumberInSource(); | 1558 var lineNumber = this.lineNumberInSource(); |
| 1546 var columnNumber = this.columnNumberInSource(); | 1559 var columnNumber = this.columnNumberInSource(); |
| 1547 if (!styleSheetHeader || typeof lineNumber !== "number") | 1560 if (typeof lineNumber !== "number") |
| 1548 return null; | 1561 return null; |
| 1549 return styleSheetHeader.rawLocationToUILocation(/** @type {number} */(li
neNumber), columnNumber); | 1562 if (styleSheetHeader) |
| 1563 return styleSheetHeader.rawLocationToUILocation(lineNumber, columnNu
mber); |
| 1564 var uiSourceCode = WebInspector.workspace.uiSourceCodeForURL(this.source
URL); |
| 1565 if (!uiSourceCode) |
| 1566 return null; |
| 1567 return uiSourceCode.uiLocation(lineNumber, columnNumber); |
| 1550 } | 1568 } |
| 1551 } | 1569 } |
| 1552 | 1570 |
| 1553 /** | 1571 /** |
| 1554 * @constructor | 1572 * @constructor |
| 1555 * @implements {WebInspector.ContentProvider} | 1573 * @implements {WebInspector.ContentProvider} |
| 1556 * @param {!WebInspector.CSSStyleModel} cssModel | 1574 * @param {!WebInspector.CSSStyleModel} cssModel |
| 1557 * @param {!CSSAgent.CSSStyleSheetHeader} payload | 1575 * @param {!CSSAgent.CSSStyleSheetHeader} payload |
| 1558 */ | 1576 */ |
| 1559 WebInspector.CSSStyleSheetHeader = function(cssModel, payload) | 1577 WebInspector.CSSStyleSheetHeader = function(cssModel, payload) |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1610 }, | 1628 }, |
| 1611 | 1629 |
| 1612 /** | 1630 /** |
| 1613 * @param {number} lineNumber | 1631 * @param {number} lineNumber |
| 1614 * @param {number=} columnNumber | 1632 * @param {number=} columnNumber |
| 1615 * @return {?WebInspector.UILocation} | 1633 * @return {?WebInspector.UILocation} |
| 1616 */ | 1634 */ |
| 1617 rawLocationToUILocation: function(lineNumber, columnNumber) | 1635 rawLocationToUILocation: function(lineNumber, columnNumber) |
| 1618 { | 1636 { |
| 1619 var uiLocation = null; | 1637 var uiLocation = null; |
| 1620 var rawLocation = new WebInspector.CSSLocation(this._cssModel.target(),
this.resourceURL(), lineNumber, columnNumber); | 1638 var rawLocation = new WebInspector.CSSLocation(this._cssModel.target(),
this.id, this.resourceURL(), lineNumber, columnNumber); |
| 1621 for (var i = this._sourceMappings.length - 1; !uiLocation && i >= 0; --i
) | 1639 for (var i = this._sourceMappings.length - 1; !uiLocation && i >= 0; --i
) |
| 1622 uiLocation = this._sourceMappings[i].rawLocationToUILocation(rawLoca
tion); | 1640 uiLocation = this._sourceMappings[i].rawLocationToUILocation(rawLoca
tion); |
| 1623 return uiLocation; | 1641 return uiLocation; |
| 1624 }, | 1642 }, |
| 1625 | 1643 |
| 1626 /** | 1644 /** |
| 1627 * @param {!WebInspector.SourceMapping} sourceMapping | 1645 * @param {!WebInspector.SourceMapping} sourceMapping |
| 1628 */ | 1646 */ |
| 1629 pushSourceMapping: function(sourceMapping) | 1647 pushSourceMapping: function(sourceMapping) |
| 1630 { | 1648 { |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1840 for (var i = 0; i < callbacks.length; ++i) | 1858 for (var i = 0; i < callbacks.length; ++i) |
| 1841 callbacks[i](computedStyle); | 1859 callbacks[i](computedStyle); |
| 1842 } | 1860 } |
| 1843 } | 1861 } |
| 1844 } | 1862 } |
| 1845 | 1863 |
| 1846 /** | 1864 /** |
| 1847 * @type {!WebInspector.CSSStyleModel} | 1865 * @type {!WebInspector.CSSStyleModel} |
| 1848 */ | 1866 */ |
| 1849 WebInspector.cssModel; | 1867 WebInspector.cssModel; |
| OLD | NEW |