summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp')
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp166
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();
+}