diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-23 15:08:59 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-23 15:09:20 +0100 |
commit | 061d58bc0fa016cfeed744fd3e4663460635d69b (patch) | |
tree | ad9b8b032c803e1c9054c23fa1b7a0f1976bf98f /Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp | |
parent | 470286ecfe79d59df14944e5b5d34630fc739391 (diff) | |
download | qtwebkit-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/WebKitGeolocationPermissionRequest.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp | 28 |
1 files changed, 9 insertions, 19 deletions
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) |