[webkit-changes] [WebKit/WebKit] bd5ff3: Implement ServiceWorkerRegistration.getNotificatio...

Brady Eidson noreply at github.com
Wed May 17 12:57:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bd5ff3526d34a0c652e3cc8cf67ed71355aa84da
      https://github.com/WebKit/WebKit/commit/bd5ff3526d34a0c652e3cc8cf67ed71355aa84da
  Author: Brady Eidson <beidson at apple.com>
  Date:   2023-05-17 (Wed, 17 May 2023)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKNotificationData.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKNotificationData.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreClient.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm

  Log Message:
  -----------
  Implement ServiceWorkerRegistration.getNotifications()
https://bugs.webkit.org/show_bug.cgi?id=236544
rdar://105689245

Reviewed by Tim Horton.

Since embedding clients are currently in charge of actually posting notifications,
they must also be in charge of getting notifications.

As far as WebKit goes, this patch adds a delegate SPI to request notifications from the client.

* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
* Source/WebKit/UIProcess/API/Cocoa/_WKNotificationData.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKNotificationData.mm:
(-[_WKNotificationData initWithCoreData:dataStore:]):
(-[_WKNotificationData dictionaryRepresentation]):

* Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:

* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getNotifications):

* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::hasClientGetDisplayedNotifications const):
(WebKit::WebsiteDataStore::getNotifications):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:

* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreClient.h:
(WebKit::WebsiteDataStoreClient::hasGetDisplayedNotifications const):
(WebKit::WebsiteDataStoreClient::getDisplayedNotifications):

* Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
(-[FirePushEventDataStoreDelegate init]):
(-[FirePushEventDataStoreDelegate websiteDataStore:showNotification:]):
(-[FirePushEventDataStoreDelegate websiteDataStore:getDisplayedNotificationsForWorkerOrigin:completionHandler:]):
(-[FirePushEventDataStoreDelegate dealloc]):

Canonical link: https://commits.webkit.org/264169@main




More information about the webkit-changes mailing list