| 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 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 var messageBucket = this._rowMessageBuckets[lineNumber]; | 593 var messageBucket = this._rowMessageBuckets[lineNumber]; |
| 594 if (!messageBucket) | 594 if (!messageBucket) |
| 595 return; | 595 return; |
| 596 messageBucket.removeMessage(message); | 596 messageBucket.removeMessage(message); |
| 597 if (!messageBucket.uniqueMessagesCount()) { | 597 if (!messageBucket.uniqueMessagesCount()) { |
| 598 messageBucket.detachFromEditor(); | 598 messageBucket.detachFromEditor(); |
| 599 delete this._rowMessageBuckets[lineNumber]; | 599 delete this._rowMessageBuckets[lineNumber]; |
| 600 } | 600 } |
| 601 }, | 601 }, |
| 602 | 602 |
| 603 populateLineGutterContextMenu: function(contextMenu, lineNumber) | 603 setMessagesForSource: function(messages) { |
| 604 { | 604 this.clearMessages(); |
| 605 }, | 605 for (var index = 0; index < messages.length; index++) { |
| 606 | 606 var message = messages[index]; |
| 607 populateTextAreaContextMenu: function(contextMenu, lineNumber, columnNumber) | 607 this.addMessageToSource(message); |
| 608 { | 608 } |
| 609 }, | 609 }, |
| 610 | 610 |
| 611 /** | 611 /** |
| 612 * @return {!Promise} |
| 613 */ |
| 614 populateLineGutterContextMenu: function(contextMenu, lineNumber) |
| 615 { |
| 616 return Promise.resolve(); |
| 617 }, |
| 618 |
| 619 /** |
| 620 * @return {!Promise} |
| 621 */ |
| 622 populateTextAreaContextMenu: function(contextMenu, lineNumber, columnNumber) |
| 623 { |
| 624 return Promise.resolve(); |
| 625 }, |
| 626 |
| 627 /** |
| 612 * @param {?WebInspector.TextRange} from | 628 * @param {?WebInspector.TextRange} from |
| 613 * @param {?WebInspector.TextRange} to | 629 * @param {?WebInspector.TextRange} to |
| 614 */ | 630 */ |
| 615 onJumpToPosition: function(from, to) | 631 onJumpToPosition: function(from, to) |
| 616 { | 632 { |
| 617 this.dispatchEventToListeners(WebInspector.SourceFrame.Events.JumpHappen
ed, { | 633 this.dispatchEventToListeners(WebInspector.SourceFrame.Events.JumpHappen
ed, { |
| 618 from: from, | 634 from: from, |
| 619 to: to | 635 to: to |
| 620 }); | 636 }); |
| 621 }, | 637 }, |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 e.consume(true); | 693 e.consume(true); |
| 678 }, | 694 }, |
| 679 | 695 |
| 680 __proto__: WebInspector.VBox.prototype | 696 __proto__: WebInspector.VBox.prototype |
| 681 } | 697 } |
| 682 | 698 |
| 683 /** | 699 /** |
| 684 * @constructor | 700 * @constructor |
| 685 * @param {string} messageText | 701 * @param {string} messageText |
| 686 * @param {!WebInspector.SourceFrameMessage.Level} level | 702 * @param {!WebInspector.SourceFrameMessage.Level} level |
| 687 * @param {number} lineNumber | 703 * @param {{line: number, column: (number|undefined)}} start |
| 688 * @param {number=} columnNumber | 704 * @param {{line: number, column: (number|undefined)}} end |
| 689 */ | 705 */ |
| 690 WebInspector.SourceFrameMessage = function(messageText, level, lineNumber, colum
nNumber) | 706 WebInspector.SourceFrameMessage = function(messageText, level, start, end) |
| 691 { | 707 { |
| 692 this._messageText = messageText; | 708 this._messageText = messageText; |
| 693 this._level = level; | 709 this._level = level; |
| 694 this._lineNumber = lineNumber; | 710 this._start = { |
| 695 this._columnNumber = columnNumber; | 711 line: start.line, |
| 712 column: start.column |
| 713 }; |
| 714 this._end = { |
| 715 line: end.line, |
| 716 column: end.column |
| 717 }; |
| 696 } | 718 } |
| 697 | 719 |
| 698 /** | 720 /** |
| 699 * @enum {string} | 721 * @enum {string} |
| 700 */ | 722 */ |
| 701 WebInspector.SourceFrameMessage.Level = { | 723 WebInspector.SourceFrameMessage.Level = { |
| 702 Error: "Error", | 724 Error: "Error", |
| 703 Warning: "Warning" | 725 Warning: "Warning" |
| 704 } | 726 } |
| 705 | 727 |
| 706 /** | 728 /** |
| 707 * @param {!WebInspector.ConsoleMessage} consoleMessage | 729 * @param {!WebInspector.ConsoleMessage} consoleMessage |
| 708 * @param {number} lineNumber | 730 * @param {number} lineNumber |
| 709 * @param {number} columnNumber | 731 * @param {number} columnNumber |
| 710 * @return {!WebInspector.SourceFrameMessage} | 732 * @return {!WebInspector.SourceFrameMessage} |
| 711 */ | 733 */ |
| 712 WebInspector.SourceFrameMessage.fromConsoleMessage = function(consoleMessage, li
neNumber, columnNumber) | 734 WebInspector.SourceFrameMessage.fromConsoleMessage = function(consoleMessage, li
neNumber, columnNumber) |
| 713 { | 735 { |
| 714 console.assert(consoleMessage.level === WebInspector.ConsoleMessage.MessageL
evel.Error || consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.
Warning); | 736 console.assert(consoleMessage.level === WebInspector.ConsoleMessage.MessageL
evel.Error || consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.
Warning); |
| 715 var level = consoleMessage.level === WebInspector.ConsoleMessage.MessageLeve
l.Error ? WebInspector.SourceFrameMessage.Level.Error : WebInspector.SourceFrame
Message.Level.Warning; | 737 var level = consoleMessage.level === WebInspector.ConsoleMessage.MessageLeve
l.Error ? WebInspector.SourceFrameMessage.Level.Error : WebInspector.SourceFrame
Message.Level.Warning; |
| 716 return new WebInspector.SourceFrameMessage(consoleMessage.messageText, level
, lineNumber, columnNumber); | 738 var location = {line: lineNumber, column: columnNumber}; |
| 739 return new WebInspector.SourceFrameMessage(consoleMessage.messageText, level
, location, location); |
| 717 } | 740 } |
| 718 | 741 |
| 719 WebInspector.SourceFrameMessage.prototype = { | 742 WebInspector.SourceFrameMessage.prototype = { |
| 720 /** | 743 /** |
| 721 * @return {string} | 744 * @return {string} |
| 722 */ | 745 */ |
| 723 messageText: function() | 746 messageText: function() |
| 724 { | 747 { |
| 725 return this._messageText; | 748 return this._messageText; |
| 726 }, | 749 }, |
| 727 | 750 |
| 728 /** | 751 /** |
| 729 * @return {!WebInspector.SourceFrameMessage.Level} | 752 * @return {!WebInspector.SourceFrameMessage.Level} |
| 730 */ | 753 */ |
| 731 level: function() | 754 level: function() |
| 732 { | 755 { |
| 733 return this._level; | 756 return this._level; |
| 734 }, | 757 }, |
| 735 | 758 |
| 736 /** | 759 /** |
| 760 * @return {{line: number, column: (number|undefined)}} |
| 761 */ |
| 762 start: function() { |
| 763 return this._start; |
| 764 }, |
| 765 |
| 766 /** |
| 767 * @return {{line: number, column: (number|undefined)}} |
| 768 */ |
| 769 end: function() { |
| 770 return this._end; |
| 771 }, |
| 772 |
| 773 /** |
| 737 * @return {number} | 774 * @return {number} |
| 738 */ | 775 */ |
| 739 lineNumber: function() | 776 lineNumber: function() |
| 740 { | 777 { |
| 741 return this._lineNumber; | 778 return this._start.line; |
| 742 }, | 779 }, |
| 743 | 780 |
| 744 /** | 781 /** |
| 745 * @return {(number|undefined)} | 782 * @return {(number|undefined)} |
| 746 */ | 783 */ |
| 747 columnNumber: function() | 784 columnNumber: function() |
| 748 { | 785 { |
| 749 return this._columnNumber; | 786 return this._start.column; |
| 750 }, | 787 }, |
| 751 | 788 |
| 752 /** | 789 /** |
| 753 * @param {!WebInspector.SourceFrameMessage} another | 790 * @param {!WebInspector.SourceFrameMessage} another |
| 754 * @return {boolean} | 791 * @return {boolean} |
| 755 */ | 792 */ |
| 756 isEqual: function(another) | 793 isEqual: function(another) |
| 757 { | 794 { |
| 758 return this.messageText() === another.messageText() && this.level() ===
another.level() && this.lineNumber() === another.lineNumber() && this.columnNumb
er() === another.columnNumber(); | 795 return this.messageText() === another.messageText() && |
| 796 this.level() === another.level() && |
| 797 this.lineNumber() === another.lineNumber() && |
| 798 this.columnNumber() === another.columnNumber() && |
| 799 this.end().line === another.end().line && |
| 800 this.end().column === another.end().column; |
| 759 } | 801 } |
| 760 } | 802 } |
| 761 | 803 |
| 762 WebInspector.SourceFrame._iconClassPerLevel = {}; | 804 WebInspector.SourceFrame._iconClassPerLevel = {}; |
| 763 WebInspector.SourceFrame._iconClassPerLevel[WebInspector.SourceFrameMessage.Leve
l.Error] = "error-icon"; | 805 WebInspector.SourceFrame._iconClassPerLevel[WebInspector.SourceFrameMessage.Leve
l.Error] = "error-icon"; |
| 764 WebInspector.SourceFrame._iconClassPerLevel[WebInspector.SourceFrameMessage.Leve
l.Warning] = "warning-icon"; | 806 WebInspector.SourceFrame._iconClassPerLevel[WebInspector.SourceFrameMessage.Leve
l.Warning] = "warning-icon"; |
| 765 | 807 |
| 766 WebInspector.SourceFrame._lineClassPerLevel = {}; | 808 WebInspector.SourceFrame._lineClassPerLevel = {}; |
| 767 WebInspector.SourceFrame._lineClassPerLevel[WebInspector.SourceFrameMessage.Leve
l.Error] = "text-editor-line-with-error"; | 809 WebInspector.SourceFrame._lineClassPerLevel[WebInspector.SourceFrameMessage.Leve
l.Error] = "text-editor-line-with-error"; |
| 768 WebInspector.SourceFrame._lineClassPerLevel[WebInspector.SourceFrameMessage.Leve
l.Warning] = "text-editor-line-with-warning"; | 810 WebInspector.SourceFrame._lineClassPerLevel[WebInspector.SourceFrameMessage.Leve
l.Warning] = "text-editor-line-with-warning"; |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 851 * @param {number} lineNumber | 893 * @param {number} lineNumber |
| 852 * @param {number} columnNumber | 894 * @param {number} columnNumber |
| 853 */ | 895 */ |
| 854 _updateWavePosition: function(lineNumber, columnNumber) | 896 _updateWavePosition: function(lineNumber, columnNumber) |
| 855 { | 897 { |
| 856 var lineText = this._textEditor.line(lineNumber); | 898 var lineText = this._textEditor.line(lineNumber); |
| 857 var lineIndent = WebInspector.TextUtils.lineIndent(lineText).length; | 899 var lineIndent = WebInspector.TextUtils.lineIndent(lineText).length; |
| 858 var base = this._textEditor.cursorPositionToCoordinates(lineNumber, 0); | 900 var base = this._textEditor.cursorPositionToCoordinates(lineNumber, 0); |
| 859 | 901 |
| 860 var start = this._textEditor.cursorPositionToCoordinates(lineNumber, Mat
h.max(columnNumber - 1, lineIndent)); | 902 var start = this._textEditor.cursorPositionToCoordinates(lineNumber, Mat
h.max(columnNumber - 1, lineIndent)); |
| 903 if (!start) { |
| 904 return; //stale data - columnNumber is already gone, wait for future
update and for UI to settle |
| 905 } |
| 861 var end = this._textEditor.cursorPositionToCoordinates(lineNumber, lineT
ext.length); | 906 var end = this._textEditor.cursorPositionToCoordinates(lineNumber, lineT
ext.length); |
| 862 /** @const */ | 907 /** @const */ |
| 863 var codeMirrorLinesLeftPadding = 4; | 908 var codeMirrorLinesLeftPadding = 4; |
| 864 this._wave.style.left = (start.x - base.x + codeMirrorLinesLeftPadding)
+ "px"; | 909 this._wave.style.left = (start.x - base.x + codeMirrorLinesLeftPadding)
+ "px"; |
| 865 this._wave.style.width = (end.x - start.x) + "px"; | 910 this._wave.style.width = (end.x - start.x) + "px"; |
| 866 }, | 911 }, |
| 867 | 912 |
| 868 /** | 913 /** |
| 869 * @return {!Element} | 914 * @return {!Element} |
| 870 */ | 915 */ |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1003 /** | 1048 /** |
| 1004 * @override | 1049 * @override |
| 1005 */ | 1050 */ |
| 1006 editorFocused: function() | 1051 editorFocused: function() |
| 1007 { | 1052 { |
| 1008 this._sourceFrame._editorFocused(); | 1053 this._sourceFrame._editorFocused(); |
| 1009 }, | 1054 }, |
| 1010 | 1055 |
| 1011 /** | 1056 /** |
| 1012 * @override | 1057 * @override |
| 1058 * @param {!WebInspector.ContextMenu} contextMenu |
| 1059 * @param {number} lineNumber |
| 1060 * @return {!Promise} |
| 1013 */ | 1061 */ |
| 1014 populateLineGutterContextMenu: function(contextMenu, lineNumber) | 1062 populateLineGutterContextMenu: function(contextMenu, lineNumber) |
| 1015 { | 1063 { |
| 1016 this._sourceFrame.populateLineGutterContextMenu(contextMenu, lineNumber)
; | 1064 return this._sourceFrame.populateLineGutterContextMenu(contextMenu, line
Number); |
| 1017 }, | 1065 }, |
| 1018 | 1066 |
| 1019 /** | 1067 /** |
| 1020 * @override | 1068 * @override |
| 1069 * @param {!WebInspector.ContextMenu} contextMenu |
| 1070 * @param {number} lineNumber |
| 1071 * @param {number} columnNumber |
| 1072 * @return {!Promise} |
| 1021 */ | 1073 */ |
| 1022 populateTextAreaContextMenu: function(contextMenu, lineNumber, columnNumber) | 1074 populateTextAreaContextMenu: function(contextMenu, lineNumber, columnNumber) |
| 1023 { | 1075 { |
| 1024 this._sourceFrame.populateTextAreaContextMenu(contextMenu, lineNumber, c
olumnNumber); | 1076 return this._sourceFrame.populateTextAreaContextMenu(contextMenu, lineNu
mber, columnNumber); |
| 1025 }, | 1077 }, |
| 1026 | 1078 |
| 1027 /** | 1079 /** |
| 1028 * @override | 1080 * @override |
| 1029 * @param {?WebInspector.TextRange} from | 1081 * @param {?WebInspector.TextRange} from |
| 1030 * @param {?WebInspector.TextRange} to | 1082 * @param {?WebInspector.TextRange} to |
| 1031 */ | 1083 */ |
| 1032 onJumpToPosition: function(from, to) | 1084 onJumpToPosition: function(from, to) |
| 1033 { | 1085 { |
| 1034 this._sourceFrame.onJumpToPosition(from, to); | 1086 this._sourceFrame.onJumpToPosition(from, to); |
| 1035 } | 1087 } |
| 1036 } | 1088 } |
| 1037 | 1089 |
| 1038 WebInspector.SourceFrameMessage._messageLevelPriority = { | 1090 WebInspector.SourceFrameMessage._messageLevelPriority = { |
| 1039 "Warning": 3, | 1091 "Warning": 3, |
| 1040 "Error": 4 | 1092 "Error": 4 |
| 1041 }; | 1093 }; |
| 1042 | 1094 |
| 1043 /** | 1095 /** |
| 1044 * @param {!WebInspector.SourceFrameMessage} a | 1096 * @param {!WebInspector.SourceFrameMessage} a |
| 1045 * @param {!WebInspector.SourceFrameMessage} b | 1097 * @param {!WebInspector.SourceFrameMessage} b |
| 1046 * @return {number} | 1098 * @return {number} |
| 1047 */ | 1099 */ |
| 1048 WebInspector.SourceFrameMessage.messageLevelComparator = function(a, b) | 1100 WebInspector.SourceFrameMessage.messageLevelComparator = function(a, b) |
| 1049 { | 1101 { |
| 1050 return WebInspector.SourceFrameMessage._messageLevelPriority[a.level()] - We
bInspector.SourceFrameMessage._messageLevelPriority[b.level()]; | 1102 return WebInspector.SourceFrameMessage._messageLevelPriority[a.level()] - We
bInspector.SourceFrameMessage._messageLevelPriority[b.level()]; |
| 1051 } | 1103 } |
| OLD | NEW |