Changeset 63921 in webkit
- Timestamp:
- Jul 22, 2010 4:52:15 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r63918 r63921 1 2010-07-22 Yael Aharon <yael.aharon@nokia.com> 2 3 Reviewed by Laszlo Gombos. 4 5 [Qt] QtWebKit needs public API for Notifications. 6 https://bugs.webkit.org/show_bug.cgi?id=41413 7 8 Add a DRT API to set a flag so that notification requests are ignored, 9 and add a test for cancelling a pending notification request. 10 New API and test are disabled for Chromium port. 11 12 * fast/notifications/notifications-cancel-request-permission-expected.txt: Added. 13 * fast/notifications/notifications-cancel-request-permission.html: Added. 14 * fast/notifications/resources: Added. 15 * fast/notifications/resources/notifications-cancel-request-permission.html: Added. 16 * platform/chromium/test_expectations.txt: 17 1 18 2010-07-22 Ryosuke Niwa <rniwa@webkit.org> 2 19 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r63909 r63921 2829 2829 WONTFIX SKIP : http/tests/notifications = FAIL 2830 2830 2831 // Chromium does not support cancel for notifications permissions. 2832 BUGWK42798 SKIP : fast/notifications/notifications-cancel-request-permission.html = FAIL 2833 2831 2834 BUG46276 WIN : fast/text/international/khmer-selection.html = IMAGE+TEXT 2832 2835 -
trunk/WebKit/qt/Api/qwebpage.cpp
r63863 r63921 2109 2109 } 2110 2110 2111 void QWebPage::setUserPermission(QWebFrame* frame, PermissionDomain domain, PermissionPolicy policy) 2112 { 2113 switch (domain) { 2114 case NotificationsPermissionDomain: 2115 #if ENABLE(NOTIFICATIONS) 2116 if (policy == PermissionGranted) 2117 NotificationPresenterClientQt::notificationPresenter()->allowNotificationForFrame(frame); 2118 #endif 2119 break; 2120 default: 2121 break; 2122 } 2123 } 2124 2111 2125 /*! 2112 2126 This function is called whenever WebKit wants to create a new window of the given \a type, for -
trunk/WebKit/qt/Api/qwebpage.h
r61342 r63921 196 196 }; 197 197 198 enum PermissionPolicy { 199 PermissionGranted, 200 PermissionUnknown, 201 PermissionDenied 202 }; 203 204 enum PermissionDomain { 205 NotificationsPermissionDomain 206 }; 207 198 208 class ViewportHints { 199 209 public: … … 290 300 291 301 QMenu *createStandardContextMenu(); 302 303 void setUserPermission(QWebFrame* frame, PermissionDomain domain, PermissionPolicy policy); 292 304 293 305 enum Extension { … … 371 383 372 384 void viewportChangeRequested(const QWebPage::ViewportHints& hints); 385 386 void requestPermissionFromUser(QWebFrame* frame, QWebPage::PermissionDomain domain); 387 void checkPermissionFromUser(QWebFrame* frame, QWebPage::PermissionDomain domain, QWebPage::PermissionPolicy& policy); 388 void cancelRequestsForPermission(QWebFrame* frame, QWebPage::PermissionDomain domain); 373 389 374 390 protected: -
trunk/WebKit/qt/ChangeLog
r63899 r63921 1 2010-07-22 Yael Aharon <yael.aharon@nokia.com> 2 3 Reviewed by Laszlo Gombos. 4 5 [Qt] QtWebKit needs public API for Notifications. 6 https://bugs.webkit.org/show_bug.cgi?id=41413 7 8 Remove DumpRenderTree private API and introduce new API. 9 Also add support for informing the UI when a notification request is cancelled. 10 11 * Api/qwebpage.cpp: 12 (QWebPage::setUserPermission): 13 * Api/qwebpage.h: 14 * WebCoreSupport/DumpRenderTreeSupportQt.cpp: 15 * WebCoreSupport/DumpRenderTreeSupportQt.h: 16 * WebCoreSupport/NotificationPresenterClientQt.cpp: 17 (WebCore::NotificationPresenterClientQt::requestPermission): 18 (WebCore::NotificationPresenterClientQt::checkPermission): 19 (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission): 20 (WebCore::NotificationPresenterClientQt::allowNotificationForFrame): 21 (WebCore::NotificationPresenterClientQt::toPage): 22 (WebCore::NotificationPresenterClientQt::toFrame): 23 * WebCoreSupport/NotificationPresenterClientQt.h: 24 1 25 2010-07-22 Jamey Hicks <jamey.hicks@nokia.com> 2 26 -
trunk/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
r63191 r63921 71 71 using namespace WebCore; 72 72 73 CheckPermissionFunctionType* checkPermissionFunction = 0;74 RequestPermissionFunctionType* requestPermissionFunction = 0;75 73 QMap<int, QWebScriptWorld*> m_worldMap; 76 74 … … 576 574 } 577 575 578 void DumpRenderTreeSupportQt::setNotificationsReceiver(QObject* receiver)579 {580 #if ENABLE(NOTIFICATIONS)581 NotificationPresenterClientQt::notificationPresenter()->setReceiver(receiver);582 #endif583 }584 585 void DumpRenderTreeSupportQt::allowNotificationForOrigin(const QString& origin)586 {587 #if ENABLE(NOTIFICATIONS)588 NotificationPresenterClientQt::notificationPresenter()->allowNotificationForOrigin(origin);589 #endif590 }591 592 576 void DumpRenderTreeSupportQt::setMockGeolocationPosition(double latitude, double longitude, double accuracy) 593 577 { … … 604 588 GeolocationServiceMock::setError(positionError); 605 589 #endif 606 }607 608 void DumpRenderTreeSupportQt::setCheckPermissionFunction(CheckPermissionFunctionType* f)609 {610 checkPermissionFunction = f;611 }612 613 void DumpRenderTreeSupportQt::setRequestPermissionFunction(RequestPermissionFunctionType* f)614 {615 requestPermissionFunction = f;616 590 } 617 591 -
trunk/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
r63191 r63921 33 33 class QWebScriptWorld; 34 34 35 enum NotificationPermission {36 NotificationAllowed,37 NotificationNotAllowed,38 NotificationDenied39 };40 41 typedef void (CheckPermissionFunctionType) (QObject* receiver, const QUrl&, NotificationPermission&);42 typedef void (RequestPermissionFunctionType) (QObject* receiver, const QString&);43 44 extern CheckPermissionFunctionType* checkPermissionFunction;45 extern RequestPermissionFunctionType* requestPermissionFunction;46 35 extern QMap<int, QWebScriptWorld*> m_worldMap; 47 36 … … 124 113 static void dumpNotification(bool b); 125 114 126 // These functions should eventually turn into public API127 // and the "receiver" concept would go away128 static void setNotificationsReceiver(QObject* receiver);129 static void allowNotificationForOrigin(const QString& origin);130 static void setCheckPermissionFunction(CheckPermissionFunctionType*);131 static void setRequestPermissionFunction(RequestPermissionFunctionType*);132 133 115 static QMap<QString, QWebHistoryItem> getChildHistoryItems(const QWebHistoryItem& historyItem); 134 116 static bool isTargetItem(const QWebHistoryItem& historyItem); -
trunk/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
r63738 r63921 37 37 #include "EventNames.h" 38 38 #include "KURL.h" 39 #include "Page.h" 39 40 #include "QtPlatformPlugin.h" 40 41 #include "ScriptExecutionContext.h" 41 42 #include "SecurityOrigin.h" 42 43 44 #include "qwebframe_p.h" 43 45 #include "qwebkitglobal.h" 46 #include "qwebpage.h" 44 47 #include <QtGui> 45 48 … … 260 263 printf("DESKTOP NOTIFICATION PERMISSION REQUESTED: %s\n", QString(context->securityOrigin()->toString()).toUtf8().constData()); 261 264 262 QString originString = context->securityOrigin()->toString(); 263 QHash<QString, QList<RefPtr<VoidCallback> > >::iterator iter = m_pendingPermissionRequests.find(originString); 265 QHash<ScriptExecutionContext*, CallbacksInfo >::iterator iter = m_pendingPermissionRequests.find(context); 264 266 if (iter != m_pendingPermissionRequests.end()) 265 iter.value(). append(callback);267 iter.value().m_callbacks.append(callback); 266 268 else { 267 QList<RefPtr<VoidCallback> > callbacks;268 269 RefPtr<VoidCallback> cb = callback; 269 callbacks.append(cb); 270 m_pendingPermissionRequests.insert(originString, callbacks); 271 if (requestPermissionFunction) 272 requestPermissionFunction(m_receiver, originString); 270 CallbacksInfo info; 271 info.m_frame = toFrame(context); 272 info.m_callbacks.append(cb); 273 m_pendingPermissionRequests.insert(context, info); 274 275 if (toPage(context) && toFrame(context)) { 276 m_pendingPermissionRequests.insert(context, info); 277 emit toPage(context)->requestPermissionFromUser(toFrame(context), QWebPage::NotificationsPermissionDomain); 278 } 273 279 } 274 280 } … … 276 282 NotificationPresenter::Permission NotificationPresenterClientQt::checkPermission(ScriptExecutionContext* context) 277 283 { 278 NotificationPermission permission = NotificationNotAllowed;279 QString origin = context->url().string();280 if (checkPermissionFunction)281 checkPermissionFunction(m_receiver, origin, permission); 282 switch (p ermission) {283 case NotificationAllowed:284 QWebPage::PermissionPolicy policy = QWebPage::PermissionUnknown; 285 if (toPage(context) && toFrame(context)) 286 emit toPage(context)->checkPermissionFromUser(toFrame(context), QWebPage::NotificationsPermissionDomain, policy); 287 288 switch (policy) { 289 case QWebPage::PermissionGranted: 284 290 return NotificationPresenter::PermissionAllowed; 285 case NotificationNotAllowed:291 case QWebPage::PermissionUnknown: 286 292 return NotificationPresenter::PermissionNotAllowed; 287 case NotificationDenied:293 case QWebPage::PermissionDenied: 288 294 return NotificationPresenter::PermissionDenied; 289 295 } … … 292 298 } 293 299 294 void NotificationPresenterClientQt::cancelRequestsForPermission(ScriptExecutionContext*) 295 { 296 // FIXME: This will be implemented for https://bugs.webkit.org/show_bug.cgi?id=41413 297 // to avoid adding and removing new private API 298 } 299 300 void NotificationPresenterClientQt::allowNotificationForOrigin(const QString& origin) 301 { 302 QHash<QString, QList<RefPtr<VoidCallback> > >::iterator iter = m_pendingPermissionRequests.find(origin); 303 if (iter != m_pendingPermissionRequests.end()) { 304 QList<RefPtr<VoidCallback> >& callbacks = iter.value(); 305 for (int i = 0; i < callbacks.size(); i++) 306 callbacks.at(i)->handleEvent(); 307 m_pendingPermissionRequests.remove(origin); 308 } 300 void NotificationPresenterClientQt::cancelRequestsForPermission(ScriptExecutionContext* context) 301 { 302 QHash<ScriptExecutionContext*, CallbacksInfo >::iterator iter = m_pendingPermissionRequests.find(context); 303 if (iter == m_pendingPermissionRequests.end()) 304 return; 305 306 QWebFrame* frame = iter.value().m_frame; 307 if (!frame) 308 return; 309 QWebPage* page = frame->page(); 310 m_pendingPermissionRequests.erase(iter); 311 312 if (!page) 313 return; 314 315 if (dumpNotification) 316 printf("DESKTOP NOTIFICATION PERMISSION REQUEST CANCELLED: %s\n", QString(context->securityOrigin()->toString()).toUtf8().constData()); 317 318 emit page->cancelRequestsForPermission(frame, QWebPage::NotificationsPermissionDomain); 319 } 320 321 void NotificationPresenterClientQt::allowNotificationForFrame(QWebFrame* frame) 322 { 323 QHash<ScriptExecutionContext*, CallbacksInfo>::iterator iter = m_pendingPermissionRequests.begin(); 324 while (iter != m_pendingPermissionRequests.end()) { 325 if (toFrame(iter.key()) == frame) 326 break; 327 } 328 329 if (iter == m_pendingPermissionRequests.end()) 330 return; 331 332 QList<RefPtr<VoidCallback> >& callbacks = iter.value().m_callbacks; 333 for (int i = 0; i < callbacks.size(); i++) 334 callbacks.at(i)->handleEvent(); 335 m_pendingPermissionRequests.remove(iter.key()); 309 336 } 310 337 … … 363 390 } 364 391 392 QWebPage* NotificationPresenterClientQt::toPage(ScriptExecutionContext* context) 393 { 394 if (!context || context->isWorkerContext()) 395 return 0; 396 397 Document* document = static_cast<Document*>(context); 398 if (!document) 399 return 0; 400 401 Page* page = document->page(); 402 if (!page || !page->mainFrame()) 403 return 0; 404 405 return QWebFramePrivate::kit(page->mainFrame())->page(); 406 } 407 408 QWebFrame* NotificationPresenterClientQt::toFrame(ScriptExecutionContext* context) 409 { 410 if (!context || context->isWorkerContext()) 411 return 0; 412 413 Document* document = static_cast<Document*>(context); 414 if (!document || !document->frame()) 415 return 0; 416 417 return QWebFramePrivate::kit(document->frame()); 418 } 419 365 420 #endif // ENABLE(NOTIFICATIONS) 366 421 } -
trunk/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h
r62939 r63921 42 42 #include <QMultiHash> 43 43 #include <QSystemTrayIcon> 44 45 class QWebFrame; 46 class QWebPage; 44 47 45 48 namespace WebCore { … … 91 94 void cancel(NotificationWrapper*); 92 95 93 void allowNotificationFor Origin(const QString& origin);96 void allowNotificationForFrame(QWebFrame*); 94 97 95 98 static bool dumpNotification; 96 97 void setReceiver(QObject* receiver) { m_receiver = receiver; }98 99 99 100 void addClient() { m_clientCount++; } … … 110 111 void dumpReplacedIdText(Notification*); 111 112 void dumpShowText(Notification*); 113 QWebPage* toPage(ScriptExecutionContext*); 114 QWebFrame* toFrame(ScriptExecutionContext*); 112 115 113 116 int m_clientCount; 114 QHash<QString, QList<RefPtr<VoidCallback> > > m_pendingPermissionRequests; 117 struct CallbacksInfo { 118 QWebFrame* m_frame; 119 QList<RefPtr<VoidCallback> > m_callbacks; 120 }; 121 QHash<ScriptExecutionContext*, CallbacksInfo > m_pendingPermissionRequests; 122 115 123 NotificationsQueue m_notifications; 116 QObject* m_receiver;117 124 QtPlatformPlugin m_platformPlugin; 118 125 }; -
trunk/WebKitTools/ChangeLog
r63906 r63921 1 2010-07-22 Yael Aharon <yael.aharon@nokia.com> 2 3 Reviewed by Laszlo Gombos. 4 5 [Qt] QtWebKit needs public API for Notifications. 6 https://bugs.webkit.org/show_bug.cgi?id=41413 7 8 Update DumpRenderTree and QtTestBrowser to use the new API. 9 Add new DRT API to flag that notifications permission requests should be ignored. 10 11 * DumpRenderTree/qt/DumpRenderTreeQt.cpp: 12 (WebCore::WebPage::WebPage): 13 (WebCore::WebPage::requestPermission): 14 (WebCore::WebPage::checkPermission): 15 (WebCore::WebPage::cancelRequestsForPermission): 16 * DumpRenderTree/qt/DumpRenderTreeQt.h: 17 * DumpRenderTree/qt/LayoutTestControllerQt.cpp: 18 (LayoutTestController::reset): 19 (LayoutTestController::ignoreDesktopNotificationPermissionRequests): 20 (LayoutTestController::checkDesktopNotificationPermission): 21 * DumpRenderTree/qt/LayoutTestControllerQt.h: 22 (LayoutTestController::ignoreReqestForPermission): 23 * QtTestBrowser/main.cpp: 24 (LauncherWindow::LauncherWindow): 25 * QtTestBrowser/webpage.cpp: 26 (WebPage::WebPage): 27 (WebPage::requestPermission): 28 (WebPage::checkPermission): 29 (WebPage::cancelRequestsForPermission): 30 * QtTestBrowser/webpage.h: 31 1 32 2010-07-22 Darin Adler <darin@apple.com> 2 33 -
trunk/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp
r63536 r63921 131 131 #endif 132 132 133 void checkPermissionCallback(QObject* receiver, const QUrl& url, NotificationPermission& permission)134 {135 qobject_cast<DumpRenderTree*>(receiver)->checkPermission(url, permission);136 }137 138 void requestPermissionCallback(QObject* receiver, const QString& origin)139 {140 qobject_cast<DumpRenderTree*>(receiver)->requestPermission(origin);141 }142 143 133 WebPage::WebPage(QObject* parent, DumpRenderTree* drt) 144 134 : QWebPage(parent) … … 168 158 setPluginFactory(new TestPlugin(this)); 169 159 170 DumpRenderTreeSupportQt::setNotificationsReceiver(m_drt); 171 DumpRenderTreeSupportQt::setCheckPermissionFunction(checkPermissionCallback); 172 DumpRenderTreeSupportQt::setRequestPermissionFunction(requestPermissionCallback); 173 160 connect(this, SIGNAL(requestPermissionFromUser(QWebFrame*, QWebPage::PermissionDomain)), this, SLOT(requestPermission(QWebFrame*, QWebPage::PermissionDomain))); 161 connect(this, SIGNAL(checkPermissionFromUser(QWebFrame*, QWebPage::PermissionDomain, QWebPage::PermissionPolicy&)), this, SLOT(checkPermission(QWebFrame*, QWebPage::PermissionDomain, QWebPage::PermissionPolicy&))); 162 connect(this, SIGNAL(cancelRequestsForPermissionFromUser(QWebFrame*, QWebPage::PermissionDomain)), this, SLOT(cancelRequestsForPermissionFromUser(QWebFrame*, QWebPage::PermissionDomain))); 174 163 } 175 164 … … 227 216 228 217 fprintf(stdout, "ALERT: %s\n", message.toUtf8().constData()); 218 } 219 220 void WebPage::requestPermission(QWebFrame* frame, QWebPage::PermissionDomain domain) 221 { 222 switch (domain) { 223 case NotificationsPermissionDomain: 224 if (!m_drt->layoutTestController()->ignoreReqestForPermission()) 225 setUserPermission(frame, domain, PermissionGranted); 226 break; 227 default: 228 break; 229 } 230 } 231 232 void WebPage::checkPermission(QWebFrame* frame, QWebPage::PermissionDomain domain, QWebPage::PermissionPolicy& policy) 233 { 234 switch (domain) { 235 case NotificationsPermissionDomain: 236 { 237 QUrl url = frame->url(); 238 policy = m_drt->layoutTestController()->checkDesktopNotificationPermission(url.scheme() + "://" + url.host()) ? PermissionGranted : PermissionDenied; 239 break; 240 } 241 default: 242 break; 243 } 244 } 245 246 void WebPage::cancelRequestsForPermission(QWebFrame*, QWebPage::PermissionDomain) 247 { 229 248 } 230 249 … … 993 1012 } 994 1013 995 void DumpRenderTree::checkPermission(const QUrl& url, NotificationPermission& permission)996 {997 permission = m_controller->checkDesktopNotificationPermission(url.scheme() + "://" + url.host()) ? NotificationAllowed : NotificationDenied;998 }999 1000 void DumpRenderTree::requestPermission(const QString& origin)1001 {1002 DumpRenderTreeSupportQt::allowNotificationForOrigin(origin);1003 }1004 1005 1014 #if defined(Q_WS_X11) 1006 1015 void DumpRenderTree::initializeFonts() -
trunk/WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.h
r62444 r63921 120 120 void statusBarMessage(const QString& message); 121 121 void windowCloseRequested(); 122 void checkPermission(const QUrl&, NotificationPermission&);123 void requestPermission(const QString&);124 122 125 123 Q_SIGNALS: … … 194 192 bool shouldInterruptJavaScript() { return false; } 195 193 bool allowGeolocationRequest(QWebFrame *frame); 194 void requestPermission(QWebFrame* frame, QWebPage::PermissionDomain domain); 195 void checkPermission(QWebFrame* frame, QWebPage::PermissionDomain domain, QWebPage::PermissionPolicy& policy); 196 void cancelRequestsForPermission(QWebFrame* frame, QWebPage::PermissionDomain domain); 196 197 197 198 protected: -
trunk/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
r63191 r63921 68 68 m_userStyleSheetEnabled = false; 69 69 m_desktopNotificationAllowedOrigins.clear(); 70 m_ignoreDesktopNotification = false; 70 71 71 72 DumpRenderTreeSupportQt::dumpEditingCallbacks(false); … … 194 195 } 195 196 197 void LayoutTestController::ignoreDesktopNotificationPermissionRequests() 198 { 199 m_ignoreDesktopNotification = true; 200 } 201 196 202 bool LayoutTestController::checkDesktopNotificationPermission(const QString& origin) 197 203 { 198 return m_desktopNotificationAllowedOrigins.contains(origin);204 return !m_ignoreDesktopNotification && m_desktopNotificationAllowedOrigins.contains(origin); 199 205 } 200 206 -
trunk/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
r63191 r63921 71 71 bool shouldDumpTitleChanges() const { return m_dumpTitleChanges; } 72 72 bool waitForPolicy() const { return m_waitForPolicy; } 73 bool ignoreReqestForPermission() const { return m_ignoreDesktopNotification; } 73 74 74 75 void reset(); … … 121 122 int windowCount(); 122 123 void grantDesktopNotificationPermission(const QString& origin); 124 void ignoreDesktopNotificationPermissionRequests(); 123 125 bool checkDesktopNotificationPermission(const QString& origin); 124 126 void display(); … … 253 255 QWebHistory* m_webHistory; 254 256 QStringList m_desktopNotificationAllowedOrigins; 257 bool m_ignoreDesktopNotification; 255 258 }; 256 259 -
trunk/WebKitTools/QtTestBrowser/main.cpp
r63090 r63921 93 93 #endif 94 94 95 class NotificationsPermissionController : public QObject {96 Q_OBJECT97 public:98 NotificationsPermissionController(QObject* parent) : QObject(parent)99 {100 DumpRenderTreeSupportQt::setNotificationsReceiver(this);101 DumpRenderTreeSupportQt::setCheckPermissionFunction(checkPermission);102 DumpRenderTreeSupportQt::setRequestPermissionFunction(requestPermission);103 }104 105 static void checkPermission(QObject*, const QUrl&, NotificationPermission& permission)106 {107 permission = NotificationAllowed;108 }109 110 static void requestPermission(QObject*, const QString& origin)111 {112 DumpRenderTreeSupportQt::allowNotificationForOrigin(origin);113 }114 };115 116 NotificationsPermissionController* notificationsPermissionController = 0;117 118 95 class LauncherWindow : public MainWindow { 119 96 Q_OBJECT … … 234 211 235 212 createChrome(); 236 if (!notificationsPermissionController)237 notificationsPermissionController = new NotificationsPermissionController(QCoreApplication::instance());238 213 } 239 214 -
trunk/WebKitTools/QtTestBrowser/webpage.cpp
r59896 r63921 49 49 connect(networkAccessManager(), SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), 50 50 this, SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*))); 51 connect(this, SIGNAL(requestPermissionFromUser(QWebFrame*, QWebPage::PermissionDomain)), this, SLOT(requestPermission(QWebFrame*, QWebPage::PermissionDomain))); 52 connect(this, SIGNAL(checkPermissionFromUser(QWebFrame*, QWebPage::PermissionDomain, QWebPage::PermissionPolicy&)), this, SLOT(checkPermission(QWebFrame*, QWebPage::PermissionDomain, QWebPage::PermissionPolicy&))); 53 connect(this, SIGNAL(cancelRequestsForPermission(QWebFrame*, QWebPage::PermissionDomain)), this, SLOT(cancelRequestsForPermission(QWebFrame*, QWebPage::PermissionDomain))); 51 54 } 52 55 … … 163 166 delete dialog; 164 167 } 168 169 void WebPage::requestPermission(QWebFrame* frame, QWebPage::PermissionDomain domain) 170 { 171 setUserPermission(frame, domain, PermissionGranted); 172 } 173 174 void WebPage::checkPermission(QWebFrame* frame, QWebPage::PermissionDomain domain, QWebPage::PermissionPolicy& policy) 175 { 176 switch (domain) { 177 case NotificationsPermissionDomain: 178 policy = PermissionGranted; 179 break; 180 default: 181 break; 182 } 183 } 184 185 void WebPage::cancelRequestsForPermission(QWebFrame*, QWebPage::PermissionDomain) 186 { 187 } -
trunk/WebKitTools/QtTestBrowser/webpage.h
r59896 r63921 58 58 bool shouldInterruptJavaScript(); 59 59 void authenticationRequired(QNetworkReply*, QAuthenticator*); 60 void requestPermission(QWebFrame* frame, QWebPage::PermissionDomain domain); 61 void checkPermission(QWebFrame* frame, QWebPage::PermissionDomain domain, QWebPage::PermissionPolicy& policy); 62 void cancelRequestsForPermission(QWebFrame* frame, QWebPage::PermissionDomain domain); 60 63 61 64 private:
Note: See TracChangeset
for help on using the changeset viewer.