Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 64 this._showSettingsPaneSetting, 'largeicon-settings-gear', Common.UIStrin g('Console settings')); | 64 this._showSettingsPaneSetting, 'largeicon-settings-gear', Common.UIStrin g('Console settings')); |
| 65 this._progressToolbarItem = new UI.ToolbarItem(createElement('div')); | 65 this._progressToolbarItem = new UI.ToolbarItem(createElement('div')); |
| 66 | 66 |
| 67 var toolbar = new UI.Toolbar('', this._contentsElement); | 67 var toolbar = new UI.Toolbar('', this._contentsElement); |
| 68 toolbar.appendToolbarItem(UI.Toolbar.createActionButton( | 68 toolbar.appendToolbarItem(UI.Toolbar.createActionButton( |
| 69 /** @type {!UI.Action }*/ (UI.actionRegistry.action('console.clear')))); | 69 /** @type {!UI.Action }*/ (UI.actionRegistry.action('console.clear')))); |
| 70 toolbar.appendSeparator(); | 70 toolbar.appendSeparator(); |
| 71 toolbar.appendToolbarItem(this._consoleContextSelector.toolbarItem()); | 71 toolbar.appendToolbarItem(this._consoleContextSelector.toolbarItem()); |
| 72 toolbar.appendSeparator(); | 72 toolbar.appendSeparator(); |
| 73 toolbar.appendToolbarItem(this._filter._textFilterUI); | 73 toolbar.appendToolbarItem(this._filter._textFilterUI); |
| 74 toolbar.appendToolbarItem(this._filter._levelComboBox); | 74 toolbar.appendToolbarItem(this._filter._levelMenuButton); |
| 75 toolbar.appendToolbarItem(this._filter._levelMenuButtonArrow); | |
| 75 toolbar.appendToolbarItem(this._progressToolbarItem); | 76 toolbar.appendToolbarItem(this._progressToolbarItem); |
| 76 toolbar.appendSpacer(); | 77 toolbar.appendSpacer(); |
| 77 toolbar.appendToolbarItem(this._filterStatusText); | 78 toolbar.appendToolbarItem(this._filterStatusText); |
| 78 toolbar.appendSeparator(); | 79 toolbar.appendSeparator(); |
| 79 toolbar.appendToolbarItem(this._showSettingsPaneButton); | 80 toolbar.appendToolbarItem(this._showSettingsPaneButton); |
| 80 | 81 |
| 81 this._preserveLogCheckbox = new UI.ToolbarSettingCheckbox( | 82 this._preserveLogCheckbox = new UI.ToolbarSettingCheckbox( |
| 82 Common.moduleSetting('preserveConsoleLog'), Common.UIString('Do not clea r log on page reload / navigation'), | 83 Common.moduleSetting('preserveConsoleLog'), Common.UIString('Do not clea r log on page reload / navigation'), |
| 83 Common.UIString('Preserve log')); | 84 Common.UIString('Preserve log')); |
| 84 this._hideNetworkMessagesCheckbox = new UI.ToolbarSettingCheckbox( | 85 this._hideNetworkMessagesCheckbox = new UI.ToolbarSettingCheckbox( |
| (...skipping 915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1000 * @unrestricted | 1001 * @unrestricted |
| 1001 */ | 1002 */ |
| 1002 Console.ConsoleViewFilter = class { | 1003 Console.ConsoleViewFilter = class { |
| 1003 /** | 1004 /** |
| 1004 * @param {function()} filterChangedCallback | 1005 * @param {function()} filterChangedCallback |
| 1005 */ | 1006 */ |
| 1006 constructor(filterChangedCallback) { | 1007 constructor(filterChangedCallback) { |
| 1007 this._filterChanged = filterChangedCallback; | 1008 this._filterChanged = filterChangedCallback; |
| 1008 | 1009 |
| 1009 this._messageURLFiltersSetting = Common.settings.createSetting('messageURLFi lters', {}); | 1010 this._messageURLFiltersSetting = Common.settings.createSetting('messageURLFi lters', {}); |
| 1010 this._messageLevelFiltersSetting = | 1011 this._messageLevelFiltersSetting = Console.ConsoleViewFilter.levelFilterSett ing(); |
| 1011 Common.settings.createSetting('messageLevelFilters2', ConsoleModel.Conso leMessage.MessageLevel.Info); | 1012 |
| 1012 this._hideNetworkMessagesSetting = Common.moduleSetting('hideNetworkMessages '); | 1013 this._hideNetworkMessagesSetting = Common.moduleSetting('hideNetworkMessages '); |
| 1013 this._filterByExecutionContextSetting = Common.moduleSetting('selectedContex tFilterEnabled'); | 1014 this._filterByExecutionContextSetting = Common.moduleSetting('selectedContex tFilterEnabled'); |
| 1014 this._filterByConsoleAPISetting = Common.moduleSetting('consoleAPIFilterEnab led'); | 1015 this._filterByConsoleAPISetting = Common.moduleSetting('consoleAPIFilterEnab led'); |
| 1015 | 1016 |
| 1016 this._messageURLFiltersSetting.addChangeListener(this._filterChanged); | 1017 this._messageURLFiltersSetting.addChangeListener(this._filterChanged); |
| 1017 this._messageLevelFiltersSetting.addChangeListener(this._filterChanged); | 1018 this._messageLevelFiltersSetting.addChangeListener(this._filterChanged); |
| 1018 this._hideNetworkMessagesSetting.addChangeListener(this._filterChanged); | 1019 this._hideNetworkMessagesSetting.addChangeListener(this._filterChanged); |
| 1019 this._filterByExecutionContextSetting.addChangeListener(this._filterChanged) ; | 1020 this._filterByExecutionContextSetting.addChangeListener(this._filterChanged) ; |
| 1020 this._filterByConsoleAPISetting.addChangeListener(this._filterChanged); | 1021 this._filterByConsoleAPISetting.addChangeListener(this._filterChanged); |
| 1021 | 1022 |
| 1022 this._textFilterUI = new UI.ToolbarInput(Common.UIString('Filter'), 0.2, 1, true); | 1023 this._textFilterUI = new UI.ToolbarInput(Common.UIString('Filter'), 0.2, 1, true); |
| 1023 this._textFilterUI.addEventListener(UI.ToolbarInput.Event.TextChanged, this. _textFilterChanged, this); | 1024 this._textFilterUI.addEventListener(UI.ToolbarInput.Event.TextChanged, this. _textFilterChanged, this); |
| 1024 | 1025 |
| 1025 var levels = [ | 1026 this._levelLabels = {}; |
| 1026 {value: ConsoleModel.ConsoleMessage.MessageLevel.Verbose, label: Common.UI String('Verbose')}, | 1027 this._levelLabels[ConsoleModel.ConsoleMessage.MessageLevel.Verbose] = Common .UIString('Verbose'); |
| 1027 {value: ConsoleModel.ConsoleMessage.MessageLevel.Info, label: Common.UIStr ing('Info'), default: true}, | 1028 this._levelLabels[ConsoleModel.ConsoleMessage.MessageLevel.Info] = Common.UI String('Info'); |
| 1028 {value: ConsoleModel.ConsoleMessage.MessageLevel.Warning, label: Common.UI String('Warnings')}, | 1029 this._levelLabels[ConsoleModel.ConsoleMessage.MessageLevel.Warning] = Common .UIString('Warnings'); |
| 1029 {value: ConsoleModel.ConsoleMessage.MessageLevel.Error, label: Common.UISt ring('Errors')} | 1030 this._levelLabels[ConsoleModel.ConsoleMessage.MessageLevel.Error] = Common.U IString('Errors'); |
| 1030 ]; | |
| 1031 | 1031 |
| 1032 this._levelComboBox = | 1032 this._levelMenuButton = new UI.ToolbarText(''); |
| 1033 new UI.ToolbarSettingComboBox(levels, this._messageLevelFiltersSetting, Common.UIString('Level')); | 1033 this._levelMenuButtonArrow = new UI.ToolbarItem(UI.Icon.create('smallicon-tr iangle-down')); |
|
dgozman
2017/06/06 19:02:46
Oh my...
| |
| 1034 this._levelMenuButton.element.addEventListener('click', this._showLevelConte xtMenu.bind(this)); | |
| 1035 this._levelMenuButtonArrow.element.addEventListener('click', this._showLevel ContextMenu.bind(this)); | |
| 1036 | |
| 1037 this._updateLevelMenuButtonText(); | |
| 1038 this._messageLevelFiltersSetting.addChangeListener(this._updateLevelMenuButt onText.bind(this)); | |
| 1039 } | |
| 1040 | |
| 1041 /** | |
| 1042 * @return {!Common.Setting} | |
| 1043 */ | |
| 1044 static levelFilterSetting() { | |
| 1045 return Common.settings.createSetting('messageLevelFilters', Console.ConsoleV iewFilter.defaultLevelsFilterValue()); | |
| 1046 } | |
| 1047 | |
| 1048 /** | |
| 1049 * @return {!Object<string, boolean>} | |
| 1050 */ | |
| 1051 static allLevelsFilterValue() { | |
| 1052 var result = {}; | |
| 1053 for (var name of Object.values(ConsoleModel.ConsoleMessage.MessageLevel)) | |
| 1054 result[name] = true; | |
| 1055 return result; | |
| 1056 } | |
| 1057 | |
| 1058 /** | |
| 1059 * @return {!Object<string, boolean>} | |
| 1060 */ | |
| 1061 static defaultLevelsFilterValue() { | |
| 1062 var result = Console.ConsoleViewFilter.allLevelsFilterValue(); | |
| 1063 result[ConsoleModel.ConsoleMessage.MessageLevel.Verbose] = false; | |
| 1064 return result; | |
| 1065 } | |
| 1066 | |
| 1067 _updateLevelMenuButtonText() { | |
| 1068 var isAll = true; | |
| 1069 var isDefault = true; | |
| 1070 var allValue = Console.ConsoleViewFilter.allLevelsFilterValue(); | |
| 1071 var defaultValue = Console.ConsoleViewFilter.defaultLevelsFilterValue(); | |
| 1072 | |
| 1073 var text = null; | |
| 1074 var levels = this._messageLevelFiltersSetting.get(); | |
| 1075 for (var name of Object.values(ConsoleModel.ConsoleMessage.MessageLevel)) { | |
| 1076 isAll = isAll && levels[name] === allValue[name]; | |
| 1077 isDefault = isDefault && levels[name] === defaultValue[name]; | |
| 1078 if (levels[name]) | |
| 1079 text = text ? Common.UIString('Custom levels') : Common.UIString('%s onl y', this._levelLabels[name]); | |
| 1080 } | |
| 1081 if (isAll) | |
| 1082 text = Common.UIString('All levels'); | |
| 1083 else if (isDefault) | |
| 1084 text = Common.UIString('Default levels'); | |
| 1085 else | |
| 1086 text = text || Common.UIString('Hide all'); | |
| 1087 this._levelMenuButton.setText(text); | |
| 1088 } | |
| 1089 | |
| 1090 /** | |
| 1091 * @param {!Event} event | |
| 1092 */ | |
| 1093 _showLevelContextMenu(event) { | |
| 1094 var setting = this._messageLevelFiltersSetting; | |
| 1095 var levels = setting.get(); | |
| 1096 | |
| 1097 var contextMenu = new UI.ContextMenu(event, true); | |
| 1098 contextMenu.appendItem( | |
| 1099 Common.UIString('Default'), () => setting.set(Console.ConsoleViewFilter. defaultLevelsFilterValue())); | |
| 1100 contextMenu.appendSeparator(); | |
| 1101 for (var level in this._levelLabels) | |
| 1102 contextMenu.appendCheckboxItem(this._levelLabels[level], toggleShowLevel.b ind(null, level), levels[level]); | |
| 1103 contextMenu.show(); | |
| 1104 | |
| 1105 /** | |
| 1106 * @param {string} level | |
| 1107 */ | |
| 1108 function toggleShowLevel(level) { | |
| 1109 levels[level] = !levels[level]; | |
| 1110 setting.set(levels); | |
| 1111 } | |
| 1034 } | 1112 } |
| 1035 | 1113 |
| 1036 _textFilterChanged() { | 1114 _textFilterChanged() { |
| 1037 this._filterText = this._textFilterUI.value(); | 1115 this._filterText = this._textFilterUI.value(); |
| 1038 this._filterRegex = null; | 1116 this._filterRegex = null; |
| 1039 if (this._filterText.startsWith('/') && this._filterText.endsWith('/')) { | 1117 if (this._filterText.startsWith('/') && this._filterText.endsWith('/')) { |
| 1040 try { | 1118 try { |
| 1041 this._filterRegex = new RegExp(this._filterText.substring(1, this._filte rText.length - 1), 'i'); | 1119 this._filterRegex = new RegExp(this._filterText.substring(1, this._filte rText.length - 1), 'i'); |
| 1042 } catch (e) { | 1120 } catch (e) { |
| 1043 } | 1121 } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1097 if (viewMessage.consoleMessage().isGroupMessage()) | 1175 if (viewMessage.consoleMessage().isGroupMessage()) |
| 1098 return true; | 1176 return true; |
| 1099 | 1177 |
| 1100 if (message.type === ConsoleModel.ConsoleMessage.MessageType.Result || | 1178 if (message.type === ConsoleModel.ConsoleMessage.MessageType.Result || |
| 1101 message.type === ConsoleModel.ConsoleMessage.MessageType.Command) | 1179 message.type === ConsoleModel.ConsoleMessage.MessageType.Command) |
| 1102 return true; | 1180 return true; |
| 1103 | 1181 |
| 1104 if (message.url && this._messageURLFiltersSetting.get()[message.url]) | 1182 if (message.url && this._messageURLFiltersSetting.get()[message.url]) |
| 1105 return false; | 1183 return false; |
| 1106 | 1184 |
| 1107 var filterOrdinal = ConsoleModel.ConsoleMessage.MessageLevel.ordinal( | 1185 var levels = this._messageLevelFiltersSetting.get(); |
| 1108 /** @type {!ConsoleModel.ConsoleMessage.MessageLevel} */ (this._messageL evelFiltersSetting.get())); | 1186 if (!levels[message.level]) |
| 1109 if (message.level && ConsoleModel.ConsoleMessage.MessageLevel.ordinal(messag e.level) < filterOrdinal) | |
| 1110 return false; | 1187 return false; |
| 1111 | 1188 |
| 1112 if (this._filterRegex) { | 1189 if (this._filterRegex) { |
| 1113 if (!viewMessage.matchesFilterRegex(this._filterRegex)) | 1190 if (!viewMessage.matchesFilterRegex(this._filterRegex)) |
| 1114 return false; | 1191 return false; |
| 1115 } else if (this._filterText) { | 1192 } else if (this._filterText) { |
| 1116 if (!viewMessage.matchesFilterText(this._filterText)) | 1193 if (!viewMessage.matchesFilterText(this._filterText)) |
| 1117 return false; | 1194 return false; |
| 1118 } | 1195 } |
| 1119 | 1196 |
| 1120 if (this._filterByConsoleAPISetting.get() && | 1197 if (this._filterByConsoleAPISetting.get() && |
| 1121 message.source !== ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI) | 1198 message.source !== ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI) |
| 1122 return false; | 1199 return false; |
| 1123 | 1200 |
| 1124 return true; | 1201 return true; |
| 1125 } | 1202 } |
| 1126 | 1203 |
| 1127 reset() { | 1204 reset() { |
| 1128 this._messageURLFiltersSetting.set({}); | 1205 this._messageURLFiltersSetting.set({}); |
| 1129 this._messageLevelFiltersSetting.set(ConsoleModel.ConsoleMessage.MessageLeve l.Info); | 1206 this._messageLevelFiltersSetting.set(Console.ConsoleViewFilter.defaultLevels FilterValue()); |
| 1130 this._filterByExecutionContextSetting.set(false); | 1207 this._filterByExecutionContextSetting.set(false); |
| 1131 this._filterByConsoleAPISetting.set(false); | 1208 this._filterByConsoleAPISetting.set(false); |
| 1132 this._hideNetworkMessagesSetting.set(false); | 1209 this._hideNetworkMessagesSetting.set(false); |
| 1133 this._textFilterUI.setValue(''); | 1210 this._textFilterUI.setValue(''); |
| 1134 this._textFilterChanged(); | 1211 this._textFilterChanged(); |
| 1135 } | 1212 } |
| 1136 }; | 1213 }; |
| 1137 | 1214 |
| 1138 /** | 1215 /** |
| 1139 * @unrestricted | 1216 * @unrestricted |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1289 return true; | 1366 return true; |
| 1290 } | 1367 } |
| 1291 return false; | 1368 return false; |
| 1292 } | 1369 } |
| 1293 }; | 1370 }; |
| 1294 | 1371 |
| 1295 /** | 1372 /** |
| 1296 * @typedef {{messageIndex: number, matchIndex: number}} | 1373 * @typedef {{messageIndex: number, matchIndex: number}} |
| 1297 */ | 1374 */ |
| 1298 Console.ConsoleView.RegexMatchRange; | 1375 Console.ConsoleView.RegexMatchRange; |
| OLD | NEW |