Changeset 50064 in webkit
- Timestamp:
- Oct 26, 2009 9:10:06 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r50063 r50064 1 2009-10-26 Keishi Hattori <casey.hattori@gmail.com> 2 3 Reviewed by Pavel Feldman. 4 5 Fix for Console not showing repeat count when repeatedly logging an Event 6 https://bugs.webkit.org/show_bug.cgi?id=30324 7 8 * inspector/console-tests-expected.txt: 9 1 10 2009-10-26 Eric Carlson <eric.carlson@apple.com> 2 11 -
trunk/LayoutTests/inspector/console-tests-expected.txt
r49760 r50064 17 17 console-tests.html:11warn console-message console-js-source console-warning-level 18 18 console-tests.html:12error console-message console-js-source console-error-level 19 console-tests.html:14repeated console-message console-js-source console-log-level 19 5console-tests.html:14repeated console-message console-js-source console-log-level repeated-message 20 20 console-tests.html:16count: 1 console-message console-js-source console-log-level 21 21 console-tests.html:16count: 2 console-message console-js-source console-log-level -
trunk/WebCore/ChangeLog
r50062 r50064 1 2009-10-26 Keishi Hattori <casey.hattori@gmail.com> 2 3 Reviewed by Pavel Feldman. 4 5 Fix for Console not showing repeat count when repeatedly logging an Event 6 https://bugs.webkit.org/show_bug.cgi?id=30324 7 8 * inspector/ConsoleMessage.cpp: 9 (WebCore::ConsoleMessage::addToConsole): 10 (WebCore::ConsoleMessage::updateRepeatCountInConsole): Added. 11 * inspector/ConsoleMessage.h: 12 * inspector/InspectorController.cpp: 13 (WebCore::InspectorController::addConsoleMessage): Calls updateRepeatCountInConsole if it is a repeating message. 14 * inspector/InspectorFrontend.cpp: 15 (WebCore::InspectorFrontend::addConsoleMessage): Renamed WebCore::InspectorFrontend::addMessageToConsole 16 (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): Added. Called when repeatCount is incremented. 17 * inspector/InspectorFrontend.h: 18 * inspector/front-end/ConsoleView.js: 19 (WebInspector.ConsoleView.prototype.addMessage): Removed calls to msg.isEqual. 20 (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): Added. 21 (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): Added. Updates the error/warning count. 22 (WebInspector.ConsoleView.prototype.clearMessages): 23 (WebInspector.ConsoleMessage): 24 (WebInspector.ConsoleMessage.prototype.toMessageElement): Use ConsoleMessage._updateRepeatCount 25 (WebInspector.ConsoleMessage.prototype._updateRepeatCount): 26 * inspector/front-end/inspector.js: 27 (WebInspector.addConsoleMessage): Renamed WebInspector.addMessageToConsole. 28 (WebInspector.updateConsoleMessageRepeatCount): Added. 29 1 30 2009-10-26 Chris Fleizach <cfleizach@apple.com> 2 31 -
trunk/WebCore/inspector/ConsoleMessage.cpp
r48430 r50064 91 91 jsonObj.set("groupLevel", static_cast<int>(m_groupLevel)); 92 92 jsonObj.set("repeatCount", static_cast<int>(m_repeatCount)); 93 frontend->addMessageToConsole(jsonObj, m_frames, m_wrappedArguments, m_message); 93 frontend->addConsoleMessage(jsonObj, m_frames, m_wrappedArguments, m_message); 94 } 95 96 void ConsoleMessage::updateRepeatCountInConsole(InspectorFrontend* frontend) 97 { 98 frontend->updateConsoleMessageRepeatCount(m_repeatCount); 94 99 } 95 100 #endif // ENABLE(INSPECTOR) -
trunk/WebCore/inspector/ConsoleMessage.h
r48430 r50064 50 50 #if ENABLE(INSPECTOR) 51 51 void addToConsole(InspectorFrontend* frontend); 52 void updateRepeatCountInConsole(InspectorFrontend* frontend); 52 53 #endif 53 54 void incrementCount() { ++m_repeatCount; }; -
trunk/WebCore/inspector/InspectorController.cpp
r49963 r50064 375 375 m_previousMessage->incrementCount(); 376 376 delete consoleMessage; 377 if (windowVisible()) 378 m_previousMessage->updateRepeatCountInConsole(m_frontend.get()); 377 379 } else { 378 380 m_previousMessage = consoleMessage; 379 381 m_consoleMessages.append(consoleMessage); 380 } 381 382 if (windowVisible()) 383 m_previousMessage->addToConsole(m_frontend.get()); 382 if (windowVisible()) 383 m_previousMessage->addToConsole(m_frontend.get()); 384 } 384 385 } 385 386 -
trunk/WebCore/inspector/InspectorFrontend.cpp
r49615 r50064 79 79 } 80 80 81 void InspectorFrontend::add MessageToConsole(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message)82 { 83 OwnPtr<ScriptFunctionCall> function(newFunctionCall("add MessageToConsole"));81 void InspectorFrontend::addConsoleMessage(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message) 82 { 83 OwnPtr<ScriptFunctionCall> function(newFunctionCall("addConsoleMessage")); 84 84 function->appendArgument(messageObj); 85 85 if (!frames.isEmpty()) { … … 91 91 } else 92 92 function->appendArgument(message); 93 function->call(); 94 } 95 96 void InspectorFrontend::updateConsoleMessageRepeatCount(const int count) 97 { 98 OwnPtr<ScriptFunctionCall> function(newFunctionCall("updateConsoleMessageRepeatCount")); 99 function->appendArgument(count); 93 100 function->call(); 94 101 } -
trunk/WebCore/inspector/InspectorFrontend.h
r49615 r50064 64 64 65 65 void didCommitLoad(); 66 void addMessageToConsole(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message); 66 void addConsoleMessage(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message); 67 void updateConsoleMessageRepeatCount(const int count); 67 68 void clearConsoleMessages(); 68 69 -
trunk/WebCore/inspector/front-end/ConsoleView.js
r50039 r50064 202 202 { 203 203 if (msg instanceof WebInspector.ConsoleMessage && !(msg instanceof WebInspector.ConsoleCommandResult)) { 204 msg.totalRepeatCount = msg.repeatCount; 205 msg.repeatDelta = msg.repeatCount; 206 207 var messageRepeated = false; 208 209 if (msg.isEqual && msg.isEqual(this.previousMessage)) { 210 // Because sometimes we get a large number of repeated messages and sometimes 211 // we get them one at a time, we need to know the difference between how many 212 // repeats we used to have and how many we have now. 213 msg.repeatDelta -= this.previousMessage.totalRepeatCount; 214 215 if (!isNaN(this.repeatCountBeforeCommand)) 216 msg.repeatCount -= this.repeatCountBeforeCommand; 217 218 if (!this.commandSincePreviousMessage) { 219 // Recreate the previous message element to reset the repeat count. 220 var messagesElement = this.currentGroup.messagesElement; 221 messagesElement.removeChild(messagesElement.lastChild); 222 messagesElement.appendChild(msg.toMessageElement()); 223 224 messageRepeated = true; 225 } 226 } else 227 delete this.repeatCountBeforeCommand; 228 229 // Increment the error or warning count 230 switch (msg.level) { 231 case WebInspector.ConsoleMessage.MessageLevel.Warning: 232 WebInspector.warnings += msg.repeatDelta; 233 break; 234 case WebInspector.ConsoleMessage.MessageLevel.Error: 235 WebInspector.errors += msg.repeatDelta; 236 break; 237 } 204 this._incrementErrorWarningCount(msg); 238 205 239 206 // Add message to the resource panel … … 246 213 this.commandSincePreviousMessage = false; 247 214 this.previousMessage = msg; 248 249 if (messageRepeated)250 return;251 215 } else if (msg instanceof WebInspector.ConsoleCommand) { 252 216 if (this.previousMessage) { 253 217 this.commandSincePreviousMessage = true; 254 this.repeatCountBeforeCommand = this.previousMessage.totalRepeatCount;255 218 } 256 219 } … … 280 243 }, 281 244 245 updateMessageRepeatCount: function(count) { 246 var msg = this.previousMessage; 247 var prevRepeatCount = msg.totalRepeatCount; 248 249 if (!this.commandSincePreviousMessage) { 250 msg.repeatDelta = count - prevRepeatCount; 251 msg.repeatCount = msg.repeatCount + msg.repeatDelta; 252 msg.totalRepeatCount = count; 253 msg._updateRepeatCount(); 254 this._incrementErrorWarningCount(msg); 255 } else { 256 msgCopy = new WebInspector.ConsoleMessage(msg.source, msg.type, msg.level, msg.line, msg.url, msg.groupLevel, count - prevRepeatCount); 257 msgCopy.totalRepeatCount = count; 258 msgCopy.setMessageBody(msg.args); 259 this.addMessage(msgCopy); 260 } 261 }, 262 263 _incrementErrorWarningCount: function(msg) { 264 switch (msg.level) { 265 case WebInspector.ConsoleMessage.MessageLevel.Warning: 266 WebInspector.warnings += msg.repeatDelta; 267 break; 268 case WebInspector.ConsoleMessage.MessageLevel.Error: 269 WebInspector.errors += msg.repeatDelta; 270 break; 271 } 272 }, 273 282 274 clearMessages: function(clearInspectorController) 283 275 { … … 297 289 298 290 delete this.commandSincePreviousMessage; 299 delete this.repeatCountBeforeCommand;300 291 delete this.previousMessage; 301 292 }, … … 618 609 this.groupLevel = groupLevel; 619 610 this.repeatCount = repeatCount; 611 this.repeatDelta = repeatCount; 612 this.totalRepeatCount = repeatCount; 620 613 if (arguments.length > 7) 621 614 this.setMessageBody(Array.prototype.slice.call(arguments, 7)); … … 625 618 setMessageBody: function(args) 626 619 { 620 this.args = args; 627 621 switch (this.type) { 628 622 case WebInspector.ConsoleMessage.MessageType.Trace: … … 720 714 toMessageElement: function() 721 715 { 722 if (this. propertiesSection)723 return this. propertiesSection.element;716 if (this._element) 717 return this._element; 724 718 725 719 var element = document.createElement("div"); … … 727 721 element.className = "console-message"; 728 722 723 this._element = element; 724 729 725 switch (this.source) { 730 726 case WebInspector.ConsoleMessage.MessageSource.HTML: … … 766 762 } 767 763 768 if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup) {764 if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup) 769 765 element.addStyleClass("console-group-title"); 770 }771 766 772 767 if (this.elementsTreeOutline) { … … 774 769 element.appendChild(this.elementsTreeOutline.element); 775 770 return element; 776 }777 778 if (this.repeatCount > 1) {779 var messageRepeatCountElement = document.createElement("span");780 messageRepeatCountElement.className = "bubble";781 messageRepeatCountElement.textContent = this.repeatCount;782 783 element.appendChild(messageRepeatCountElement);784 element.addStyleClass("repeated-message");785 771 } 786 772 … … 807 793 element.appendChild(messageTextElement); 808 794 795 if (this.repeatCount > 1) 796 this._updateRepeatCount(); 797 809 798 return element; 799 }, 800 801 _updateRepeatCount: function() { 802 if (!this.repeatCountElement) { 803 this.repeatCountElement = document.createElement("span"); 804 this.repeatCountElement.className = "bubble"; 805 806 this._element.insertBefore(this.repeatCountElement, this._element.firstChild); 807 this._element.addStyleClass("repeated-message"); 808 } 809 this.repeatCountElement.textContent = this.repeatCount; 810 810 }, 811 811 -
trunk/WebCore/inspector/front-end/inspector.js
r50039 r50064 1175 1175 } 1176 1176 1177 WebInspector.add MessageToConsole = function(payload)1177 WebInspector.addConsoleMessage = function(payload) 1178 1178 { 1179 1179 var consoleMessage = new WebInspector.ConsoleMessage( … … 1187 1187 consoleMessage.setMessageBody(Array.prototype.slice.call(arguments, 1)); 1188 1188 this.console.addMessage(consoleMessage); 1189 } 1190 1191 WebInspector.updateConsoleMessageRepeatCount = function(count) 1192 { 1193 this.console.updateMessageRepeatCount(count); 1189 1194 } 1190 1195
Note: See TracChangeset
for help on using the changeset viewer.