summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-11-23 15:08:59 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2012-11-23 15:09:20 +0100
commit061d58bc0fa016cfeed744fd3e4663460635d69b (patch)
treead9b8b032c803e1c9054c23fa1b7a0f1976bf98f /Source/WebKit2/UIProcess/API/gtk
parent470286ecfe79d59df14944e5b5d34630fc739391 (diff)
downloadqtwebkit-061d58bc0fa016cfeed744fd3e4663460635d69b.tar.gz
Imported WebKit commit 8eb048315f36fa33731f28694630fe4a3c2cbc99 (http://svn.webkit.org/repository/webkit/trunk@135602)
New snapshot that fixes various bugs Change-Id: Icb6ce541a26a9f500d087821ce4b83a8d8a5474a Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp21
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp20
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp21
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp27
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp25
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp27
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp19
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp17
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp19
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp17
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp28
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp18
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp18
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitPlugin.cpp26
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp35
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitPrintOperation.cpp26
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h51
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp17
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitSecurityManager.cpp20
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp43
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp19
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp19
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp18
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp18
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp27
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp20
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp40
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp55
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp22
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp19
30 files changed, 205 insertions, 547 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp
index 56eae4437..fbf302aa8 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardList.cpp
@@ -63,27 +63,10 @@ struct _WebKitBackForwardListPrivate {
static guint signals[LAST_SIGNAL] = { 0, };
-G_DEFINE_TYPE(WebKitBackForwardList, webkit_back_forward_list, G_TYPE_OBJECT)
-
-static void webkitBackForwardListFinalize(GObject* object)
-{
- WEBKIT_BACK_FORWARD_LIST(object)->priv->~WebKitBackForwardListPrivate();
- G_OBJECT_CLASS(webkit_back_forward_list_parent_class)->finalize(object);
-}
-
-static void webkit_back_forward_list_init(WebKitBackForwardList* list)
-{
- WebKitBackForwardListPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(list, WEBKIT_TYPE_BACK_FORWARD_LIST, WebKitBackForwardListPrivate);
- list->priv = priv;
- new (priv) WebKitBackForwardListPrivate();
-}
+WEBKIT_DEFINE_TYPE(WebKitBackForwardList, webkit_back_forward_list, G_TYPE_OBJECT)
static void webkit_back_forward_list_class_init(WebKitBackForwardListClass* listClass)
{
- GObjectClass* gObjectClass = G_OBJECT_CLASS(listClass);
-
- gObjectClass->finalize = webkitBackForwardListFinalize;
-
/**
* WebKitBackForwardList::changed:
* @back_forward_list: the #WebKitBackForwardList on which the signal was emitted
@@ -105,8 +88,6 @@ static void webkit_back_forward_list_class_init(WebKitBackForwardListClass* list
G_TYPE_NONE, 2,
WEBKIT_TYPE_BACK_FORWARD_LIST_ITEM,
G_TYPE_POINTER);
-
- g_type_class_add_private(listClass, sizeof(WebKitBackForwardListPrivate));
}
static WebKitBackForwardListItem* webkitBackForwardListGetOrCreateItem(WebKitBackForwardList* list, WebBackForwardListItem* webListItem)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp
index 8b22afc46..53fd1c8c2 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp
@@ -35,28 +35,10 @@ struct _WebKitBackForwardListItemPrivate {
CString originalURI;
};
-G_DEFINE_TYPE(WebKitBackForwardListItem, webkit_back_forward_list_item, G_TYPE_INITIALLY_UNOWNED)
-
-static void webkitBackForwardListItemFinalize(GObject* object)
-{
- WEBKIT_BACK_FORWARD_LIST_ITEM(object)->priv->~WebKitBackForwardListItemPrivate();
- G_OBJECT_CLASS(webkit_back_forward_list_item_parent_class)->finalize(object);
-}
-
-static void webkit_back_forward_list_item_init(WebKitBackForwardListItem* listItem)
-{
- WebKitBackForwardListItemPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(listItem, WEBKIT_TYPE_BACK_FORWARD_LIST_ITEM, WebKitBackForwardListItemPrivate);
- listItem->priv = priv;
- new (priv) WebKitBackForwardListItemPrivate();
-}
+WEBKIT_DEFINE_TYPE(WebKitBackForwardListItem, webkit_back_forward_list_item, G_TYPE_INITIALLY_UNOWNED)
static void webkit_back_forward_list_item_class_init(WebKitBackForwardListItemClass* listItemClass)
{
- GObjectClass* gObjectClass = G_OBJECT_CLASS(listItemClass);
-
- gObjectClass->finalize = webkitBackForwardListItemFinalize;
-
- g_type_class_add_private(listItemClass, sizeof(WebKitBackForwardListItemPrivate));
}
typedef HashMap<WebBackForwardListItem*, WebKitBackForwardListItem*> HistoryItemsMap;
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp
index e65728aac..46ce958ee 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenu.cpp
@@ -33,29 +33,18 @@ struct _WebKitContextMenuPrivate {
WebKitContextMenuItem* parentItem;
};
-G_DEFINE_TYPE(WebKitContextMenu, webkit_context_menu, G_TYPE_OBJECT)
+WEBKIT_DEFINE_TYPE(WebKitContextMenu, webkit_context_menu, G_TYPE_OBJECT)
-static void webkitContextMenuFinalize(GObject* object)
+static void webkitContextMenuDispose(GObject* object)
{
- WebKitContextMenu* menu = WEBKIT_CONTEXT_MENU(object);
- webkit_context_menu_remove_all(menu);
- menu->priv->~WebKitContextMenuPrivate();
- G_OBJECT_CLASS(webkit_context_menu_parent_class)->finalize(object);
-}
-
-static void webkit_context_menu_init(WebKitContextMenu* menu)
-{
- WebKitContextMenuPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(menu, WEBKIT_TYPE_CONTEXT_MENU, WebKitContextMenuPrivate);
- menu->priv = priv;
- new (priv) WebKitContextMenuPrivate();
+ webkit_context_menu_remove_all(WEBKIT_CONTEXT_MENU(object));
+ G_OBJECT_CLASS(webkit_context_menu_parent_class)->dispose(object);
}
static void webkit_context_menu_class_init(WebKitContextMenuClass* listClass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(listClass);
- gObjectClass->finalize = webkitContextMenuFinalize;
-
- g_type_class_add_private(listClass, sizeof(WebKitContextMenuPrivate));
+ gObjectClass->dispose = webkitContextMenuDispose;
}
void webkitContextMenuPopulate(WebKitContextMenu* menu, Vector<ContextMenuItem>& contextMenuItems)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp
index a73f07575..aa89b990b 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuItem.cpp
@@ -38,33 +38,20 @@ using namespace WebKit;
using namespace WebCore;
struct _WebKitContextMenuItemPrivate {
+ ~_WebKitContextMenuItemPrivate()
+ {
+ if (subMenu)
+ webkitContextMenuSetParentItem(subMenu.get(), 0);
+ }
+
OwnPtr<ContextMenuItem> menuItem;
GRefPtr<WebKitContextMenu> subMenu;
};
-G_DEFINE_TYPE(WebKitContextMenuItem, webkit_context_menu_item, G_TYPE_INITIALLY_UNOWNED)
-
-static void webkitContextMenuItemFinalize(GObject* object)
-{
- WebKitContextMenuItemPrivate* priv = WEBKIT_CONTEXT_MENU_ITEM(object)->priv;
- if (priv->subMenu)
- webkitContextMenuSetParentItem(priv->subMenu.get(), 0);
- priv->~WebKitContextMenuItemPrivate();
- G_OBJECT_CLASS(webkit_context_menu_item_parent_class)->finalize(object);
-}
-
-static void webkit_context_menu_item_init(WebKitContextMenuItem* item)
-{
- WebKitContextMenuItemPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(item, WEBKIT_TYPE_CONTEXT_MENU_ITEM, WebKitContextMenuItemPrivate);
- item->priv = priv;
- new (priv) WebKitContextMenuItemPrivate();
-}
+WEBKIT_DEFINE_TYPE(WebKitContextMenuItem, webkit_context_menu_item, G_TYPE_INITIALLY_UNOWNED)
static void webkit_context_menu_item_class_init(WebKitContextMenuItemClass* itemClass)
{
- GObjectClass* gObjectClass = G_OBJECT_CLASS(itemClass);
- gObjectClass->finalize = webkitContextMenuItemFinalize;
- g_type_class_add_private(itemClass, sizeof(WebKitContextMenuItemPrivate));
}
static bool checkAndWarnIfMenuHasParentItem(WebKitContextMenu* menu)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp
index 66db1cc5b..29a37ebd3 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp
@@ -36,12 +36,17 @@ enum {
};
struct _WebKitCookieManagerPrivate {
+ ~_WebKitCookieManagerPrivate()
+ {
+ webCookieManager->stopObservingCookieChanges();
+ }
+
RefPtr<WebCookieManagerProxy> webCookieManager;
};
static guint signals[LAST_SIGNAL] = { 0, };
-G_DEFINE_TYPE(WebKitCookieManager, webkit_cookie_manager, G_TYPE_OBJECT)
+WEBKIT_DEFINE_TYPE(WebKitCookieManager, webkit_cookie_manager, G_TYPE_OBJECT)
COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT, SoupCookiePersistentStorageText);
COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_PERSISTENT_STORAGE_SQLITE, SoupCookiePersistentStorageSQLite);
@@ -50,27 +55,9 @@ COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS, HTTPCookieAccep
COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_NEVER, HTTPCookieAcceptPolicyNever);
COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY, HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain);
-static void webkit_cookie_manager_init(WebKitCookieManager* manager)
-{
- WebKitCookieManagerPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(manager, WEBKIT_TYPE_COOKIE_MANAGER, WebKitCookieManagerPrivate);
- manager->priv = priv;
- new (priv) WebKitCookieManagerPrivate();
-}
-
-static void webkitCookieManagerFinalize(GObject* object)
-{
- WebKitCookieManagerPrivate* priv = WEBKIT_COOKIE_MANAGER(object)->priv;
- priv->webCookieManager->stopObservingCookieChanges();
- priv->~WebKitCookieManagerPrivate();
- G_OBJECT_CLASS(webkit_cookie_manager_parent_class)->finalize(object);
-}
-
static void webkit_cookie_manager_class_init(WebKitCookieManagerClass* findClass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(findClass);
- gObjectClass->finalize = webkitCookieManagerFinalize;
-
- g_type_class_add_private(findClass, sizeof(WebKitCookieManagerPrivate));
/**
* WebKitCookieManager::changed:
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp
index a6754de06..245f1a61b 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp
@@ -53,6 +53,12 @@ enum {
};
struct _WebKitDownloadPrivate {
+ ~_WebKitDownloadPrivate()
+ {
+ if (webView)
+ g_object_remove_weak_pointer(G_OBJECT(webView), reinterpret_cast<void**>(&webView));
+ }
+
RefPtr<DownloadProxy> download;
GRefPtr<WebKitURIRequest> request;
@@ -68,16 +74,7 @@ struct _WebKitDownloadPrivate {
static guint signals[LAST_SIGNAL] = { 0, };
-G_DEFINE_TYPE(WebKitDownload, webkit_download, G_TYPE_OBJECT)
-
-static void webkitDownloadFinalize(GObject* object)
-{
- WebKitDownloadPrivate* priv = WEBKIT_DOWNLOAD(object)->priv;
- if (priv->webView)
- g_object_remove_weak_pointer(G_OBJECT(priv->webView), reinterpret_cast<void**>(&priv->webView));
- priv->~WebKitDownloadPrivate();
- G_OBJECT_CLASS(webkit_download_parent_class)->finalize(object);
-}
+WEBKIT_DEFINE_TYPE(WebKitDownload, webkit_download, G_TYPE_OBJECT)
static void webkitDownloadGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
@@ -111,18 +108,10 @@ static gboolean webkitDownloadDecideDestination(WebKitDownload* download, const
return TRUE;
}
-static void webkit_download_init(WebKitDownload* download)
-{
- WebKitDownloadPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(download, WEBKIT_TYPE_DOWNLOAD, WebKitDownloadPrivate);
- download->priv = priv;
- new (priv) WebKitDownloadPrivate();
-}
-
static void webkit_download_class_init(WebKitDownloadClass* downloadClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(downloadClass);
objectClass->get_property = webkitDownloadGetProperty;
- objectClass->finalize = webkitDownloadFinalize;
downloadClass->decide_destination = webkitDownloadDecideDestination;
@@ -264,8 +253,6 @@ static void webkit_download_class_init(WebKitDownloadClass* downloadClass)
g_cclosure_marshal_VOID__STRING,
G_TYPE_BOOLEAN, 1,
G_TYPE_STRING);
-
- g_type_class_add_private(downloadClass, sizeof(WebKitDownloadPrivate));
}
WebKitDownload* webkitDownloadCreate(DownloadProxy* downloadProxy)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp
index 1847b9605..d50533b91 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp
@@ -52,14 +52,7 @@ struct _WebKitFaviconDatabasePrivate {
HashMap<String, String> pageURLToIconURLMap;
};
-G_DEFINE_TYPE(WebKitFaviconDatabase, webkit_favicon_database, G_TYPE_OBJECT)
-
-static void webkit_favicon_database_init(WebKitFaviconDatabase* manager)
-{
- WebKitFaviconDatabasePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(manager, WEBKIT_TYPE_FAVICON_DATABASE, WebKitFaviconDatabasePrivate);
- manager->priv = priv;
- new (priv) WebKitFaviconDatabasePrivate();
-}
+WEBKIT_DEFINE_TYPE(WebKitFaviconDatabase, webkit_favicon_database, G_TYPE_OBJECT)
static void webkitFaviconDatabaseDispose(GObject* object)
{
@@ -72,18 +65,10 @@ static void webkitFaviconDatabaseDispose(GObject* object)
G_OBJECT_CLASS(webkit_favicon_database_parent_class)->dispose(object);
}
-static void webkitFaviconDatabaseFinalize(GObject* object)
-{
- WebKitFaviconDatabase* database = WEBKIT_FAVICON_DATABASE(object);
- database->priv->~WebKitFaviconDatabasePrivate();
- G_OBJECT_CLASS(webkit_favicon_database_parent_class)->finalize(object);
-}
-
static void webkit_favicon_database_class_init(WebKitFaviconDatabaseClass* faviconDatabaseClass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(faviconDatabaseClass);
gObjectClass->dispose = webkitFaviconDatabaseDispose;
- gObjectClass->finalize = webkitFaviconDatabaseFinalize;
/**
* WebKitFaviconDatabase::favicon-changed:
@@ -108,8 +93,6 @@ static void webkit_favicon_database_class_init(WebKitFaviconDatabaseClass* favic
G_TYPE_NONE, 2,
G_TYPE_STRING,
G_TYPE_STRING);
-
- g_type_class_add_private(faviconDatabaseClass, sizeof(WebKitFaviconDatabasePrivate));
}
struct GetFaviconSurfaceAsyncData {
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp
index 26ab99b44..85ae0efa0 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp
@@ -56,7 +56,6 @@ using namespace WebCore;
* WebKit will provide a default handler which will asynchronously run
* a regular #GtkFileChooserDialog for the user to interact with.
*/
-G_DEFINE_TYPE(WebKitFileChooserRequest, webkit_file_chooser_request, G_TYPE_OBJECT)
struct _WebKitFileChooserRequestPrivate {
RefPtr<WebOpenPanelParameters> parameters;
@@ -67,6 +66,8 @@ struct _WebKitFileChooserRequestPrivate {
bool handledRequest;
};
+WEBKIT_DEFINE_TYPE(WebKitFileChooserRequest, webkit_file_chooser_request, G_TYPE_OBJECT)
+
enum {
PROP_0,
PROP_FILTER,
@@ -75,13 +76,7 @@ enum {
PROP_SELECTED_FILES,
};
-static void webkit_file_chooser_request_init(WebKitFileChooserRequest* request)
-{
- request->priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_FILE_CHOOSER_REQUEST, WebKitFileChooserRequestPrivate);
- new (request->priv) WebKitFileChooserRequestPrivate();
-}
-
-static void webkitFileChooserRequestFinalize(GObject* object)
+static void webkitFileChooserRequestDispose(GObject* object)
{
WebKitFileChooserRequest* request = WEBKIT_FILE_CHOOSER_REQUEST(object);
@@ -89,8 +84,7 @@ static void webkitFileChooserRequestFinalize(GObject* object)
if (!request->priv->handledRequest)
webkit_file_chooser_request_cancel(request);
- request->priv->~WebKitFileChooserRequestPrivate();
- G_OBJECT_CLASS(webkit_file_chooser_request_parent_class)->finalize(object);
+ G_OBJECT_CLASS(webkit_file_chooser_request_parent_class)->dispose(object);
}
static void webkitFileChooserRequestGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
@@ -118,9 +112,8 @@ static void webkitFileChooserRequestGetProperty(GObject* object, guint propId, G
static void webkit_file_chooser_request_class_init(WebKitFileChooserRequestClass* requestClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(requestClass);
- objectClass->finalize = webkitFileChooserRequestFinalize;
+ objectClass->dispose = webkitFileChooserRequestDispose;
objectClass->get_property = webkitFileChooserRequestGetProperty;
- g_type_class_add_private(requestClass, sizeof(WebKitFileChooserRequestPrivate));
/**
* WebKitFileChooserRequest:filter:
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp
index be3f571d6..7e36a4ad5 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFindController.cpp
@@ -62,7 +62,7 @@ struct _WebKitFindControllerPrivate {
static guint signals[LAST_SIGNAL] = { 0, };
-G_DEFINE_TYPE(WebKitFindController, webkit_find_controller, G_TYPE_OBJECT)
+WEBKIT_DEFINE_TYPE(WebKitFindController, webkit_find_controller, G_TYPE_OBJECT)
COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE, FindOptionsCaseInsensitive);
COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_FIND_OPTIONS_AT_WORD_STARTS, FindOptionsAtWordStarts);
@@ -85,13 +85,6 @@ static void didCountStringMatches(WKPageRef page, WKStringRef string, unsigned m
g_signal_emit(WEBKIT_FIND_CONTROLLER(clientInfo), signals[COUNTED_MATCHES], 0, matchCount);
}
-static void webkit_find_controller_init(WebKitFindController* findController)
-{
- WebKitFindControllerPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(findController, WEBKIT_TYPE_FIND_CONTROLLER, WebKitFindControllerPrivate);
- findController->priv = priv;
- new (priv) WebKitFindControllerPrivate();
-}
-
static inline WebPageProxy* getPage(WebKitFindController* findController)
{
return webkitWebViewBaseGetPage(reinterpret_cast<WebKitWebViewBase*>(findController->priv->webView));
@@ -146,22 +139,12 @@ static void webkitFindControllerSetProperty(GObject* object, guint propId, const
}
}
-static void webkitFindControllerFinalize(GObject* object)
-{
- WEBKIT_FIND_CONTROLLER(object)->priv->~WebKitFindControllerPrivate();
- G_OBJECT_CLASS(webkit_find_controller_parent_class)->finalize(object);
-}
-
static void webkit_find_controller_class_init(WebKitFindControllerClass* findClass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(findClass);
-
gObjectClass->constructed = webkitFindControllerConstructed;
gObjectClass->get_property = webkitFindControllerGetProperty;
gObjectClass->set_property = webkitFindControllerSetProperty;
- gObjectClass->finalize = webkitFindControllerFinalize;
-
- g_type_class_add_private(findClass, sizeof(WebKitFindControllerPrivate));
/**
* WebKitFindController:text:
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp
index f901e7375..816cee3f6 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp
@@ -28,8 +28,6 @@
using namespace WebKit;
-G_DEFINE_TYPE(WebKitFormSubmissionRequest, webkit_form_submission_request, G_TYPE_OBJECT)
-
struct _WebKitFormSubmissionRequestPrivate {
RefPtr<ImmutableDictionary> webValues;
RefPtr<WebFormSubmissionListenerProxy> listener;
@@ -37,14 +35,9 @@ struct _WebKitFormSubmissionRequestPrivate {
bool handledRequest;
};
-static void webkit_form_submission_request_init(WebKitFormSubmissionRequest* request)
-{
- WebKitFormSubmissionRequestPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_FORM_SUBMISSION_REQUEST, WebKitFormSubmissionRequestPrivate);
- request->priv = priv;
- new (priv) WebKitFormSubmissionRequestPrivate();
-}
+WEBKIT_DEFINE_TYPE(WebKitFormSubmissionRequest, webkit_form_submission_request, G_TYPE_OBJECT)
-static void webkitFormSubmissionRequestFinalize(GObject* object)
+static void webkitFormSubmissionRequestDispose(GObject* object)
{
WebKitFormSubmissionRequest* request = WEBKIT_FORM_SUBMISSION_REQUEST(object);
@@ -52,15 +45,13 @@ static void webkitFormSubmissionRequestFinalize(GObject* object)
if (!request->priv->handledRequest)
webkit_form_submission_request_submit(request);
- request->priv->~WebKitFormSubmissionRequestPrivate();
- G_OBJECT_CLASS(webkit_form_submission_request_parent_class)->finalize(object);
+ G_OBJECT_CLASS(webkit_form_submission_request_parent_class)->dispose(object);
}
static void webkit_form_submission_request_class_init(WebKitFormSubmissionRequestClass* requestClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(requestClass);
- objectClass->finalize = webkitFormSubmissionRequestFinalize;
- g_type_class_add_private(requestClass, sizeof(WebKitFormSubmissionRequestPrivate));
+ objectClass->dispose = webkitFormSubmissionRequestDispose;
}
WebKitFormSubmissionRequest* webkitFormSubmissionRequestCreate(ImmutableDictionary* values, WebFormSubmissionListenerProxy* listener)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp
index 664293770..f780dafb2 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp
@@ -36,16 +36,18 @@ using namespace WebKit;
* permission to decide whether WebKit should provide the user's
* location to a website when requested throught the Geolocation API.
*/
+
static void webkit_permission_request_interface_init(WebKitPermissionRequestIface*);
-G_DEFINE_TYPE_WITH_CODE(WebKitGeolocationPermissionRequest, webkit_geolocation_permission_request, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE(WEBKIT_TYPE_PERMISSION_REQUEST,
- webkit_permission_request_interface_init))
struct _WebKitGeolocationPermissionRequestPrivate {
RefPtr<GeolocationPermissionRequestProxy> request;
bool madeDecision;
};
+WEBKIT_DEFINE_TYPE_WITH_CODE(
+ WebKitGeolocationPermissionRequest, webkit_geolocation_permission_request, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE(WEBKIT_TYPE_PERMISSION_REQUEST, webkit_permission_request_interface_init))
+
static void webkitGeolocationPermissionRequestAllow(WebKitPermissionRequest* request)
{
ASSERT(WEBKIT_IS_GEOLOCATION_PERMISSION_REQUEST(request));
@@ -80,29 +82,17 @@ static void webkit_permission_request_interface_init(WebKitPermissionRequestIfac
iface->deny = webkitGeolocationPermissionRequestDeny;
}
-static void webkit_geolocation_permission_request_init(WebKitGeolocationPermissionRequest* request)
+static void webkitGeolocationPermissionRequestDispose(GObject* object)
{
- request->priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_GEOLOCATION_PERMISSION_REQUEST, WebKitGeolocationPermissionRequestPrivate);
- new (request->priv) WebKitGeolocationPermissionRequestPrivate();
-}
-
-static void webkitGeolocationPermissionRequestFinalize(GObject* object)
-{
- WebKitGeolocationPermissionRequestPrivate* priv = WEBKIT_GEOLOCATION_PERMISSION_REQUEST(object)->priv;
-
// Default behaviour when no decision has been made is denying the request.
- if (!priv->madeDecision)
- priv->request->deny();
-
- priv->~WebKitGeolocationPermissionRequestPrivate();
- G_OBJECT_CLASS(webkit_geolocation_permission_request_parent_class)->finalize(object);
+ webkitGeolocationPermissionRequestDeny(WEBKIT_PERMISSION_REQUEST(object));
+ G_OBJECT_CLASS(webkit_geolocation_permission_request_parent_class)->dispose(object);
}
static void webkit_geolocation_permission_request_class_init(WebKitGeolocationPermissionRequestClass* klass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(klass);
- objectClass->finalize = webkitGeolocationPermissionRequestFinalize;
- g_type_class_add_private(klass, sizeof(WebKitGeolocationPermissionRequestPrivate));
+ objectClass->dispose = webkitGeolocationPermissionRequestDispose;
}
WebKitGeolocationPermissionRequest* webkitGeolocationPermissionRequestCreate(GeolocationPermissionRequestProxy* request)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp
index 4c9486782..8df293cba 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp
@@ -74,13 +74,7 @@ struct _WebKitHitTestResultPrivate {
CString mediaURI;
};
-G_DEFINE_TYPE(WebKitHitTestResult, webkit_hit_test_result, G_TYPE_OBJECT)
-
-static void webkitHitTestResultFinalize(GObject* object)
-{
- WEBKIT_HIT_TEST_RESULT(object)->priv->~WebKitHitTestResultPrivate();
- G_OBJECT_CLASS(webkit_hit_test_result_parent_class)->finalize(object);
-}
+WEBKIT_DEFINE_TYPE(WebKitHitTestResult, webkit_hit_test_result, G_TYPE_OBJECT)
static void webkitHitTestResultGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
@@ -138,19 +132,11 @@ static void webkitHitTestResultSetProperty(GObject* object, guint propId, const
}
}
-static void webkit_hit_test_result_init(WebKitHitTestResult* hitTestResult)
-{
- WebKitHitTestResultPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(hitTestResult, WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResultPrivate);
- hitTestResult->priv = priv;
- new (priv) WebKitHitTestResultPrivate();
-}
-
static void webkit_hit_test_result_class_init(WebKitHitTestResultClass* hitTestResultClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(hitTestResultClass);
objectClass->get_property = webkitHitTestResultGetProperty;
objectClass->set_property = webkitHitTestResultSetProperty;
- objectClass->finalize = webkitHitTestResultFinalize;
GParamFlags paramFlags = static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
@@ -233,8 +219,6 @@ static void webkit_hit_test_result_class_init(WebKitHitTestResultClass* hitTestR
_("The media URI"),
0,
paramFlags));
-
- g_type_class_add_private(hitTestResultClass, sizeof(WebKitHitTestResultPrivate));
}
WebKitHitTestResult* webkitHitTestResultCreate(WebHitTestResult* hitTestResult)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp
index 0901d8079..deef50c55 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp
@@ -43,8 +43,6 @@ using namespace WebCore;
* the navigation was triggered by a mouse event.
*/
-G_DEFINE_TYPE(WebKitNavigationPolicyDecision, webkit_navigation_policy_decision, WEBKIT_TYPE_POLICY_DECISION)
-
struct _WebKitNavigationPolicyDecisionPrivate {
WebKitNavigationType navigationType;
unsigned modifiers;
@@ -53,6 +51,8 @@ struct _WebKitNavigationPolicyDecisionPrivate {
CString frameName;
};
+WEBKIT_DEFINE_TYPE(WebKitNavigationPolicyDecision, webkit_navigation_policy_decision, WEBKIT_TYPE_POLICY_DECISION)
+
enum {
PROP_0,
PROP_NAVIGATION_TYPE,
@@ -62,18 +62,6 @@ enum {
PROP_FRAME_NAME,
};
-static void webkit_navigation_policy_decision_init(WebKitNavigationPolicyDecision* decision)
-{
- decision->priv = G_TYPE_INSTANCE_GET_PRIVATE(decision, WEBKIT_TYPE_NAVIGATION_POLICY_DECISION, WebKitNavigationPolicyDecisionPrivate);
- new (decision->priv) WebKitNavigationPolicyDecisionPrivate();
-}
-
-static void webkitNavigationPolicyDecisionFinalize(GObject* object)
-{
- WEBKIT_NAVIGATION_POLICY_DECISION(object)->priv->~WebKitNavigationPolicyDecisionPrivate();
- G_OBJECT_CLASS(webkit_navigation_policy_decision_parent_class)->finalize(object);
-}
-
static void webkitNavigationPolicyDecisionGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
WebKitNavigationPolicyDecision* decision = WEBKIT_NAVIGATION_POLICY_DECISION(object);
@@ -102,9 +90,7 @@ static void webkitNavigationPolicyDecisionGetProperty(GObject* object, guint pro
static void webkit_navigation_policy_decision_class_init(WebKitNavigationPolicyDecisionClass* decisionClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(decisionClass);
- objectClass->finalize = webkitNavigationPolicyDecisionFinalize;
objectClass->get_property = webkitNavigationPolicyDecisionGetProperty;
- g_type_class_add_private(decisionClass, sizeof(WebKitNavigationPolicyDecisionPrivate));
/**
* WebKitNavigationPolicyDecision:navigation-type:
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPlugin.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitPlugin.cpp
index aff651aed..0dd1121cf 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitPlugin.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPlugin.cpp
@@ -27,6 +27,11 @@
using namespace WebKit;
struct _WebKitPluginPrivate {
+ ~_WebKitPluginPrivate()
+ {
+ g_list_free_full(mimeInfoList, reinterpret_cast<GDestroyNotify>(webkit_mime_info_unref));
+ }
+
PluginModuleInfo pluginInfo;
CString name;
CString description;
@@ -34,29 +39,10 @@ struct _WebKitPluginPrivate {
GList* mimeInfoList;
};
-G_DEFINE_TYPE(WebKitPlugin, webkit_plugin, G_TYPE_OBJECT)
-
-static void webkitPluginFinalize(GObject* object)
-{
- WebKitPluginPrivate* priv = WEBKIT_PLUGIN(object)->priv;
- g_list_free_full(priv->mimeInfoList, reinterpret_cast<GDestroyNotify>(webkit_mime_info_unref));
- priv->~WebKitPluginPrivate();
- G_OBJECT_CLASS(webkit_plugin_parent_class)->finalize(object);
-}
-
-static void webkit_plugin_init(WebKitPlugin* plugin)
-{
- WebKitPluginPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(plugin, WEBKIT_TYPE_PLUGIN, WebKitPluginPrivate);
- plugin->priv = priv;
- new (priv) WebKitPluginPrivate();
-}
+WEBKIT_DEFINE_TYPE(WebKitPlugin, webkit_plugin, G_TYPE_OBJECT)
static void webkit_plugin_class_init(WebKitPluginClass* pluginClass)
{
- GObjectClass* gObjectClass = G_OBJECT_CLASS(pluginClass);
- gObjectClass->finalize = webkitPluginFinalize;
-
- g_type_class_add_private(pluginClass, sizeof(WebKitPluginPrivate));
}
WebKitPlugin* webkitPluginCreate(const PluginModuleInfo& pluginInfo)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp
index 3e9ef3fbf..ee44eaebb 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPolicyDecision.cpp
@@ -41,30 +41,18 @@ using namespace WebKit;
* completes. To make a policy decision asynchronously, simply increment
* the reference count of the #WebKitPolicyDecision object.
*/
-G_DEFINE_ABSTRACT_TYPE(WebKitPolicyDecision, webkit_policy_decision, G_TYPE_OBJECT)
struct _WebKitPolicyDecisionPrivate {
RefPtr<WebFramePolicyListenerProxy> listener;
bool madePolicyDecision;
};
-static void webkit_policy_decision_init(WebKitPolicyDecision* decision)
-{
- decision->priv = G_TYPE_INSTANCE_GET_PRIVATE(decision, WEBKIT_TYPE_POLICY_DECISION, WebKitPolicyDecisionPrivate);
- new (decision->priv) WebKitPolicyDecisionPrivate();
- decision->priv->madePolicyDecision = false;
-}
+WEBKIT_DEFINE_ABSTRACT_TYPE(WebKitPolicyDecision, webkit_policy_decision, G_TYPE_OBJECT)
-static void webkitPolicyDecisionFinalize(GObject* object)
+static void webkitPolicyDecisionDispose(GObject* object)
{
- WebKitPolicyDecisionPrivate* priv = WEBKIT_POLICY_DECISION(object)->priv;
-
- // This is the default choice for all policy decisions in WebPageProxy.cpp.
- if (!priv->madePolicyDecision)
- priv->listener->use();
-
- priv->~WebKitPolicyDecisionPrivate();
- G_OBJECT_CLASS(webkit_policy_decision_parent_class)->finalize(object);
+ webkit_policy_decision_use(WEBKIT_POLICY_DECISION(object));
+ G_OBJECT_CLASS(webkit_policy_decision_parent_class)->dispose(object);
}
void webkitPolicyDecisionSetListener(WebKitPolicyDecision* decision, WebFramePolicyListenerProxy* listener)
@@ -75,8 +63,7 @@ void webkitPolicyDecisionSetListener(WebKitPolicyDecision* decision, WebFramePol
static void webkit_policy_decision_class_init(WebKitPolicyDecisionClass* decisionClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(decisionClass);
- objectClass->finalize = webkitPolicyDecisionFinalize;
- g_type_class_add_private(decisionClass, sizeof(WebKitPolicyDecisionPrivate));
+ objectClass->dispose = webkitPolicyDecisionDispose;
}
/**
@@ -88,6 +75,10 @@ static void webkit_policy_decision_class_init(WebKitPolicyDecisionClass* decisio
void webkit_policy_decision_use(WebKitPolicyDecision* decision)
{
g_return_if_fail(WEBKIT_IS_POLICY_DECISION(decision));
+
+ if (decision->priv->madePolicyDecision)
+ return;
+
decision->priv->listener->use();
decision->priv->madePolicyDecision = true;
}
@@ -102,6 +93,10 @@ void webkit_policy_decision_use(WebKitPolicyDecision* decision)
void webkit_policy_decision_ignore(WebKitPolicyDecision* decision)
{
g_return_if_fail(WEBKIT_IS_POLICY_DECISION(decision));
+
+ if (decision->priv->madePolicyDecision)
+ return;
+
decision->priv->listener->ignore();
decision->priv->madePolicyDecision = true;
}
@@ -115,6 +110,10 @@ void webkit_policy_decision_ignore(WebKitPolicyDecision* decision)
void webkit_policy_decision_download(WebKitPolicyDecision* decision)
{
g_return_if_fail(WEBKIT_IS_POLICY_DECISION(decision));
+
+ if (decision->priv->madePolicyDecision)
+ return;
+
decision->priv->listener->download();
decision->priv->madePolicyDecision = true;
}
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPrintOperation.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitPrintOperation.cpp
index 7da0b197a..6b72d188d 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitPrintOperation.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPrintOperation.cpp
@@ -54,6 +54,11 @@ enum {
};
struct _WebKitPrintOperationPrivate {
+ ~_WebKitPrintOperationPrivate()
+ {
+ g_signal_handler_disconnect(webView, webViewDestroyedId);
+ }
+
WebKitWebView* webView;
gulong webViewDestroyedId;
@@ -63,16 +68,7 @@ struct _WebKitPrintOperationPrivate {
static guint signals[LAST_SIGNAL] = { 0, };
-G_DEFINE_TYPE(WebKitPrintOperation, webkit_print_operation, G_TYPE_OBJECT)
-
-static void webkitPrintOperationFinalize(GObject* object)
-{
- WebKitPrintOperationPrivate* priv = WEBKIT_PRINT_OPERATION(object)->priv;
- g_signal_handler_disconnect(priv->webView, priv->webViewDestroyedId);
-
- priv->~WebKitPrintOperationPrivate();
- G_OBJECT_CLASS(webkit_print_operation_parent_class)->finalize(object);
-}
+WEBKIT_DEFINE_TYPE(WebKitPrintOperation, webkit_print_operation, G_TYPE_OBJECT)
static void webViewDestroyed(GtkWidget* webView, GObject* printOperation)
{
@@ -128,17 +124,9 @@ static void webkitPrintOperationSetProperty(GObject* object, guint propId, const
}
}
-static void webkit_print_operation_init(WebKitPrintOperation* printOperation)
-{
- WebKitPrintOperationPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(printOperation, WEBKIT_TYPE_PRINT_OPERATION, WebKitPrintOperationPrivate);
- printOperation->priv = priv;
- new (priv) WebKitPrintOperationPrivate();
-}
-
static void webkit_print_operation_class_init(WebKitPrintOperationClass* printOperationClass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(printOperationClass);
- gObjectClass->finalize = webkitPrintOperationFinalize;
gObjectClass->constructed = webkitPrintOperationConstructed;
gObjectClass->get_property = webkitPrintOperationGetProperty;
gObjectClass->set_property = webkitPrintOperationSetProperty;
@@ -213,8 +201,6 @@ static void webkit_print_operation_class_init(WebKitPrintOperationClass* printOp
g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE, 1,
G_TYPE_POINTER);
-
- g_type_class_add_private(printOperationClass, sizeof(WebKitPrintOperationPrivate));
}
#ifdef HAVE_GTK_UNIX_PRINTING
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h
index 5aabcbc2e..be39e802c 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h
@@ -66,6 +66,57 @@ static void destroy##structName(structName* data) \
g_slice_free(structName, 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);
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp
index ab5f38c97..3a75e38c9 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp
@@ -44,31 +44,20 @@ using namespace WebKit;
* whether or not to download a particular resource or to load it
* normally.
*/
-G_DEFINE_TYPE(WebKitResponsePolicyDecision, webkit_response_policy_decision, WEBKIT_TYPE_POLICY_DECISION)
struct _WebKitResponsePolicyDecisionPrivate {
GRefPtr<WebKitURIRequest> request;
GRefPtr<WebKitURIResponse> response;
};
+WEBKIT_DEFINE_TYPE(WebKitResponsePolicyDecision, webkit_response_policy_decision, WEBKIT_TYPE_POLICY_DECISION)
+
enum {
PROP_0,
PROP_REQUEST,
PROP_RESPONSE,
};
-static void webkit_response_policy_decision_init(WebKitResponsePolicyDecision* decision)
-{
- decision->priv = G_TYPE_INSTANCE_GET_PRIVATE(decision, WEBKIT_TYPE_RESPONSE_POLICY_DECISION, WebKitResponsePolicyDecisionPrivate);
- new (decision->priv) WebKitResponsePolicyDecisionPrivate();
-}
-
-static void webkitResponsePolicyDecisionFinalize(GObject* object)
-{
- WEBKIT_RESPONSE_POLICY_DECISION(object)->priv->~WebKitResponsePolicyDecisionPrivate();
- G_OBJECT_CLASS(webkit_response_policy_decision_parent_class)->finalize(object);
-}
-
static void webkitResponsePolicyDecisionGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
WebKitResponsePolicyDecision* decision = WEBKIT_RESPONSE_POLICY_DECISION(object);
@@ -88,9 +77,7 @@ static void webkitResponsePolicyDecisionGetProperty(GObject* object, guint propI
static void webkit_response_policy_decision_class_init(WebKitResponsePolicyDecisionClass* decisionClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(decisionClass);
- objectClass->finalize = webkitResponsePolicyDecisionFinalize;
objectClass->get_property = webkitResponsePolicyDecisionGetProperty;
- g_type_class_add_private(decisionClass, sizeof(WebKitResponsePolicyDecisionPrivate));
/**
* WebKitResponsePolicyDecision:request:
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitSecurityManager.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitSecurityManager.cpp
index d170fcf3f..cd8803749 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitSecurityManager.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitSecurityManager.cpp
@@ -40,28 +40,10 @@ struct _WebKitSecurityManagerPrivate {
WebKitWebContext* webContext;
};
-G_DEFINE_TYPE(WebKitSecurityManager, webkit_security_manager, G_TYPE_OBJECT)
-
-static void webkit_security_manager_init(WebKitSecurityManager* manager)
-{
- WebKitSecurityManagerPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(manager, WEBKIT_TYPE_SECURITY_MANAGER, WebKitSecurityManagerPrivate);
- manager->priv = priv;
- new (priv) WebKitSecurityManagerPrivate();
-}
-
-static void webkitSecurityManagerFinalize(GObject* object)
-{
- WebKitSecurityManagerPrivate* priv = WEBKIT_SECURITY_MANAGER(object)->priv;
- priv->~WebKitSecurityManagerPrivate();
- G_OBJECT_CLASS(webkit_security_manager_parent_class)->finalize(object);
-}
+WEBKIT_DEFINE_TYPE(WebKitSecurityManager, webkit_security_manager, G_TYPE_OBJECT)
static void webkit_security_manager_class_init(WebKitSecurityManagerClass* klass)
{
- GObjectClass* gObjectClass = G_OBJECT_CLASS(klass);
- gObjectClass->finalize = webkitSecurityManagerFinalize;
-
- g_type_class_add_private(klass, sizeof(WebKitSecurityManagerPrivate));
}
WebKitSecurityManager* webkitSecurityManagerCreate(WebKitWebContext* webContext)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp
index 005aaae78..bf1ede057 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp
@@ -43,6 +43,19 @@
using namespace WebKit;
struct _WebKitSettingsPrivate {
+ _WebKitSettingsPrivate()
+ : preferences(WebPreferences::create())
+ {
+ defaultFontFamily = preferences->standardFontFamily().utf8();
+ monospaceFontFamily = preferences->fixedFontFamily().utf8();
+ serifFontFamily = preferences->serifFontFamily().utf8();
+ sansSerifFontFamily = preferences->sansSerifFontFamily().utf8();
+ cursiveFontFamily = preferences->cursiveFontFamily().utf8();
+ fantasyFontFamily = preferences->fantasyFontFamily().utf8();
+ pictographFontFamily = preferences->pictographFontFamily().utf8();
+ defaultCharset = preferences->defaultTextEncodingName().utf8();
+ }
+
RefPtr<WebPreferences> preferences;
CString defaultFontFamily;
CString monospaceFontFamily;
@@ -74,8 +87,7 @@ struct _WebKitSettingsPrivate {
* </programlisting></informalexample>
*/
-
-G_DEFINE_TYPE(WebKitSettings, webkit_settings, G_TYPE_OBJECT)
+WEBKIT_DEFINE_TYPE(WebKitSettings, webkit_settings, G_TYPE_OBJECT)
enum {
PROP_0,
@@ -405,18 +417,11 @@ static void webKitSettingsGetProperty(GObject* object, guint propId, GValue* val
}
}
-static void webKitSettingsFinalize(GObject* object)
-{
- WEBKIT_SETTINGS(object)->priv->~WebKitSettingsPrivate();
- G_OBJECT_CLASS(webkit_settings_parent_class)->finalize(object);
-}
-
static void webkit_settings_class_init(WebKitSettingsClass* klass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(klass);
gObjectClass->set_property = webKitSettingsSetProperty;
gObjectClass->get_property = webKitSettingsGetProperty;
- gObjectClass->finalize = webKitSettingsFinalize;
GParamFlags readWriteConstructParamFlags = static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT);
@@ -1062,26 +1067,6 @@ static void webkit_settings_class_init(WebKitSettingsClass* klass)
_("Whether to enable smooth scrolling"),
FALSE,
readWriteConstructParamFlags));
-
- g_type_class_add_private(klass, sizeof(WebKitSettingsPrivate));
-}
-
-static void webkit_settings_init(WebKitSettings* settings)
-{
- WebKitSettingsPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(settings, WEBKIT_TYPE_SETTINGS, WebKitSettingsPrivate);
- settings->priv = priv;
- new (priv) WebKitSettingsPrivate();
-
- priv->preferences = WebPreferences::create();
- priv->defaultFontFamily = priv->preferences->standardFontFamily().utf8();
- priv->monospaceFontFamily = priv->preferences->fixedFontFamily().utf8();
- priv->serifFontFamily = priv->preferences->serifFontFamily().utf8();
- priv->sansSerifFontFamily = priv->preferences->sansSerifFontFamily().utf8();
- priv->cursiveFontFamily = priv->preferences->cursiveFontFamily().utf8();
- priv->fantasyFontFamily = priv->preferences->fantasyFontFamily().utf8();
- priv->pictographFontFamily = priv->preferences->pictographFontFamily().utf8();
- priv->defaultCharset = priv->preferences->defaultTextEncodingName().utf8();
-
}
void webkitSettingsAttachSettingsToPage(WebKitSettings* settings, WebPageProxy* page)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp
index c882cb788..147d17e1c 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp
@@ -33,18 +33,12 @@ enum {
using namespace WebCore;
-G_DEFINE_TYPE(WebKitURIRequest, webkit_uri_request, G_TYPE_OBJECT)
-
struct _WebKitURIRequestPrivate {
WebCore::ResourceRequest resourceRequest;
CString uri;
};
-static void webkitURIRequestFinalize(GObject* object)
-{
- WEBKIT_URI_REQUEST(object)->priv->~WebKitURIRequestPrivate();
- G_OBJECT_CLASS(webkit_uri_request_parent_class)->finalize(object);
-}
+WEBKIT_DEFINE_TYPE(WebKitURIRequest, webkit_uri_request, G_TYPE_OBJECT)
static void webkitURIRequestGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
@@ -75,8 +69,6 @@ static void webkitURIRequestSetProperty(GObject* object, guint propId, const GVa
static void webkit_uri_request_class_init(WebKitURIRequestClass* requestClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(requestClass);
-
- objectClass->finalize = webkitURIRequestFinalize;
objectClass->get_property = webkitURIRequestGetProperty;
objectClass->set_property = webkitURIRequestSetProperty;
@@ -91,15 +83,6 @@ static void webkit_uri_request_class_init(WebKitURIRequestClass* requestClass)
_("The URI to which the request will be made."),
0,
static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- g_type_class_add_private(requestClass, sizeof(WebKitURIRequestPrivate));
-}
-
-static void webkit_uri_request_init(WebKitURIRequest* request)
-{
- WebKitURIRequestPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_URI_REQUEST, WebKitURIRequestPrivate);
- request->priv = priv;
- new (priv) WebKitURIRequestPrivate();
}
/**
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp
index d4404147b..576ce953a 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp
@@ -40,8 +40,6 @@ enum {
PROP_SUGGESTED_FILENAME
};
-G_DEFINE_TYPE(WebKitURIResponse, webkit_uri_response, G_TYPE_OBJECT)
-
struct _WebKitURIResponsePrivate {
ResourceResponse resourceResponse;
CString uri;
@@ -49,11 +47,7 @@ struct _WebKitURIResponsePrivate {
CString suggestedFilename;
};
-static void webkitURIResponseFinalize(GObject* object)
-{
- WEBKIT_URI_RESPONSE(object)->priv->~WebKitURIResponsePrivate();
- G_OBJECT_CLASS(webkit_uri_response_parent_class)->finalize(object);
-}
+WEBKIT_DEFINE_TYPE(WebKitURIResponse, webkit_uri_response, G_TYPE_OBJECT)
static void webkitURIResponseGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
@@ -83,8 +77,6 @@ static void webkitURIResponseGetProperty(GObject* object, guint propId, GValue*
static void webkit_uri_response_class_init(WebKitURIResponseClass* responseClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(responseClass);
-
- objectClass->finalize = webkitURIResponseFinalize;
objectClass->get_property = webkitURIResponseGetProperty;
/**
@@ -150,15 +142,6 @@ static void webkit_uri_response_class_init(WebKitURIResponseClass* responseClass
_("The suggested filename for the URI response"),
0,
WEBKIT_PARAM_READABLE));
-
- g_type_class_add_private(responseClass, sizeof(WebKitURIResponsePrivate));
-}
-
-static void webkit_uri_response_init(WebKitURIResponse* response)
-{
- WebKitURIResponsePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(response, WEBKIT_TYPE_URI_RESPONSE, WebKitURIResponsePrivate);
- response->priv = priv;
- new (priv) WebKitURIResponsePrivate();
}
/**
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp
index e2542e844..f65789fce 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp
@@ -35,8 +35,6 @@ using namespace WebKit;
static const unsigned int gReadBufferSize = 8192;
-G_DEFINE_TYPE(WebKitURISchemeRequest, webkit_uri_scheme_request, G_TYPE_OBJECT)
-
struct _WebKitURISchemeRequestPrivate {
WebKitWebContext* webContext;
RefPtr<WebSoupRequestManagerProxy> webRequestManager;
@@ -53,24 +51,10 @@ struct _WebKitURISchemeRequestPrivate {
CString mimeType;
};
-static void webkit_uri_scheme_request_init(WebKitURISchemeRequest* request)
-{
- WebKitURISchemeRequestPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_URI_SCHEME_REQUEST, WebKitURISchemeRequestPrivate);
- request->priv = priv;
- new (priv) WebKitURISchemeRequestPrivate();
-}
-
-static void webkitURISchemeRequestFinalize(GObject* object)
-{
- WEBKIT_URI_SCHEME_REQUEST(object)->priv->~WebKitURISchemeRequestPrivate();
- G_OBJECT_CLASS(webkit_uri_scheme_request_parent_class)->finalize(object);
-}
+WEBKIT_DEFINE_TYPE(WebKitURISchemeRequest, webkit_uri_scheme_request, G_TYPE_OBJECT)
static void webkit_uri_scheme_request_class_init(WebKitURISchemeRequestClass* requestClass)
{
- GObjectClass* objectClass = G_OBJECT_CLASS(requestClass);
- objectClass->finalize = webkitURISchemeRequestFinalize;
- g_type_class_add_private(requestClass, sizeof(WebKitURISchemeRequestPrivate));
}
WebKitURISchemeRequest* webkitURISchemeRequestCreate(WebKitWebContext* webContext, WebSoupRequestManagerProxy* webRequestManager, WebURL* webURL, WebPageProxy* initiatingPage, uint64_t requestID)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp
index 7707c70ab..3dbcfe88f 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp
@@ -114,25 +114,11 @@ struct _WebKitWebContextPrivate {
static guint signals[LAST_SIGNAL] = { 0, };
-G_DEFINE_TYPE(WebKitWebContext, webkit_web_context, G_TYPE_OBJECT)
-
-static void webkitWebContextFinalize(GObject* object)
-{
- WEBKIT_WEB_CONTEXT(object)->priv->~WebKitWebContextPrivate();
- G_OBJECT_CLASS(webkit_web_context_parent_class)->finalize(object);
-}
-
-static void webkit_web_context_init(WebKitWebContext* webContext)
-{
- WebKitWebContextPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(webContext, WEBKIT_TYPE_WEB_CONTEXT, WebKitWebContextPrivate);
- webContext->priv = priv;
- new (priv) WebKitWebContextPrivate();
-}
+WEBKIT_DEFINE_TYPE(WebKitWebContext, webkit_web_context, G_TYPE_OBJECT)
static void webkit_web_context_class_init(WebKitWebContextClass* webContextClass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(webContextClass);
- gObjectClass->finalize = webkitWebContextFinalize;
/**
* WebKitWebContext::download-started:
@@ -149,8 +135,6 @@ static void webkit_web_context_class_init(WebKitWebContextClass* webContextClass
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE, 1,
WEBKIT_TYPE_DOWNLOAD);
-
- g_type_class_add_private(webContextClass, sizeof(WebKitWebContextPrivate));
}
static gpointer createDefaultWebContext(gpointer)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp
index b788f1771..378a1f4c0 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp
@@ -47,14 +47,19 @@ enum {
};
struct _WebKitWebInspectorPrivate {
+ ~_WebKitWebInspectorPrivate()
+ {
+ WKInspectorSetInspectorClientGtk(toAPI(webInspector.get()), 0);
+ }
+
RefPtr<WebInspectorProxy> webInspector;
CString inspectedURI;
unsigned attachedHeight;
};
-static guint signals[LAST_SIGNAL] = { 0, };
+WEBKIT_DEFINE_TYPE(WebKitWebInspector, webkit_web_inspector, G_TYPE_OBJECT)
-G_DEFINE_TYPE(WebKitWebInspector, webkit_web_inspector, G_TYPE_OBJECT)
+static guint signals[LAST_SIGNAL] = { 0, };
static void webkitWebInspectorGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
@@ -72,29 +77,11 @@ static void webkitWebInspectorGetProperty(GObject* object, guint propId, GValue*
}
}
-static void webkitWebInspectorFinalize(GObject* object)
-{
- WebKitWebInspectorPrivate* priv = WEBKIT_WEB_INSPECTOR(object)->priv;
- WKInspectorSetInspectorClientGtk(toAPI(priv->webInspector.get()), 0);
- priv->~WebKitWebInspectorPrivate();
- G_OBJECT_CLASS(webkit_web_inspector_parent_class)->finalize(object);
-}
-
-static void webkit_web_inspector_init(WebKitWebInspector* inspector)
-{
- WebKitWebInspectorPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(inspector, WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorPrivate);
- inspector->priv = priv;
- new (priv) WebKitWebInspectorPrivate();
-}
-
static void webkit_web_inspector_class_init(WebKitWebInspectorClass* findClass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(findClass);
- gObjectClass->finalize = webkitWebInspectorFinalize;
gObjectClass->get_property = webkitWebInspectorGetProperty;
- g_type_class_add_private(findClass, sizeof(WebKitWebInspectorPrivate));
-
/**
* WebKitWebInspector:inspected-uri:
*
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp
index 73736f68f..7a540d353 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp
@@ -55,15 +55,9 @@ struct _WebKitWebResourcePrivate {
bool isMainResource;
};
-static guint signals[LAST_SIGNAL] = { 0, };
-
-G_DEFINE_TYPE(WebKitWebResource, webkit_web_resource, G_TYPE_OBJECT)
+WEBKIT_DEFINE_TYPE(WebKitWebResource, webkit_web_resource, G_TYPE_OBJECT)
-static void webkitWebResourceFinalize(GObject* object)
-{
- WEBKIT_WEB_RESOURCE(object)->priv->~WebKitWebResourcePrivate();
- G_OBJECT_CLASS(webkit_web_resource_parent_class)->finalize(object);
-}
+static guint signals[LAST_SIGNAL] = { 0, };
static void webkitWebResourceGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
@@ -81,18 +75,10 @@ static void webkitWebResourceGetProperty(GObject* object, guint propId, GValue*
}
}
-static void webkit_web_resource_init(WebKitWebResource* resource)
-{
- WebKitWebResourcePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(resource, WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourcePrivate);
- resource->priv = priv;
- new (priv) WebKitWebResourcePrivate();
-}
-
static void webkit_web_resource_class_init(WebKitWebResourceClass* resourceClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(resourceClass);
objectClass->get_property = webkitWebResourceGetProperty;
- objectClass->finalize = webkitWebResourceFinalize;
/**
* WebKitWebResource:uri:
@@ -194,8 +180,6 @@ static void webkit_web_resource_class_init(WebKitWebResourceClass* resourceClass
g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE, 1,
G_TYPE_POINTER);
-
- g_type_class_add_private(resourceClass, sizeof(WebKitWebResourcePrivate));
}
static void webkitWebResourceUpdateURI(WebKitWebResource* resource, const CString& requestURI)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
index 2ff70d931..6598b6602 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
@@ -116,6 +116,16 @@ typedef HashMap<uint64_t, GRefPtr<WebKitWebResource> > LoadingResourcesMap;
typedef HashMap<String, GRefPtr<WebKitWebResource> > ResourcesMap;
struct _WebKitWebViewPrivate {
+ ~_WebKitWebViewPrivate()
+ {
+ if (javascriptGlobalContext)
+ JSGlobalContextRelease(javascriptGlobalContext);
+
+ // For modal dialogs, make sure the main loop is stopped when finalizing the webView.
+ if (modalLoop && g_main_loop_is_running(modalLoop.get()))
+ g_main_loop_quit(modalLoop.get());
+ }
+
WebKitWebContext* context;
CString title;
CString customTextEncoding;
@@ -153,7 +163,7 @@ struct _WebKitWebViewPrivate {
static guint signals[LAST_SIGNAL] = { 0, };
-G_DEFINE_TYPE(WebKitWebView, webkit_web_view, WEBKIT_TYPE_WEB_VIEW_BASE)
+WEBKIT_DEFINE_TYPE(WebKitWebView, webkit_web_view, WEBKIT_TYPE_WEB_VIEW_BASE)
static inline WebPageProxy* getPage(WebKitWebView* webView)
{
@@ -441,6 +451,7 @@ static void webkitWebViewConstructed(GObject* object)
attachFormClientToView(webView);
priv->backForwardList = adoptGRef(webkitBackForwardListCreate(getPage(webView)->backForwardList()));
+ priv->windowProperties = adoptGRef(webkitWindowPropertiesCreate());
GRefPtr<WebKitSettings> settings = adoptGRef(webkit_settings_new());
webkitWebViewSetSettings(webView, settings.get());
@@ -495,34 +506,15 @@ static void webkitWebViewGetProperty(GObject* object, guint propId, GValue* valu
}
}
-static void webkitWebViewFinalize(GObject* object)
+static void webkitWebViewDispose(GObject* object)
{
WebKitWebView* webView = WEBKIT_WEB_VIEW(object);
- WebKitWebViewPrivate* priv = webView->priv;
-
- if (priv->javascriptGlobalContext)
- JSGlobalContextRelease(priv->javascriptGlobalContext);
-
- // For modal dialogs, make sure the main loop is stopped when finalizing the webView.
- if (priv->modalLoop && g_main_loop_is_running(priv->modalLoop.get()))
- g_main_loop_quit(priv->modalLoop.get());
-
webkitWebViewCancelFaviconRequest(webView);
webkitWebViewDisconnectMainResourceResponseChangedSignalHandler(webView);
webkitWebViewDisconnectSettingsSignalHandlers(webView);
webkitWebViewDisconnectFaviconDatabaseSignalHandlers(webView);
- priv->~WebKitWebViewPrivate();
- G_OBJECT_CLASS(webkit_web_view_parent_class)->finalize(object);
-}
-
-static void webkit_web_view_init(WebKitWebView* webView)
-{
- WebKitWebViewPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(webView, WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate);
- webView->priv = priv;
- new (priv) WebKitWebViewPrivate();
-
- webView->priv->windowProperties = adoptGRef(webkitWindowPropertiesCreate());
+ G_OBJECT_CLASS(webkit_web_view_parent_class)->dispose(object);
}
static gboolean webkitWebViewAccumulatorObjectHandled(GSignalInvocationHint*, GValue* returnValue, const GValue* handlerReturn, gpointer)
@@ -541,7 +533,7 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass)
gObjectClass->constructed = webkitWebViewConstructed;
gObjectClass->set_property = webkitWebViewSetProperty;
gObjectClass->get_property = webkitWebViewGetProperty;
- gObjectClass->finalize = webkitWebViewFinalize;
+ gObjectClass->dispose = webkitWebViewDispose;
webViewClass->load_failed = webkitWebViewLoadFail;
webViewClass->create = webkitWebViewCreate;
@@ -550,8 +542,6 @@ static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass)
webViewClass->permission_request = webkitWebViewPermissionRequest;
webViewClass->run_file_chooser = webkitWebViewRunFileChooser;
- g_type_class_add_private(webViewClass, sizeof(WebKitWebViewPrivate));
-
/**
* WebKitWebView:web-context:
*
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
index 015f668cd..de741c2e3 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
@@ -80,6 +80,19 @@ void redirectedWindowDamagedCallback(void* data);
#endif
struct _WebKitWebViewBasePrivate {
+ _WebKitWebViewBasePrivate()
+ : imContext(adoptGRef(gtk_im_multicontext_new()))
+#if USE(TEXTURE_MAPPER_GL)
+ , redirectedWindow(RedirectedXCompositeWindow::create(IntSize(1, 1)))
+#endif
+ {
+ }
+
+ ~_WebKitWebViewBasePrivate()
+ {
+ pageProxy->close();
+ }
+
WebKitWebViewChildrenMap children;
OwnPtr<PageClientImpl> pageClient;
RefPtr<WebPageProxy> pageProxy;
@@ -120,7 +133,7 @@ struct _WebKitWebViewBasePrivate {
#endif
};
-G_DEFINE_TYPE(WebKitWebViewBase, webkit_web_view_base, GTK_TYPE_CONTAINER)
+WEBKIT_DEFINE_TYPE(WebKitWebViewBase, webkit_web_view_base, GTK_TYPE_CONTAINER)
static void webkitWebViewBaseNotifyResizerSize(WebKitWebViewBase* webViewBase)
{
@@ -322,42 +335,29 @@ void webkitWebViewBaseChildMoveResize(WebKitWebViewBase* webView, GtkWidget* chi
gtk_widget_queue_resize_no_redraw(GTK_WIDGET(webView));
}
-static void webkitWebViewBaseFinalize(GObject* gobject)
+static void webkitWebViewBaseDispose(GObject* gobject)
{
- WebKitWebViewBase* webkitWebViewBase = WEBKIT_WEB_VIEW_BASE(gobject);
- WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv;
- priv->pageProxy->close();
-
- webkitWebViewBaseSetToplevelOnScreenWindow(webkitWebViewBase, 0);
-
- priv->~WebKitWebViewBasePrivate();
- G_OBJECT_CLASS(webkit_web_view_base_parent_class)->finalize(gobject);
+ webkitWebViewBaseSetToplevelOnScreenWindow(WEBKIT_WEB_VIEW_BASE(gobject), 0);
+ G_OBJECT_CLASS(webkit_web_view_base_parent_class)->dispose(gobject);
}
-static void webkit_web_view_base_init(WebKitWebViewBase* webkitWebViewBase)
+static void webkitWebViewBaseConstructed(GObject* object)
{
- WebKitWebViewBasePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(webkitWebViewBase, WEBKIT_TYPE_WEB_VIEW_BASE, WebKitWebViewBasePrivate);
- webkitWebViewBase->priv = priv;
- new (priv) WebKitWebViewBasePrivate();
-
- priv->shouldForwardNextKeyEvent = FALSE;
+ G_OBJECT_CLASS(webkit_web_view_base_parent_class)->constructed(object);
- GtkWidget* viewWidget = GTK_WIDGET(webkitWebViewBase);
+ GtkWidget* viewWidget = GTK_WIDGET(object);
gtk_widget_set_can_focus(viewWidget, TRUE);
- priv->imContext = adoptGRef(gtk_im_multicontext_new());
-
- priv->pageClient = PageClientImpl::create(viewWidget);
-
- priv->dragAndDropHelper.setWidget(viewWidget);
-
gtk_drag_dest_set(viewWidget, static_cast<GtkDestDefaults>(0), 0, 0,
static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_PRIVATE));
gtk_drag_dest_set_target_list(viewWidget, PasteboardHelper::defaultPasteboardHelper()->targetList());
+ WebKitWebViewBasePrivate* priv = WEBKIT_WEB_VIEW_BASE(object)->priv;
+ priv->pageClient = PageClientImpl::create(viewWidget);
+ priv->dragAndDropHelper.setWidget(viewWidget);
+
#if USE(TEXTURE_MAPPER_GL)
- priv->redirectedWindow = RedirectedXCompositeWindow::create(IntSize(1, 1));
if (priv->redirectedWindow)
- priv->redirectedWindow->setDamageNotifyCallback(redirectedWindowDamagedCallback, webkitWebViewBase);
+ priv->redirectedWindow->setDamageNotifyCallback(redirectedWindowDamagedCallback, object);
#endif
}
@@ -767,14 +767,13 @@ static void webkit_web_view_base_class_init(WebKitWebViewBaseClass* webkitWebVie
widgetClass->parent_set = webkitWebViewBaseParentSet;
GObjectClass* gobjectClass = G_OBJECT_CLASS(webkitWebViewBaseClass);
- gobjectClass->finalize = webkitWebViewBaseFinalize;
+ gobjectClass->constructed = webkitWebViewBaseConstructed;
+ gobjectClass->dispose = webkitWebViewBaseDispose;
GtkContainerClass* containerClass = GTK_CONTAINER_CLASS(webkitWebViewBaseClass);
containerClass->add = webkitWebViewBaseContainerAdd;
containerClass->remove = webkitWebViewBaseContainerRemove;
containerClass->forall = webkitWebViewBaseContainerForall;
-
- g_type_class_add_private(webkitWebViewBaseClass, sizeof(WebKitWebViewBasePrivate));
}
WebKitWebViewBase* webkitWebViewBaseCreate(WebContext* context, WebPageGroup* pageGroup)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp
index 09a11abe6..7b069dd94 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp
@@ -20,20 +20,14 @@
#include "config.h"
#include "WebKitWebViewBaseAccessible.h"
+#include "WebKitPrivate.h"
#include <gtk/gtk.h>
struct _WebKitWebViewBaseAccessiblePrivate {
GtkWidget* widget;
};
-G_DEFINE_TYPE(WebKitWebViewBaseAccessible, webkit_web_view_base_accessible, ATK_TYPE_SOCKET)
-
-static void webkitWebViewBaseAccessibleFinalize(GObject* gobject)
-{
- WebKitWebViewBaseAccessible* accessible = WEBKIT_WEB_VIEW_BASE_ACCESSIBLE(gobject);
- accessible->priv->~WebKitWebViewBaseAccessiblePrivate();
- G_OBJECT_CLASS(webkit_web_view_base_accessible_parent_class)->finalize(gobject);
-}
+WEBKIT_DEFINE_TYPE(WebKitWebViewBaseAccessible, webkit_web_view_base_accessible, ATK_TYPE_SOCKET)
static void webkitWebViewBaseAccessibleWidgetDestroyed(GtkWidget* widget, WebKitWebViewBaseAccessible* accessible)
{
@@ -94,18 +88,8 @@ static gint webkitWebViewBaseAccessibleGetIndexInParent(AtkObject* atkObject)
return -1;
}
-static void webkit_web_view_base_accessible_init(WebKitWebViewBaseAccessible* accessible)
-{
- WebKitWebViewBaseAccessiblePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(accessible, WEBKIT_TYPE_WEB_VIEW_BASE_ACCESSIBLE, WebKitWebViewBaseAccessiblePrivate);
- accessible->priv = priv;
- new (priv) WebKitWebViewBaseAccessiblePrivate();
-}
-
static void webkit_web_view_base_accessible_class_init(WebKitWebViewBaseAccessibleClass* klass)
{
- GObjectClass* gObjectClass = G_OBJECT_CLASS(klass);
- gObjectClass->finalize = webkitWebViewBaseAccessibleFinalize;
-
// No need to implement get_n_children() and ref_child() here
// since this is a subclass of AtkSocket and all the logic related
// to those functions will be implemented by the ATK bridge.
@@ -113,8 +97,6 @@ static void webkit_web_view_base_accessible_class_init(WebKitWebViewBaseAccessib
atkObjectClass->initialize = webkitWebViewBaseAccessibleInitialize;
atkObjectClass->ref_state_set = webkitWebViewBaseAccessibleRefStateSet;
atkObjectClass->get_index_in_parent = webkitWebViewBaseAccessibleGetIndexInParent;
-
- g_type_class_add_private(klass, sizeof(WebKitWebViewBaseAccessiblePrivate));
}
WebKitWebViewBaseAccessible* webkitWebViewBaseAccessibleNew(GtkWidget* widget)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp
index 930cf8676..bdfc72589 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp
@@ -106,8 +106,6 @@ enum {
PROP_FULLSCREEN
};
-G_DEFINE_TYPE(WebKitWindowProperties, webkit_window_properties, G_TYPE_OBJECT)
-
struct _WebKitWindowPropertiesPrivate {
GdkRectangle geometry;
@@ -121,11 +119,7 @@ struct _WebKitWindowPropertiesPrivate {
bool fullscreen : 1;
};
-static void webkitWindowPropertiesFinalize(GObject* object)
-{
- WEBKIT_WINDOW_PROPERTIES(object)->priv->~WebKitWindowPropertiesPrivate();
- G_OBJECT_CLASS(webkit_window_properties_parent_class)->finalize(object);
-}
+WEBKIT_DEFINE_TYPE(WebKitWindowProperties, webkit_window_properties, G_TYPE_OBJECT)
static void webkitWindowPropertiesGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
{
@@ -199,8 +193,6 @@ static void webkitWindowPropertiesSetProperty(GObject* object, guint propId, con
static void webkit_window_properties_class_init(WebKitWindowPropertiesClass* requestClass)
{
GObjectClass* objectClass = G_OBJECT_CLASS(requestClass);
-
- objectClass->finalize = webkitWindowPropertiesFinalize;
objectClass->get_property = webkitWindowPropertiesGetProperty;
objectClass->set_property = webkitWindowPropertiesSetProperty;
@@ -308,15 +300,6 @@ static void webkit_window_properties_class_init(WebKitWindowPropertiesClass* req
_("Whether window will be displayed fullscreen."),
FALSE,
paramFlags));
-
- g_type_class_add_private(requestClass, sizeof(WebKitWindowPropertiesPrivate));
-}
-
-static void webkit_window_properties_init(WebKitWindowProperties* request)
-{
- WebKitWindowPropertiesPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_WINDOW_PROPERTIES, WebKitWindowPropertiesPrivate);
- request->priv = priv;
- new (priv) WebKitWindowPropertiesPrivate();
}
WebKitWindowProperties* webkitWindowPropertiesCreate()