[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
eric at webkit.org
eric at webkit.org
Thu Oct 29 20:52:06 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 3d162ebb29e6a732d8ae3a302df02512f0ff4c21
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Oct 26 16:10:06 2009 +0000
2009-10-26 Keishi Hattori <casey.hattori at gmail.com>
Reviewed by Pavel Feldman.
Fix for Console not showing repeat count when repeatedly logging an Event
https://bugs.webkit.org/show_bug.cgi?id=30324
* inspector/console-tests-expected.txt:
2009-10-26 Keishi Hattori <casey.hattori at gmail.com>
Reviewed by Pavel Feldman.
Fix for Console not showing repeat count when repeatedly logging an Event
https://bugs.webkit.org/show_bug.cgi?id=30324
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToConsole):
(WebCore::ConsoleMessage::updateRepeatCountInConsole): Added.
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addConsoleMessage): Calls updateRepeatCountInConsole if it is a repeating message.
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::addConsoleMessage): Renamed WebCore::InspectorFrontend::addMessageToConsole
(WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): Added. Called when repeatCount is incremented.
* inspector/InspectorFrontend.h:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.addMessage): Removed calls to msg.isEqual.
(WebInspector.ConsoleView.prototype.updateMessageRepeatCount): Added.
(WebInspector.ConsoleView.prototype._incrementErrorWarningCount): Added. Updates the error/warning count.
(WebInspector.ConsoleView.prototype.clearMessages):
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.prototype.toMessageElement): Use ConsoleMessage._updateRepeatCount
(WebInspector.ConsoleMessage.prototype._updateRepeatCount):
* inspector/front-end/inspector.js:
(WebInspector.addConsoleMessage): Renamed WebInspector.addMessageToConsole.
(WebInspector.updateConsoleMessageRepeatCount): Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 46f4d06..57f1a32 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,12 @@
+2009-10-26 Keishi Hattori <casey.hattori at gmail.com>
+
+ Reviewed by Pavel Feldman.
+
+ Fix for Console not showing repeat count when repeatedly logging an Event
+ https://bugs.webkit.org/show_bug.cgi?id=30324
+
+ * inspector/console-tests-expected.txt:
+
2009-10-26 Eric Carlson <eric.carlson at apple.com>
Reviewed by Eric Seidel.
diff --git a/LayoutTests/inspector/console-tests-expected.txt b/LayoutTests/inspector/console-tests-expected.txt
index 39ea6da..e041610 100644
--- a/LayoutTests/inspector/console-tests-expected.txt
+++ b/LayoutTests/inspector/console-tests-expected.txt
@@ -16,7 +16,7 @@ console-tests.html:9debug console-message console-js-source console-log-level
console-tests.html:10info console-message console-js-source console-log-level
console-tests.html:11warn console-message console-js-source console-warning-level
console-tests.html:12error console-message console-js-source console-error-level
-console-tests.html:14repeated console-message console-js-source console-log-level
+5console-tests.html:14repeated console-message console-js-source console-log-level repeated-message
console-tests.html:16count: 1 console-message console-js-source console-log-level
console-tests.html:16count: 2 console-message console-js-source console-log-level
console-tests.html:17group console-message console-js-source console-log-level console-group-title
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index def552e..0eb3458 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,32 @@
+2009-10-26 Keishi Hattori <casey.hattori at gmail.com>
+
+ Reviewed by Pavel Feldman.
+
+ Fix for Console not showing repeat count when repeatedly logging an Event
+ https://bugs.webkit.org/show_bug.cgi?id=30324
+
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToConsole):
+ (WebCore::ConsoleMessage::updateRepeatCountInConsole): Added.
+ * inspector/ConsoleMessage.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::addConsoleMessage): Calls updateRepeatCountInConsole if it is a repeating message.
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::addConsoleMessage): Renamed WebCore::InspectorFrontend::addMessageToConsole
+ (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): Added. Called when repeatCount is incremented.
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.addMessage): Removed calls to msg.isEqual.
+ (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): Added.
+ (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): Added. Updates the error/warning count.
+ (WebInspector.ConsoleView.prototype.clearMessages):
+ (WebInspector.ConsoleMessage):
+ (WebInspector.ConsoleMessage.prototype.toMessageElement): Use ConsoleMessage._updateRepeatCount
+ (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
+ * inspector/front-end/inspector.js:
+ (WebInspector.addConsoleMessage): Renamed WebInspector.addMessageToConsole.
+ (WebInspector.updateConsoleMessageRepeatCount): Added.
+
2009-10-26 Chris Fleizach <cfleizach at apple.com>
Reviewed by Darin Adler.
diff --git a/WebCore/inspector/ConsoleMessage.cpp b/WebCore/inspector/ConsoleMessage.cpp
index 6cfb75e..eb8d49a 100644
--- a/WebCore/inspector/ConsoleMessage.cpp
+++ b/WebCore/inspector/ConsoleMessage.cpp
@@ -90,7 +90,12 @@ void ConsoleMessage::addToConsole(InspectorFrontend* frontend)
jsonObj.set("url", m_url);
jsonObj.set("groupLevel", static_cast<int>(m_groupLevel));
jsonObj.set("repeatCount", static_cast<int>(m_repeatCount));
- frontend->addMessageToConsole(jsonObj, m_frames, m_wrappedArguments, m_message);
+ frontend->addConsoleMessage(jsonObj, m_frames, m_wrappedArguments, m_message);
+}
+
+void ConsoleMessage::updateRepeatCountInConsole(InspectorFrontend* frontend)
+{
+ frontend->updateConsoleMessageRepeatCount(m_repeatCount);
}
#endif // ENABLE(INSPECTOR)
diff --git a/WebCore/inspector/ConsoleMessage.h b/WebCore/inspector/ConsoleMessage.h
index d03f2b7..8ed6660 100644
--- a/WebCore/inspector/ConsoleMessage.h
+++ b/WebCore/inspector/ConsoleMessage.h
@@ -49,6 +49,7 @@ namespace WebCore {
#if ENABLE(INSPECTOR)
void addToConsole(InspectorFrontend* frontend);
+ void updateRepeatCountInConsole(InspectorFrontend* frontend);
#endif
void incrementCount() { ++m_repeatCount; };
bool isEqual(ScriptState*, ConsoleMessage* msg) const;
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index af34e82..5f13a65 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -374,13 +374,14 @@ void InspectorController::addConsoleMessage(ScriptState* scriptState, ConsoleMes
if (m_previousMessage && m_previousMessage->isEqual(scriptState, consoleMessage)) {
m_previousMessage->incrementCount();
delete consoleMessage;
+ if (windowVisible())
+ m_previousMessage->updateRepeatCountInConsole(m_frontend.get());
} else {
m_previousMessage = consoleMessage;
m_consoleMessages.append(consoleMessage);
+ if (windowVisible())
+ m_previousMessage->addToConsole(m_frontend.get());
}
-
- if (windowVisible())
- m_previousMessage->addToConsole(m_frontend.get());
}
void InspectorController::clearConsoleMessages(bool clearUI)
diff --git a/WebCore/inspector/InspectorFrontend.cpp b/WebCore/inspector/InspectorFrontend.cpp
index 2e6dc2b..7ee95a3 100644
--- a/WebCore/inspector/InspectorFrontend.cpp
+++ b/WebCore/inspector/InspectorFrontend.cpp
@@ -78,9 +78,9 @@ void InspectorFrontend::didCommitLoad()
callSimpleFunction("didCommitLoad");
}
-void InspectorFrontend::addMessageToConsole(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message)
+void InspectorFrontend::addConsoleMessage(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message)
{
- OwnPtr<ScriptFunctionCall> function(newFunctionCall("addMessageToConsole"));
+ OwnPtr<ScriptFunctionCall> function(newFunctionCall("addConsoleMessage"));
function->appendArgument(messageObj);
if (!frames.isEmpty()) {
for (unsigned i = 0; i < frames.size(); ++i)
@@ -93,6 +93,13 @@ void InspectorFrontend::addMessageToConsole(const ScriptObject& messageObj, cons
function->call();
}
+void InspectorFrontend::updateConsoleMessageRepeatCount(const int count)
+{
+ OwnPtr<ScriptFunctionCall> function(newFunctionCall("updateConsoleMessageRepeatCount"));
+ function->appendArgument(count);
+ function->call();
+}
+
void InspectorFrontend::clearConsoleMessages()
{
callSimpleFunction("clearConsoleMessages");
diff --git a/WebCore/inspector/InspectorFrontend.h b/WebCore/inspector/InspectorFrontend.h
index 0883ac2..bb76984 100644
--- a/WebCore/inspector/InspectorFrontend.h
+++ b/WebCore/inspector/InspectorFrontend.h
@@ -63,7 +63,8 @@ namespace WebCore {
ScriptObject newScriptObject();
void didCommitLoad();
- void addMessageToConsole(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message);
+ void addConsoleMessage(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message);
+ void updateConsoleMessageRepeatCount(const int count);
void clearConsoleMessages();
bool addResource(long long identifier, const ScriptObject& resourceObj);
diff --git a/WebCore/inspector/front-end/ConsoleView.js b/WebCore/inspector/front-end/ConsoleView.js
index ac0c4ef..2e3ed3d 100644
--- a/WebCore/inspector/front-end/ConsoleView.js
+++ b/WebCore/inspector/front-end/ConsoleView.js
@@ -201,40 +201,7 @@ WebInspector.ConsoleView.prototype = {
addMessage: function(msg)
{
if (msg instanceof WebInspector.ConsoleMessage && !(msg instanceof WebInspector.ConsoleCommandResult)) {
- msg.totalRepeatCount = msg.repeatCount;
- msg.repeatDelta = msg.repeatCount;
-
- var messageRepeated = false;
-
- if (msg.isEqual && msg.isEqual(this.previousMessage)) {
- // Because sometimes we get a large number of repeated messages and sometimes
- // we get them one at a time, we need to know the difference between how many
- // repeats we used to have and how many we have now.
- msg.repeatDelta -= this.previousMessage.totalRepeatCount;
-
- if (!isNaN(this.repeatCountBeforeCommand))
- msg.repeatCount -= this.repeatCountBeforeCommand;
-
- if (!this.commandSincePreviousMessage) {
- // Recreate the previous message element to reset the repeat count.
- var messagesElement = this.currentGroup.messagesElement;
- messagesElement.removeChild(messagesElement.lastChild);
- messagesElement.appendChild(msg.toMessageElement());
-
- messageRepeated = true;
- }
- } else
- delete this.repeatCountBeforeCommand;
-
- // Increment the error or warning count
- switch (msg.level) {
- case WebInspector.ConsoleMessage.MessageLevel.Warning:
- WebInspector.warnings += msg.repeatDelta;
- break;
- case WebInspector.ConsoleMessage.MessageLevel.Error:
- WebInspector.errors += msg.repeatDelta;
- break;
- }
+ this._incrementErrorWarningCount(msg);
// Add message to the resource panel
if (msg.url in WebInspector.resourceURLMap) {
@@ -245,13 +212,9 @@ WebInspector.ConsoleView.prototype = {
this.commandSincePreviousMessage = false;
this.previousMessage = msg;
-
- if (messageRepeated)
- return;
} else if (msg instanceof WebInspector.ConsoleCommand) {
if (this.previousMessage) {
this.commandSincePreviousMessage = true;
- this.repeatCountBeforeCommand = this.previousMessage.totalRepeatCount;
}
}
@@ -279,6 +242,35 @@ WebInspector.ConsoleView.prototype = {
this.promptElement.scrollIntoView(false);
},
+ updateMessageRepeatCount: function(count) {
+ var msg = this.previousMessage;
+ var prevRepeatCount = msg.totalRepeatCount;
+
+ if (!this.commandSincePreviousMessage) {
+ msg.repeatDelta = count - prevRepeatCount;
+ msg.repeatCount = msg.repeatCount + msg.repeatDelta;
+ msg.totalRepeatCount = count;
+ msg._updateRepeatCount();
+ this._incrementErrorWarningCount(msg);
+ } else {
+ msgCopy = new WebInspector.ConsoleMessage(msg.source, msg.type, msg.level, msg.line, msg.url, msg.groupLevel, count - prevRepeatCount);
+ msgCopy.totalRepeatCount = count;
+ msgCopy.setMessageBody(msg.args);
+ this.addMessage(msgCopy);
+ }
+ },
+
+ _incrementErrorWarningCount: function(msg) {
+ switch (msg.level) {
+ case WebInspector.ConsoleMessage.MessageLevel.Warning:
+ WebInspector.warnings += msg.repeatDelta;
+ break;
+ case WebInspector.ConsoleMessage.MessageLevel.Error:
+ WebInspector.errors += msg.repeatDelta;
+ break;
+ }
+ },
+
clearMessages: function(clearInspectorController)
{
if (clearInspectorController)
@@ -296,7 +288,6 @@ WebInspector.ConsoleView.prototype = {
WebInspector.warnings = 0;
delete this.commandSincePreviousMessage;
- delete this.repeatCountBeforeCommand;
delete this.previousMessage;
},
@@ -617,6 +608,8 @@ WebInspector.ConsoleMessage = function(source, type, level, line, url, groupLeve
this.url = url;
this.groupLevel = groupLevel;
this.repeatCount = repeatCount;
+ this.repeatDelta = repeatCount;
+ this.totalRepeatCount = repeatCount;
if (arguments.length > 7)
this.setMessageBody(Array.prototype.slice.call(arguments, 7));
}
@@ -624,6 +617,7 @@ WebInspector.ConsoleMessage = function(source, type, level, line, url, groupLeve
WebInspector.ConsoleMessage.prototype = {
setMessageBody: function(args)
{
+ this.args = args;
switch (this.type) {
case WebInspector.ConsoleMessage.MessageType.Trace:
var span = document.createElement("span");
@@ -719,13 +713,15 @@ WebInspector.ConsoleMessage.prototype = {
toMessageElement: function()
{
- if (this.propertiesSection)
- return this.propertiesSection.element;
+ if (this._element)
+ return this._element;
var element = document.createElement("div");
element.message = this;
element.className = "console-message";
+ this._element = element;
+
switch (this.source) {
case WebInspector.ConsoleMessage.MessageSource.HTML:
element.addStyleClass("console-html-source");
@@ -765,9 +761,8 @@ WebInspector.ConsoleMessage.prototype = {
break;
}
- if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup) {
+ if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup)
element.addStyleClass("console-group-title");
- }
if (this.elementsTreeOutline) {
element.addStyleClass("outline-disclosure");
@@ -775,15 +770,6 @@ WebInspector.ConsoleMessage.prototype = {
return element;
}
- if (this.repeatCount > 1) {
- var messageRepeatCountElement = document.createElement("span");
- messageRepeatCountElement.className = "bubble";
- messageRepeatCountElement.textContent = this.repeatCount;
-
- element.appendChild(messageRepeatCountElement);
- element.addStyleClass("repeated-message");
- }
-
if (this.url && this.url !== "undefined") {
var urlElement = document.createElement("a");
urlElement.className = "console-message-url webkit-html-resource-link";
@@ -806,9 +792,23 @@ WebInspector.ConsoleMessage.prototype = {
messageTextElement.appendChild(this.formattedMessage);
element.appendChild(messageTextElement);
+ if (this.repeatCount > 1)
+ this._updateRepeatCount();
+
return element;
},
+ _updateRepeatCount: function() {
+ if (!this.repeatCountElement) {
+ this.repeatCountElement = document.createElement("span");
+ this.repeatCountElement.className = "bubble";
+
+ this._element.insertBefore(this.repeatCountElement, this._element.firstChild);
+ this._element.addStyleClass("repeated-message");
+ }
+ this.repeatCountElement.textContent = this.repeatCount;
+ },
+
toString: function()
{
var sourceString;
diff --git a/WebCore/inspector/front-end/inspector.js b/WebCore/inspector/front-end/inspector.js
index 91318f6..161fd3e 100644
--- a/WebCore/inspector/front-end/inspector.js
+++ b/WebCore/inspector/front-end/inspector.js
@@ -1174,7 +1174,7 @@ WebInspector.didCommitLoad = function()
WebInspector.setDocument(null);
}
-WebInspector.addMessageToConsole = function(payload)
+WebInspector.addConsoleMessage = function(payload)
{
var consoleMessage = new WebInspector.ConsoleMessage(
payload.source,
@@ -1188,6 +1188,11 @@ WebInspector.addMessageToConsole = function(payload)
this.console.addMessage(consoleMessage);
}
+WebInspector.updateConsoleMessageRepeatCount = function(count)
+{
+ this.console.updateMessageRepeatCount(count);
+}
+
WebInspector.log = function(message)
{
// remember 'this' for setInterval() callback
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list