[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

yurys at chromium.org yurys at chromium.org
Wed Dec 22 14:34:33 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 60e17a3f6ea055107cb6b8510a4f856992647cd9
Author: yurys at chromium.org <yurys at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Oct 13 14:43:36 2010 +0000

    2010-10-13  Yury Semikhatsky  <yurys at chromium.org>
    
            Reviewed by Pavel Feldman.
    
            Web Inspector: stack information is inconsistent between console.trace and runtime errors.
            https://bugs.webkit.org/show_bug.cgi?id=47252
    
            * console.trace() is now formatted the same way as other stack traces
    
            * If there is //@ sourceURL=url line at the end of eval'ed script source
            the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
            type has changed from KURL to String.
    
            Tests: inspector/console-trace-in-eval.html
                   inspector/console-uncaught-exception-in-eval.html
    
            * bindings/js/ScriptCallFrame.cpp:
            (WebCore::ScriptCallFrame::ScriptCallFrame):
            * bindings/js/ScriptCallFrame.h:
            (WebCore::ScriptCallFrame::sourceURL):
            * bindings/v8/ScriptCallFrame.cpp:
            (WebCore::ScriptCallFrame::ScriptCallFrame):
            * bindings/v8/ScriptCallFrame.h:
            (WebCore::ScriptCallFrame::sourceURL):
            * bindings/v8/ScriptCallStack.cpp:
            (WebCore::getFrameLocation):
            (WebCore::ScriptCallStack::create):
            * bindings/v8/ScriptCallStack.h:
            * bindings/v8/ScriptController.cpp:
            (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
            * bindings/v8/custom/V8ConsoleCustom.cpp:
            (WebCore::V8Console::traceCallback):
            * inspector/ConsoleMessage.cpp:
            (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
            (WebCore::ConsoleMessage::ConsoleMessage):
            * inspector/ConsoleMessage.h:
            * inspector/front-end/ConsoleView.js:
            (WebInspector.ConsoleMessage.prototype._formatMessage):
            * page/Console.cpp:
            (WebCore::Console::addMessage):
            (WebCore::Console::count):
            (WebCore::Console::timeEnd):
    
    2010-10-13  Yury Semikhatsky  <yurys at chromium.org>
    
            Reviewed by Pavel Feldman.
    
            Web Inspector: stack information is inconsistent between console.trace and runtime errors.
            https://bugs.webkit.org/show_bug.cgi?id=47252
    
            * inspector/console-trace-in-eval-expected.txt: Added.
            * inspector/console-trace-in-eval.html: Added.
            * inspector/console-uncaught-exception-in-eval-expected.txt: Added.
            * inspector/console-uncaught-exception-in-eval.html: Added.
            * platform/chromium/console-trace-in-eval-expected.txt: Added.
            * platform/chromium/console-uncaught-exception-in-eval-expected.txt: Added.
    
    2010-10-13  Yury Semikhatsky  <yurys at chromium.org>
    
            Reviewed by Pavel Feldman.
    
            Web Inspector: stack information is inconsistent between console.trace and runtime errors.
            https://bugs.webkit.org/show_bug.cgi?id=47252
    
            * DEPS: bump up V8 revision
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69662 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5dc990e..8e0693e 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,17 @@
+2010-10-13  Yury Semikhatsky  <yurys at chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: stack information is inconsistent between console.trace and runtime errors.
+        https://bugs.webkit.org/show_bug.cgi?id=47252
+
+        * inspector/console-trace-in-eval-expected.txt: Added.
+        * inspector/console-trace-in-eval.html: Added.
+        * inspector/console-uncaught-exception-in-eval-expected.txt: Added.
+        * inspector/console-uncaught-exception-in-eval.html: Added.
+        * platform/chromium/console-trace-in-eval-expected.txt: Added.
+        * platform/chromium/console-uncaught-exception-in-eval-expected.txt: Added.
+
 2010-10-13  Csaba Osztrogonác  <ossy at webkit.org>
 
         Unreviewed.
diff --git a/LayoutTests/inspector/console-trace-in-eval-expected.txt b/LayoutTests/inspector/console-trace-in-eval-expected.txt
new file mode 100644
index 0000000..949a315
--- /dev/null
+++ b/LayoutTests/inspector/console-trace-in-eval-expected.txt
@@ -0,0 +1,4 @@
+Tests that when console.trace is called in eval'ed script ending with //@ sourceURL=url it will dump a stack trace that will have the url as the script source. Bug 47252.
+
+console.trace()b:4a:9evalSource:12
+
diff --git a/LayoutTests/inspector/console-trace-in-eval.html b/LayoutTests/inspector/console-trace-in-eval.html
new file mode 100755
index 0000000..46de515
--- /dev/null
+++ b/LayoutTests/inspector/console-trace-in-eval.html
@@ -0,0 +1,42 @@
+<html>
+<head>
+<script src="../http/tests/inspector/inspector-test.js"></script>
+<script src="../http/tests/inspector/console-tests.js"></script>
+<script>
+
+
+function evalSource()
+{
+    function b()
+    {
+        console.trace();
+    }
+
+    function a()
+    {
+        b();
+    }
+
+    a();
+    dumpConsoleMessages();
+}
+
+function doit()
+{
+    setTimeout(function() {
+        eval("(" + evalSource + ")()//@ sourceURL=evalURL.js");
+    }, 0);
+}
+
+</script>
+</head>
+
+<body onload="onload()">
+<p>
+Tests that when console.trace is called in eval'ed script ending
+with //@ sourceURL=url it will dump a stack trace that will have
+the url as the script source. <a href="https://bugs.webkit.org/show_bug.cgi?id=47252">Bug 47252.</a>
+</p>
+
+</body>
+</html>
diff --git a/LayoutTests/inspector/console-uncaught-exception-in-eval-expected.txt b/LayoutTests/inspector/console-uncaught-exception-in-eval-expected.txt
new file mode 100644
index 0000000..2bced13
--- /dev/null
+++ b/LayoutTests/inspector/console-uncaught-exception-in-eval-expected.txt
@@ -0,0 +1,7 @@
+CONSOLE MESSAGE: line 4: Error: Exception in eval.
+CONSOLE MESSAGE: line 4: Error: Exception in eval.
+Tests that when uncaught exception in eval'ed script ending with //@ sourceURL=url is logged into console, its stack trace will have the url as the script source. Bug 47252.
+
+Page reloaded.
+Error: Exception in eval.
+
diff --git a/LayoutTests/inspector/console-uncaught-exception-in-eval.html b/LayoutTests/inspector/console-uncaught-exception-in-eval.html
new file mode 100755
index 0000000..3f5dfce
--- /dev/null
+++ b/LayoutTests/inspector/console-uncaught-exception-in-eval.html
@@ -0,0 +1,46 @@
+<html>
+<head>
+<script src="../http/tests/inspector/inspector-test2.js"></script>
+<script src="../http/tests/inspector/console-tests2.js"></script>
+<script>
+
+function test()
+{
+    InspectorTest.reloadPage(function() {
+        InspectorTest.expandConsoleMessages();
+        InspectorTest.dumpConsoleMessages();
+        InspectorTest.completeTest();
+    });
+}
+
+
+function evalSource()
+{
+    function b()
+    {
+        throw new Error("Exception in eval.");
+    }
+
+    function a()
+    {
+        b();
+    }
+
+    a();
+    dumpConsoleMessages();
+}
+
+eval("(" + evalSource + ")()//@ sourceURL=evalURL.js");
+
+</script>
+</head>
+
+<body onload="runTest()">
+<p>
+Tests that when uncaught exception in eval'ed script ending
+with //@ sourceURL=url is logged into console, its stack trace
+will have the url as the script source. <a href="https://bugs.webkit.org/show_bug.cgi?id=47252">Bug 47252.</a>
+</p>
+
+</body>
+</html>
diff --git a/LayoutTests/platform/chromium/console-trace-in-eval-expected.txt b/LayoutTests/platform/chromium/console-trace-in-eval-expected.txt
new file mode 100755
index 0000000..f771b51
--- /dev/null
+++ b/LayoutTests/platform/chromium/console-trace-in-eval-expected.txt
@@ -0,0 +1,4 @@
+Tests that when console.trace is called in eval'ed script ending with //@ sourceURL=url it will dump a stack trace that will have the url as the script source. Bug 47252.

+

+evalURL.js:5console.trace()bevalURL.js:5aevalURL.js:10evalSourceevalURL.js:13(anonymous function)evalURL.js:15(anonymous function)console-trace-in-eval.html:27

+

diff --git a/LayoutTests/platform/chromium/console-uncaught-exception-in-eval-expected.txt b/LayoutTests/platform/chromium/console-uncaught-exception-in-eval-expected.txt
new file mode 100755
index 0000000..dae1b4f
--- /dev/null
+++ b/LayoutTests/platform/chromium/console-uncaught-exception-in-eval-expected.txt
@@ -0,0 +1,7 @@
+CONSOLE MESSAGE: line 5: Uncaught Error: Exception in eval.

+CONSOLE MESSAGE: line 5: Uncaught Error: Exception in eval.

+Tests that when uncaught exception in eval'ed script ending with //@ sourceURL=url is logged into console, its stack trace will have the url as the script source. Bug 47252.

+

+Page reloaded.

+evalURL.js:5Uncaught Error: Exception in eval.bevalURL.js:5aevalURL.js:10evalSourceevalURL.js:13(anonymous function)evalURL.js:15(anonymous function)console-uncaught-exception-in-eval.html:33

+

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 0237739..5f4c686 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,46 @@
+2010-10-13  Yury Semikhatsky  <yurys at chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: stack information is inconsistent between console.trace and runtime errors.
+        https://bugs.webkit.org/show_bug.cgi?id=47252
+
+        * console.trace() is now formatted the same way as other stack traces
+
+        * If there is //@ sourceURL=url line at the end of eval'ed script source
+        the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL
+        type has changed from KURL to String.
+
+        Tests: inspector/console-trace-in-eval.html
+               inspector/console-uncaught-exception-in-eval.html
+
+        * bindings/js/ScriptCallFrame.cpp:
+        (WebCore::ScriptCallFrame::ScriptCallFrame):
+        * bindings/js/ScriptCallFrame.h:
+        (WebCore::ScriptCallFrame::sourceURL):
+        * bindings/v8/ScriptCallFrame.cpp:
+        (WebCore::ScriptCallFrame::ScriptCallFrame):
+        * bindings/v8/ScriptCallFrame.h:
+        (WebCore::ScriptCallFrame::sourceURL):
+        * bindings/v8/ScriptCallStack.cpp:
+        (WebCore::getFrameLocation):
+        (WebCore::ScriptCallStack::create):
+        * bindings/v8/ScriptCallStack.h:
+        * bindings/v8/ScriptController.cpp:
+        (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
+        * bindings/v8/custom/V8ConsoleCustom.cpp:
+        (WebCore::V8Console::traceCallback):
+        * inspector/ConsoleMessage.cpp:
+        (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
+        (WebCore::ConsoleMessage::ConsoleMessage):
+        * inspector/ConsoleMessage.h:
+        * inspector/front-end/ConsoleView.js:
+        (WebInspector.ConsoleMessage.prototype._formatMessage):
+        * page/Console.cpp:
+        (WebCore::Console::addMessage):
+        (WebCore::Console::count):
+        (WebCore::Console::timeEnd):
+
 2010-10-13  Kent Tamura  <tkent at chromium.org>
 
         Unreviewed, a trivial change.
diff --git a/WebCore/bindings/js/ScriptCallFrame.cpp b/WebCore/bindings/js/ScriptCallFrame.cpp
index 8381a4e..536e2c6 100644
--- a/WebCore/bindings/js/ScriptCallFrame.cpp
+++ b/WebCore/bindings/js/ScriptCallFrame.cpp
@@ -40,7 +40,7 @@ namespace WebCore {
 
 ScriptCallFrame::ScriptCallFrame(const UString& functionName, const UString& urlString, int lineNumber, ExecState* exec, unsigned skipArgumentCount)
     : m_functionName(functionName)
-    , m_sourceURL(ParsedURLString, ustringToString(urlString))
+    , m_sourceURL(ustringToString(urlString))
     , m_lineNumber(lineNumber)
 {
     if (!exec)
diff --git a/WebCore/bindings/js/ScriptCallFrame.h b/WebCore/bindings/js/ScriptCallFrame.h
index 202f4b6..5369ced 100644
--- a/WebCore/bindings/js/ScriptCallFrame.h
+++ b/WebCore/bindings/js/ScriptCallFrame.h
@@ -31,7 +31,6 @@
 #ifndef ScriptCallFrame_h
 #define ScriptCallFrame_h
 
-#include "KURL.h"
 #include <runtime/ArgList.h>
 #include "ScriptString.h"
 #include "ScriptValue.h"
@@ -54,7 +53,7 @@ namespace WebCore {
         ~ScriptCallFrame();
 
         const ScriptString& functionName() const { return m_functionName; }
-        const KURL& sourceURL() const { return m_sourceURL; }
+        const String& sourceURL() const { return m_sourceURL; }
         unsigned lineNumber() const { return m_lineNumber; }
 
         // argument retrieval methods
@@ -63,7 +62,7 @@ namespace WebCore {
 
     private:
         ScriptString m_functionName;
-        KURL m_sourceURL;
+        String m_sourceURL;
         unsigned m_lineNumber;
 
         Vector<ScriptValue> m_arguments;
diff --git a/WebCore/bindings/v8/ScriptCallFrame.cpp b/WebCore/bindings/v8/ScriptCallFrame.cpp
index 9554f67..f0c7343 100644
--- a/WebCore/bindings/v8/ScriptCallFrame.cpp
+++ b/WebCore/bindings/v8/ScriptCallFrame.cpp
@@ -42,7 +42,7 @@ namespace WebCore {
 
 ScriptCallFrame::ScriptCallFrame(const String& functionName, const String& urlString, int lineNumber, const v8::Arguments& arguments, unsigned skipArgumentCount)
     : m_functionName(functionName)
-    , m_sourceURL(ParsedURLString, urlString)
+    , m_sourceURL(urlString)
     , m_lineNumber(lineNumber)
 {
     for (int i = skipArgumentCount; i < arguments.Length(); ++i)
@@ -51,7 +51,7 @@ ScriptCallFrame::ScriptCallFrame(const String& functionName, const String& urlSt
 
 ScriptCallFrame::ScriptCallFrame(const String& functionName, const String& urlString, int lineNumber)
     : m_functionName(functionName)
-    , m_sourceURL(ParsedURLString, urlString)
+    , m_sourceURL(urlString)
     , m_lineNumber(lineNumber)
 {
 }
diff --git a/WebCore/bindings/v8/ScriptCallFrame.h b/WebCore/bindings/v8/ScriptCallFrame.h
index 8d1972f..935deb5 100644
--- a/WebCore/bindings/v8/ScriptCallFrame.h
+++ b/WebCore/bindings/v8/ScriptCallFrame.h
@@ -54,7 +54,7 @@ namespace WebCore {
         ~ScriptCallFrame();
 
         const ScriptString& functionName() const { return m_functionName; }
-        const KURL& sourceURL() const { return m_sourceURL; }
+        const String& sourceURL() const { return m_sourceURL; }
         unsigned lineNumber() const { return m_lineNumber; }
 
         // argument retrieval methods
@@ -63,7 +63,7 @@ namespace WebCore {
 
     private:
         ScriptString m_functionName;
-        KURL m_sourceURL;
+        String m_sourceURL;
         unsigned m_lineNumber;
 
         Vector<ScriptValue> m_arguments;
diff --git a/WebCore/bindings/v8/ScriptCallStack.cpp b/WebCore/bindings/v8/ScriptCallStack.cpp
index 7c07829..3e29c7a 100644
--- a/WebCore/bindings/v8/ScriptCallStack.cpp
+++ b/WebCore/bindings/v8/ScriptCallStack.cpp
@@ -44,7 +44,7 @@ namespace WebCore {
 static void getFrameLocation(v8::Handle<v8::StackFrame> frame, String* sourceName, int* sourceLineNumber, String* functionName)
 {
     ASSERT(!frame.IsEmpty());
-    v8::Local<v8::String> sourceNameValue(frame->GetScriptName());
+    v8::Local<v8::String> sourceNameValue(frame->GetScriptNameOrSourceURL());
     v8::Local<v8::String> functionNameValue(frame->GetFunctionName());
     *sourceName = sourceNameValue.IsEmpty() ? "" : toWebCoreString(sourceNameValue);
     *functionName = functionNameValue.IsEmpty() ? "" : toWebCoreString(functionNameValue);
@@ -85,13 +85,19 @@ static void toScriptCallFramesVector(v8::Local<v8::Context> context, v8::Handle<
 }
 
 const int ScriptCallStack::maxCallStackSizeToCapture = 200;
+const v8::StackTrace::StackTraceOptions ScriptCallStack::stackTraceOptions = static_cast<v8::StackTrace::StackTraceOptions>(
+     v8::StackTrace::kLineNumber
+    | v8::StackTrace::kColumnOffset
+    | v8::StackTrace::kScriptNameOrSourceURL
+    | v8::StackTrace::kFunctionName);
+
 
 PassOwnPtr<ScriptCallStack> ScriptCallStack::create(const v8::Arguments& arguments, unsigned skipArgumentCount, int framCountLimit)
 {
     v8::HandleScope scope;
     v8::Local<v8::Context> context = v8::Context::GetCurrent();
     v8::Context::Scope contextScope(context);
-    v8::Handle<v8::StackTrace> stackTrace(v8::StackTrace::CurrentStackTrace(framCountLimit));
+    v8::Handle<v8::StackTrace> stackTrace(v8::StackTrace::CurrentStackTrace(framCountLimit, ScriptCallStack::stackTraceOptions));
 
     if (stackTrace.IsEmpty())
         return 0;
diff --git a/WebCore/bindings/v8/ScriptCallStack.h b/WebCore/bindings/v8/ScriptCallStack.h
index 215cdec..98e5195 100644
--- a/WebCore/bindings/v8/ScriptCallStack.h
+++ b/WebCore/bindings/v8/ScriptCallStack.h
@@ -48,6 +48,7 @@ class InspectorArray;
 class ScriptCallStack : public Noncopyable {
 public:
     static const int maxCallStackSizeToCapture;
+    static const v8::StackTrace::StackTraceOptions stackTraceOptions;
 
     static PassOwnPtr<ScriptCallStack> create(const v8::Arguments&, unsigned skipArgumentCount = 0, int framCountLimit = 1);
     static PassOwnPtr<ScriptCallStack> create(ScriptState*, v8::Handle<v8::StackTrace>);
diff --git a/WebCore/bindings/v8/ScriptController.cpp b/WebCore/bindings/v8/ScriptController.cpp
index 9819679..4904a4e 100644
--- a/WebCore/bindings/v8/ScriptController.cpp
+++ b/WebCore/bindings/v8/ScriptController.cpp
@@ -466,9 +466,9 @@ void ScriptController::clearWindowShell(bool)
 }
 
 #if ENABLE(INSPECTOR)
-void ScriptController::setCaptureCallStackForUncaughtExceptions(bool)
+void ScriptController::setCaptureCallStackForUncaughtExceptions(bool value)
 {
-    v8::V8::SetCaptureStackTraceForUncaughtExceptions(true, ScriptCallStack::maxCallStackSizeToCapture);
+    v8::V8::SetCaptureStackTraceForUncaughtExceptions(value, ScriptCallStack::maxCallStackSizeToCapture, ScriptCallStack::stackTraceOptions);
 }
 #endif
 
diff --git a/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp b/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
index baffbd4..fc83b61 100644
--- a/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
@@ -64,7 +64,7 @@ v8::Handle<v8::Value> V8Console::traceCallback(const v8::Arguments& args)
     Console* imp = V8Console::toNative(args.Holder());
     v8::HandleScope handleScope;
     ScriptState* scriptState = ScriptState::current();
-    v8::Local<v8::StackTrace> stackTrace = v8::StackTrace::CurrentStackTrace(ScriptCallStack::maxCallStackSizeToCapture);
+    v8::Local<v8::StackTrace> stackTrace = v8::StackTrace::CurrentStackTrace(ScriptCallStack::maxCallStackSizeToCapture, ScriptCallStack::stackTraceOptions);
     OwnPtr<ScriptCallStack> callStack(ScriptCallStack::create(scriptState, stackTrace));
     imp->trace(callStack.get());
     return v8::Handle<v8::Value>();
diff --git a/WebCore/inspector/ConsoleMessage.cpp b/WebCore/inspector/ConsoleMessage.cpp
index f3bd6bc..58ca8d3 100644
--- a/WebCore/inspector/ConsoleMessage.cpp
+++ b/WebCore/inspector/ConsoleMessage.cpp
@@ -67,7 +67,7 @@ PassRefPtr<InspectorObject> ConsoleMessage::CallFrame::buildInspectorObject() co
 {
     RefPtr<InspectorObject> frame = InspectorObject::create();
     frame->setString("functionName", m_functionName);
-    frame->setString("sourceURL", m_sourceURL.string());
+    frame->setString("sourceURL", m_sourceURL);
     frame->setNumber("lineNumber", m_lineNumber);
     return frame;
 }
@@ -100,7 +100,7 @@ ConsoleMessage::ConsoleMessage(MessageSource s, MessageType t, MessageLevel l, c
 {
     const ScriptCallFrame& lastCaller = callStack->at(0);
     m_line = lastCaller.lineNumber();
-    m_url = lastCaller.sourceURL().string();
+    m_url = lastCaller.sourceURL();
 
     if (storeTrace) {
         for (unsigned i = 0; i < callStack->size(); ++i)
diff --git a/WebCore/inspector/ConsoleMessage.h b/WebCore/inspector/ConsoleMessage.h
index d10fa3d..4d8f0a2 100644
--- a/WebCore/inspector/ConsoleMessage.h
+++ b/WebCore/inspector/ConsoleMessage.h
@@ -72,7 +72,7 @@ private:
 
     private:
         String m_functionName;
-        KURL m_sourceURL;
+        String m_sourceURL;
         unsigned m_lineNumber;
     };
 
diff --git a/WebCore/inspector/front-end/ConsoleView.js b/WebCore/inspector/front-end/ConsoleView.js
index c83cc64..25d81ac 100644
--- a/WebCore/inspector/front-end/ConsoleView.js
+++ b/WebCore/inspector/front-end/ConsoleView.js
@@ -679,25 +679,22 @@ WebInspector.ConsoleMessage.prototype = {
             case WebInspector.ConsoleMessage.MessageType.UncaughtException:
                 var ol = document.createElement("ol");
                 ol.addStyleClass("stack-trace");
-                if (this.type === WebInspector.ConsoleMessage.MessageType.Trace)
-                    ol.addStyleClass("trace-message");
                 var treeOutline = new TreeOutline(ol);
+                var messageText;
+                if (this.type === WebInspector.ConsoleMessage.MessageType.Assert)
+                    messageText = this._format(this._parameters);
+                else if (this.type === WebInspector.ConsoleMessage.MessageType.Trace)
+                    messageText = document.createTextNode("console.trace()");
+                else
+                    messageText = document.createTextNode(this._messageText);
 
-                var root = treeOutline;
-                if (this.type === WebInspector.ConsoleMessage.MessageType.UncaughtException ||
-                    this.type === WebInspector.ConsoleMessage.MessageType.Assert) {
-                    var messageText;
-                    if (this.type === WebInspector.ConsoleMessage.MessageType.Assert)
-                        messageText = this._format(this._parameters);
-                    else
-                        messageText = document.createTextNode(this._messageText);
-
-                    var content = document.createElement("div");
-                    this._addMessageHeader(content, messageText);
-                    root = new TreeElement(content, null, true);
-                    content.treeElementForTest = root;
-                    treeOutline.appendChild(root);
-                }
+                var content = document.createElement("div");
+                this._addMessageHeader(content, messageText);
+                var root = new TreeElement(content, null, true);
+                content.treeElementForTest = root;
+                treeOutline.appendChild(root);
+                if (this.type === WebInspector.ConsoleMessage.MessageType.Trace)
+                    root.expand();
 
                 this._populateStackTraceTreeElement(root);
                 this.formattedMessage = ol;
diff --git a/WebCore/page/Console.cpp b/WebCore/page/Console.cpp
index 9cc8d5d..2d4cc98 100644
--- a/WebCore/page/Console.cpp
+++ b/WebCore/page/Console.cpp
@@ -182,7 +182,7 @@ void Console::addMessage(MessageType type, MessageLevel level, ScriptCallStack*
 
     String message;
     if (getFirstArgumentAsString(callStack->state(), lastCaller, message))
-        page->chrome()->client()->addMessageToConsole(JSMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL().prettyURL());
+        page->chrome()->client()->addMessageToConsole(JSMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
 
 #if ENABLE(INSPECTOR)
     page->inspectorController()->addMessageToConsole(JSMessageSource, type, level, callStack, message);
@@ -191,7 +191,7 @@ void Console::addMessage(MessageType type, MessageLevel level, ScriptCallStack*
     if (!Console::shouldPrintExceptions())
         return;
 
-    printSourceURLAndLine(lastCaller.sourceURL().prettyURL(), 0);
+    printSourceURLAndLine(lastCaller.sourceURL(), 0);
     printMessageSourceAndLevelPrefix(JSMessageSource, level);
 
     for (unsigned i = 0; i < lastCaller.argumentCount(); ++i) {
@@ -269,7 +269,7 @@ void Console::count(ScriptCallStack* callStack)
     String title;
     getFirstArgumentAsString(callStack->state(), lastCaller, title);
 
-    page->inspectorController()->count(title, lastCaller.lineNumber(), lastCaller.sourceURL().string());
+    page->inspectorController()->count(title, lastCaller.lineNumber(), lastCaller.sourceURL());
 #else
     UNUSED_PARAM(callStack);
 #endif
@@ -413,7 +413,7 @@ void Console::timeEnd(const String& title, ScriptCallStack* callStack)
     String message = title + String::format(": %.0fms", elapsed);
 
     const ScriptCallFrame& lastCaller = callStack->at(0);
-    page->inspectorController()->addMessageToConsole(JSMessageSource, LogMessageType, LogMessageLevel, message, lastCaller.lineNumber(), lastCaller.sourceURL().string());
+    page->inspectorController()->addMessageToConsole(JSMessageSource, LogMessageType, LogMessageLevel, message, lastCaller.lineNumber(), lastCaller.sourceURL());
 #else
     UNUSED_PARAM(title);
     UNUSED_PARAM(callStack);
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 180e330..0f5eb2d 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,12 @@
+2010-10-13  Yury Semikhatsky  <yurys at chromium.org>
+
+        Reviewed by Pavel Feldman.
+
+        Web Inspector: stack information is inconsistent between console.trace and runtime errors.
+        https://bugs.webkit.org/show_bug.cgi?id=47252
+
+        * DEPS: bump up V8 revision
+
 2010-10-12  Kenneth Russell  <kbr at google.com>
 
         Unreviewed. Fixes for all WebGL content causing assertion failures
diff --git a/WebKit/chromium/DEPS b/WebKit/chromium/DEPS
index ef2ad67..1b91487 100644
--- a/WebKit/chromium/DEPS
+++ b/WebKit/chromium/DEPS
@@ -32,7 +32,7 @@
 
 vars = {
   'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
-  'chromium_rev': '62349',
+  'chromium_rev': '62399',
 }
 
 deps = {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list