Title: [140044] trunk/Source
Revision
140044
Author
timo...@apple.com
Date
2013-01-17 14:32:22 -0800 (Thu, 17 Jan 2013)

Log Message

Make logging console messages to STDOUT work in WebKit2 via a new setting.

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

Reviewed by Joseph Pecoraro.

Source/WebCore:

* page/Console.cpp:
(WebCore::Console::addMessage): Check logsPageMessagesToSystemConsoleEnabled().
(WebCore::internalAddMessage): Ditto. Refactored to return early and drop printExceptions argument.
(WebCore::Console::error): Removed call to shouldPrintExceptions().
(WebCore::Console::log): Ditto.
(WebCore::Console::warn): Ditto.
(WebCore::Console::dir): Ditto.
(WebCore::Console::dirxml): Ditto.
(WebCore::Console::clear): Ditto.
(WebCore::Console::trace): Ditto.
(WebCore::Console::assertCondition): Ditto.
* page/Settings.in: Added logsPageMessagesToSystemConsoleEnabled.

Source/WebKit2:

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled): Added.
(WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled): Added.
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::createInspectorPageGroup): Enable logging in debug builds.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Set new setting in WebCore.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (140043 => 140044)


--- trunk/Source/WebCore/ChangeLog	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebCore/ChangeLog	2013-01-17 22:32:22 UTC (rev 140044)
@@ -1,3 +1,24 @@
+2013-01-17  Timothy Hatcher  <timo...@apple.com>
+
+        Make logging console messages to STDOUT work in WebKit2 via a new setting.
+
+        https://bugs.webkit.org/show_bug.cgi?id=107157
+
+        Reviewed by Joseph Pecoraro.
+
+        * page/Console.cpp:
+        (WebCore::Console::addMessage): Check logsPageMessagesToSystemConsoleEnabled(). 
+        (WebCore::internalAddMessage): Ditto. Refactored to return early and drop printExceptions argument.
+        (WebCore::Console::error): Removed call to shouldPrintExceptions().
+        (WebCore::Console::log): Ditto.
+        (WebCore::Console::warn): Ditto.
+        (WebCore::Console::dir): Ditto.
+        (WebCore::Console::dirxml): Ditto.
+        (WebCore::Console::clear): Ditto.
+        (WebCore::Console::trace): Ditto.
+        (WebCore::Console::assertCondition): Ditto.
+        * page/Settings.in: Added logsPageMessagesToSystemConsoleEnabled.
+
 2013-01-17  Sheriff Bot  <webkit.review....@gmail.com>
 
         Unreviewed, rolling out r140023.

Modified: trunk/Source/WebCore/page/Console.cpp (140043 => 140044)


--- trunk/Source/WebCore/page/Console.cpp	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebCore/page/Console.cpp	2013-01-17 22:32:22 UTC (rev 140044)
@@ -176,7 +176,7 @@
 
     page->chrome()->client()->addMessageToConsole(source, level, message, lineNumber, url);
 
-    if (!shouldPrintExceptions())
+    if (!m_frame->settings()->logsPageMessagesToSystemConsoleEnabled() && !shouldPrintExceptions())
         return;
 
     printSourceURLAndLine(url, lineNumber);
@@ -185,7 +185,7 @@
     printf(" %s\n", message.utf8().data());
 }
 
-static void internalAddMessage(Page* page, MessageType type, MessageLevel level, ScriptState* state, PassRefPtr<ScriptArguments> prpArguments, bool printExceptions, bool acceptNoArguments = false, bool printTrace = false)
+static void internalAddMessage(Page* page, MessageType type, MessageLevel level, ScriptState* state, PassRefPtr<ScriptArguments> prpArguments, bool acceptNoArguments = false, bool printTrace = false)
 {
     RefPtr<ScriptArguments> arguments = prpArguments;
 
@@ -209,21 +209,22 @@
     if (gotMessage)
         page->chrome()->client()->addMessageToConsole(ConsoleAPIMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
 
-    if (printExceptions) {
-        printSourceURLAndLine(lastCaller.sourceURL(), lastCaller.lineNumber());
-        printMessageSourceAndLevelPrefix(ConsoleAPIMessageSource, level);
+    if (!page->settings()->logsPageMessagesToSystemConsoleEnabled() && !Console::shouldPrintExceptions())
+        return;
 
-        for (unsigned i = 0; i < arguments->argumentCount(); ++i) {
-            String argAsString = arguments->argumentAt(i).toString(arguments->globalState());
-            printf(" %s", argAsString.utf8().data());
-        }
+    printSourceURLAndLine(lastCaller.sourceURL(), lastCaller.lineNumber());
+    printMessageSourceAndLevelPrefix(ConsoleAPIMessageSource, level);
 
-        printf("\n");
+    for (size_t i = 0; i < arguments->argumentCount(); ++i) {
+        String argAsString = arguments->argumentAt(i).toString(arguments->globalState());
+        printf(" %s", argAsString.utf8().data());
     }
 
+    printf("\n");
+
     if (printTrace) {
         printf("Stack Trace\n");
-        for (unsigned i = 0; i < callStack->size(); ++i) {
+        for (size_t i = 0; i < callStack->size(); ++i) {
             String functionName = String(callStack->at(i).functionName());
             printf("\t%s\n", functionName.utf8().data());
         }
@@ -238,7 +239,7 @@
 
 void Console::error(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
 {
-    internalAddMessage(page(), LogMessageType, ErrorMessageLevel, state, arguments, shouldPrintExceptions());
+    internalAddMessage(page(), LogMessageType, ErrorMessageLevel, state, arguments);
 }
 
 void Console::info(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
@@ -248,32 +249,32 @@
 
 void Console::log(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
 {
-    internalAddMessage(page(), LogMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions());
+    internalAddMessage(page(), LogMessageType, LogMessageLevel, state, arguments);
 }
 
 void Console::warn(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
 {
-    internalAddMessage(page(), LogMessageType, WarningMessageLevel, state, arguments, shouldPrintExceptions());
+    internalAddMessage(page(), LogMessageType, WarningMessageLevel, state, arguments);
 }
 
 void Console::dir(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
 {
-    internalAddMessage(page(), DirMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions());
+    internalAddMessage(page(), DirMessageType, LogMessageLevel, state, arguments);
 }
 
 void Console::dirxml(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
 {
-    internalAddMessage(page(), DirXMLMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions());
+    internalAddMessage(page(), DirXMLMessageType, LogMessageLevel, state, arguments);
 }
 
 void Console::clear(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
 {
-    internalAddMessage(page(), ClearMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions(), true);
+    internalAddMessage(page(), ClearMessageType, LogMessageLevel, state, arguments, true);
 }
 
 void Console::trace(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
 {
-    internalAddMessage(page(), TraceMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions(), true, shouldPrintExceptions());
+    internalAddMessage(page(), TraceMessageType, LogMessageLevel, state, arguments, true, true);
 }
 
 void Console::assertCondition(ScriptState* state, PassRefPtr<ScriptArguments> arguments, bool condition)
@@ -281,7 +282,7 @@
     if (condition)
         return;
 
-    internalAddMessage(page(), AssertMessageType, ErrorMessageLevel, state, arguments, shouldPrintExceptions(), true);
+    internalAddMessage(page(), AssertMessageType, ErrorMessageLevel, state, arguments, true);
 }
 
 void Console::count(ScriptState* state, PassRefPtr<ScriptArguments> arguments)

Modified: trunk/Source/WebCore/page/Settings.in (140043 => 140044)


--- trunk/Source/WebCore/page/Settings.in	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebCore/page/Settings.in	2013-01-17 22:32:22 UTC (rev 140044)
@@ -176,3 +176,5 @@
 touchDragDropEnabled initial=false
 
 unifiedTextCheckerEnabled initial=defaultUnifiedTextCheckerEnabled
+
+logsPageMessagesToSystemConsoleEnabled initial=false

Modified: trunk/Source/WebKit2/ChangeLog (140043 => 140044)


--- trunk/Source/WebKit2/ChangeLog	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebKit2/ChangeLog	2013-01-17 22:32:22 UTC (rev 140044)
@@ -1,3 +1,21 @@
+2013-01-17  Timothy Hatcher  <timo...@apple.com>
+
+        Make logging console messages to STDOUT work in WebKit2 via a new setting.
+
+        https://bugs.webkit.org/show_bug.cgi?id=107157
+
+        Reviewed by Joseph Pecoraro.
+
+        * Shared/WebPreferencesStore.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled): Added.
+        (WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled): Added.
+        * UIProcess/API/C/WKPreferencesPrivate.h:
+        * UIProcess/WebInspectorProxy.cpp:
+        (WebKit::createInspectorPageGroup): Enable logging in debug builds.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences): Set new setting in WebCore.
+
 2013-01-17  Brady Eidson  <beid...@apple.com>
 
         Each NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders

Modified: trunk/Source/WebKit2/Shared/WebPreferencesStore.h (140043 => 140044)


--- trunk/Source/WebKit2/Shared/WebPreferencesStore.h	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebKit2/Shared/WebPreferencesStore.h	2013-01-17 22:32:22 UTC (rev 140044)
@@ -137,7 +137,11 @@
     macro(UsesEncodingDetector, usesEncodingDetector, Bool, bool, false) \
     macro(TextAutosizingEnabled, textAutosizingEnabled, Bool, bool, false) \
     macro(AggressiveTileRetentionEnabled, aggressiveTileRetentionEnabled, Bool, bool, false) \
+<<<<<<< HEAD
     macro(QTKitEnabled, isQTKitEnabled, Bool, bool, true) \
+=======
+    macro(LogsPageMessagesToSystemConsoleEnabled, logsPageMessagesToSystemConsoleEnabled, Bool, bool, false) \
+>>>>>>> Make logging console messages to STDOUT work in WebKit2 via a new setting.
     \
 
 #define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (140043 => 140044)


--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp	2013-01-17 22:32:22 UTC (rev 140044)
@@ -1004,6 +1004,7 @@
     return toImpl(preferencesRef)->aggressiveTileRetentionEnabled();
 }
 
+<<<<<<< HEAD
 void WKPreferencesSetQTKitEnabled(WKPreferencesRef preferencesRef, bool enabled)
 {
     toImpl(preferencesRef)->setQTKitEnabled(enabled);
@@ -1012,4 +1013,14 @@
 bool WKPreferencesGetQTKitEnabled(WKPreferencesRef preferencesRef)
 {
     return toImpl(preferencesRef)->isQTKitEnabled();
+=======
+void WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferencesRef, bool enabled)
+{
+    toImpl(preferencesRef)->setLogsPageMessagesToSystemConsoleEnabled(enabled);
 }
+
+bool WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferencesRef)
+{
+    return toImpl(preferencesRef)->logsPageMessagesToSystemConsoleEnabled();
+>>>>>>> Make logging console messages to STDOUT work in WebKit2 via a new setting.
+}

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (140043 => 140044)


--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h	2013-01-17 22:32:22 UTC (rev 140044)
@@ -239,6 +239,10 @@
 WK_EXPORT void WKPreferencesSetAggressiveTileRetentionEnabled(WKPreferencesRef preferences, bool enabled);
 WK_EXPORT bool WKPreferencesGetAggressiveTileRetentionEnabled(WKPreferencesRef preferences);
 
+// Defaults to false
+WK_EXPORT void WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferences, bool enabled);
+WK_EXPORT bool WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferences);
+
 WK_EXPORT void WKPreferencesResetTestRunnerOverrides(WKPreferencesRef preferencesRef);
 
 #ifdef __cplusplus

Modified: trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp (140043 => 140044)


--- trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp	2013-01-17 22:32:22 UTC (rev 140044)
@@ -62,6 +62,7 @@
 #ifndef NDEBUG
     // Allow developers to inspect the Web Inspector in debug builds.
     pageGroup->preferences()->setDeveloperExtrasEnabled(true);
+    pageGroup->preferences()->setLogsPageMessagesToSystemConsoleEnabled(true);
 #endif
 
     pageGroup->preferences()->setApplicationChromeModeEnabled(true);

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (140043 => 140044)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2013-01-17 22:31:42 UTC (rev 140043)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2013-01-17 22:32:22 UTC (rev 140044)
@@ -2409,6 +2409,8 @@
     settings->setTextAutosizingEnabled(store.getBoolValueForKey(WebPreferencesKey::textAutosizingEnabledKey()));
 #endif
 
+    settings->setLogsPageMessagesToSystemConsoleEnabled(store.getBoolValueForKey(WebPreferencesKey::logsPageMessagesToSystemConsoleEnabledKey()));
+
     platformPreferencesDidChange(store);
 
     if (m_drawingArea)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to