Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 45 this._parentPath = parentPath; | 45 this._parentPath = parentPath; |
| 46 this._name = name; | 46 this._name = name; |
| 47 this._originURL = originURL; | 47 this._originURL = originURL; |
| 48 this._contentType = contentType; | 48 this._contentType = contentType; |
| 49 /** @type {!Array.<function(?string)>} */ | 49 /** @type {!Array.<function(?string)>} */ |
| 50 this._requestContentCallbacks = []; | 50 this._requestContentCallbacks = []; |
| 51 | 51 |
| 52 /** @type {!Array.<!WebInspector.Revision>} */ | 52 /** @type {!Array.<!WebInspector.Revision>} */ |
| 53 this.history = []; | 53 this.history = []; |
| 54 this._hasUnsavedCommittedChanges = false; | 54 this._hasUnsavedCommittedChanges = false; |
| 55 | |
| 56 /** @type {!Array<!WebInspector.UISourceCodeMessage>} */ | |
| 57 this._messages = []; | |
| 55 } | 58 } |
| 56 | 59 |
| 57 /** | 60 /** |
| 58 * @enum {string} | 61 * @enum {string} |
| 59 */ | 62 */ |
| 60 WebInspector.UISourceCode.Events = { | 63 WebInspector.UISourceCode.Events = { |
| 61 WorkingCopyChanged: "WorkingCopyChanged", | 64 WorkingCopyChanged: "WorkingCopyChanged", |
| 62 WorkingCopyCommitted: "WorkingCopyCommitted", | 65 WorkingCopyCommitted: "WorkingCopyCommitted", |
| 63 TitleChanged: "TitleChanged", | 66 TitleChanged: "TitleChanged", |
| 64 SourceMappingChanged: "SourceMappingChanged", | 67 SourceMappingChanged: "SourceMappingChanged", |
| 68 LineMessageAdded: "LineMessageAdded", | |
|
pfeldman
2015/10/27 17:37:34
These are not exactly line messages, MessageAdded?
wes
2015/10/27 21:59:16
MessageAdded is more succinct, so if its meaning i
| |
| 69 LineMessageRemoved: "LineMessageRemoved" | |
| 65 } | 70 } |
| 66 | 71 |
| 67 WebInspector.UISourceCode.prototype = { | 72 WebInspector.UISourceCode.prototype = { |
| 68 /** | 73 /** |
| 69 * @return {string} | 74 * @return {string} |
| 70 */ | 75 */ |
| 71 name: function() | 76 name: function() |
| 72 { | 77 { |
| 73 return this._name; | 78 return this._name; |
| 74 }, | 79 }, |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 559 * @param {number=} columnNumber | 564 * @param {number=} columnNumber |
| 560 * @return {!WebInspector.UILocation} | 565 * @return {!WebInspector.UILocation} |
| 561 */ | 566 */ |
| 562 uiLocation: function(lineNumber, columnNumber) | 567 uiLocation: function(lineNumber, columnNumber) |
| 563 { | 568 { |
| 564 if (typeof columnNumber === "undefined") | 569 if (typeof columnNumber === "undefined") |
| 565 columnNumber = 0; | 570 columnNumber = 0; |
| 566 return new WebInspector.UILocation(this, lineNumber, columnNumber); | 571 return new WebInspector.UILocation(this, lineNumber, columnNumber); |
| 567 }, | 572 }, |
| 568 | 573 |
| 574 /** | |
| 575 * @param {!WebInspector.UISourceCodeMessage} message | |
| 576 */ | |
| 577 addLineMessage: function(message) { | |
|
pfeldman
2015/10/27 17:37:34
addLineMessage: function(level, text, location)
{
wes
2015/10/27 21:59:16
Seems fine.
| |
| 578 for (var i = 0; i < this._messages.length; i++) { | |
| 579 var m = this._messages[i]; | |
| 580 if (m.equal(message)) { | |
|
pfeldman
2015/10/27 17:44:04
There is no reason to dedupe them here.
wes
2015/10/27 21:59:16
Alright - we do still dedupe them in the display p
| |
| 581 return; | |
| 582 } | |
| 583 } | |
| 584 this._messages.push(message); | |
| 585 this.dispatchEventToListeners(WebInspector.UISourceCode.Events.LineMessa geAdded, message); | |
| 586 }, | |
| 587 | |
| 588 /** | |
| 589 * @param {!WebInspector.UISourceCodeMessage} message | |
| 590 */ | |
| 591 removeLineMessage: function(message) { | |
|
pfeldman
2015/10/27 17:37:34
Should we remove messages by identity objects?
wes
2015/10/27 21:59:16
If we don't dedupe them on entry, then we should p
| |
| 592 for (var i = 0; i < this._messages.length; i++) { | |
| 593 var m = this._messages[i]; | |
| 594 if (m.equal(message)) { | |
| 595 this._messages.splice(i, 1); | |
| 596 this.dispatchEventToListeners(WebInspector.UISourceCode.Events.L ineMessageRemoved, message); | |
| 597 break; | |
| 598 } | |
| 599 } | |
| 600 }, | |
| 601 | |
| 569 __proto__: WebInspector.Object.prototype | 602 __proto__: WebInspector.Object.prototype |
|
pfeldman
2015/10/27 17:37:34
messages() accessor and clearMessages() would come
wes
2015/10/27 21:59:16
For sure. clearMessages() is going to fire many me
| |
| 570 } | 603 } |
| 571 | 604 |
| 572 /** | 605 /** |
| 573 * @constructor | 606 * @constructor |
| 574 * @param {!WebInspector.UISourceCode} uiSourceCode | 607 * @param {!WebInspector.UISourceCode} uiSourceCode |
| 575 * @param {number} lineNumber | 608 * @param {number} lineNumber |
| 576 * @param {number} columnNumber | 609 * @param {number} columnNumber |
| 577 */ | 610 */ |
| 578 WebInspector.UILocation = function(uiSourceCode, lineNumber, columnNumber) | 611 WebInspector.UILocation = function(uiSourceCode, lineNumber, columnNumber) |
| 579 { | 612 { |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 697 * @param {string} query | 730 * @param {string} query |
| 698 * @param {boolean} caseSensitive | 731 * @param {boolean} caseSensitive |
| 699 * @param {boolean} isRegex | 732 * @param {boolean} isRegex |
| 700 * @param {function(!Array.<!WebInspector.ContentProvider.SearchMatch>)} cal lback | 733 * @param {function(!Array.<!WebInspector.ContentProvider.SearchMatch>)} cal lback |
| 701 */ | 734 */ |
| 702 searchInContent: function(query, caseSensitive, isRegex, callback) | 735 searchInContent: function(query, caseSensitive, isRegex, callback) |
| 703 { | 736 { |
| 704 callback([]); | 737 callback([]); |
| 705 } | 738 } |
| 706 } | 739 } |
| 740 | |
| 741 /** | |
| 742 * @constructor | |
| 743 * @param {string} text | |
| 744 * @param {string} kind | |
| 745 * @param {!WebInspector.TextRange} location | |
| 746 */ | |
| 747 WebInspector.UISourceCodeMessage = function(text, kind, location) { | |
| 748 this._text = text; | |
| 749 this._kind = kind; | |
| 750 this._location = location; | |
| 751 } | |
| 752 | |
| 753 WebInspector.UISourceCodeMessage.prototype = { | |
| 754 /** | |
| 755 * @return {string} | |
| 756 */ | |
| 757 text: function() | |
| 758 { | |
| 759 return this._text; | |
| 760 }, | |
| 761 | |
| 762 /** | |
| 763 * @return {string} | |
| 764 */ | |
| 765 kind: function() | |
| 766 { | |
| 767 return this._kind; | |
| 768 }, | |
| 769 | |
| 770 /** | |
| 771 * @return {!WebInspector.TextRange} | |
| 772 */ | |
| 773 location: function() | |
| 774 { | |
| 775 return this._location; | |
| 776 }, | |
| 777 | |
| 778 /** | |
| 779 * @param {!WebInspector.UISourceCodeMessage} another | |
| 780 * @return {boolean} | |
| 781 */ | |
| 782 equal: function(another) { | |
| 783 return this.kind() === another.kind() && | |
| 784 this.text() === another.text() && | |
| 785 this.location().equal(another.location()); | |
| 786 } | |
| 787 } | |
| OLD | NEW |