diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp b/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp new file mode 100644 index 000000000..418e3ee28 --- /dev/null +++ b/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp @@ -0,0 +1,166 @@ +/* + * Copyright (C) 2015 Igalia S.L. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include "config.h" +#include "WebKitConsoleMessage.h" + +#include "WebKitConsoleMessagePrivate.h" + +G_DEFINE_BOXED_TYPE(WebKitConsoleMessage, webkit_console_message, webkit_console_message_copy, webkit_console_message_free) + +/** + * webkit_console_message_copy: + * @console_message: a #WebKitConsoleMessage + * + * Make a copy of @console_message. + * + * Returns: (transfer full): A copy of passed in #WebKitConsoleMessage + * + * Since: 2.12 + */ +WebKitConsoleMessage* webkit_console_message_copy(WebKitConsoleMessage* consoleMessage) +{ + g_return_val_if_fail(consoleMessage, nullptr); + WebKitConsoleMessage* copy = static_cast<WebKitConsoleMessage*>(fastZeroedMalloc(sizeof(WebKitConsoleMessage))); + new (copy) WebKitConsoleMessage(consoleMessage); + return copy; +} + +/** + * webkit_console_message_free: + * @console_message: a #WebKitConsoleMessage + * + * Free the #WebKitConsoleMessage + * + * Since: 2.12 + */ +void webkit_console_message_free(WebKitConsoleMessage* consoleMessage) +{ + g_return_if_fail(consoleMessage); + consoleMessage->~WebKitConsoleMessage(); + fastFree(consoleMessage); +} + +/** + * webkit_console_message_get_source: + * @console_message: a #WebKitConsoleMessage + * + * Gets the source of a #WebKitConsoleMessage + * + * Returns: a #WebKitConsoleMessageSource indicating the source of @console_message + * + * Since: 2.12 + */ +WebKitConsoleMessageSource webkit_console_message_get_source(WebKitConsoleMessage* consoleMessage) +{ + g_return_val_if_fail(consoleMessage, WEBKIT_CONSOLE_MESSAGE_SOURCE_OTHER); + switch (consoleMessage->source) { + case JSC::MessageSource::JS: + return WEBKIT_CONSOLE_MESSAGE_SOURCE_JAVASCRIPT; + case JSC::MessageSource::Network: + return WEBKIT_CONSOLE_MESSAGE_SOURCE_NETWORK; + case JSC::MessageSource::ConsoleAPI: + return WEBKIT_CONSOLE_MESSAGE_SOURCE_CONSOLE_API; + case JSC::MessageSource::Security: + return WEBKIT_CONSOLE_MESSAGE_SOURCE_SECURITY; + case JSC::MessageSource::Other: + default: + break; + } + + return WEBKIT_CONSOLE_MESSAGE_SOURCE_OTHER; +} + +/** + * webkit_console_message_get_level: + * @console_message: a #WebKitConsoleMessage + * + * Gets the log level of a #WebKitConsoleMessage + * + * Returns: a #WebKitConsoleMessageLevel indicating the log level of @console_message + * + * Since: 2.12 + */ +WebKitConsoleMessageLevel webkit_console_message_get_level(WebKitConsoleMessage* consoleMessage) +{ + g_return_val_if_fail(consoleMessage, WEBKIT_CONSOLE_MESSAGE_LEVEL_LOG); + switch (consoleMessage->level) { + case JSC::MessageLevel::Log: + return WEBKIT_CONSOLE_MESSAGE_LEVEL_LOG; + case JSC::MessageLevel::Warning: + return WEBKIT_CONSOLE_MESSAGE_LEVEL_WARNING; + case JSC::MessageLevel::Error: + return WEBKIT_CONSOLE_MESSAGE_LEVEL_ERROR; + case JSC::MessageLevel::Debug: + return WEBKIT_CONSOLE_MESSAGE_LEVEL_DEBUG; + case JSC::MessageLevel::Info: + return WEBKIT_CONSOLE_MESSAGE_LEVEL_INFO; + } + + ASSERT_NOT_REACHED(); + return WEBKIT_CONSOLE_MESSAGE_LEVEL_LOG; +} + +/** + * webkit_console_message_get_text: + * @console_message: a #WebKitConsoleMessage + * + * Gets the text message of a #WebKitConsoleMessage + * + * Returns: the text message of @console_message + * + * Since: 2.12 + */ +const gchar* webkit_console_message_get_text(WebKitConsoleMessage* consoleMessage) +{ + g_return_val_if_fail(consoleMessage, nullptr); + return consoleMessage->message.data(); +} + +/** + * webkit_console_message_get_line: + * @console_message: a #WebKitConsoleMessage + * + * Gets the line number of a #WebKitConsoleMessage + * + * Returns: the line number of @console_message + * + * Since: 2.12 + */ +guint webkit_console_message_get_line(WebKitConsoleMessage* consoleMessage) +{ + g_return_val_if_fail(consoleMessage, 0); + return consoleMessage->lineNumber; +} + +/** + * webkit_console_message_get_source_id: + * @console_message: a #WebKitConsoleMessage + * + * Gets the source identifier of a #WebKitConsoleMessage + * + * Returns: the source identifier of @console_message + * + * Since: 2.12 + */ +const gchar* webkit_console_message_get_source_id(WebKitConsoleMessage* consoleMessage) +{ + g_return_val_if_fail(consoleMessage, nullptr); + return consoleMessage->sourceID.data(); +} |