Title: [139927] trunk/Source/WebCore
Revision
139927
Author
[email protected]
Date
2013-01-16 14:52:45 -0800 (Wed, 16 Jan 2013)

Log Message

Fix a crash when printing console messages to STDOUT.

https://bugs.webkit.org/show_bug.cgi?id=107039

Reviewed by Joseph Pecoraro.

* page/Console.cpp:
(WebCore::internalAddMessage): Don't release the RefPtr early. Also log the line number
and convert non-string arguments to strings when printing them.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (139926 => 139927)


--- trunk/Source/WebCore/ChangeLog	2013-01-16 22:39:46 UTC (rev 139926)
+++ trunk/Source/WebCore/ChangeLog	2013-01-16 22:52:45 UTC (rev 139927)
@@ -1,3 +1,15 @@
+2013-01-16  Timothy Hatcher  <[email protected]>
+
+        Fix a crash when printing console messages to STDOUT.
+
+        https://bugs.webkit.org/show_bug.cgi?id=107039
+
+        Reviewed by Joseph Pecoraro.
+
+        * page/Console.cpp:
+        (WebCore::internalAddMessage): Don't release the RefPtr early. Also log the line number
+        and convert non-string arguments to strings when printing them.
+
 2013-01-16  Kenneth Russell  <[email protected]>
 
         Unreviewed, rolling out r139914.

Modified: trunk/Source/WebCore/page/Console.cpp (139926 => 139927)


--- trunk/Source/WebCore/page/Console.cpp	2013-01-16 22:39:46 UTC (rev 139926)
+++ trunk/Source/WebCore/page/Console.cpp	2013-01-16 22:52:45 UTC (rev 139927)
@@ -201,7 +201,7 @@
 
     String message;
     bool gotMessage = arguments->getFirstArgumentAsString(message);
-    InspectorInstrumentation::addMessageToConsole(page, ConsoleAPIMessageSource, type, level, message, state, arguments.release());
+    InspectorInstrumentation::addMessageToConsole(page, ConsoleAPIMessageSource, type, level, message, state, arguments);
 
     if (!page->settings() || page->settings()->privateBrowsingEnabled())
         return;
@@ -210,14 +210,14 @@
         page->chrome()->client()->addMessageToConsole(ConsoleAPIMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
 
     if (printExceptions) {
-        printSourceURLAndLine(lastCaller.sourceURL(), 0);
+        printSourceURLAndLine(lastCaller.sourceURL(), lastCaller.lineNumber());
         printMessageSourceAndLevelPrefix(ConsoleAPIMessageSource, level);
 
         for (unsigned i = 0; i < arguments->argumentCount(); ++i) {
-            String argAsString;
-            if (arguments->argumentAt(i).getString(arguments->globalState(), argAsString))
-                printf(" %s", argAsString.utf8().data());
+            String argAsString = arguments->argumentAt(i).toString(arguments->globalState());
+            printf(" %s", argAsString.utf8().data());
         }
+
         printf("\n");
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to