Changeset 140044 in webkit


Ignore:
Timestamp:
Jan 17, 2013, 2:32:22 PM (13 years ago)
Author:
timothy@apple.com
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.

Location:
trunk/Source
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r140039 r140044  
     12013-01-17  Timothy Hatcher  <timothy@apple.com>
     2
     3        Make logging console messages to STDOUT work in WebKit2 via a new setting.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=107157
     6
     7        Reviewed by Joseph Pecoraro.
     8
     9        * page/Console.cpp:
     10        (WebCore::Console::addMessage): Check logsPageMessagesToSystemConsoleEnabled().
     11        (WebCore::internalAddMessage): Ditto. Refactored to return early and drop printExceptions argument.
     12        (WebCore::Console::error): Removed call to shouldPrintExceptions().
     13        (WebCore::Console::log): Ditto.
     14        (WebCore::Console::warn): Ditto.
     15        (WebCore::Console::dir): Ditto.
     16        (WebCore::Console::dirxml): Ditto.
     17        (WebCore::Console::clear): Ditto.
     18        (WebCore::Console::trace): Ditto.
     19        (WebCore::Console::assertCondition): Ditto.
     20        * page/Settings.in: Added logsPageMessagesToSystemConsoleEnabled.
     21
    1222013-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>
    223
  • trunk/Source/WebCore/page/Console.cpp

    r139927 r140044  
    177177    page->chrome()->client()->addMessageToConsole(source, level, message, lineNumber, url);
    178178
    179     if (!shouldPrintExceptions())
     179    if (!m_frame->settings()->logsPageMessagesToSystemConsoleEnabled() && !shouldPrintExceptions())
    180180        return;
    181181
     
    186186}
    187187
    188 static void internalAddMessage(Page* page, MessageType type, MessageLevel level, ScriptState* state, PassRefPtr<ScriptArguments> prpArguments, bool printExceptions, bool acceptNoArguments = false, bool printTrace = false)
     188static void internalAddMessage(Page* page, MessageType type, MessageLevel level, ScriptState* state, PassRefPtr<ScriptArguments> prpArguments, bool acceptNoArguments = false, bool printTrace = false)
    189189{
    190190    RefPtr<ScriptArguments> arguments = prpArguments;
     
    210210        page->chrome()->client()->addMessageToConsole(ConsoleAPIMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
    211211
    212     if (printExceptions) {
    213         printSourceURLAndLine(lastCaller.sourceURL(), lastCaller.lineNumber());
    214         printMessageSourceAndLevelPrefix(ConsoleAPIMessageSource, level);
    215 
    216         for (unsigned i = 0; i < arguments->argumentCount(); ++i) {
    217             String argAsString = arguments->argumentAt(i).toString(arguments->globalState());
    218             printf(" %s", argAsString.utf8().data());
    219         }
    220 
    221         printf("\n");
    222     }
     212    if (!page->settings()->logsPageMessagesToSystemConsoleEnabled() && !Console::shouldPrintExceptions())
     213        return;
     214
     215    printSourceURLAndLine(lastCaller.sourceURL(), lastCaller.lineNumber());
     216    printMessageSourceAndLevelPrefix(ConsoleAPIMessageSource, level);
     217
     218    for (size_t i = 0; i < arguments->argumentCount(); ++i) {
     219        String argAsString = arguments->argumentAt(i).toString(arguments->globalState());
     220        printf(" %s", argAsString.utf8().data());
     221    }
     222
     223    printf("\n");
    223224
    224225    if (printTrace) {
    225226        printf("Stack Trace\n");
    226         for (unsigned i = 0; i < callStack->size(); ++i) {
     227        for (size_t i = 0; i < callStack->size(); ++i) {
    227228            String functionName = String(callStack->at(i).functionName());
    228229            printf("\t%s\n", functionName.utf8().data());
     
    239240void Console::error(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
    240241{
    241     internalAddMessage(page(), LogMessageType, ErrorMessageLevel, state, arguments, shouldPrintExceptions());
     242    internalAddMessage(page(), LogMessageType, ErrorMessageLevel, state, arguments);
    242243}
    243244
     
    249250void Console::log(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
    250251{
    251     internalAddMessage(page(), LogMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions());
     252    internalAddMessage(page(), LogMessageType, LogMessageLevel, state, arguments);
    252253}
    253254
    254255void Console::warn(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
    255256{
    256     internalAddMessage(page(), LogMessageType, WarningMessageLevel, state, arguments, shouldPrintExceptions());
     257    internalAddMessage(page(), LogMessageType, WarningMessageLevel, state, arguments);
    257258}
    258259
    259260void Console::dir(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
    260261{
    261     internalAddMessage(page(), DirMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions());
     262    internalAddMessage(page(), DirMessageType, LogMessageLevel, state, arguments);
    262263}
    263264
    264265void Console::dirxml(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
    265266{
    266     internalAddMessage(page(), DirXMLMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions());
     267    internalAddMessage(page(), DirXMLMessageType, LogMessageLevel, state, arguments);
    267268}
    268269
    269270void Console::clear(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
    270271{
    271     internalAddMessage(page(), ClearMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions(), true);
     272    internalAddMessage(page(), ClearMessageType, LogMessageLevel, state, arguments, true);
    272273}
    273274
    274275void Console::trace(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
    275276{
    276     internalAddMessage(page(), TraceMessageType, LogMessageLevel, state, arguments, shouldPrintExceptions(), true, shouldPrintExceptions());
     277    internalAddMessage(page(), TraceMessageType, LogMessageLevel, state, arguments, true, true);
    277278}
    278279
     
    282283        return;
    283284
    284     internalAddMessage(page(), AssertMessageType, ErrorMessageLevel, state, arguments, shouldPrintExceptions(), true);
     285    internalAddMessage(page(), AssertMessageType, ErrorMessageLevel, state, arguments, true);
    285286}
    286287
  • trunk/Source/WebCore/page/Settings.in

    r139367 r140044  
    177177
    178178unifiedTextCheckerEnabled initial=defaultUnifiedTextCheckerEnabled
     179
     180logsPageMessagesToSystemConsoleEnabled initial=false
  • trunk/Source/WebKit2/ChangeLog

    r140038 r140044  
     12013-01-17  Timothy Hatcher  <timothy@apple.com>
     2
     3        Make logging console messages to STDOUT work in WebKit2 via a new setting.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=107157
     6
     7        Reviewed by Joseph Pecoraro.
     8
     9        * Shared/WebPreferencesStore.h:
     10        * UIProcess/API/C/WKPreferences.cpp:
     11        (WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled): Added.
     12        (WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled): Added.
     13        * UIProcess/API/C/WKPreferencesPrivate.h:
     14        * UIProcess/WebInspectorProxy.cpp:
     15        (WebKit::createInspectorPageGroup): Enable logging in debug builds.
     16        * WebProcess/WebPage/WebPage.cpp:
     17        (WebKit::WebPage::updatePreferences): Set new setting in WebCore.
     18
    1192013-01-17  Brady Eidson  <beidson@apple.com>
    220
  • trunk/Source/WebKit2/Shared/WebPreferencesStore.h

    r139899 r140044  
    138138    macro(TextAutosizingEnabled, textAutosizingEnabled, Bool, bool, false) \
    139139    macro(AggressiveTileRetentionEnabled, aggressiveTileRetentionEnabled, Bool, bool, false) \
     140<<<<<<< HEAD
    140141    macro(QTKitEnabled, isQTKitEnabled, Bool, bool, true) \
     142=======
     143    macro(LogsPageMessagesToSystemConsoleEnabled, logsPageMessagesToSystemConsoleEnabled, Bool, bool, false) \
     144>>>>>>> Make logging console messages to STDOUT work in WebKit2 via a new setting.
    141145    \
    142146
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp

    r139899 r140044  
    10051005}
    10061006
     1007<<<<<<< HEAD
    10071008void WKPreferencesSetQTKitEnabled(WKPreferencesRef preferencesRef, bool enabled)
    10081009{
     
    10131014{
    10141015    return toImpl(preferencesRef)->isQTKitEnabled();
    1015 }
     1016=======
     1017void WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferencesRef, bool enabled)
     1018{
     1019    toImpl(preferencesRef)->setLogsPageMessagesToSystemConsoleEnabled(enabled);
     1020}
     1021
     1022bool WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferencesRef)
     1023{
     1024    return toImpl(preferencesRef)->logsPageMessagesToSystemConsoleEnabled();
     1025>>>>>>> Make logging console messages to STDOUT work in WebKit2 via a new setting.
     1026}
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h

    r138858 r140044  
    240240WK_EXPORT bool WKPreferencesGetAggressiveTileRetentionEnabled(WKPreferencesRef preferences);
    241241
     242// Defaults to false
     243WK_EXPORT void WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferences, bool enabled);
     244WK_EXPORT bool WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled(WKPreferencesRef preferences);
     245
    242246WK_EXPORT void WKPreferencesResetTestRunnerOverrides(WKPreferencesRef preferencesRef);
    243247
  • trunk/Source/WebKit2/UIProcess/WebInspectorProxy.cpp

    r139023 r140044  
    6363    // Allow developers to inspect the Web Inspector in debug builds.
    6464    pageGroup->preferences()->setDeveloperExtrasEnabled(true);
     65    pageGroup->preferences()->setLogsPageMessagesToSystemConsoleEnabled(true);
    6566#endif
    6667
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r139899 r140044  
    24102410#endif
    24112411
     2412    settings->setLogsPageMessagesToSystemConsoleEnabled(store.getBoolValueForKey(WebPreferencesKey::logsPageMessagesToSystemConsoleEnabledKey()));
     2413
    24122414    platformPreferencesDidChange(store);
    24132415
Note: See TracChangeset for help on using the changeset viewer.