Skip to content
  • hausmann@webkit.org's avatar
    [Qt] Remove synchronous QWebPage::checkPermissions signal · ed8997b7
    hausmann@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=46810
    
    Reviewed by Andreas Kling.
    
    WebKit/qt:
    
    As decided in the API review, we remove this signal and replace its only use currently
    with cached credentials.
    
    * Api/qwebpage.cpp:
    (QWebPage::setUserPermission): Pass the WebCore frame instead of the QWebFrame.
    * Api/qwebpage.h:
    * WebCoreSupport/NotificationPresenterClientQt.cpp:
    (WebCore::NotificationPresenterClientQt::checkPermission): Replaced explicit
    signal emission with hash lookup of previously granted permission (or not).
    (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission): Remove
    any previously cached/granted permission for the given script execution context.
    (WebCore::NotificationPresenterClientQt::allowNotificationForFrame): Do not
    only serve pending permission requests but before calling the JS callbacks, remember
    the permission for subsequent synchronous checkPermission() calls.
    * WebCoreSupport/NotificationPresenterClientQt.h: Add cache for permissions.
    
    WebKitTools:
    
    * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
    (WebCore::WebPage::WebPage):
    * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
    (LayoutTestController::grantDesktopNotificationPermission): When granting
    permission, grant it directly on the QWebPage/Frame, that will remember it.
    * QtTestBrowser/webpage.cpp:
    (WebPage::WebPage):
    * QtTestBrowser/webpage.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    ed8997b7