summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-07-16 14:51:15 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-07-16 14:51:15 +0200
commit4e6b3a206fa4ad8bb0b664f7674c9a70376d6e26 (patch)
tree7bb9ad7e31c24d1cf1707e03e6f1a80f6d033951 /Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp
parent3977e3d2f72f7fe2c887c1ec0e0c342e1d169f42 (diff)
downloadqtwebkit-4e6b3a206fa4ad8bb0b664f7674c9a70376d6e26.tar.gz
Imported WebKit commit 953baa67aa07087b6ecd4199351ec554c724e27d (http://svn.webkit.org/repository/webkit/trunk@122676)
Diffstat (limited to 'Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp35
1 files changed, 26 insertions, 9 deletions
diff --git a/Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp b/Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp
index c4c1af825..45697a22b 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qwebpermissionrequest.cpp
@@ -25,13 +25,13 @@
#include <WebKit2/WKBase.h>
#include <WebKit2/WKRetainPtr.h>
-
class QWebPermissionRequestPrivate : public QSharedData {
public:
- QWebPermissionRequestPrivate(WKSecurityOriginRef securityOrigin, WKGeolocationPermissionRequestRef permissionRequest)
+ QWebPermissionRequestPrivate(WKSecurityOriginRef securityOrigin, WKGeolocationPermissionRequestRef geo = 0, WKNotificationPermissionRequestRef notify = 0, QWebPermissionRequest::RequestType reqType = QWebPermissionRequest::Geolocation)
: origin(securityOrigin)
- , type(QWebPermissionRequest::Geolocation)
- , request(permissionRequest)
+ , geolocationRequest(geo)
+ , notificationRequest(notify)
+ , type(reqType)
, allow(false)
{
WKRetainPtr<WKStringRef> url = adoptWK(WKSecurityOriginCopyProtocol(origin.get()));
@@ -48,8 +48,9 @@ public:
}
WKRetainPtr<WKSecurityOriginRef> origin;
+ WKRetainPtr<WKGeolocationPermissionRequestRef> geolocationRequest;
+ WKRetainPtr<WKNotificationPermissionRequestRef> notificationRequest;
QWebPermissionRequest::RequestType type;
- WKRetainPtr<WKGeolocationPermissionRequestRef> request;
QtWebSecurityOrigin securityInfo;
bool allow;
};
@@ -59,9 +60,18 @@ QWebPermissionRequest* QWebPermissionRequest::create(WKSecurityOriginRef origin,
return new QWebPermissionRequest(origin, request);
}
-QWebPermissionRequest::QWebPermissionRequest(WKSecurityOriginRef securityOrigin, WKGeolocationPermissionRequestRef permissionRequest, QObject* parent)
+QWebPermissionRequest* QWebPermissionRequest::create(WKSecurityOriginRef origin, WKNotificationPermissionRequestRef request)
+{
+ return new QWebPermissionRequest(origin, 0, request, QWebPermissionRequest::Notification);
+}
+
+QWebPermissionRequest::QWebPermissionRequest(WKSecurityOriginRef securityOrigin
+ , WKGeolocationPermissionRequestRef geo
+ , WKNotificationPermissionRequestRef notify
+ , QWebPermissionRequest::RequestType type
+ , QObject* parent)
: QObject(parent)
- , d(new QWebPermissionRequestPrivate(securityOrigin, permissionRequest))
+ , d(new QWebPermissionRequestPrivate(securityOrigin, geo, notify, type))
{
}
@@ -80,9 +90,16 @@ void QWebPermissionRequest::setAllow(bool accepted)
switch (type()) {
case Geolocation: {
if (accepted)
- WKGeolocationPermissionRequestAllow(d->request.get());
+ WKGeolocationPermissionRequestAllow(d->geolocationRequest.get());
+ else
+ WKGeolocationPermissionRequestDeny(d->geolocationRequest.get());
+ break;
+ }
+ case Notification: {
+ if (accepted)
+ WKNotificationPermissionRequestAllow(d->notificationRequest.get());
else
- WKGeolocationPermissionRequestDeny(d->request.get());
+ WKNotificationPermissionRequestDeny(d->notificationRequest.get());
break;
}
default: