Diff
Modified: trunk/Source/WTF/ChangeLog (218095 => 218096)
--- trunk/Source/WTF/ChangeLog 2017-06-12 12:23:49 UTC (rev 218095)
+++ trunk/Source/WTF/ChangeLog 2017-06-12 12:50:39 UTC (rev 218096)
@@ -1,3 +1,14 @@
+2017-06-12 Carlos Garcia Campos <[email protected]>
+
+ [GTK] Move WebKit GType macros to WTF
+ https://bugs.webkit.org/show_bug.cgi?id=173249
+
+ Reviewed by Žan Doberšek.
+
+ They can be used by glib-based ports and eventually by _javascript_Core glib bindings too.
+
+ * wtf/glib/WTFGType.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h.
+
2017-06-11 Yusuke Suzuki <[email protected]>
[WTF] Make ThreadMessage portable
Copied: trunk/Source/WTF/wtf/glib/WTFGType.h (from rev 218095, trunk/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h) (0 => 218096)
--- trunk/Source/WTF/wtf/glib/WTFGType.h (rev 0)
+++ trunk/Source/WTF/wtf/glib/WTFGType.h 2017-06-12 12:50:39 UTC (rev 218096)
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2017 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.
+ */
+
+#pragma once
+
+#include <glib.h>
+
+#define WEBKIT_PARAM_READABLE (static_cast<GParamFlags>(G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB))
+#define WEBKIT_PARAM_WRITABLE (static_cast<GParamFlags>(G_PARAM_WRITABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB))
+#define WEBKIT_PARAM_READWRITE (static_cast<GParamFlags>(G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB))
+
+#define WEBKIT_DEFINE_ASYNC_DATA_STRUCT(structName) \
+static structName* create##structName() \
+{ \
+ structName* data = "" \
+ new (data) structName(); \
+ return data; \
+} \
+static void destroy##structName(structName* data) \
+{ \
+ data->~structName(); \
+ fastFree(data); \
+}
+
+#define WEBKIT_DEFINE_TYPE(TypeName, type_name, TYPE_PARENT) _WEBKIT_DEFINE_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, 0, { })
+#define WEBKIT_DEFINE_ABSTRACT_TYPE(TypeName, type_name, TYPE_PARENT) _WEBKIT_DEFINE_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, G_TYPE_FLAG_ABSTRACT, { })
+#define WEBKIT_DEFINE_TYPE_WITH_CODE(TypeName, type_name, TYPE_PARENT, Code) _WEBKIT_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, 0) {Code;} _WEBKIT_DEFINE_TYPE_EXTENDED_END()
+
+#define _WEBKIT_DEFINE_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, flags, Code) _WEBKIT_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, flags) {Code;} _WEBKIT_DEFINE_TYPE_EXTENDED_END()
+#define _WEBKIT_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, flags) \
+\
+static void type_name##_class_init(TypeName##Class* klass); \
+static gpointer type_name##_parent_class = 0; \
+static void type_name##_finalize(GObject* object) \
+{ \
+ TypeName* self = (TypeName*)object; \
+ self->priv->~TypeName##Private(); \
+ G_OBJECT_CLASS(type_name##_parent_class)->finalize(object); \
+} \
+\
+static void type_name##_class_intern_init(gpointer klass) \
+{ \
+ GObjectClass* gObjectClass = G_OBJECT_CLASS(klass); \
+ g_type_class_add_private(klass, sizeof(TypeName##Private)); \
+ type_name##_parent_class = g_type_class_peek_parent(klass); \
+ type_name##_class_init((TypeName##Class*)klass); \
+ gObjectClass->finalize = type_name##_finalize; \
+} \
+\
+static void type_name##_init(TypeName* self) \
+{ \
+ TypeName##Private* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, type_name##_get_type(), TypeName##Private); \
+ self->priv = priv; \
+ new (priv) TypeName##Private(); \
+}\
+GType type_name##_get_type(void) \
+{ \
+ static volatile gsize g_define_type_id__volatile = 0; \
+ if (g_once_init_enter(&g_define_type_id__volatile)) { \
+ GType g_define_type_id = \
+ g_type_register_static_simple( \
+ TYPE_PARENT, \
+ g_intern_static_string(#TypeName), \
+ sizeof(TypeName##Class), \
+ (GClassInitFunc)type_name##_class_intern_init, \
+ sizeof(TypeName), \
+ (GInstanceInitFunc)type_name##_init, \
+ (GTypeFlags)flags); \
+ // Custom code follows.
+#define _WEBKIT_DEFINE_TYPE_EXTENDED_END() \
+ g_once_init_leave(&g_define_type_id__volatile, g_define_type_id); \
+ } \
+ return g_define_type_id__volatile; \
+} // Closes type_name##_get_type().
Modified: trunk/Source/WebKit2/ChangeLog (218095 => 218096)
--- trunk/Source/WebKit2/ChangeLog 2017-06-12 12:23:49 UTC (rev 218095)
+++ trunk/Source/WebKit2/ChangeLog 2017-06-12 12:50:39 UTC (rev 218096)
@@ -1,3 +1,14 @@
+2017-06-12 Carlos Garcia Campos <[email protected]>
+
+ [GTK] Move WebKit GType macros to WTF
+ https://bugs.webkit.org/show_bug.cgi?id=173249
+
+ Reviewed by Žan Doberšek.
+
+ Moving to a common place where they could be shared by all ports using a glib-based API.
+
+ * UIProcess/API/gtk/WebKitPrivate.h:
+
2017-06-11 Carlos Garcia Campos <[email protected]>
[GTK] Remove WKInspectorClientGtk
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h (218095 => 218096)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h 2017-06-12 12:23:49 UTC (rev 218095)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h 2017-06-12 12:50:39 UTC (rev 218096)
@@ -23,8 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebKitPrivate_h
-#define WebKitPrivate_h
+#pragma once
#include "WebKitNavigationAction.h"
#include <WebKit/WKAPICast.h>
@@ -42,75 +41,8 @@
#include <WebKit/WebKit2_C.h>
#include <glib.h>
#include <wtf/Assertions.h>
+#include <wtf/glib/WTFGType.h>
-#define WEBKIT_PARAM_READABLE (static_cast<GParamFlags>(G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB))
-#define WEBKIT_PARAM_WRITABLE (static_cast<GParamFlags>(G_PARAM_WRITABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB))
-#define WEBKIT_PARAM_READWRITE (static_cast<GParamFlags>(G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB))
-
-#define WEBKIT_DEFINE_ASYNC_DATA_STRUCT(structName) \
-static structName* create##structName() \
-{ \
- structName* data = "" \
- new (data) structName(); \
- return data; \
-} \
-static void destroy##structName(structName* data) \
-{ \
- data->~structName(); \
- fastFree(data); \
-}
-
-#define WEBKIT_DEFINE_TYPE(TypeName, type_name, TYPE_PARENT) _WEBKIT_DEFINE_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, 0, { })
-#define WEBKIT_DEFINE_ABSTRACT_TYPE(TypeName, type_name, TYPE_PARENT) _WEBKIT_DEFINE_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, G_TYPE_FLAG_ABSTRACT, { })
-#define WEBKIT_DEFINE_TYPE_WITH_CODE(TypeName, type_name, TYPE_PARENT, Code) _WEBKIT_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, 0) {Code;} _WEBKIT_DEFINE_TYPE_EXTENDED_END()
-
-#define _WEBKIT_DEFINE_TYPE_EXTENDED(TypeName, type_name, TYPE_PARENT, flags, Code) _WEBKIT_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, flags) {Code;} _WEBKIT_DEFINE_TYPE_EXTENDED_END()
-#define _WEBKIT_DEFINE_TYPE_EXTENDED_BEGIN(TypeName, type_name, TYPE_PARENT, flags) \
-\
-static void type_name##_class_init(TypeName##Class* klass); \
-static gpointer type_name##_parent_class = 0; \
-static void type_name##_finalize(GObject* object) \
-{ \
- TypeName* self = (TypeName*)object; \
- self->priv->~TypeName##Private(); \
- G_OBJECT_CLASS(type_name##_parent_class)->finalize(object); \
-} \
-\
-static void type_name##_class_intern_init(gpointer klass) \
-{ \
- GObjectClass* gObjectClass = G_OBJECT_CLASS(klass); \
- g_type_class_add_private(klass, sizeof(TypeName##Private)); \
- type_name##_parent_class = g_type_class_peek_parent(klass); \
- type_name##_class_init((TypeName##Class*)klass); \
- gObjectClass->finalize = type_name##_finalize; \
-} \
-\
-static void type_name##_init(TypeName* self) \
-{ \
- TypeName##Private* priv = G_TYPE_INSTANCE_GET_PRIVATE(self, type_name##_get_type(), TypeName##Private); \
- self->priv = priv; \
- new (priv) TypeName##Private(); \
-}\
-GType type_name##_get_type(void) \
-{ \
- static volatile gsize g_define_type_id__volatile = 0; \
- if (g_once_init_enter(&g_define_type_id__volatile)) { \
- GType g_define_type_id = \
- g_type_register_static_simple( \
- TYPE_PARENT, \
- g_intern_static_string(#TypeName), \
- sizeof(TypeName##Class), \
- (GClassInitFunc)type_name##_class_intern_init, \
- sizeof(TypeName), \
- (GInstanceInitFunc)type_name##_init, \
- (GTypeFlags)flags); \
- // Custom code follows.
-#define _WEBKIT_DEFINE_TYPE_EXTENDED_END() \
- g_once_init_leave(&g_define_type_id__volatile, g_define_type_id); \
- } \
- return g_define_type_id__volatile; \
-} // Closes type_name##_get_type().
-
unsigned wkEventModifiersToGdkModifiers(WKEventModifiers);
unsigned wkEventMouseButtonToWebKitMouseButton(WKEventMouseButton);
unsigned toGdkModifiers(WebKit::WebEvent::Modifiers);
@@ -125,5 +57,3 @@
};
static const char networkCacheSubdirectory[] = "WebKitCache";
-
-#endif // WebKitPrivate_h