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
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/page/Console.cpp
- trunk/Source/WebCore/page/Settings.in
- trunk/Source/WebKit2/ChangeLog
- trunk/Source/WebKit2/Shared/WebPreferencesStore.h
- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
- trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp
- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
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