[webkit-changes] [WebKit/WebKit] 809586: Crash in gamepads in WKWebView apps that also list...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 809586a6b81ed6b9f46cda1c990392e90182266a https://github.com/WebKit/WebKit/commit/809586a6b81ed6b9f46cda1c990392e90182266a Author: Brady Eidson Date: 2022-11-02 (Wed, 02 Nov 2022) Changed paths: M Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.cpp Log Message: --- Crash in gamepads in WKWebView apps that also listen to the GameController framework themselves https://bugs.webkit.org/show_bug.cgi?id=247368 and rdar://100036005 Reviewed by Geoff Garen. No test possible for now. * Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.cpp: (WebKit::UIGamepadProvider::platformGamepadInputActivity): Handle a mismatch between platform gamepads and established gamepads. This can happen when there's "invisible" gamepads still, and the current input event will not reveal them to WebContent. And it's fine: Things get resolved when an input even *does* reveal the gamepads to the web page. Canonical link: https://commits.webkit.org/256255@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [295650] trunk/Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp
Title: [295650] trunk/Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp Revision 295650 Author beid...@apple.com Date 2022-06-17 16:56:37 -0700 (Fri, 17 Jun 2022) Log Message pas_panic_on_out_of_memory_error decoding large session state data blobs https://bugs.webkit.org/show_bug.cgi?id=241486 and Reviewed by Tim Horton. * Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp: (WebKit::encodeLegacySessionState): Try malloc, and gracefully handle failure. This will result in some users losing session state blobs in large single tab use cases, but is better than crashing the UI process. Better handling these cases will be subject of followup work. Canonical link: https://commits.webkit.org/251654@main Modified Paths trunk/Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp Diff Modified: trunk/Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp (295649 => 295650) --- trunk/Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp 2022-06-17 23:56:33 UTC (rev 295649) +++ trunk/Source/WebKit/UIProcess/mac/LegacySessionStateCoding.cpp 2022-06-17 23:56:37 UTC (rev 295650) @@ -515,7 +515,9 @@ CFIndex length = CFDataGetLength(data.get()); size_t bufferSize = length + sizeof(uint32_t); -auto buffer = MallocPtr::malloc(bufferSize); +auto buffer = MallocPtr::tryMalloc(bufferSize); +if (!buffer) +return nullptr; // Put the session state version number at the start of the buffer buffer.get()[0] = (sessionStateDataVersion & 0xff00) >> 24; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [293296] trunk
Title: [293296] trunk Revision 293296 Author beid...@apple.com Date 2022-04-23 15:26:57 -0700 (Sat, 23 Apr 2022) Log Message Add WKNotification and WKWebsiteDataStore SPI for handling click/close of persistent notifications https://bugs.webkit.org/show_bug.cgi Reviewed by Chris Dumez. Source/WebCore: Covered by existing tests with WKTR changes. In Cocoa, expose the dictionary representation of a notification as an NSDictionary, as it is meant to be used as an NSUserNotification userInfo value. * Modules/notifications/NotificationData.h: * Modules/notifications/NotificationDataCocoa.mm: Added. (WebCore::NotificationData::fromDictionary): (WebCore::NotificationData::dictionaryRepresentation const): * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * workers/service/server/SWServer.cpp: (WebCore::SWServer::processNotificationEvent): * workers/service/server/SWServer.h: Source/WebKit: For notifications that are persistent, add WKWebsiteDataStore SPI to handle click/close operations, as the WKNotificationManager's runtime record of such notifications might be gone. WebKitTestRunner exercises this new SPI in existing tests. * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::processNotificationEvent): * NetworkProcess/NetworkProcess.h: * NetworkProcess/NetworkProcess.messages.in: * SourcesCocoa.txt: * UIProcess/API/C/WKNotification.cpp: (WKNotificationGetIsPersistent): * UIProcess/API/C/WKNotification.h: * UIProcess/API/C/mac/WKNotificationPrivateMac.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h. * UIProcess/API/C/mac/WKNotificationPrivateMac.mm: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h. (WKNotificationCopyDictionaryRepresentation): * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _processPersistentNotificationClick:completionHandler:]): (-[WKWebsiteDataStore _processPersistentNotificationClose:completionHandler:]): * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: * UIProcess/API/Cocoa/_WKDownload.mm: * UIProcess/API/Cocoa/_WKDownloadInternal.h: * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::processNotificationEvent): * UIProcess/Network/NetworkProcessProxy.h: * UIProcess/Notifications/WebNotification.cpp: * UIProcess/Notifications/WebNotification.h: * UIProcess/Notifications/WebNotificationManagerProxy.cpp: (WebKit::dispatchDidClickNotification): (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): * WebKit.xcodeproj/project.pbxproj: Tools: Teach WKTR to use the new SPI by keeping a set of notifications that are persistent. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/WebNotificationProvider.cpp: (WTR::WebNotificationProvider::showWebNotification): (WTR::WebNotificationProvider::closeWebNotification): (WTR::WebNotificationProvider::reset): * WebKitTestRunner/WebNotificationProvider.h: * WebKitTestRunner/cocoa/WebNotificationProviderCocoa.mm: (WTR::WebNotificationProvider::simulateWebNotificationClickForServiceWorkerNotifications): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/notifications/NotificationData.h trunk/Source/WebCore/SourcesCocoa.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/workers/service/server/SWServer.cpp trunk/Source/WebCore/workers/service/server/SWServer.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.h trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in trunk/Source/WebKit/Shared/ModelIdentifier.h trunk/Source/WebKit/SourcesCocoa.txt trunk/Source/WebKit/UIProcess/API/C/WKNotification.cpp trunk/Source/WebKit/UIProcess/API/C/WKNotification.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.mm trunk/Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h trunk/Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm trunk/Source/WebKit/UIProcess/ModelElementController.h trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h trunk/Source/WebKit/UIProcess/Notifications/WebNotification.cpp trunk/Source/WebKit/UIProcess/Notifications/WebNotification.h trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.cpp trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Tools/ChangeLog trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj trunk/Tools/WebKitTestRunner/WebNotificationProvider.cpp trunk/Tools/WebKitTestRunner/WebNotificationProvider.h Added Paths trunk/Source/WebCore/Modules/notifications/NotificationDataCocoa.mm trunk/Source/WebKit/UIProcess/API/C/mac/WKNotificationPrivateMac.h trunk/Source/WebKit/UIProcess/API/C/mac/WKNotificationPrivateMac.mm
[webkit-changes] [291979] trunk
Title: [291979] trunk Revision 291979 Author beid...@apple.com Date 2022-03-28 11:14:19 -0700 (Mon, 28 Mar 2022) Log Message Support ServiceWorkerClients.openWindow. and https://bugs.webkit.org/show_bug.cgi?id=238400 Reviewed by Youenn Fablet. Source/WebCore: Test: http/tests/workers/service/openwindow-from-notification-click.html * dom/Document.cpp: (WebCore::Document::pageID const): * page/ClientOrigin.h: (WebCore::ClientOrigin::loggingString const): * workers/service/ServiceWorkerClientData.cpp: (WebCore::ServiceWorkerClientData::isolatedCopy const): (WebCore::ServiceWorkerClientData::isolatedCopy): (WebCore::ServiceWorkerClientData::from): * workers/service/ServiceWorkerClientData.h: (WebCore::ServiceWorkerClientData::encode const): (WebCore::ServiceWorkerClientData::decode): * workers/service/ServiceWorkerClients.cpp: (WebCore::matchWindowWithPageIdentifier): (WebCore::ServiceWorkerClients::openWindow): * workers/service/context/SWContextManager.h: * workers/service/server/SWServerToContextConnection.h: * workers/service/server/SWServerWorker.h: Source/WebKit: This API asks the browser to asynchronously open a new tab to a URL then resolve a promise with the new WindowClient representing that tab. >From a WebCore/WebKit standpoint, implementing this was mostly straightforward. 1 - A plumbing exercise (thread hopping and IPC'ing the message and its reply around) 2 - Implmenting a new delegate method for the hosting app to create the requested WKWebView The delegate method was interesting. Normally this is the type of thing that'd go to the WKUIDelegate but that requires there to be a WKWebView, and service workers can be running without any web views. Fortunately we already had a WKWebsiteDataStore delegate SPI, and service workers *do* always have an associated website data store they're running under. Once the app gives the new web view back to WebKit, we record its PageIdentifier in the reply. Once the reply makes its way all the way back to the ServiceWorker process and on the ServiceWorker thread, we do a client match and cross check with that PageIdentifier to make sure we're resolving the promise with the correct WindowClient. If there's no matched clients, then the view is either already gone or it has navigated away to a non-applicable URL. Same if there are matched clients, but they don't match the specified PageIdentifier. A straight forward layouttest completes the task. * NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: (WebKit::WebSWServerConnection::controlClient): * NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp: (WebKit::WebSWServerToContextConnection::openWindow): * NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h: * NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in: * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore set_delegate:]): * UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h: * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::openWindowFromServiceWorker): * UIProcess/Network/NetworkProcessProxy.h: * UIProcess/Network/NetworkProcessProxy.messages.in: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared): (WebKit::WebPageProxy::callLoadCompletionHandlersIfNecessary): (WebKit::WebPageProxy::didFinishLoadForFrame): (WebKit::WebPageProxy::didFailLoadForFrame): (WebKit::WebPageProxy::resetState): (WebKit::WebPageProxy::callServiceWorkerLaunchCompletionHandlerIfNecessary): Deleted. * UIProcess/WebPageProxy.h: * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::openWindowFromServiceWorker): * UIProcess/WebsiteData/WebsiteDataStore.h: * UIProcess/WebsiteData/WebsiteDataStoreClient.h: (WebKit::WebsiteDataStoreClient::openWindowFromServiceWorker): * WebProcess/Notifications/WebNotificationManager.cpp: (WebKit::WebNotificationManager::show): (WebKit::WebNotificationManager::didShowNotification): (WebKit::WebNotificationManager::didClickNotification): * WebProcess/Storage/WebSWContextManagerConnection.cpp: (WebKit::WebSWContextManagerConnection::openWindow): * WebProcess/Storage/WebSWContextManagerConnection.h: Source/WTF: * wtf/HashTable.h: (WTF::KeyTraits>::inlineLookup): Relax this value size requirement for now. The required refactoring is best left as a seperate task with a seperate patch. Tools: Implement the new delegate to create the new view. * WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createOtherPlatformWebView): * WebKitTestRunner/TestController.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateOtherPage): * WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm: (-[TestWebsiteDataStoreDelegate websiteDataStore:openWindow:fromServiceWorkerOrigin:completionHandler:]): LayoutTests: WKTR knows how to openWindow() now. So test: - The success case - Failure due to a disallowed URL -
[webkit-changes] [290818] trunk/Source/WebKit
Title: [290818] trunk/Source/WebKit Revision 290818 Author beid...@apple.com Date 2022-03-03 22:58:01 -0800 (Thu, 03 Mar 2022) Log Message Add a new "Daemon -> Client" message type to webpushd https://bugs.webkit.org/show_bug.cgi?id=237391 Reviewed by Alex Christensen. Future work will need more messages like this. So let's add the mechanism in a small standalone patch that uses it for debug messages. No behavior change for now. * NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm: (WebKit::WebPushD::handleWebPushDaemonMessage): (WebKit::WebPushD::Connection::connectionReceivedEvent): (WebKit::WebPushD::Connection::connectionReceivedEvent const): Deleted. * NetworkProcess/Notifications/WebPushDaemonConnection.cpp: (WebKit::WebPushD::Connection::debugMessage): * NetworkProcess/Notifications/WebPushDaemonConnection.h: * NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h: * NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm: (WebKit::PCM::Connection::connectionReceivedEvent): (WebKit::PCM::Connection::connectionReceivedEvent const): Deleted. * Platform/IPC/DaemonConnection.h: * Shared/WebPushDaemonConstants.h: (WebKit::WebPushD::daemonMessageTypeSendsReply): * webpushd/ICAppBundle.mm: (WebPushD::broadcastDebugMessage): * webpushd/PushClientConnection.h: * webpushd/PushClientConnection.mm: (WebPushD::ClientConnection::broadcastDebugMessage): (WebPushD::ClientConnection::sendDebugMessage): (WebPushD::ClientConnection::sendDaemonMessage const): * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::broadcastDebugMessage): (WebPushD::Daemon::broadcastAllConnectionIdentities): (WebPushD::Daemon::connectionAdded): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm trunk/Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.cpp trunk/Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.h trunk/Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h trunk/Source/WebKit/NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm trunk/Source/WebKit/Platform/IPC/DaemonConnection.h trunk/Source/WebKit/Shared/WebPushDaemonConstants.h trunk/Source/WebKit/webpushd/ICAppBundle.mm trunk/Source/WebKit/webpushd/PushClientConnection.h trunk/Source/WebKit/webpushd/PushClientConnection.mm trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm Diff Modified: trunk/Source/WebKit/ChangeLog (290817 => 290818) --- trunk/Source/WebKit/ChangeLog 2022-03-04 06:38:04 UTC (rev 290817) +++ trunk/Source/WebKit/ChangeLog 2022-03-04 06:58:01 UTC (rev 290818) @@ -1,3 +1,49 @@ +2022-03-03 Brady Eidson + +Add a new "Daemon -> Client" message type to webpushd +https://bugs.webkit.org/show_bug.cgi?id=237391 + +Reviewed by Alex Christensen. + +Future work will need more messages like this. +So let's add the mechanism in a small standalone patch that uses it for debug messages. + +No behavior change for now. + +* NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm: +(WebKit::WebPushD::handleWebPushDaemonMessage): +(WebKit::WebPushD::Connection::connectionReceivedEvent): +(WebKit::WebPushD::Connection::connectionReceivedEvent const): Deleted. + +* NetworkProcess/Notifications/WebPushDaemonConnection.cpp: +(WebKit::WebPushD::Connection::debugMessage): +* NetworkProcess/Notifications/WebPushDaemonConnection.h: + +* NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementConnection.h: +* NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementConnectionCocoa.mm: +(WebKit::PCM::Connection::connectionReceivedEvent): +(WebKit::PCM::Connection::connectionReceivedEvent const): Deleted. + +* Platform/IPC/DaemonConnection.h: + +* Shared/WebPushDaemonConstants.h: +(WebKit::WebPushD::daemonMessageTypeSendsReply): + +* webpushd/ICAppBundle.mm: +(WebPushD::broadcastDebugMessage): + +* webpushd/PushClientConnection.h: +* webpushd/PushClientConnection.mm: +(WebPushD::ClientConnection::broadcastDebugMessage): +(WebPushD::ClientConnection::sendDebugMessage): +(WebPushD::ClientConnection::sendDaemonMessage const): + +* webpushd/WebPushDaemon.h: +* webpushd/WebPushDaemon.mm: +(WebPushD::Daemon::broadcastDebugMessage): +(WebPushD::Daemon::broadcastAllConnectionIdentities): +(WebPushD::Daemon::connectionAdded): + 2022-03-03 Ross Kirsling REGRESSION(r290815): Fix even more incorrect #if ENABLE(SERVICE_WORKER) usage in NetworkProcess Modified: trunk/Source/WebKit/NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm (290817 =>
[webkit-changes] [290146] trunk
Title: [290146] trunk Revision 290146 Author beid...@apple.com Date 2022-02-18 11:01:21 -0800 (Fri, 18 Feb 2022) Log Message Add an InstallCoordination webpushd backend https://bugs.webkit.org/show_bug.cgi?id=233714 Reviewed by Alex Christensen. Source/WebCore/PAL: Expose "toHexString" so we can SHA256 an arbitrary string to a hex representation. * pal/crypto/CryptoDigest.h: * pal/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp: (PAL::CryptoDigest::toHexString): Source/WebKit: Covered by API tests. This patch lets the iOS build create a placeholder app bundle to represent a registration using InstallCoordination. * Configurations/webpushd.xcconfig: * WebKit.xcodeproj/project.pbxproj: * webpushd/AppBundleRequest.mm: (WebPushD::AppBundleRequest::start): Use the ICAppBundle implementation when appropriate. * webpushd/ICAppBundle.h: Copied from Source/WebKit/webpushd/PushAppBundle.h. (WebPushD::ICAppBundle::create): * webpushd/ICAppBundle.mm: Added. (-[WebAppInstallCoordinatorObserver initWithICAppBundle:]): (-[WebAppInstallCoordinatorObserver coordinatorDidCompleteSuccessfully:forApplicationRecord:]): (-[WebAppInstallCoordinatorObserver coordinator:canceledWithReason:client:]): (WebPushD::broadcastDebugMessage): (WebPushD::ICAppBundle::ICAppBundle): (WebPushD::encodeOriginStringForBundleIdentifier): (WebPushD::originStringFromEncodedBundleIdentifier): (WebPushD::bundlePrefixForHostAppIdentifier): (WebPushD::bundleNameForOriginStringAndHostAppIdentifier): (WebPushD::ICAppBundle::getOriginsWithRegistrations): (WebPushD::ICAppBundle::getBundleIdentifier): (WebPushD::ICAppBundle::checkForExistingBundle): (WebPushD::ICAppBundle::deleteExistingBundle): (WebPushD::ICAppBundle::didDeleteExistingBundleWithError): (WebPushD::ICAppBundle::stop): (WebPushD::ICAppBundle::createBundle): (WebPushD::ICAppBundle::bundleCreationSucceeded): (WebPushD::ICAppBundle::bundleCreationFailed): * webpushd/InstallCoordinationSPI.h: Added. * webpushd/LaunchServicesSPI.h: Copied from Source/WebKit/webpushd/PushAppBundle.h. * webpushd/PushAppBundle.h: * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions): Use the ICAppBundle implementation when appropriate. Source/WTF: * wtf/PlatformEnableCocoa.h: Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/15/InstallCoordination.framework/InstallCoordination.tbd: Added. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/PlatformEnableCocoa.h trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/crypto/CryptoDigest.h trunk/Source/WebCore/PAL/pal/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/WebKit.xcconfig trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/webpushd/AppBundleRequest.mm trunk/Source/WebKit/webpushd/PushAppBundle.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm trunk/WebKitLibraries/ChangeLog Added Paths trunk/Source/WebKit/webpushd/ICAppBundle.h trunk/Source/WebKit/webpushd/ICAppBundle.mm trunk/Source/WebKit/webpushd/InstallCoordinationSPI.h trunk/Source/WebKit/webpushd/LaunchServicesSPI.h trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/InstallCoordination.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/InstallCoordination.framework/InstallCoordination.tbd Diff Modified: trunk/Source/WTF/ChangeLog (290145 => 290146) --- trunk/Source/WTF/ChangeLog 2022-02-18 18:59:32 UTC (rev 290145) +++ trunk/Source/WTF/ChangeLog 2022-02-18 19:01:21 UTC (rev 290146) @@ -1,3 +1,12 @@ +2022-02-18 Brady Eidson + +Add an InstallCoordination webpushd backend +https://bugs.webkit.org/show_bug.cgi?id=233714 + +Reviewed by Alex Christensen. + +* wtf/PlatformEnableCocoa.h: + 2022-02-17 Matt Woodrow Enable subgrid by default. Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (290145 => 290146) --- trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2022-02-18 18:59:32 UTC (rev 290145) +++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2022-02-18 19:01:21 UTC (rev 290146) @@ -143,6 +143,10 @@ #define ENABLE_BUILT_IN_NOTIFICATIONS 1 #endif +#if !defined(ENABLE_INSTALL_COORDINATION_BUNDLES) && PLATFORM(IOS) +#define ENABLE_INSTALL_COORDINATION_BUNDLES 1 +#endif + #if !defined(ENABLE_CACHE_PARTITIONING) #define ENABLE_CACHE_PARTITIONING 1 #endif Modified: trunk/Source/WebCore/PAL/ChangeLog (290145 => 290146) --- trunk/Source/WebCore/PAL/ChangeLog 2022-02-18 18:59:32 UTC (rev 290145) +++ trunk/Source/WebCore/PAL/ChangeLog 2022-02-18 19:01:21 UTC (rev 290146) @@ -1,3 +1,16 @@ +2022-02-18 Brady Eidson + +Add an InstallCoordination webpushd backend +
[webkit-changes] [289866] trunk
Title: [289866] trunk Revision 289866 Author beid...@apple.com Date 2022-02-15 17:25:22 -0800 (Tue, 15 Feb 2022) Log Message Implement ServiceWorkerRegistration.getNotifications(). https://bugs.webkit.org/show_bug.cgi?id=236545 Reviewed by Alex Christensen. Source/WebCore: Test: http/tests/workers/service/getnotifications.html Until we figure out just how "persistent" we want persistent notifications from service workers to be, this is an impementation of getNotifications() that works for the current running of the user agent. * Modules/notifications/Notification.cpp: (WebCore::Notification::Notification): (WebCore::Notification::~Notification): (WebCore::Notification::copyForGetNotifications const): (WebCore::Notification::contextDestroyed): (WebCore::Notification::close): * Modules/notifications/Notification.h: * workers/service/ServiceWorkerRegistration.cpp: (WebCore::ServiceWorkerRegistration::getNotifications): (WebCore::ServiceWorkerRegistration::addNotificationToList): (WebCore::ServiceWorkerRegistration::removeNotificationFromList): (WebCore::ServiceWorkerRegistration::filteredNotificationList): * workers/service/ServiceWorkerRegistration.h: LayoutTests: * http/tests/workers/service/getnotifications-expected.txt: Added. * http/tests/workers/service/getnotifications.html: Added. * http/tests/workers/service/resources/shownotification-worker.js: (async tryShow): (async getNotes): (async event): Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/workers/service/resources/shownotification-worker.js trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/notifications/Notification.cpp trunk/Source/WebCore/Modules/notifications/Notification.h trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.h Added Paths trunk/LayoutTests/http/tests/workers/service/getnotifications-expected.txt trunk/LayoutTests/http/tests/workers/service/getnotifications.html Diff Modified: trunk/LayoutTests/ChangeLog (289865 => 289866) --- trunk/LayoutTests/ChangeLog 2022-02-16 00:51:49 UTC (rev 289865) +++ trunk/LayoutTests/ChangeLog 2022-02-16 01:25:22 UTC (rev 289866) @@ -1,3 +1,17 @@ +2022-02-15 Brady Eidson + +Implement ServiceWorkerRegistration.getNotifications(). +https://bugs.webkit.org/show_bug.cgi?id=236545 + +Reviewed by Alex Christensen. + +* http/tests/workers/service/getnotifications-expected.txt: Added. +* http/tests/workers/service/getnotifications.html: Added. +* http/tests/workers/service/resources/shownotification-worker.js: +(async tryShow): +(async getNotes): +(async event): + 2022-02-15 Fujii Hironori fast/filter-image/filter-image-svg.html is failing to load the image due to a wrong path Added: trunk/LayoutTests/http/tests/workers/service/getnotifications-expected.txt (0 => 289866) --- trunk/LayoutTests/http/tests/workers/service/getnotifications-expected.txt (rev 0) +++ trunk/LayoutTests/http/tests/workers/service/getnotifications-expected.txt 2022-02-16 01:25:22 UTC (rev 289866) @@ -0,0 +1,43 @@ +This tests that persistent notifications created by a service worker are visible to getNotifications() + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS Notification.permission is "granted" +Got notifications +There are 0 notifications + +Notification was shown +Notification was shown +Notification was shown +Got notifications +There are 3 notifications +Title: Hello +Body: Body1 +Tag: tag-a +Title: There +Body: Body2 +Tag: tag-b +Title: Buddy +Body: Body3 +Tag: tag-b + +Got notifications +There are 1 notifications +Title: Hello +Body: Body1 +Tag: tag-a + +Got notifications +There are 2 notifications +Title: There +Body: Body2 +Tag: tag-b +Title: Buddy +Body: Body3 +Tag: tag-b + +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/http/tests/workers/service/getnotifications.html (0 => 289866) --- trunk/LayoutTests/http/tests/workers/service/getnotifications.html (rev 0) +++ trunk/LayoutTests/http/tests/workers/service/getnotifications.html 2022-02-16 01:25:22 UTC (rev 289866) @@ -0,0 +1,91 @@ + + + +function failTheTest(msg) +{ +testFailed(msg); +if (testRunner) +testRunner.notifyDone(); +} + +if (window.testRunner) { +testRunner.waitUntilDone(); +testRunner.grantWebNotificationPermission(testURL); +} + +description("This tests that persistent notifications created by a service worker are visible to getNotifications()"); + +shouldBeEqualToString("Notification.permission", "granted"); + +async function registerServiceWorker() { +var registration = await navigator.serviceWorker.register('resources/shownotification-worker.js'); + +if (!registration) +return testFailed("No registration"); + +if (registration.active) { +
[webkit-changes] [289153] trunk/Source
Title: [289153] trunk/Source Revision 289153 Author beid...@apple.com Date 2022-02-05 00:10:36 -0800 (Sat, 05 Feb 2022) Log Message Notification refactoring https://bugs.webkit.org/show_bug.cgi?id=236169 Reviewed by Alex Christensen. Source/WebCore: No new tests (No behavior change) Some "no behavior change" refactors broken out from an upcoming larger patch, including: - Make Notification objects reliant on ScriptExecutionContext instead of Document - Give them a direct path to a NotificationClient instead of having to go through a Page's NotificationController - Give ScriptExecutionContext's a sessionID() accessor for future use - Some Notification object threading hardening * Modules/notifications/Notification.cpp: (WebCore::Notification::create): (WebCore::Notification::Notification): (WebCore::Notification::show): (WebCore::Notification::close): (WebCore::Notification::clientFromContext): (WebCore::Notification::stop): (WebCore::Notification::dispatchErrorEvent): (WebCore::Notification::permission): (WebCore::Notification::requestPermission): (WebCore::Notification::data const): (WebCore::Notification::document const): Deleted. * Modules/notifications/Notification.h: * Modules/notifications/NotificationClient.h: * Modules/notifications/NotificationData.h: (WebCore::NotificationData::encode const): (WebCore::NotificationData::decode): * dom/Document.cpp: (WebCore::Document::notificationClient): (WebCore::Document::sessionID const): * dom/Document.h: * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::isServiceWorkerGlobalScope const): (WebCore::ScriptExecutionContext::notificationClient): (WebCore::ScriptExecutionContext::sessionID const): * workers/WorkerThread.h: * workers/service/ServiceWorkerGlobalScope.cpp: (WebCore::ServiceWorkerGlobalScope::create): (WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope): * workers/service/ServiceWorkerGlobalScope.h: * workers/service/context/ServiceWorkerThread.cpp: (WebCore::generateWorkerParameters): (WebCore::ServiceWorkerThread::ServiceWorkerThread): (WebCore::m_notificationClient): (WebCore::ServiceWorkerThread::createWorkerGlobalScope): * workers/service/context/ServiceWorkerThread.h: * workers/service/context/ServiceWorkerThreadProxy.cpp: (WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy): * workers/service/context/ServiceWorkerThreadProxy.h: Source/WebKit: * WebProcess/Storage/WebSWContextManagerConnection.cpp: (WebKit::WebSWContextManagerConnection::installServiceWorker): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/notifications/Notification.cpp trunk/Source/WebCore/Modules/notifications/Notification.h trunk/Source/WebCore/Modules/notifications/NotificationClient.h trunk/Source/WebCore/Modules/notifications/NotificationData.h trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/Document.h trunk/Source/WebCore/dom/ScriptExecutionContext.h trunk/Source/WebCore/workers/WorkerThread.cpp trunk/Source/WebCore/workers/WorkerThread.h trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.h trunk/Source/WebCore/workers/service/context/ServiceWorkerThread.cpp trunk/Source/WebCore/workers/service/context/ServiceWorkerThread.h trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (289152 => 289153) --- trunk/Source/WebCore/ChangeLog 2022-02-05 07:26:52 UTC (rev 289152) +++ trunk/Source/WebCore/ChangeLog 2022-02-05 08:10:36 UTC (rev 289153) @@ -1,3 +1,66 @@ +2022-02-05 Brady Eidson + +Notification refactoring +https://bugs.webkit.org/show_bug.cgi?id=236169 + +Reviewed by Alex Christensen. + +No new tests (No behavior change) + +Some "no behavior change" refactors broken out from an upcoming larger patch, including: +- Make Notification objects reliant on ScriptExecutionContext instead of Document +- Give them a direct path to a NotificationClient instead of having to go through a Page's NotificationController +- Give ScriptExecutionContext's a sessionID() accessor for future use +- Some Notification object threading hardening + +* Modules/notifications/Notification.cpp: +(WebCore::Notification::create): +(WebCore::Notification::Notification): +(WebCore::Notification::show): +(WebCore::Notification::close): +(WebCore::Notification::clientFromContext): +(WebCore::Notification::stop): +(WebCore::Notification::dispatchErrorEvent): +(WebCore::Notification::permission): +(WebCore::Notification::requestPermission): +(WebCore::Notification::data const): +
[webkit-changes] [288078] trunk
Title: [288078] trunk Revision 288078 Author beid...@apple.com Date 2022-01-16 19:35:16 -0800 (Sun, 16 Jan 2022) Log Message database names leak cross-origin within the same browser session https://bugs.webkit.org/show_bug.cgi?id=233548 Reviewed by Geoff Garen. Source/WebCore: Test: http/tests/security/getdatabases-crossorigin.html * Modules/indexeddb/server/IDBServer.cpp: (WebCore::IDBServer::IDBServer::getAllDatabaseNamesAndVersions): When iterating the set of all open UniqueIDBDatabases, only add them to the results list if their origins match. * page/ClientOrigin.h: (WebCore::ClientOrigin::operator!= const): LayoutTests: * http/tests/security/getdatabases-crossorigin-expected.txt: Added. * http/tests/security/getdatabases-crossorigin.html: Added. * http/tests/security/resources/getdatabases-otherframe.html: Added. * http/tests/security/resources/getdatabases-otherwindow.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp trunk/Source/WebCore/page/ClientOrigin.h Added Paths trunk/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt trunk/LayoutTests/http/tests/security/getdatabases-crossorigin.html trunk/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html trunk/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html Diff Modified: trunk/LayoutTests/ChangeLog (288077 => 288078) --- trunk/LayoutTests/ChangeLog 2022-01-17 01:04:56 UTC (rev 288077) +++ trunk/LayoutTests/ChangeLog 2022-01-17 03:35:16 UTC (rev 288078) @@ -1,3 +1,15 @@ +2022-01-16 Brady Eidson + +database names leak cross-origin within the same browser session +https://bugs.webkit.org/show_bug.cgi?id=233548 + +Reviewed by Geoff Garen. + +* http/tests/security/getdatabases-crossorigin-expected.txt: Added. +* http/tests/security/getdatabases-crossorigin.html: Added. +* http/tests/security/resources/getdatabases-otherframe.html: Added. +* http/tests/security/resources/getdatabases-otherwindow.html: Added. + 2022-01-16 Fujii Hironori [WinCairo] Unreviewed test gardening Added: trunk/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt (0 => 288078) --- trunk/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt (rev 0) +++ trunk/LayoutTests/http/tests/security/getdatabases-crossorigin-expected.txt 2022-01-17 03:35:16 UTC (rev 288078) @@ -0,0 +1,4 @@ +CONSOLE MESSAGE: Message received from other context +CONSOLE MESSAGE: Message received from other context +CONSOLE MESSAGE: PASS + Added: trunk/LayoutTests/http/tests/security/getdatabases-crossorigin.html (0 => 288078) --- trunk/LayoutTests/http/tests/security/getdatabases-crossorigin.html (rev 0) +++ trunk/LayoutTests/http/tests/security/getdatabases-crossorigin.html 2022-01-17 03:35:16 UTC (rev 288078) @@ -0,0 +1,43 @@ + + + + + +if (window.location.hostname == "localhost") +console.log("FAIL: Must be run as 127.0.0.1, not localhost"); + +if (window.testRunner) { +testRunner.dumpAsText(); +testRunner.waitUntilDone(); +} + +var messagesReceived = 0; + +window._onmessage_ = function(event) { +console.log("Message received from other context") + +if (++messagesReceived < 2) +return; + +indexedDB.databases().then((result) => { +databases = result; +if (databases.length != 0) +console.log("FAIL: There are " + databases.length + " database(s) when there should be 0"); +else +console.log("PASS"); +if (testRunner) +testRunner.notifyDone(); +}); +}; + +function openOtherWindow() +{ +window.open("http://localhost:8000/security/resources/getdatabases-otherwindow.html") +} + + + + + + \ No newline at end of file Added: trunk/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html (0 => 288078) --- trunk/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html (rev 0) +++ trunk/LayoutTests/http/tests/security/resources/getdatabases-otherframe.html 2022-01-17 03:35:16 UTC (rev 288078) @@ -0,0 +1,9 @@ + + +indexedDB.deleteDatabase('getdatabase-otherframe')._onsuccess_ = () => { +indexedDB.open('getdatabase-otherframe')._onsuccess_ = () => { +window.parent.postMessage("Hi there!", "*"); +} +} + + Added: trunk/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html (0 => 288078) --- trunk/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html (rev 0) +++ trunk/LayoutTests/http/tests/security/resources/getdatabases-otherwindow.html 2022-01-17 03:35:16 UTC (rev 288078) @@ -0,0 +1,9 @@ + + +indexedDB.deleteDatabase('getdatabase-otherwindow')._onsuccess_ = () => { +indexedDB.open('getdatabase-otherwindow')._onsuccess_ = () => { +
[webkit-changes] [287412] trunk
Title: [287412] trunk Revision 287412 Author beid...@apple.com Date 2021-12-23 13:50:28 -0800 (Thu, 23 Dec 2021) Log Message Add WTF::UUID class which is natively a 128-bit integer https://bugs.webkit.org/show_bug.cgi?id=234571 Reviewed by Alex Christensen. Source/WebCore: No new tests (Refactor, covered by existing tests) * Modules/notifications/NotificationData.h: (WebCore::NotificationData::decode): Source/WebKit: Notifications - which are UUID identified - are now addressed by a UUID object instead of a v4 UUID string. * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::cancelNotification): (WebKit::NetworkNotificationManager::clearNotifications): (WebKit::NetworkNotificationManager::didDestroyNotification): * NetworkProcess/Notifications/NetworkNotificationManager.h: * Scripts/webkit/messages.py: (forward_declarations_and_headers_for_replies): (headers_for_type): * Shared/Notifications/NotificationManagerMessageHandler.h: * Shared/Notifications/NotificationManagerMessageHandler.messages.in: * UIProcess/API/C/WKNotification.cpp: (WKNotificationCopyCoreIDForTesting): * UIProcess/API/C/WKNotification.h: * UIProcess/API/C/WKNotificationManager.cpp: (WKNotificationManagerProviderDidClickNotification_b): * UIProcess/API/C/WKNotificationManager.h: * UIProcess/Notifications/WebNotification.h: (WebKit::WebNotification::coreNotificationID const): * UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp: (WebKit::WebNotificationManagerMessageHandler::cancelNotification): (WebKit::WebNotificationManagerMessageHandler::clearNotifications): (WebKit::WebNotificationManagerMessageHandler::didDestroyNotification): * UIProcess/Notifications/WebNotificationManagerMessageHandler.h: * UIProcess/Notifications/WebNotificationManagerProxy.cpp: (WebKit::WebNotificationManagerProxy::cancel): (WebKit::WebNotificationManagerProxy::didDestroyNotification): (WebKit::pageIDsMatch): (WebKit::pageAndNotificationIDsMatch): (WebKit::WebNotificationManagerProxy::clearNotifications): (WebKit::WebNotificationManagerProxy::providerDidClickNotification): (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): * UIProcess/Notifications/WebNotificationManagerProxy.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::cancelNotification): (WebKit::WebPageProxy::clearNotifications): (WebKit::WebPageProxy::didDestroyNotification): * UIProcess/WebPageProxy.h: * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleCopyWebNotificationID): * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::webNotificationID): * WebProcess/InjectedBundle/InjectedBundle.h: * WebProcess/Notifications/WebNotificationManager.cpp: (WebKit::WebNotificationManager::didShowNotification): (WebKit::WebNotificationManager::didClickNotification): (WebKit::WebNotificationManager::didCloseNotifications): * WebProcess/Notifications/WebNotificationManager.h: * WebProcess/Notifications/WebNotificationManager.messages.in: Source/WTF: This patch adds a new WTF::UUID class. For now, it is simply a wrapper around a 128-bit integer, and creating a new one primes that integer with cryptographically random data. It can be encoded/decoded as well as used as a HashKey. And it will be a great utility to use as a unique object identifier for objects that logically exist in multiple processes. On that note, it also changes "UUIDIdentifier" to use this new UUID class instead of a v4 UUID string. * wtf/Identified.h: (WTF::UUIDIdentified::UUIDIdentified): * wtf/UUID.cpp: (WTF::UUID::UUID): (WTF::UUID::toVector const): (WTF::UUID::hash const): * wtf/UUID.h: (WTF::UUID::create): (WTF::UUID::UUID): (WTF::UUID::operator== const): (WTF::UUID::data const): (WTF::UUID::isHashTableDeletedValue const): (WTF::UUIDHash::hash): (WTF::UUIDHash::equal): (WTF::HashTraits::emptyValue): (WTF::HashTraits::constructDeletedValue): (WTF::HashTraits::isDeletedValue): (WTF::UUID::encode const): (WTF::UUID::decode): Tools: Notifications - which are UUID identified - are now addressed by a UUID object instead of a v4 UUID string. The way our C-API vends that UUID object is through a data object, so change WKTR to account for that. * WebKitTestRunner/DataFunctions.h: Copied from Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.h. (WTR::dataValue): (WTR::dataToUUID): (WTR::uuidToData): * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::postSimulateWebNotificationClick): (WTR::postPageMessage): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::simulateWebNotificationClick): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/WebNotificationProvider.cpp:
[webkit-changes] [287339] trunk
Title: [287339] trunk Revision 287339 Author beid...@apple.com Date 2021-12-21 18:31:40 -0800 (Tue, 21 Dec 2021) Log Message Make Notification identifiers be a UUID string instead of a uint64_t https://bugs.webkit.org/show_bug.cgi?id=234534 Reviewed by Alex Christensen. Source/WebCore: No new tests (Refactor, covered by existing tests) Before this patch, Notifications were tagged with an in-WebContent-process-unique identifier and also tagged with a UIProcess-unique identifier. There were maps between these two identifiers in WebKit, and both of them were exposed via API/SPI (e.g. through the injected bundle), necessitating maps between them in WKTR as well. This simplifies things by making a UUID identifier in the WebContent process that can be treated as the One True Identifier within WebKit. There's existing SPI clients that rely on the UIProcess-unique uin64_t identifier, so we sadly couldn't get rid of that entirely. But this patch still puts us in a much better place. * Modules/notifications/Notification.cpp: (WebCore::Notification::show): (WebCore::Notification::close): (WebCore::Notification::stop): (WebCore::Notification::data const): (WebCore::Notification::dataWithoutNotificationID const): Deleted. * Modules/notifications/Notification.h: * Modules/notifications/NotificationClient.h: (WebCore::NotificationClient::clearNotifications): Deleted. * Modules/notifications/NotificationData.h: (WebCore::NotificationData::decode): Source/WebKit: This is mostly changing a whole bunch of uint64_ts to Strings, but also gets rid of lots of weird and fragile maps. * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::cancelNotification): (WebKit::NetworkNotificationManager::clearNotifications): (WebKit::NetworkNotificationManager::didDestroyNotification): * NetworkProcess/Notifications/NetworkNotificationManager.h: * Shared/Notifications/NotificationManagerMessageHandler.h: * Shared/Notifications/NotificationManagerMessageHandler.messages.in: * UIProcess/API/C/WKNotification.cpp: (WKNotificationCopyCoreIDForTesting): * UIProcess/API/C/WKNotification.h: * UIProcess/API/C/WKNotificationManager.cpp: (WKNotificationManagerProviderDidClickNotification_b): (WKNotificationManagerProviderDidRemoveNotificationPolicies): (WKNotificationManagerGetLocalIDForTesting): Deleted. * UIProcess/API/C/WKNotificationManager.h: * UIProcess/Notifications/WebNotification.cpp: (WebKit::WebNotification::WebNotification): * UIProcess/Notifications/WebNotification.h: (WebKit::WebNotification::create): (WebKit::WebNotification::notificationID const): (WebKit::WebNotification::coreNotificationID const): (WebKit::WebNotification::pageIdentifier const): * UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp: (WebKit::WebNotificationManagerMessageHandler::cancelNotification): (WebKit::WebNotificationManagerMessageHandler::clearNotifications): (WebKit::WebNotificationManagerMessageHandler::didDestroyNotification): * UIProcess/Notifications/WebNotificationManagerMessageHandler.h: * UIProcess/Notifications/WebNotificationManagerProxy.cpp: (WebKit::WebNotificationManagerProxy::show): (WebKit::WebNotificationManagerProxy::cancel): (WebKit::WebNotificationManagerProxy::didDestroyNotification): (WebKit::pageIDsMatch): (WebKit::pageAndNotificationIDsMatch): (WebKit::WebNotificationManagerProxy::clearNotifications): (WebKit::WebNotificationManagerProxy::providerDidShowNotification): (WebKit::WebNotificationManagerProxy::providerDidClickNotification): (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): (WebKit::generateGlobalNotificationID): Deleted. (WebKit::WebNotificationManagerProxy::notificationLocalIDForTesting): Deleted. * UIProcess/Notifications/WebNotificationManagerProxy.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::cancelNotification): (WebKit::WebPageProxy::clearNotifications): (WebKit::WebPageProxy::didDestroyNotification): * UIProcess/WebPageProxy.h: * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleCopyWebNotificationID): (WKBundleGetWebNotificationID): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::webNotificationID): * WebProcess/InjectedBundle/InjectedBundle.h: * WebProcess/Notifications/WebNotificationManager.cpp: (WebKit::WebNotificationManager::show): (WebKit::WebNotificationManager::cancel): (WebKit::WebNotificationManager::didDestroyNotification): (WebKit::WebNotificationManager::didShowNotification): (WebKit::WebNotificationManager::didClickNotification): (WebKit::WebNotificationManager::didCloseNotifications): (WebKit::generateNotificationID): Deleted. (WebKit::WebNotificationManager::notificationIDForTesting): Deleted. (WebKit::WebNotificationManager::clearNotifications): Deleted. (WebKit::WebNotificationManager::removeNotificationFromContextMap): Deleted. * WebProcess/Notifications/WebNotificationManager.h: *
[webkit-changes] [287253] trunk/Source
Title: [287253] trunk/Source Revision 287253 Author beid...@apple.com Date 2021-12-19 21:03:26 -0800 (Sun, 19 Dec 2021) Log Message Stub out NotificationEvent and related https://bugs.webkit.org/show_bug.cgi?id=234420 Reviewed by Alex Christensen. Source/WebCore: No new tests (Disabled for now, no behavior change) This patch adds stubs for NotificationEvent and the related classes/functions that use it. Enabling just the stubs throws LayoutTests into a chaotic state that is not useful to manage with test expectations files. So this also puts the related changes behind a disabled-by-default runtime switch. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * Modules/notifications/Notification.h: * Modules/notifications/Notification.idl: * Modules/notifications/NotificationDirection.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl. * Modules/notifications/NotificationEvent.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl. (WebCore::NotificationEvent::~NotificationEvent): * Modules/notifications/NotificationEvent.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl. * Modules/notifications/NotificationEvent.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl. * Modules/notifications/NotificationOptions.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl. * Modules/notifications/NotificationOptions.idl: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl. * bindings/js/WebCoreBuiltinNames.h: * dom/EventNames.h: * dom/EventNames.in: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setNotificationEventEnabled): (WebCore::RuntimeEnabledFeatures::notificationEventEnabled const): * workers/service/ServiceWorkerGlobalScope.idl: * workers/service/ServiceWorkerRegistration.cpp: (WebCore::ServiceWorkerRegistration::showNotification): (WebCore::ServiceWorkerRegistration::getNotifications): * workers/service/ServiceWorkerRegistration.h: * workers/service/ServiceWorkerRegistration.idl: Source/WTF: * Scripts/Preferences/WebPreferencesInternal.yaml: * wtf/PlatformEnable.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml trunk/Source/WTF/wtf/PlatformEnable.h trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources-input.xcfilelist trunk/Source/WebCore/DerivedSources-output.xcfilelist trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Modules/notifications/Notification.h trunk/Source/WebCore/Modules/notifications/Notification.idl trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h trunk/Source/WebCore/dom/EventNames.h trunk/Source/WebCore/dom/EventNames.in trunk/Source/WebCore/page/RuntimeEnabledFeatures.h trunk/Source/WebCore/workers/service/ServiceWorkerGlobalScope.idl trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.h trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.idl Added Paths trunk/Source/WebCore/Modules/notifications/NotificationDirection.idl trunk/Source/WebCore/Modules/notifications/NotificationEvent.cpp trunk/Source/WebCore/Modules/notifications/NotificationEvent.h trunk/Source/WebCore/Modules/notifications/NotificationEvent.idl trunk/Source/WebCore/Modules/notifications/NotificationOptions.h trunk/Source/WebCore/Modules/notifications/NotificationOptions.idl Diff Modified: trunk/Source/WTF/ChangeLog (287252 => 287253) --- trunk/Source/WTF/ChangeLog 2021-12-20 03:37:38 UTC (rev 287252) +++ trunk/Source/WTF/ChangeLog 2021-12-20 05:03:26 UTC (rev 287253) @@ -1,3 +1,14 @@ +2021-12-19 Brady Eidson + +Stub out NotificationEvent and related +https://bugs.webkit.org/show_bug.cgi?id=234420 + +Reviewed by Alex Christensen. + +* Scripts/Preferences/WebPreferencesInternal.yaml: + +* wtf/PlatformEnable.h: + 2021-12-18 Darin Adler Hash tables, read/write, and heap memory are used unnecessarily, which may hurt performance Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (287252 => 287253) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml 2021-12-20 03:37:38 UTC (rev 287252) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml 2021-12-20 05:03:26 UTC (rev 287253) @@ -596,6 +596,18 @@ WebKitLegacy: default: false +NotificationEventEnabled: + type: bool + humanReadableName: "NotificationEvent support" + humanReadableDescription: "NotificationEvent and ServiceWorkerRegistration.showNotification() support" + webcoreBinding: RuntimeEnabledFeatures + condition: ENABLE(NOTIFICATION_EVENT) +
[webkit-changes] [287125] trunk/Source/WebKit
Title: [287125] trunk/Source/WebKit Revision 287125 Author beid...@apple.com Date 2021-12-15 20:33:12 -0800 (Wed, 15 Dec 2021) Log Message Some webpushtool improvements. https://bugs.webkit.org/show_bug.cgi?id=234372 Reviewed by Alex Christensen. - Make the list of current connections be reliably ordered - If the invocation is solely about injecting a push message, exit afterwards - Some other tiny niceties * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::broadcastAllConnectionIdentities): (WebPushD::Daemon::injectPushMessageForTesting): * webpushd/webpushtool/WebPushToolConnection.h: * webpushd/webpushtool/WebPushToolConnection.mm: (WebPushTool::Connection::create): (WebPushTool::Connection::Connection): (WebPushTool::Connection::connectToService): (WebPushTool::Connection::startAction): (WebPushTool::Connection::sendPushMessage): * webpushd/webpushtool/WebPushToolMain.mm: (main): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolMain.mm Diff Modified: trunk/Source/WebKit/ChangeLog (287124 => 287125) --- trunk/Source/WebKit/ChangeLog 2021-12-16 03:46:06 UTC (rev 287124) +++ trunk/Source/WebKit/ChangeLog 2021-12-16 04:33:12 UTC (rev 287125) @@ -1,5 +1,31 @@ 2021-12-15 Brady Eidson +Some webpushtool improvements. +https://bugs.webkit.org/show_bug.cgi?id=234372 + +Reviewed by Alex Christensen. + +- Make the list of current connections be reliably ordered +- If the invocation is solely about injecting a push message, exit afterwards +- Some other tiny niceties + +* webpushd/WebPushDaemon.mm: +(WebPushD::Daemon::broadcastAllConnectionIdentities): +(WebPushD::Daemon::injectPushMessageForTesting): + +* webpushd/webpushtool/WebPushToolConnection.h: +* webpushd/webpushtool/WebPushToolConnection.mm: +(WebPushTool::Connection::create): +(WebPushTool::Connection::Connection): +(WebPushTool::Connection::connectToService): +(WebPushTool::Connection::startAction): +(WebPushTool::Connection::sendPushMessage): + +* webpushd/webpushtool/WebPushToolMain.mm: +(main): + +2021-12-15 Brady Eidson + Add a "NotificationData" object to encompass local Notification-related parameters, instead of passing tons of them around everywhere. https://bugs.webkit.org/show_bug.cgi?id=234370 Modified: trunk/Source/WebKit/webpushd/WebPushDaemon.mm (287124 => 287125) --- trunk/Source/WebKit/webpushd/WebPushDaemon.mm 2021-12-16 03:46:06 UTC (rev 287124) +++ trunk/Source/WebKit/webpushd/WebPushDaemon.mm 2021-12-16 04:33:12 UTC (rev 287125) @@ -188,8 +188,14 @@ void Daemon::broadcastAllConnectionIdentities() { broadcastDebugMessage((JSC::MessageLevel)4, "===\nCurrent connections:"); -for (auto& iterator : m_connectionMap) -iterator.value->broadcastDebugMessage(""); + +auto connections = copyToVector(m_connectionMap.values()); +std::sort(connections.begin(), connections.end(), [] (const Ref& a, const Ref& b) { +return a->identifier() < b->identifier(); +}); + +for (auto& iterator : connections) +iterator->broadcastDebugMessage(""); broadcastDebugMessage((JSC::MessageLevel)4, "==="); } @@ -350,7 +356,7 @@ return; } -connection->broadcastDebugMessage(makeString("Injected a test push messasge for ", message.targetAppCodeSigningIdentifier, " at ", message.registrationURL.string())); +connection->broadcastDebugMessage(makeString("Injected a test push message for ", message.targetAppCodeSigningIdentifier, " at ", message.registrationURL.string())); connection->broadcastDebugMessage(message.message); auto addResult = m_testingPushMessages.ensure(message.targetAppCodeSigningIdentifier, [] { Modified: trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h (287124 => 287125) --- trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h 2021-12-16 03:46:06 UTC (rev 287124) +++ trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h 2021-12-16 04:33:12 UTC (rev 287125) @@ -58,8 +58,8 @@ class Connection : public CanMakeWeakPtr { WTF_MAKE_FAST_ALLOCATED; public: -static std::unique_ptr create(Action, PreferTestService, Reconnect); -Connection(Action, PreferTestService, Reconnect); +static std::unique_ptr create(std::optional, PreferTestService, Reconnect); +Connection(std::optional, PreferTestService, Reconnect); void connectToService(WaitForServiceToExist); @@ -75,7 +75,7 @@ void sendAuditToken(); -Action m_action; +std::optional m_action; bool m_reconnect { false }; RetainPtr m_connection; const char* m_serviceName; Modified:
[webkit-changes] [287124] trunk/Source
Title: [287124] trunk/Source Revision 287124 Author beid...@apple.com Date 2021-12-15 19:46:06 -0800 (Wed, 15 Dec 2021) Log Message Add a "NotificationData" object to encompass local Notification-related parameters, instead of passing tons of them around everywhere. https://bugs.webkit.org/show_bug.cgi?id=234370 Reviewed by Tim Horton. Source/WebCore: No behavior change. * Modules/notifications/Notification.cpp: (WebCore::Notification::dataWithoutNotificationID const): * Modules/notifications/Notification.h: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: Source/WebKit: * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::showNotification): * NetworkProcess/Notifications/NetworkNotificationManager.h: * Shared/Notifications/NotificationManagerMessageHandler.h: * Shared/Notifications/NotificationManagerMessageHandler.messages.in: * UIProcess/Notifications/WebNotification.cpp: (WebKit::WebNotification::WebNotification): * UIProcess/Notifications/WebNotification.h: (WebKit::WebNotification::create): * UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp: (WebKit::WebNotificationManagerMessageHandler::showNotification): * UIProcess/Notifications/WebNotificationManagerMessageHandler.h: * UIProcess/Notifications/WebNotificationManagerProxy.cpp: (WebKit::WebNotificationManagerProxy::show): * UIProcess/Notifications/WebNotificationManagerProxy.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::showNotification): * UIProcess/WebPageProxy.h: * WebProcess/Notifications/WebNotificationManager.cpp: (WebKit::WebNotificationManager::show): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Headers.cmake trunk/Source/WebCore/Modules/notifications/Notification.cpp trunk/Source/WebCore/Modules/notifications/Notification.h trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h trunk/Source/WebKit/Shared/Notifications/NotificationManagerMessageHandler.h trunk/Source/WebKit/Shared/Notifications/NotificationManagerMessageHandler.messages.in trunk/Source/WebKit/UIProcess/Notifications/WebNotification.cpp trunk/Source/WebKit/UIProcess/Notifications/WebNotification.h trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.h trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.cpp trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.h trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/WebPageProxy.h trunk/Source/WebKit/WebProcess/Notifications/WebNotificationManager.cpp Added Paths trunk/Source/WebCore/Modules/notifications/NotificationData.cpp trunk/Source/WebCore/Modules/notifications/NotificationData.h Diff Modified: trunk/Source/WebCore/ChangeLog (287123 => 287124) --- trunk/Source/WebCore/ChangeLog 2021-12-16 03:33:41 UTC (rev 287123) +++ trunk/Source/WebCore/ChangeLog 2021-12-16 03:46:06 UTC (rev 287124) @@ -1,3 +1,19 @@ +2021-12-15 Brady Eidson + +Add a "NotificationData" object to encompass local Notification-related parameters, instead of passing tons of them around everywhere. +https://bugs.webkit.org/show_bug.cgi?id=234370 + +Reviewed by Tim Horton. + +No behavior change. + +* Modules/notifications/Notification.cpp: +(WebCore::Notification::dataWithoutNotificationID const): +* Modules/notifications/Notification.h: + +* Sources.txt: +* WebCore.xcodeproj/project.pbxproj: + 2021-12-15 Alex Christensen Remove unreachable code in Plugin and PluginController Modified: trunk/Source/WebCore/Headers.cmake (287123 => 287124) --- trunk/Source/WebCore/Headers.cmake 2021-12-16 03:33:41 UTC (rev 287123) +++ trunk/Source/WebCore/Headers.cmake 2021-12-16 03:46:06 UTC (rev 287124) @@ -280,6 +280,7 @@ Modules/notifications/Notification.h Modules/notifications/NotificationClient.h Modules/notifications/NotificationController.h +Modules/notifications/NotificationData.h Modules/notifications/NotificationDirection.h Modules/notifications/NotificationPermission.h Modules/notifications/NotificationPermissionCallback.h Modified: trunk/Source/WebCore/Modules/notifications/Notification.cpp (287123 => 287124) --- trunk/Source/WebCore/Modules/notifications/Notification.cpp 2021-12-16 03:33:41 UTC (rev 287123) +++ trunk/Source/WebCore/Modules/notifications/Notification.cpp 2021-12-16 03:46:06 UTC (rev 287124) @@ -41,6 +41,7 @@ #include "JSDOMPromiseDeferred.h" #include "NotificationClient.h" #include "NotificationController.h" +#include "NotificationData.h" #include "NotificationPermissionCallback.h" #include
[webkit-changes] [287009] trunk
Title: [287009] trunk Revision 287009 Author beid...@apple.com Date 2021-12-13 20:23:27 -0800 (Mon, 13 Dec 2021) Log Message Teach webpushtool to register and "host" the daemon. https://bugs.webkit.org/show_bug.cgi?id=234265 Reviewed by Tim Horton. Source/_javascript_Core: * inspector/ConsoleMessage.h: Remove `using JSC::MessageType` because it makes it hard for others to also have a `MessageType` type. * inspector/JSGlobalObjectConsoleClient.h: * runtime/ConsoleTypes.h: Source/WebCore: * page/PageConsoleClient.h: Source/WebKit: Covered by API tests verifying hosting mode operation. As various engineers work on various parts of the project, it's become apparent that it's super useful to have a tool handle the "setting up" of the daemon itself, to avoid launchctl, etc. Implement that, as well as a few other niceties found while testing. * Configurations/webpushtool.xcconfig: * Resources/webpushtool.entitlements: * Shared/Daemon/DaemonUtilities.mm: (WebKit::startListeningForMachServiceConnections): * webpushd/AppBundleRequest.mm: (WebPushD::AppBundleRequest::start): * webpushd/PushClientConnection.h: * webpushd/PushClientConnection.mm: (WebPushD::ClientConnection::setHostAppAuditTokenData): (WebPushD::ClientConnection::broadcastDebugMessage): * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::broadcastAllConnectionIdentities): * webpushd/webpushtool/WebPushToolConnection.h: * webpushd/webpushtool/WebPushToolConnection.mm: (WebPushTool::Connection::connectToService): (WebPushTool::Connection::connectionDropped): * webpushd/webpushtool/WebPushToolMain.mm: (printUsageAndTerminate): (registerDaemonWithLaunchD): (main): Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (TestWebKitAPI::shouldSetupWebPushD): Add a command line argument to skip the "install the daemon" step, so an engineer can handle that part themselves. (TestWebKitAPI::setUpTestWebPushD): (TestWebKitAPI::cleanUpTestWebPushD): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/inspector/ConsoleMessage.h trunk/Source/_javascript_Core/inspector/JSGlobalObjectConsoleClient.h trunk/Source/_javascript_Core/runtime/ConsoleTypes.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/PageConsoleClient.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/webpushtool.xcconfig trunk/Source/WebKit/Resources/webpushtool.entitlements trunk/Source/WebKit/Shared/Daemon/DaemonUtilities.mm trunk/Source/WebKit/webpushd/AppBundleRequest.mm trunk/Source/WebKit/webpushd/PushClientConnection.h trunk/Source/WebKit/webpushd/PushClientConnection.mm trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolMain.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Diff Modified: trunk/Source/_javascript_Core/ChangeLog (287008 => 287009) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-14 03:28:24 UTC (rev 287008) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-14 04:23:27 UTC (rev 287009) @@ -1,3 +1,15 @@ +2021-12-13 Brady Eidson + +Teach webpushtool to register and "host" the daemon. +https://bugs.webkit.org/show_bug.cgi?id=234265 + +Reviewed by Tim Horton. + +* inspector/ConsoleMessage.h: Remove `using JSC::MessageType` because it makes it hard for others + to also have a `MessageType` type. +* inspector/JSGlobalObjectConsoleClient.h: +* runtime/ConsoleTypes.h: + 2021-12-13 Saam Barati Roll back r286345, r286387, r286471, r286667, r286849 Modified: trunk/Source/_javascript_Core/inspector/ConsoleMessage.h (287008 => 287009) --- trunk/Source/_javascript_Core/inspector/ConsoleMessage.h 2021-12-14 03:28:24 UTC (rev 287008) +++ trunk/Source/_javascript_Core/inspector/ConsoleMessage.h 2021-12-14 04:23:27 UTC (rev 287009) @@ -43,6 +43,8 @@ class JSGlobalObject; } +using JSC::MessageType; + namespace Inspector { class ConsoleFrontendDispatcher; Modified: trunk/Source/_javascript_Core/inspector/JSGlobalObjectConsoleClient.h (287008 => 287009) --- trunk/Source/_javascript_Core/inspector/JSGlobalObjectConsoleClient.h 2021-12-14 03:28:24 UTC (rev 287008) +++ trunk/Source/_javascript_Core/inspector/JSGlobalObjectConsoleClient.h 2021-12-14 04:23:27 UTC (rev 287009) @@ -29,6 +29,8 @@ #include #include +using JSC::MessageType; + namespace Inspector { class InspectorConsoleAgent; Modified: trunk/Source/_javascript_Core/runtime/ConsoleTypes.h (287008 => 287009) --- trunk/Source/_javascript_Core/runtime/ConsoleTypes.h 2021-12-14 03:28:24 UTC (rev 287008) +++ trunk/Source/_javascript_Core/runtime/ConsoleTypes.h 2021-12-14 04:23:27 UTC (rev 287009) @@ -115,5 +115,4 @@ } // namespace WTF using JSC::MessageSource;
[webkit-changes] [286878] trunk/Source
Title: [286878] trunk/Source Revision 286878 Author beid...@apple.com Date 2021-12-10 14:19:03 -0800 (Fri, 10 Dec 2021) Log Message Teach webpushd to launch an app in response to an injected message. https://bugs.webkit.org/show_bug.cgi?id=234122 Reviewed by Alex Christensen. Source/WebCore/PAL: * pal/spi/cocoa/LaunchServicesSPI.h: Source/WebKit: To by covered by future API test. When a message comes in, webpushd knows which code signing identifier it was targetted for. It launches that app in a special mode so the app can then "take it from there" * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::injectPushMessageForTesting): (WebPushD::Daemon::notifyClientPushMessageIsAvailable): Modified Paths trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm Diff Modified: trunk/Source/WebCore/PAL/ChangeLog (286877 => 286878) --- trunk/Source/WebCore/PAL/ChangeLog 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebCore/PAL/ChangeLog 2021-12-10 22:19:03 UTC (rev 286878) @@ -1,3 +1,12 @@ +2021-12-10 Brady Eidson + +Teach webpushd to launch an app in response to an injected message. +https://bugs.webkit.org/show_bug.cgi?id=234122 + +Reviewed by Alex Christensen. + +* pal/spi/cocoa/LaunchServicesSPI.h: + 2021-12-10 Antoine Quint Expose the maximum device frame rate to the Web Animations model Modified: trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h (286877 => 286878) --- trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h 2021-12-10 22:19:03 UTC (rev 286878) @@ -50,6 +50,9 @@ WTF_EXTERN_C_END #endif // PLATFORM(MACCATALYST) #else // USE(APPLE_INTERNAL_SDK) + +const uint8_t kLSOpenRunningInstanceBehaviorUseRunningProcess = 1; + @interface LSResourceProxy : NSObject @property (nonatomic, copy, readonly) NSString *localizedName; @end @@ -130,6 +133,11 @@ WTF_EXTERN_C_BEGIN extern const CFStringRef _kLSDisplayNameKey; +extern const CFStringRef _kLSOpenOptionActivateKey; +extern const CFStringRef _kLSOpenOptionAddToRecentsKey; +extern const CFStringRef _kLSOpenOptionBackgroundLaunchKey; +extern const CFStringRef _kLSOpenOptionHideKey; +extern const CFStringRef _kLSOpenOptionPreferRunningInstanceKey; extern const CFStringRef _kLSPersistenceSuppressRelaunchAtLoginKey; LSASNRef _LSGetCurrentApplicationASN(); @@ -139,6 +147,9 @@ OSStatus _RegisterApplication(CFDictionaryRef, ProcessSerialNumber*); +typedef void (^ _LSOpenCompletionHandler)(LSASNRef, Boolean, CFErrorRef); +void _LSOpenURLsUsingBundleIdentifierWithCompletionHandler(CFArrayRef, CFStringRef, CFDictionaryRef, _LSOpenCompletionHandler); + WTF_EXTERN_C_END #endif // PLATFORM(MAC) Modified: trunk/Source/WebKit/ChangeLog (286877 => 286878) --- trunk/Source/WebKit/ChangeLog 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 22:19:03 UTC (rev 286878) @@ -1,3 +1,20 @@ +2021-12-10 Brady Eidson + +Teach webpushd to launch an app in response to an injected message. +https://bugs.webkit.org/show_bug.cgi?id=234122 + +Reviewed by Alex Christensen. + +To by covered by future API test. + +When a message comes in, webpushd knows which code signing identifier it was targetted for. +It launches that app in a special mode so the app can then "take it from there" + +* webpushd/WebPushDaemon.h: +* webpushd/WebPushDaemon.mm: +(WebPushD::Daemon::injectPushMessageForTesting): +(WebPushD::Daemon::notifyClientPushMessageIsAvailable): + 2021-12-10 Antoine Quint Expose the maximum device frame rate to the Web Animations model Modified: trunk/Source/WebKit/webpushd/WebPushDaemon.h (286877 => 286878) --- trunk/Source/WebKit/webpushd/WebPushDaemon.h 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebKit/webpushd/WebPushDaemon.h 2021-12-10 22:19:03 UTC (rev 286878) @@ -79,6 +79,8 @@ bool canRegisterForNotifications(ClientConnection&); +void notifyClientPushMessageIsAvailable(const String& clientCodeSigningIdentifier); + ClientConnection* toClientConnection(xpc_connection_t); HashMap> m_connectionMap; Modified: trunk/Source/WebKit/webpushd/WebPushDaemon.mm (286877 => 286878) --- trunk/Source/WebKit/webpushd/WebPushDaemon.mm 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebKit/webpushd/WebPushDaemon.mm 2021-12-10 22:19:03 UTC (rev 286878) @@ -33,6 +33,7 @@ #import "HandleMessage.h" #import "MockAppBundleRegistry.h" +#import #import #import #import @@ -349,9 +350,32 @@ }); addResult.iterator->value.append(message); +
[webkit-changes] [286788] trunk
Title: [286788] trunk Revision 286788 Author beid...@apple.com Date 2021-12-09 10:58:34 -0800 (Thu, 09 Dec 2021) Log Message Add ability to inject messages into webpushd https://bugs.webkit.org/show_bug.cgi?id=233988 Reviewed by Alex Christensen. Source/WebKit: Covered by API tests. This patch: - Adds WKWebsiteDataStore SPI to fetch pending push messages for the embedding application - Gives webpushd code to inject a push message for a given bundle identifier - Gives webpushtool the ability to send one of these fake messages - Gives webpushtool the ability to reconnect to the next daemon instance after the current connection is dropped - Tests the injection and fetching of push messages via TestWebKitAPI * Configurations/webpushtool.xcconfig: * WebKit.xcodeproj/project.pbxproj: * Resources/webpushtool.entitlements: * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::getPendingPushMessages): (WebKit::NetworkProcess::processPushMessage): * NetworkProcess/NetworkProcess.h: * NetworkProcess/NetworkProcess.messages.in: * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::getPendingPushMessages): (WebKit::ReplyCaller::callReply): * NetworkProcess/Notifications/NetworkNotificationManager.h: * Shared/Cocoa/WebPushMessageCocoa.mm: Copied from Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h. (WebKit::WebPushMessage::fromDictionary): (WebKit::WebPushMessage::toDictionary const): * Shared/PushMessageForTesting.h: Copied from Source/WebKit/Shared/WebPushDaemonConstants.h. (WebKit::WebPushD::PushMessageForTesting::encode const): (WebKit::WebPushD::PushMessageForTesting::decode): * Shared/WebPushDaemonConstants.h: (WebKit::WebPushD::messageTypeSendsReply): * Shared/WebPushMessage.h: Copied from Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h. (WebKit::WebPushMessage::encode const): (WebKit::WebPushMessage::decode): * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _getPendingPushMessages:]): (-[WKWebsiteDataStore _processPushMessage:completionHandler:]): (-[WKWebsiteDataStore _processPushMessage:registration:completionHandler:]): Deleted. * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::getPendingPushMessages): (WebKit::NetworkProcessProxy::processPushMessage): * UIProcess/Network/NetworkProcessProxy.h: * webpushd/PushClientConnection.h: * webpushd/PushClientConnection.mm: (WebPushD::ClientConnection::hostAppHasPushEntitlement): (WebPushD::ClientConnection::hostAppHasPushInjectEntitlement): (WebPushD::ClientConnection::hostHasEntitlement): (WebPushD::ClientConnection::broadcastDebugMessage): * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::MessageInfo::injectPushMessageForTesting::encodeReply): (WebPushD::MessageInfo::getPendingPushMessages::encodeReply): (WebPushD::Daemon::decodeAndHandleMessage): (WebPushD::Daemon::injectPushMessageForTesting): (WebPushD::Daemon::getPendingPushMessages): * webpushd/webpushtool/WebPushToolConnection.h: (WebPushTool::Connection::setPushMessage): * webpushd/webpushtool/WebPushToolConnection.mm: (WebPushTool::Connection::startAction): (WebPushTool::Connection::sendPushMessage): * webpushd/webpushtool/WebPushToolMain.mm: (printUsageAndTerminate): (pushMessageFromArguments): (main): Tools: * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements: * TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm: (messageDictionary): * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (TestWebKitAPI::createMessageDictionary): (TestWebKitAPI::sendMessageToDaemon): (TestWebKitAPI::sendMessageToDaemonWaitingForReply): (TestWebKitAPI::sendConfigurationWithAuditToken): (TestWebKitAPI::createAndConfigureConnectionToService): (TestWebKitAPI::encodeString): (TestWebKitAPI::TEST): (TestWebKitAPI::function): * TestWebKitAPI/cocoa/TestWKWebView.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/webpushtool.xcconfig trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.h trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h trunk/Source/WebKit/Resources/webpushtool.entitlements trunk/Source/WebKit/Shared/WebPushDaemonConstants.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/webpushd/PushClientConnection.h
[webkit-changes] [286764] trunk
Title: [286764] trunk Revision 286764 Author beid...@apple.com Date 2021-12-08 22:37:26 -0800 (Wed, 08 Dec 2021) Log Message Add ability to inject messages into webpushd https://bugs.webkit.org/show_bug.cgi?id=233988 Reviewed by Alex Christensen. Source/WebKit: Covered by API tests. This patch: - Adds WKWebsiteDataStore SPI to fetch pending push messages for the embedding application - Gives webpushd code to inject a push message for a given bundle identifier - Gives webpushtool the ability to send one of these fake messages - Gives webpushtool the ability to reconnect to the next daemon instance after the current connection is dropped - Tests the injection and fetching of push messages via TestWebKitAPI * Configurations/webpushtool.xcconfig: * WebKit.xcodeproj/project.pbxproj: * Resources/webpushtool.entitlements: * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::getPendingPushMessages): (WebKit::NetworkProcess::processPushMessage): * NetworkProcess/NetworkProcess.h: * NetworkProcess/NetworkProcess.messages.in: * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::getPendingPushMessages): (WebKit::ReplyCaller::callReply): * NetworkProcess/Notifications/NetworkNotificationManager.h: * Shared/Cocoa/WebPushMessageCocoa.mm: Copied from Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h. (WebKit::WebPushMessage::fromDictionary): (WebKit::WebPushMessage::toDictionary const): * Shared/PushMessageForTesting.h: Copied from Source/WebKit/Shared/WebPushDaemonConstants.h. (WebKit::WebPushD::PushMessageForTesting::encode const): (WebKit::WebPushD::PushMessageForTesting::decode): * Shared/WebPushDaemonConstants.h: (WebKit::WebPushD::messageTypeSendsReply): * Shared/WebPushMessage.h: Copied from Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h. (WebKit::WebPushMessage::encode const): (WebKit::WebPushMessage::decode): * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _getPendingPushMessages:]): (-[WKWebsiteDataStore _processPushMessage:completionHandler:]): (-[WKWebsiteDataStore _processPushMessage:registration:completionHandler:]): Deleted. * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::getPendingPushMessages): (WebKit::NetworkProcessProxy::processPushMessage): * UIProcess/Network/NetworkProcessProxy.h: Tools: * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements: * TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm: (messageDictionary): * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (TestWebKitAPI::createMessageDictionary): (TestWebKitAPI::sendMessageToDaemon): (TestWebKitAPI::sendMessageToDaemonWaitingForReply): (TestWebKitAPI::sendConfigurationWithAuditToken): (TestWebKitAPI::createAndConfigureConnectionToService): (TestWebKitAPI::encodeString): (TestWebKitAPI::TEST): (TestWebKitAPI::function): * TestWebKitAPI/cocoa/TestWKWebView.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/webpushtool.xcconfig trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.h trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h trunk/Source/WebKit/Resources/webpushtool.entitlements trunk/Source/WebKit/Shared/WebPushDaemonConstants.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/webpushd/PushClientConnection.h trunk/Source/WebKit/webpushd/PushClientConnection.mm trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolMain.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm trunk/Tools/TestWebKitAPI/cocoa/TestWKWebView.h Added Paths trunk/Source/WebKit/Shared/Cocoa/WebPushMessageCocoa.mm trunk/Source/WebKit/Shared/PushMessageForTesting.h trunk/Source/WebKit/Shared/WebPushMessage.h Diff Modified: trunk/Source/WebKit/ChangeLog (286763 => 286764)
[webkit-changes] [286579] trunk
Title: [286579] trunk Revision 286579 Author beid...@apple.com Date 2021-12-06 16:38:11 -0800 (Mon, 06 Dec 2021) Log Message webpushd/webpushtool debugging additions https://bugs.webkit.org/show_bug.cgi?id=233864 Reviewed by Alex Christensen. Source/WebKit: Covered by API tests. This patch: - Teaches webpushtool the ability to wait for a reconnect after losing its connection - Starts actually broadcasting meaningful debug messages from webpushd * webpushd/AppBundleRequest.mm: (WebPushD::AppBundleRequest::start): (WebPushD::AppBundlePermissionsRequest::didCheckForExistingBundle): (WebPushD::AppBundlePermissionsRequest::didCreateAppBundle): (WebPushD::AppBundleDeletionRequest::didDeleteExistingBundleWithError): * webpushd/PushClientConnection.h: * webpushd/PushClientConnection.mm: (WebPushD::ClientConnection::setDebugModeIsEnabled): (WebPushD::ClientConnection::broadcastDebugMessage): (WebPushD::ClientConnection::connectionClosed): * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::connectionAdded): * webpushd/webpushtool/WebPushToolConnection.h: * webpushd/webpushtool/WebPushToolConnection.mm: (WebPushTool::Connection::create): (WebPushTool::Connection::Connection): (WebPushTool::Connection::connectToService): (WebPushTool::Connection::connectionDropped): * webpushd/webpushtool/WebPushToolMain.mm: (printUsageAndTerminate): (main): Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (TestWebKitAPI::TEST): Adapt to debug message changes. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/webpushd/AppBundleRequest.mm trunk/Source/WebKit/webpushd/PushClientConnection.h trunk/Source/WebKit/webpushd/PushClientConnection.mm trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolMain.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Diff Modified: trunk/Source/WebKit/ChangeLog (286578 => 286579) --- trunk/Source/WebKit/ChangeLog 2021-12-07 00:36:58 UTC (rev 286578) +++ trunk/Source/WebKit/ChangeLog 2021-12-07 00:38:11 UTC (rev 286579) @@ -1,3 +1,42 @@ +2021-12-06 Brady Eidson + +webpushd/webpushtool debugging additions +https://bugs.webkit.org/show_bug.cgi?id=233864 + +Reviewed by Alex Christensen. + +Covered by API tests. + +This patch: +- Teaches webpushtool the ability to wait for a reconnect after losing its connection +- Starts actually broadcasting meaningful debug messages from webpushd + +* webpushd/AppBundleRequest.mm: +(WebPushD::AppBundleRequest::start): +(WebPushD::AppBundlePermissionsRequest::didCheckForExistingBundle): +(WebPushD::AppBundlePermissionsRequest::didCreateAppBundle): +(WebPushD::AppBundleDeletionRequest::didDeleteExistingBundleWithError): + +* webpushd/PushClientConnection.h: +* webpushd/PushClientConnection.mm: +(WebPushD::ClientConnection::setDebugModeIsEnabled): +(WebPushD::ClientConnection::broadcastDebugMessage): +(WebPushD::ClientConnection::connectionClosed): + +* webpushd/WebPushDaemon.mm: +(WebPushD::Daemon::connectionAdded): + +* webpushd/webpushtool/WebPushToolConnection.h: +* webpushd/webpushtool/WebPushToolConnection.mm: +(WebPushTool::Connection::create): +(WebPushTool::Connection::Connection): +(WebPushTool::Connection::connectToService): +(WebPushTool::Connection::connectionDropped): + +* webpushd/webpushtool/WebPushToolMain.mm: +(printUsageAndTerminate): +(main): + 2021-12-06 Chris Dumez Regression(r286505) imported/w3c/web-platform-tests/html/cross-origin-opener-policy/_javascript_-url.https.html is a flaky crash Modified: trunk/Source/WebKit/webpushd/AppBundleRequest.mm (286578 => 286579) --- trunk/Source/WebKit/webpushd/AppBundleRequest.mm 2021-12-07 00:36:58 UTC (rev 286578) +++ trunk/Source/WebKit/webpushd/AppBundleRequest.mm 2021-12-07 00:38:11 UTC (rev 286579) @@ -47,6 +47,8 @@ { ASSERT(m_connection); +m_connection->broadcastDebugMessage(makeString("Starting ", transactionDescription(), " request for origin ", m_originString)); + m_transaction = adoptOSObject(os_transaction_create(transactionDescription())); if (m_connection->useMockBundlesForTesting()) @@ -91,6 +93,8 @@ { ASSERT_UNUSED(bundle, == m_appBundle.get()); +m_connection->broadcastDebugMessage(makeString("Origin ", m_originString, " app bundle request: didCheckForExistingBundle - ", exists == PushAppBundleExists::Yes ? "Exists" : "Does not exist")); + if (exists == PushAppBundleExists::Yes) return callCompletionHandlerAndCleanup(true); @@ -101,6 +105,8 @@ { ASSERT_UNUSED(bundle, == m_appBundle.get()); +
[webkit-changes] [286564] trunk/Source/WebKit
Title: [286564] trunk/Source/WebKit Revision 286564 Author beid...@apple.com Date 2021-12-06 13:06:11 -0800 (Mon, 06 Dec 2021) Log Message Put webpushd code in WebKit.framework. https://bugs.webkit.org/show_bug.cgi?id=233886 Reviewed by Alex Christensen. This fixes some build/mastering/linking issues. * Configurations/webpushd.xcconfig: * Shared/API/Cocoa/WKMain.h: * Shared/API/Cocoa/WKMain.mm: (WKWebPushDaemonMain): * WebKit.xcodeproj/project.pbxproj: * webpushd/WebPushDaemonMain.h: Copied from Source/WebKit/Shared/API/Cocoa/WKMain.mm. * webpushd/WebPushDaemonMain.mm: (WebKit::WebPushDaemonMain): (main): Deleted. * webpushd/webpushd.cpp: Copied from Source/WebKit/Shared/API/Cocoa/WKMain.mm. (main): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/webpushd.xcconfig trunk/Source/WebKit/Shared/API/Cocoa/WKMain.h trunk/Source/WebKit/Shared/API/Cocoa/WKMain.mm trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/webpushd/WebPushDaemonMain.mm Added Paths trunk/Source/WebKit/webpushd/WebPushDaemonMain.h trunk/Source/WebKit/webpushd/webpushd.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (286563 => 286564) --- trunk/Source/WebKit/ChangeLog 2021-12-06 21:03:27 UTC (rev 286563) +++ trunk/Source/WebKit/ChangeLog 2021-12-06 21:06:11 UTC (rev 286564) @@ -1,3 +1,24 @@ +2021-12-06 Brady Eidson + +Put webpushd code in WebKit.framework. +https://bugs.webkit.org/show_bug.cgi?id=233886 + +Reviewed by Alex Christensen. + +This fixes some build/mastering/linking issues. + +* Configurations/webpushd.xcconfig: +* Shared/API/Cocoa/WKMain.h: +* Shared/API/Cocoa/WKMain.mm: +(WKWebPushDaemonMain): +* WebKit.xcodeproj/project.pbxproj: +* webpushd/WebPushDaemonMain.h: Copied from Source/WebKit/Shared/API/Cocoa/WKMain.mm. +* webpushd/WebPushDaemonMain.mm: +(WebKit::WebPushDaemonMain): +(main): Deleted. +* webpushd/webpushd.cpp: Copied from Source/WebKit/Shared/API/Cocoa/WKMain.mm. +(main): + 2021-12-06 Brent Fulgham REGRESSION (r286527): Three API tests crashing under WebKit::ProcessLauncher::launchProcess() Modified: trunk/Source/WebKit/Configurations/webpushd.xcconfig (286563 => 286564) --- trunk/Source/WebKit/Configurations/webpushd.xcconfig 2021-12-06 21:03:27 UTC (rev 286563) +++ trunk/Source/WebKit/Configurations/webpushd.xcconfig 2021-12-06 21:06:11 UTC (rev 286564) @@ -25,7 +25,7 @@ PRODUCT_NAME = webpushd; -OTHER_LDFLAGS = -l WTF -framework Foundation -framework CoreFoundation; +OTHER_LDFLAGS = -framework WebKit; LIBRARY_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR); WK_PROCESSED_XCENT_FILE=$(TEMP_FILE_DIR)/$(FULL_PRODUCT_NAME).entitlements Modified: trunk/Source/WebKit/Shared/API/Cocoa/WKMain.h (286563 => 286564) --- trunk/Source/WebKit/Shared/API/Cocoa/WKMain.h 2021-12-06 21:03:27 UTC (rev 286563) +++ trunk/Source/WebKit/Shared/API/Cocoa/WKMain.h 2021-12-06 21:06:11 UTC (rev 286564) @@ -34,6 +34,7 @@ WK_EXPORT int WKXPCServiceMain(int argc, const char** argv) WK_API_AVAILABLE(macos(10.15), ios(13.0)); WK_EXPORT int WKAdAttributionDaemonMain(int argc, const char** argv) WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); +WK_EXPORT int WKWebPushDaemonMain(int argc, const char** argv) WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); #ifdef __cplusplus } Modified: trunk/Source/WebKit/Shared/API/Cocoa/WKMain.mm (286563 => 286564) --- trunk/Source/WebKit/Shared/API/Cocoa/WKMain.mm 2021-12-06 21:03:27 UTC (rev 286563) +++ trunk/Source/WebKit/Shared/API/Cocoa/WKMain.mm 2021-12-06 21:06:11 UTC (rev 286564) @@ -27,6 +27,7 @@ #import "WKMain.h" #import "PCMDaemonEntryPoint.h" +#import "WebPushDaemonMain.h" #import "XPCServiceEntryPoint.h" int WKXPCServiceMain(int argc, const char** argv) @@ -38,3 +39,8 @@ { return WebKit::PCMDaemonMain(argc, argv); } + +int WKWebPushDaemonMain(int argc, const char** argv) +{ +return WebKit::WebPushDaemonMain(argc, argv); +} Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (286563 => 286564) --- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-12-06 21:03:27 UTC (rev 286563) +++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-12-06 21:06:11 UTC (rev 286564) @@ -967,8 +967,6 @@ 5129EB1223D0DE7B00AF1CD7 /* ContentWorldShared.h in Headers */ = {isa = PBXBuildFile; fileRef = 5129EB1123D0DE7800AF1CD7 /* ContentWorldShared.h */; }; 512CD6982721EFC800F7F8EC /* WebPushDaemonConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 512CD6972721EFC300F7F8EC /* WebPushDaemonConnection.h */; }; 512CD69A2721F0A900F7F8EC /* WebPushDaemonConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 512CD6992721F04900F7F8EC /* WebPushDaemonConstants.h */; }; - 512CD69F2723393A00F7F8EC /* WebPushDaemon.h in Headers */ = {isa = PBXBuildFile; fileRef = 512CD69D2723393A00F7F8EC /* WebPushDaemon.h */; }; -
[webkit-changes] [286533] trunk/Source/WebKit
Title: [286533] trunk/Source/WebKit Revision 286533 Author beid...@apple.com Date 2021-12-04 08:08:56 -0800 (Sat, 04 Dec 2021) Log Message Add command line `webpushtool` for daemon development and debugging. https://bugs.webkit.org/show_bug.cgi?id=233845 Reviewed by Tim Horton. No behavior change. This utility will eventually be quite fleshed out. For now, it can act as a terminal that prints debug messages from webpushd. * Configurations/webpushtool.xcconfig: Added. * Resources/webpushtool.entitlements: Added. * WebKit.xcodeproj/project.pbxproj: * WebKit.xcodeproj/xcshareddata/xcschemes/webpushtool.xcscheme: Added. * webpushd/webpushtool/WebPushToolConnection.h: Added. * webpushd/webpushtool/WebPushToolConnection.mm: Added. (WebPushTool::Connection::create): (WebPushTool::maybeConnectToService): (WebPushTool::Connection::Connection): (WebPushTool::Connection::connectToService): (WebPushTool::Connection::startAction): (WebPushTool::Connection::startDebugStreamAction): (WebPushTool::Connection::sendAuditToken): (WebPushTool::Connection::connectionDropped): (WebPushTool::Connection::messageReceived): * webpushd/webpushtool/WebPushToolMain.mm: Added. (printUsageAndTerminate): (main): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj Added Paths trunk/Source/WebKit/Configurations/webpushtool.xcconfig trunk/Source/WebKit/Resources/webpushtool.entitlements trunk/Source/WebKit/WebKit.xcodeproj/xcshareddata/xcschemes/webpushtool.xcscheme trunk/Source/WebKit/webpushd/webpushtool/ trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.mm trunk/Source/WebKit/webpushd/webpushtool/WebPushToolMain.mm Diff Modified: trunk/Source/WebKit/ChangeLog (286532 => 286533) --- trunk/Source/WebKit/ChangeLog 2021-12-04 15:28:47 UTC (rev 286532) +++ trunk/Source/WebKit/ChangeLog 2021-12-04 16:08:56 UTC (rev 286533) @@ -1,3 +1,36 @@ +2021-12-04 Brady Eidson + +Add command line `webpushtool` for daemon development and debugging. +https://bugs.webkit.org/show_bug.cgi?id=233845 + +Reviewed by Tim Horton. + +No behavior change. + +This utility will eventually be quite fleshed out. + +For now, it can act as a terminal that prints debug messages from webpushd. + +* Configurations/webpushtool.xcconfig: Added. +* Resources/webpushtool.entitlements: Added. +* WebKit.xcodeproj/project.pbxproj: +* WebKit.xcodeproj/xcshareddata/xcschemes/webpushtool.xcscheme: Added. + +* webpushd/webpushtool/WebPushToolConnection.h: Added. +* webpushd/webpushtool/WebPushToolConnection.mm: Added. +(WebPushTool::Connection::create): +(WebPushTool::maybeConnectToService): +(WebPushTool::Connection::Connection): +(WebPushTool::Connection::connectToService): +(WebPushTool::Connection::startAction): +(WebPushTool::Connection::startDebugStreamAction): +(WebPushTool::Connection::sendAuditToken): +(WebPushTool::Connection::connectionDropped): +(WebPushTool::Connection::messageReceived): +* webpushd/webpushtool/WebPushToolMain.mm: Added. +(printUsageAndTerminate): +(main): + 2021-12-04 Brent Fulgham [Cocoa] Launch Captive Portal WebContent process when requested Added: trunk/Source/WebKit/Configurations/webpushtool.xcconfig (0 => 286533) --- trunk/Source/WebKit/Configurations/webpushtool.xcconfig (rev 0) +++ trunk/Source/WebKit/Configurations/webpushtool.xcconfig 2021-12-04 16:08:56 UTC (rev 286533) @@ -0,0 +1,35 @@ +// Copyright (C) 2021 Apple Inc. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS
[webkit-changes] [286440] trunk/Tools
Title: [286440] trunk/Tools Revision 286440 Author beid...@apple.com Date 2021-12-02 11:39:41 -0800 (Thu, 02 Dec 2021) Log Message REGRESSION: r286075 [ Big Sur x86] 2 TestWebKitAPI.WebPushD (API-Tests) are constant failures https://bugs.webkit.org/show_bug.cgi?id=233726 Unreviewed gardening. - Disabling these tests on all Mac platforms until we can figure out the code signing/etc situation - Fix the truly broken "basic" test everywhere by adapting to messaging changes * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (TestWebKitAPI::TEST): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Diff Modified: trunk/Tools/ChangeLog (286439 => 286440) --- trunk/Tools/ChangeLog 2021-12-02 19:35:49 UTC (rev 286439) +++ trunk/Tools/ChangeLog 2021-12-02 19:39:41 UTC (rev 286440) @@ -1,3 +1,16 @@ +2021-12-02 Brady Eidson + +REGRESSION: r286075 [ Big Sur x86] 2 TestWebKitAPI.WebPushD (API-Tests) are constant failures +https://bugs.webkit.org/show_bug.cgi?id=233726 + +Unreviewed gardening. + +- Disabling these tests on all Mac platforms until we can figure out the code signing/etc situation +- Fix the truly broken "basic" test everywhere by adapting to messaging changes + +* TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: +(TestWebKitAPI::TEST): + 2021-12-02 Carlos Garcia Campos Unreviewed. [GTK] Use nullptr instead of 0 in JSStringCreateWithCharacters() Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm (286439 => 286440) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm 2021-12-02 19:35:49 UTC (rev 286439) +++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm 2021-12-02 19:39:41 UTC (rev 286440) @@ -161,8 +161,8 @@ EXPECT_NULL(error); } -// FIXME: Re-enable this test for Monterey+ once webkit.org/232857 is resolved. -#if PLATFORM(MAC) && (__MAC_OS_X_VERSION_MIN_REQUIRED < 11 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 12) +// FIXME: Re-enable this test on Mac once webkit.org/232857 is resolved. +#if PLATFORM(MAC) TEST(WebPushD, DISABLED_BasicCommunication) #else TEST(WebPushD, BasicCommunication) @@ -199,15 +199,16 @@ return; } -// Send audit token +// Send configuration with audit token { -std::array encodedMessage; +std::array encodedMessage; encodedMessage.fill(0); -encodedMessage[0] = 32; -memcpy([8], , sizeof(token)); +encodedMessage[1] = 1; +encodedMessage[2] = 32; +memcpy([10], , sizeof(token)); auto dictionary = adoptNS(xpc_dictionary_create(nullptr, nullptr, 0)); xpc_dictionary_set_uint64(dictionary.get(), "protocol version", 1); -xpc_dictionary_set_uint64(dictionary.get(), "message type", 5); +xpc_dictionary_set_uint64(dictionary.get(), "message type", 6); xpc_dictionary_set_data(dictionary.get(), "encoded message", encodedMessage.data(), encodedMessage.size()); xpc_connection_send_message(connection.get(), dictionary.get()); } @@ -217,7 +218,7 @@ auto dictionary = adoptNS(xpc_dictionary_create(nullptr, nullptr, 0)); std::array encodedMessage { 1 }; xpc_dictionary_set_uint64(dictionary.get(), "protocol version", 1); -xpc_dictionary_set_uint64(dictionary.get(), "message type", 6); +xpc_dictionary_set_uint64(dictionary.get(), "message type", 5); xpc_dictionary_set_data(dictionary.get(), "encoded message", encodedMessage.data(), encodedMessage.size()); xpc_connection_send_message(connection.get(), dictionary.get()); @@ -258,8 +259,8 @@ )WEBPUSHRESOURCE"; -// FIXME: Re-enable this test for Monterey+ once webkit.org/232857 is resolved. -#if PLATFORM(MAC) && (__MAC_OS_X_VERSION_MIN_REQUIRED < 11 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 12) +// FIXME: Re-enable this test on Mac once webkit.org/232857 is resolved. +#if PLATFORM(MAC) TEST(WebPushD, DISABLED_PermissionManagement) #else TEST(WebPushD, PermissionManagement) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286420] trunk/Source
Title: [286420] trunk/Source Revision 286420 Author beid...@apple.com Date 2021-12-02 01:02:26 -0800 (Thu, 02 Dec 2021) Log Message AVDelegatingPlaybackCoordinator error compiling on macOS 11 https://bugs.webkit.org/show_bug.cgi?id=232454 Reviewed by Tim Horton. Source/WebCore/PAL: * pal/cocoa/AVFoundationSoftLink.h: Don't softlink on platforms that don't have it (No other source changes were necessary) Source/WTF: * wtf/PlatformHave.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/PlatformHave.h trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h Diff Modified: trunk/Source/WTF/ChangeLog (286419 => 286420) --- trunk/Source/WTF/ChangeLog 2021-12-02 08:57:49 UTC (rev 286419) +++ trunk/Source/WTF/ChangeLog 2021-12-02 09:02:26 UTC (rev 286420) @@ -1,3 +1,12 @@ +2021-12-02 Brady Eidson + +AVDelegatingPlaybackCoordinator error compiling on macOS 11 +https://bugs.webkit.org/show_bug.cgi?id=232454 + +Reviewed by Tim Horton. + +* wtf/PlatformHave.h: + 2021-12-02 Youenn Fablet Add support for NavigationPreloadManager Modified: trunk/Source/WTF/wtf/PlatformHave.h (286419 => 286420) --- trunk/Source/WTF/wtf/PlatformHave.h 2021-12-02 08:57:49 UTC (rev 286419) +++ trunk/Source/WTF/wtf/PlatformHave.h 2021-12-02 09:02:26 UTC (rev 286420) @@ -1095,3 +1095,10 @@ #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 13) #define HAVE_UNIFIED_SPEECHSYNTHESIS_FIX_FOR_81465164 1 #endif + +#if PLATFORM(COCOA) +#define HAVE_AV_DELEGATING_PLAYBACK_COORDINATOR 1 +#endif +#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED <= 12 +#undef HAVE_AV_DELEGATING_PLAYBACK_COORDINATOR +#endif Modified: trunk/Source/WebCore/PAL/ChangeLog (286419 => 286420) --- trunk/Source/WebCore/PAL/ChangeLog 2021-12-02 08:57:49 UTC (rev 286419) +++ trunk/Source/WebCore/PAL/ChangeLog 2021-12-02 09:02:26 UTC (rev 286420) @@ -1,3 +1,13 @@ +2021-12-02 Brady Eidson + +AVDelegatingPlaybackCoordinator error compiling on macOS 11 +https://bugs.webkit.org/show_bug.cgi?id=232454 + +Reviewed by Tim Horton. + +* pal/cocoa/AVFoundationSoftLink.h: Don't softlink on platforms that don't have it + (No other source changes were necessary) + 2021-12-01 Myles C. Maxfield [WebGPU] Add missing files to CMake Modified: trunk/Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h (286419 => 286420) --- trunk/Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h 2021-12-02 08:57:49 UTC (rev 286419) +++ trunk/Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h 2021-12-02 09:02:26 UTC (rev 286420) @@ -48,7 +48,6 @@ SOFT_LINK_CLASS_FOR_HEADER(PAL, AVContentKeyReportGroup) SOFT_LINK_CLASS_FOR_HEADER(PAL, AVContentKeyResponse) SOFT_LINK_CLASS_FOR_HEADER(PAL, AVContentKeySession) -SOFT_LINK_CLASS_FOR_HEADER(PAL, AVDelegatingPlaybackCoordinator) SOFT_LINK_CLASS_FOR_HEADER(PAL, AVMediaSelectionGroup) SOFT_LINK_CLASS_FOR_HEADER(PAL, AVMediaSelectionOption) SOFT_LINK_CLASS_FOR_HEADER(PAL, AVMetadataItem) @@ -69,6 +68,10 @@ SOFT_LINK_CLASS_FOR_HEADER(PAL, AVStreamDataParser) SOFT_LINK_CLASS_FOR_HEADER(PAL, AVURLAsset) +#if HAVE(AV_DELEGATING_PLAYBACK_COORDINATOR) +SOFT_LINK_CLASS_FOR_HEADER(PAL, AVDelegatingPlaybackCoordinator) +#endif + #if HAVE(AVSTREAMSESSION) && ENABLE(LEGACY_ENCRYPTED_MEDIA) SOFT_LINK_CLASS_FOR_HEADER(PAL, AVStreamSession) #endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286355] trunk
Title: [286355] trunk Revision 286355 Author beid...@apple.com Date 2021-12-01 01:07:47 -0800 (Wed, 01 Dec 2021) Log Message Add WKWebsiteDataStore configuration option to enable Mock app bundle testing. https://bugs.webkit.org/show_bug.cgi?id=233679 Reviewed by Tim Horton. Source/WebKit: Covered by API tests. We're about to land actual implementations of app permissions bundles. But the mock bundles still have a place for testing. We need a way to switch between Mock and Native. This patch takes the opportunity to plumb out a WebPushDaemonConnectionConfiguration object that can easily be augmented in future patches to add new options without messing with messaging directly. * NetworkProcess/NetworkSession.h: (WebKit::NetworkSession::webpushdUsesMockBundlesForTesting const): * NetworkProcess/NetworkSessionCreationParameters.cpp: (WebKit::NetworkSessionCreationParameters::encode const): (WebKit::NetworkSessionCreationParameters::decode): * NetworkProcess/NetworkSessionCreationParameters.h: * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::maybeSendConnectionConfiguration const): (WebKit::NetworkNotificationManager::sendMessage const): (WebKit::NetworkNotificationManager::sendMessageWithReply const): (WebKit::NetworkNotificationManager::maybeSendHostAppAuditToken const): Deleted. * NetworkProcess/Notifications/NetworkNotificationManager.h: * NetworkProcess/cocoa/NetworkSessionCocoa.h: * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): * Shared/WebPushDaemonConnectionConfiguration.h: Copied from Source/WebKit/Shared/WebPushDaemonConstants.h. (WebKit::WebPushD::WebPushDaemonConnectionConfiguration::encode const): (WebKit::WebPushD::WebPushDaemonConnectionConfiguration::decode): * Shared/WebPushDaemonConstants.h: (WebKit::WebPushD::messageTypeSendsReply): * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: (-[_WKWebsiteDataStoreConfiguration webpushdUsesMockBundlesForTesting]): (-[_WKWebsiteDataStoreConfiguration setWebpushdUsesMockBundlesForTesting:]): * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::parameters): * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: (WebKit::WebsiteDataStoreConfiguration::copy const): (WebKit::WebsiteDataStoreConfiguration::webPushDaemonConnectionConfiguration const): * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h: (WebKit::WebsiteDataStoreConfiguration::webpushdUsesMockBundlesForTesting const): (WebKit::WebsiteDataStoreConfiguration::setWebpushdUsesMockBundlesForTesting): * WebKit.xcodeproj/project.pbxproj: * webpushd/AppBundleRequest.mm: (WebPushD::AppBundleRequest::AppBundleRequest): (WebPushD::AppBundleRequest::start): * webpushd/PushClientConnection.h: (WebPushD::ClientConnection::hasHostAppAuditToken const): (WebPushD::ClientConnection::useMockBundlesForTesting const): * webpushd/PushClientConnection.mm: (WebPushD::ClientConnection::updateConnectionConfiguration): (WebPushD::ClientConnection::setHostAppAuditTokenData): * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::decodeAndHandleMessage): (WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions): (WebPushD::Daemon::setDebugModeIsEnabled): (WebPushD::Daemon::updateConnectionConfiguration): (WebPushD::Daemon::setHostAppAuditToken): Deleted. Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkSession.h trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm trunk/Source/WebKit/Shared/WebPushDaemonConstants.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/webpushd/AppBundleRequest.mm trunk/Source/WebKit/webpushd/PushClientConnection.h trunk/Source/WebKit/webpushd/PushClientConnection.mm trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Added Paths trunk/Source/WebKit/Shared/WebPushDaemonConnectionConfiguration.h Diff Modified: trunk/Source/WebKit/ChangeLog (286354 => 286355) ---
[webkit-changes] [286273] trunk
Title: [286273] trunk Revision 286273 Author beid...@apple.com Date 2021-11-29 16:20:57 -0800 (Mon, 29 Nov 2021) Log Message Make webpushd "fake registration for testing" much more complicated by adding a "mock app bundle" install https://bugs.webkit.org/show_bug.cgi?id=233454 Reviewed by Alex Christensen. Covered by API tests. Before this patch, webpushd remembered "registrations" using a simple in-memory HashMap. In the near future, registrations will actually be represented with a placeholder app bundle on disk. The process of installing placeholders (and checking for existing ones) is complicated and asynchronous. This patch shifts the in-memory testing implementation from a simple HashMap to a "complicated and asynchronous" registration mechanism that simulates how app-bundle installs will work. Once the "real" mechanisms are in place there will be much more in-depth testing that we can do. For now, this is a "no behavior change" patch. * NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm: (WebKit::WebPushD::Connection::connectionReceivedEvent const): * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * WebKit.xcodeproj/project.pbxproj: "PushAppBundle" is an abstract base class for representing a placeholder application bundle for a registration. Eventually there will be a native one for each platform that actually does system operations. For now, the concrete implementation is the in-memory "Mock" app bundle. * webpushd/PushAppBundle.h: Copied from Source/WebKit/webpushd/PushClientConnection.h. * webpushd/PushAppBundle.mm: Copied from Source/WebKit/webpushd/PushClientConnection.h. (WebPushD::PushAppBundleClient::~PushAppBundleClient): (WebPushD::PushAppBundle::PushAppBundle): (WebPushD::PushAppBundle::~PushAppBundle): (WebPushD::PushAppBundle::detachFromClient): An "AppBundleRequest" is a queable operation meant to do something with an "App bundle". For now the operations are "create" and "delete" * webpushd/AppBundleRequest.h: Added. (WebPushD::AppBundleRequestImpl::AppBundleRequestImpl): (WebPushD::AppBundleRequestImpl::~AppBundleRequestImpl): (WebPushD::AppBundleRequestImpl::callCompletionHandlerAndCleanup): (WebPushD::AppBundlePermissionsRequest::AppBundlePermissionsRequest): (WebPushD::AppBundleDeletionRequest::AppBundleDeletionRequest): * webpushd/AppBundleRequest.mm: Added. (WebPushD::AppBundleRequest::AppBundleRequest): (WebPushD::AppBundleRequest::~AppBundleRequest): (WebPushD::AppBundleRequest::start): (WebPushD::AppBundleRequest::cancel): (WebPushD::AppBundleRequest::cleanupAfterCompletionHandler): (WebPushD::AppBundlePermissionsRequest::startInternal): (WebPushD::AppBundlePermissionsRequest::didCheckForExistingBundle): (WebPushD::AppBundlePermissionsRequest::didCreateAppBundle): (WebPushD::AppBundleDeletionRequest::startInternal): (WebPushD::AppBundleDeletionRequest::didDeleteExistingBundleWithError): * webpushd/MockAppBundleForTesting.h: Copied from Source/WebKit/webpushd/PushClientConnection.h. (WebPushD::MockAppBundleForTesting::create): * webpushd/MockAppBundleForTesting.mm: Added. (WebPushD::MockAppBundleForTesting::MockAppBundleForTesting): (WebPushD::MockAppBundleForTesting::~MockAppBundleForTesting): (WebPushD::MockAppBundleForTesting::checkForExistingBundle): (WebPushD::MockAppBundleForTesting::deleteExistingBundle): (WebPushD::MockAppBundleForTesting::createBundle): (WebPushD::MockAppBundleForTesting::stop): * webpushd/MockAppBundleRegistry.h: Copied from Source/WebKit/webpushd/PushClientConnection.h. * webpushd/MockAppBundleRegistry.mm: Added. (WebPushD::MockAppBundleRegistry::singleton): (WebPushD::MockAppBundleRegistry::getOriginsWithRegistrations): (WebPushD::MockAppBundleRegistry::doesBundleExist): (WebPushD::MockAppBundleRegistry::createBundle): (WebPushD::MockAppBundleRegistry::deleteBundle): * webpushd/PushClientConnection.h: * webpushd/PushClientConnection.mm: (WebPushD::ClientConnection::create): (WebPushD::ClientConnection::enqueueAppBundleRequest): (WebPushD::ClientConnection::maybeStartNextAppBundleRequest): (WebPushD::ClientConnection::didCompleteAppBundleRequest): (WebPushD::ClientConnection::connectionClosed): * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::connectionAdded): (WebPushD::Daemon::connectionRemoved): (WebPushD::Daemon::requestSystemNotificationPermission): (WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions): (WebPushD::Daemon::deletePushAndNotificationRegistration): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/webpushd/PushClientConnection.h trunk/Source/WebKit/webpushd/PushClientConnection.mm trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Added
[webkit-changes] [286075] trunk
Title: [286075] trunk Revision 286075 Author beid...@apple.com Date 2021-11-19 13:43:17 -0800 (Fri, 19 Nov 2021) Log Message More webpushd architecture work https://bugs.webkit.org/show_bug.cgi?id=233295 Reviewed by Alex Christensen. Source/WebKit: Covered by API tests. This patch: - Adds entitlement checks for connections to webpushd - Adds a "ClientConnection" object to the daemon to manage per-connection state - Adds a debug enabled setting - Adds the ability for the connecting app (com.apple.WebKit.Networking) to pass the host app's audit_token - Tests some of the above - Adds the beginnings of other future infrastructure * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::NetworkNotificationManager): * Resources/ios/XPCService-embedded-simulator.entitlements: * Scripts/process-entitlements.sh: * Shared/Cocoa/CodeSigning.h: * Shared/Cocoa/CodeSigning.mm: (WebKit::codeSigningIdentifierAndPlatformBinaryStatus): (WebKit::codeSigningIdentifier): * Shared/WebPushDaemonConstants.h: (WebKit::WebPushD::messageTypeSendsReply): * WebKit.xcodeproj/project.pbxproj: * webpushd/PushClientConnection.h: Copied from Source/WebKit/Shared/Cocoa/CodeSigning.h. (WebPushD::ClientConnection::hasAuditToken const): (WebPushD::ClientConnection::debugModeIsEnabled const): * webpushd/PushClientConnection.mm: Added. (WebPushD::ClientConnection::ClientConnection): (WebPushD::ClientConnection::setAuditTokenData): (WebPushD::ClientConnection::hostCodeSigningIdentifier): (WebPushD::ClientConnection::hostHasPushEntitlement): (WebPushD::ClientConnection::setDebugModeIsEnabled): * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::handleWebPushDMessageWithReply): (WebPushD::handleWebPushDMessage): (WebPushD::Daemon::broadcastDebugMessage): (WebPushD::Daemon::connectionEventHandler): (WebPushD::Daemon::connectionAdded): (WebPushD::Daemon::connectionRemoved): (WebPushD::Daemon::decodeAndHandleMessage): (WebPushD::Daemon::echoTwice): (WebPushD::Daemon::canRegisterForNotifications): (WebPushD::Daemon::requestSystemNotificationPermission): (WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions): (WebPushD::Daemon::deletePushAndNotificationRegistration): (WebPushD::Daemon::setHostAppAuditToken): (WebPushD::Daemon::setDebugModeIsEnabled): (WebPushD::Daemon::toClientConnection): * webpushd/WebPushDaemonMain.mm: (main): Tools: * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements: * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (TestWebKitAPI::TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h trunk/Source/WebKit/Resources/ios/XPCService-embedded-simulator.entitlements trunk/Source/WebKit/Scripts/process-entitlements.sh trunk/Source/WebKit/Shared/Cocoa/CodeSigning.h trunk/Source/WebKit/Shared/Cocoa/CodeSigning.mm trunk/Source/WebKit/Shared/WebPushDaemonConstants.h trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Source/WebKit/webpushd/WebPushDaemonMain.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Added Paths trunk/Source/WebKit/webpushd/PushClientConnection.h trunk/Source/WebKit/webpushd/PushClientConnection.mm Diff Modified: trunk/Source/WebKit/ChangeLog (286074 => 286075) --- trunk/Source/WebKit/ChangeLog 2021-11-19 21:35:00 UTC (rev 286074) +++ trunk/Source/WebKit/ChangeLog 2021-11-19 21:43:17 UTC (rev 286075) @@ -1,3 +1,66 @@ +2021-11-19 Brady Eidson + +More webpushd architecture work +https://bugs.webkit.org/show_bug.cgi?id=233295 + +Reviewed by Alex Christensen. + +Covered by API tests. + +This patch: +- Adds entitlement checks for connections to webpushd +- Adds a "ClientConnection" object to the daemon to manage per-connection state +- Adds a debug enabled setting +- Adds the ability for the connecting app (com.apple.WebKit.Networking) to pass the host app's audit_token +- Tests some of the above +- Adds the beginnings of other future infrastructure + +* NetworkProcess/Notifications/NetworkNotificationManager.cpp: +(WebKit::NetworkNotificationManager::NetworkNotificationManager): + +* Resources/ios/XPCService-embedded-simulator.entitlements: +* Scripts/process-entitlements.sh: + +* Shared/Cocoa/CodeSigning.h: +*
[webkit-changes] [285870] trunk/Tools
Title: [285870] trunk/Tools Revision 285870 Author beid...@apple.com Date 2021-11-16 09:39:10 -0800 (Tue, 16 Nov 2021) Log Message Enable webpushd tests in the iOS simulator. https://bugs.webkit.org/show_bug.cgi?id=233149 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (TestWebKitAPI::testWebPushDaemonPList): Add a key to allow an OSLaunchdJob executable to break out of the simulator runtime root. Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Diff Modified: trunk/Tools/ChangeLog (285869 => 285870) --- trunk/Tools/ChangeLog 2021-11-16 17:11:53 UTC (rev 285869) +++ trunk/Tools/ChangeLog 2021-11-16 17:39:10 UTC (rev 285870) @@ -1,3 +1,13 @@ +2021-11-16 Brady Eidson + +Enable webpushd tests in the iOS simulator. +https://bugs.webkit.org/show_bug.cgi?id=233149 + +Reviewed by Alex Christensen. + +* TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: +(TestWebKitAPI::testWebPushDaemonPList): Add a key to allow an OSLaunchdJob executable to break out of the simulator runtime root. + 2021-11-16 Tyler Wilcock AX: Stop returning AccessibilityUIElements backed by a null pointer Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm (285869 => 285870) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm 2021-11-16 17:11:53 UTC (rev 285869) +++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm 2021-11-16 17:39:10 UTC (rev 285870) @@ -32,8 +32,7 @@ #import #import -// FIXME: These tests are still currently disabled on iOS while tooling issues with `run-api-tests` are resolved. -#if PLATFORM(MAC) +#if PLATFORM(MAC) || PLATFORM(IOS) static bool alertReceived = false; @interface NotificationPermissionDelegate : NSObject @@ -65,15 +64,18 @@ static RetainPtr testWebPushDaemonPList(NSURL *storageLocation) { +auto currentDirectory = currentExecutableDirectory(); + auto plist = adoptNS(xpc_dictionary_create(nullptr, nullptr, 0)); xpc_dictionary_set_string(plist.get(), "_ManagedBy", "TestWebKitAPI"); xpc_dictionary_set_string(plist.get(), "Label", "org.webkit.webpushtestdaemon"); xpc_dictionary_set_bool(plist.get(), "LaunchOnlyOnce", true); +xpc_dictionary_set_bool(plist.get(), "RootedSimulatorPath", true); xpc_dictionary_set_string(plist.get(), "StandardErrorPath", [storageLocation URLByAppendingPathComponent:@"daemon_stderr"].path.fileSystemRepresentation); { auto environmentVariables = adoptNS(xpc_dictionary_create(nullptr, nullptr, 0)); -xpc_dictionary_set_string(environmentVariables.get(), "DYLD_FRAMEWORK_PATH", currentExecutableDirectory().get().fileSystemRepresentation); +xpc_dictionary_set_string(environmentVariables.get(), "DYLD_FRAMEWORK_PATH", currentDirectory.get().fileSystemRepresentation); xpc_dictionary_set_value(plist.get(), "EnvironmentVariables", environmentVariables.get()); } { @@ -87,10 +89,7 @@ #if PLATFORM(MAC) xpc_array_set_string(programArguments.get(), XPC_ARRAY_APPEND, executableLocation.get().fileSystemRepresentation); #else -// FIXME: These tests are still currently disabled on iOS while tooling issues with `run-api-tests` are resolved. -// Once enabled, this patch must point to the webpushd executable at a path that exists within -// the simulator runtime root. -xpc_array_set_string(programArguments.get(), XPC_ARRAY_APPEND, "/usr/local/bin/webkit-testing/webpushd"); +xpc_array_set_string(programArguments.get(), XPC_ARRAY_APPEND, [currentDirectory URLByAppendingPathComponent:@"webpushd"].path.fileSystemRepresentation); #endif xpc_array_set_string(programArguments.get(), XPC_ARRAY_APPEND, "--machServiceName"); xpc_array_set_string(programArguments.get(), XPC_ARRAY_APPEND, "org.webkit.webpushtestdaemon.service"); @@ -144,9 +143,15 @@ { killFirstInstanceOfDaemon(@"webpushd"); -EXPECT_TRUE([[NSFileManager defaultManager] fileExistsAtPath:tempDir.path]); +if (![[NSFileManager defaultManager] fileExistsAtPath:tempDir.path]) +return; + NSError *error = nil; [[NSFileManager defaultManager] removeItemAtURL:tempDir error:]; + +if (error) +NSLog(@"Error removing tempDir URL: %@", error); + EXPECT_NULL(error); } @@ -263,4 +268,4 @@ } // namespace TestWebKitAPI -#endif // PLATFORM(MAC) +#endif // PLATFORM(MAC) || PLATFORM(IOS) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [285799] trunk
Title: [285799] trunk Revision 285799 Author beid...@apple.com Date 2021-11-14 23:17:34 -0800 (Sun, 14 Nov 2021) Log Message Get daemon API ready to work in the iOS simulator (starting with WebPushD) https://bugs.webkit.org/show_bug.cgi?id=232982 Reviewed by Geoff Garen. Source/WebKit: Move all the "enable Notifications" SPI from Mac-only to cross platform: * UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _setNotificationsEnabled:]): (-[WKPreferences _notificationsEnabled]): * UIProcess/API/Cocoa/WKPreferencesPrivate.h: * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * UIProcess/Cocoa/UIDelegate.h: * UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::decidePolicyForNotificationPermissionRequest): * WebKit.xcodeproj/project.pbxproj: Add a build phase script to install the daemon executables inside a Daemons directory within the built WebKit.framework for engineering builds. * webpushd/WebPushDaemon.mm: Tools: To get this working we needed to: - Have the Daemons installed in a simulator-runtime-root-visible path - Point the OSLaunchDJob plist to the simulator-relative path, not Mac-relative - Solve the "How do I kill existing instances to run a clean test?" problem within the simulator. This patch does those things. * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (TestWebKitAPI::testWebPushDaemonPList): (TestWebKitAPI::setUpTestWebPushD): (TestWebKitAPI::cleanUpTestWebPushD): * TestWebKitAPI/cocoa/DaemonTestUtilities.h: * TestWebKitAPI/cocoa/DaemonTestUtilities.mm: (TestWebKitAPI::registerPlistWithLaunchD): (TestWebKitAPI::pidOfFirstDaemonInstance): (TestWebKitAPI::killFirstInstanceOfDaemon): WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/15/AppServerSupport.framework/AppServerSupport.tbd: Added. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.h trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm trunk/Tools/TestWebKitAPI/cocoa/DaemonTestUtilities.h trunk/Tools/TestWebKitAPI/cocoa/DaemonTestUtilities.mm trunk/WebKitLibraries/ChangeLog Added Paths trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/AppServerSupport.framework/ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/15/AppServerSupport.framework/AppServerSupport.tbd Diff Modified: trunk/Source/WebKit/ChangeLog (285798 => 285799) --- trunk/Source/WebKit/ChangeLog 2021-11-15 04:22:34 UTC (rev 285798) +++ trunk/Source/WebKit/ChangeLog 2021-11-15 07:17:34 UTC (rev 285799) @@ -1,3 +1,25 @@ +2021-11-14 Brady Eidson + +Get daemon API ready to work in the iOS simulator (starting with WebPushD) +https://bugs.webkit.org/show_bug.cgi?id=232982 + +Reviewed by Geoff Garen. + +Move all the "enable Notifications" SPI from Mac-only to cross platform: +* UIProcess/API/Cocoa/WKPreferences.mm: +(-[WKPreferences _setNotificationsEnabled:]): +(-[WKPreferences _notificationsEnabled]): +* UIProcess/API/Cocoa/WKPreferencesPrivate.h: +* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: +* UIProcess/Cocoa/UIDelegate.h: +* UIProcess/Cocoa/UIDelegate.mm: +(WebKit::UIDelegate::setDelegate): +(WebKit::UIDelegate::UIClient::decidePolicyForNotificationPermissionRequest): + +* WebKit.xcodeproj/project.pbxproj: Add a build phase script to install the daemon executables + inside a Daemons directory within the built WebKit.framework for engineering builds. +* webpushd/WebPushDaemon.mm: + 2021-11-14 Fujii Hironori [GraphicsLayerWC] Incorrect compositing debug border color Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm (285798 => 285799) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm 2021-11-15 04:22:34 UTC (rev 285798) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm 2021-11-15 07:17:34 UTC (rev 285799) @@ -1163,16 +1163,6 @@ return _preferences->standardFontFamily(); } -- (void)_setNotificationsEnabled:(BOOL)enabled -{ -_preferences->setNotificationsEnabled(enabled); -} - -- (BOOL)_notificationsEnabled -{ -return _preferences->notificationsEnabled(); -} - - (void)_setBackspaceKeyNavigationEnabled:(BOOL)enabled { _preferences->setBackspaceKeyNavigationEnabled(enabled); @@ -1564,6 +1554,16 @@ _preferences->setAccessHandleEnabled(accessHandleEnabled); } +-
[webkit-changes] [285207] trunk/Tools
Title: [285207] trunk/Tools Revision 285207 Author beid...@apple.com Date 2021-11-03 09:14:05 -0700 (Wed, 03 Nov 2021) Log Message Fix iOS API tests after r285199 https://bugs.webkit.org/show_bug.cgi?id=232649 Unreviewed. * TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm: Definitely not ready for these tests to start running. Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm Diff Modified: trunk/Tools/ChangeLog (285206 => 285207) --- trunk/Tools/ChangeLog 2021-11-03 16:05:14 UTC (rev 285206) +++ trunk/Tools/ChangeLog 2021-11-03 16:14:05 UTC (rev 285207) @@ -1,3 +1,12 @@ +2021-11-03 Brady Eidson + +Fix iOS API tests after r285199 +https://bugs.webkit.org/show_bug.cgi?id=232649 + +Unreviewed. + +* TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm: Definitely not ready for these tests to start running. + 2021-11-02 Tim Horton UnicodeDecodeError in write_reftest copying a non-UTF8 expected result file Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm (285206 => 285207) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm 2021-11-03 16:05:14 UTC (rev 285206) +++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm 2021-11-03 16:14:05 UTC (rev 285207) @@ -25,7 +25,7 @@ #import "config.h" -#if ENABLE(NOTIFICATIONS) +#if ENABLE(NOTIFICATIONS) && !PLATFORM(IOS) #import "PlatformUtilities.h" #import "TestWKWebView.h" #import @@ -170,4 +170,4 @@ } // namespace TestWebKitAPI -#endif // ENABLE(NOTIFICATIONS) +#endif // ENABLE(NOTIFICATIONS) && !PLATFORM(IOS) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [285199] trunk/Source
Title: [285199] trunk/Source Revision 285199 Author beid...@apple.com Date 2021-11-02 23:53:13 -0700 (Tue, 02 Nov 2021) Log Message Notifications on iOS enabled at compile-time, disabled at runtime https://bugs.webkit.org/show_bug.cgi?id=232649 Reviewed by Tim Horton. Source/WebCore: No new tests (Changing compiled behavior but definitely not runtime behavior) * Modules/notifications/Notification.idl: * Modules/notifications/NotificationPermission.idl: * Modules/notifications/NotificationPermissionCallback.idl: * bindings/js/WebCoreBuiltinNames.h: Source/WTF: * wtf/PlatformEnableCocoa.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/PlatformEnableCocoa.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/notifications/Notification.idl trunk/Source/WebCore/Modules/notifications/NotificationPermission.idl trunk/Source/WebCore/Modules/notifications/NotificationPermissionCallback.idl trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h Diff Modified: trunk/Source/WTF/ChangeLog (285198 => 285199) --- trunk/Source/WTF/ChangeLog 2021-11-03 03:37:50 UTC (rev 285198) +++ trunk/Source/WTF/ChangeLog 2021-11-03 06:53:13 UTC (rev 285199) @@ -1,3 +1,12 @@ +2021-11-02 Brady Eidson + +Notifications on iOS enabled at compile-time, disabled at runtime +https://bugs.webkit.org/show_bug.cgi?id=232649 + +Reviewed by Tim Horton. + +* wtf/PlatformEnableCocoa.h: + 2021-11-02 David Kilzer [WTF] Minor clean-up for format-related functions Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (285198 => 285199) --- trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2021-11-03 03:37:50 UTC (rev 285198) +++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2021-11-03 06:53:13 UTC (rev 285199) @@ -430,7 +430,7 @@ #define ENABLE_NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER 1 #endif -#if !defined(ENABLE_NOTIFICATIONS) && PLATFORM(MAC) +#if !defined(ENABLE_NOTIFICATIONS) && (PLATFORM(MAC) || PLATFORM(IOS)) #define ENABLE_NOTIFICATIONS 1 #endif Modified: trunk/Source/WebCore/ChangeLog (285198 => 285199) --- trunk/Source/WebCore/ChangeLog 2021-11-03 03:37:50 UTC (rev 285198) +++ trunk/Source/WebCore/ChangeLog 2021-11-03 06:53:13 UTC (rev 285199) @@ -1,3 +1,17 @@ +2021-11-02 Brady Eidson + +Notifications on iOS enabled at compile-time, disabled at runtime +https://bugs.webkit.org/show_bug.cgi?id=232649 + +Reviewed by Tim Horton. + +No new tests (Changing compiled behavior but definitely not runtime behavior) + +* Modules/notifications/Notification.idl: +* Modules/notifications/NotificationPermission.idl: +* Modules/notifications/NotificationPermissionCallback.idl: +* bindings/js/WebCoreBuiltinNames.h: + 2021-11-02 Caitln Potter [WebIDL] Support [Exposed=*] extended attribute Modified: trunk/Source/WebCore/Modules/notifications/Notification.idl (285198 => 285199) --- trunk/Source/WebCore/Modules/notifications/Notification.idl 2021-11-03 03:37:50 UTC (rev 285198) +++ trunk/Source/WebCore/Modules/notifications/Notification.idl 2021-11-03 06:53:13 UTC (rev 285199) @@ -34,8 +34,9 @@ [ Conditional=NOTIFICATIONS, ActiveDOMObject, +EnabledBySetting=NotificationsEnabled, ExportMacro=WEBCORE_EXPORT, -Exposed=Window +Exposed=Window, ] interface Notification : EventTarget { [CallWith=Document] constructor(DOMString title, optional NotificationOptions options); Modified: trunk/Source/WebCore/Modules/notifications/NotificationPermission.idl (285198 => 285199) --- trunk/Source/WebCore/Modules/notifications/NotificationPermission.idl 2021-11-03 03:37:50 UTC (rev 285198) +++ trunk/Source/WebCore/Modules/notifications/NotificationPermission.idl 2021-11-03 06:53:13 UTC (rev 285199) @@ -25,6 +25,7 @@ [ Conditional=NOTIFICATIONS, +EnabledBySetting=NotificationsEnabled, ] enum NotificationPermission { "default", "denied", Modified: trunk/Source/WebCore/Modules/notifications/NotificationPermissionCallback.idl (285198 => 285199) --- trunk/Source/WebCore/Modules/notifications/NotificationPermissionCallback.idl 2021-11-03 03:37:50 UTC (rev 285198) +++ trunk/Source/WebCore/Modules/notifications/NotificationPermissionCallback.idl 2021-11-03 06:53:13 UTC (rev 285199) @@ -25,4 +25,5 @@ [ Conditional=NOTIFICATIONS, +EnabledBySetting=NotificationsEnabled, ] callback NotificationPermissionCallback = undefined (NotificationPermission permission); Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (285198 => 285199) --- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-11-03 03:37:50 UTC (rev 285198) +++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-11-03 06:53:13 UTC (rev 285199) @@ -183,6 +183,7 @@ macro(NavigatorMediaDevices) \ macro(NavigatorPermissions) \ macro(NavigatorUserMedia) \ +macro(Notification) \ macro(OfflineAudioContext) \
[webkit-changes] [285148] trunk/Source/WebKitLegacy/mac
Title: [285148] trunk/Source/WebKitLegacy/mac Revision 285148 Author beid...@apple.com Date 2021-11-01 18:06:14 -0700 (Mon, 01 Nov 2021) Log Message Make WebChromeClient's m_webView pointer weak. https://bugs.webkit.org/show_bug.cgi?id=232588 Reviewed by David Kilzer. * WebCoreSupport/WebChromeClient.h: Modified Paths trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h Diff Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (285147 => 285148) --- trunk/Source/WebKitLegacy/mac/ChangeLog 2021-11-01 23:56:26 UTC (rev 285147) +++ trunk/Source/WebKitLegacy/mac/ChangeLog 2021-11-02 01:06:14 UTC (rev 285148) @@ -1,3 +1,12 @@ +2021-11-01 Brady Eidson + +Make WebChromeClient's m_webView pointer weak. +https://bugs.webkit.org/show_bug.cgi?id=232588 + +Reviewed by David Kilzer. + +* WebCoreSupport/WebChromeClient.h: + 2021-10-29 Alex Christensen Fix internal macOS build after r285047 Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h (285147 => 285148) --- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h 2021-11-01 23:56:26 UTC (rev 285147) +++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h 2021-11-02 01:06:14 UTC (rev 285148) @@ -259,5 +259,5 @@ bool m_mockVideoPresentationModeEnabled { false }; #endif -WebView *m_webView; +__weak WebView *m_webView; }; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [285121] trunk
Title: [285121] trunk Revision 285121 Author beid...@apple.com Date 2021-11-01 12:31:45 -0700 (Mon, 01 Nov 2021) Log Message webpushd: Add mock in-memory registration, and the WKWebsiteDataStore SPI to manage them https://bugs.webkit.org/show_bug.cgi?id=232539 Reviewed by Alex Christensen. Source/WebKit: Covered by API test. The old SPI to ask the client if notifications should be allowed will remain. Assuming the client okays notifications, in the case of built-in notifications, the *actual* registration interaction with the system will take place as an additional step in webpushd This patch: - Adds in-memory notification registration for webpushd - Adds SPI to WKWebsiteDataStore to manage registrations - Tests the SPI * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::deletePushAndNotificationRegistration): (WebKit::NetworkProcess::getOriginsWithPushAndNotificationPermissions): * NetworkProcess/NetworkProcess.h: * NetworkProcess/NetworkProcess.messages.in: * NetworkProcess/NetworkSession.h: (WebKit::NetworkSession::notificationManager): * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::requestSystemNotificationPermission): (WebKit::NetworkNotificationManager::deletePushAndNotificationRegistration): (WebKit::NetworkNotificationManager::getOriginsWithPushAndNotificationPermissions): (WebKit::ReplyCaller::callReply): (WebKit::ReplyCaller::callReply): * NetworkProcess/Notifications/NetworkNotificationManager.h: * Shared/API/APISecurityOrigin.h: (API::SecurityOrigin::create): * Shared/Notifications/NotificationManagerMessageHandler.h: * Shared/Notifications/NotificationManagerMessageHandler.messages.in: * Shared/WebPushDaemonConstants.h: (WebKit::WebPushD::messageTypeSendsReply): * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _deletePushAndNotificationRegistration:completionHandler:]): (-[WKWebsiteDataStore _getOriginsWithPushAndNotificationPermissions:]): * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: * UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::deletePushAndNotificationRegistration): (WebKit::NetworkProcessProxy::getOriginsWithPushAndNotificationPermissions): * UIProcess/Network/NetworkProcessProxy.h: * UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp: (WebKit::WebNotificationManagerMessageHandler::requestSystemNotificationPermission): * UIProcess/Notifications/WebNotificationManagerMessageHandler.h: * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: (WebKit::NotificationPermissionRequestManager::startRequest): * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::MessageInfo::getOriginsWithPushAndNotificationPermissions::encodeReply): (WebPushD::MessageInfo::deletePushAndNotificationRegistration::encodeReply): (WebPushD::MessageInfo::requestSystemNotificationPermission::encodeReply): (WebPushD::Daemon::decodeAndHandleMessage): (WebPushD::Daemon::requestSystemNotificationPermission): (WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions): (WebPushD::Daemon::deletePushAndNotificationRegistration): Tools: * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: (-[NotificationPermissionDelegate _webView:requestNotificationPermissionForSecurityOrigin:decisionHandler:]): (-[NotificationPermissionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (TestWebKitAPI::then): Modified Paths trunk/LayoutTests/http/tests/notifications/request.html trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.h trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in trunk/Source/WebKit/NetworkProcess/NetworkSession.h trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h trunk/Source/WebKit/Shared/API/APISecurityOrigin.h trunk/Source/WebKit/Shared/Notifications/NotificationManagerMessageHandler.h trunk/Source/WebKit/Shared/Notifications/NotificationManagerMessageHandler.messages.in trunk/Source/WebKit/Shared/WebPushDaemonConstants.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.h trunk/Source/WebKit/WebProcess/Notifications/NotificationPermissionRequestManager.cpp trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm Diff Modified: trunk/LayoutTests/http/tests/notifications/request.html (285120 => 285121) ---
[webkit-changes] [284887] trunk
Title: [284887] trunk Revision 284887 Author beid...@apple.com Date 2021-10-26 12:34:30 -0700 (Tue, 26 Oct 2021) Log Message Add helper classes and messaging infrastructure to launch webpushd and round trip a message to it https://bugs.webkit.org/show_bug.cgi?id=232262 Reviewed by Alex Christensen. Source/WebKit: No new tests (No behavior change yet) This patch: - Adds classes representing the WebPushDaemon and connections to it - Adds classes/constants/macros related to messaging that daemon - Adds SPI for configuring a connect to that daemon - Gets MiniBrowser closer to supporting built-in notifications - Has way more commented out code than usual for a patch, but that enables a great stopping-point milestone * NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm: Added. (WebKit::WebPushD::addVersionAndEncodedMessageToDictionary): (WebKit::WebPushD::Connection::newConnectionWasInitialized const): (WebKit::WebPushD::Connection::connectionReceivedEvent const): (WebKit::WebPushD::Connection::dictionaryFromMessage const): * NetworkProcess/Notifications/NetworkNotificationManager.cpp: (WebKit::NetworkNotificationManager::NetworkNotificationManager): (WebKit::NetworkNotificationManager::showNotification): (WebKit::NetworkNotificationManager::cancelNotification): (WebKit::NetworkNotificationManager::clearNotifications): (WebKit::NetworkNotificationManager::didDestroyNotification): (WebKit::NetworkNotificationManager::sendMessage const): (WebKit::ReplyCaller<>::callReply): (WebKit::ReplyCaller::callReply): (WebKit::NetworkNotificationManager::sendMessageWithReply const): * NetworkProcess/Notifications/NetworkNotificationManager.h: (WebKit::NetworkNotificationManager::networkSession const): * NetworkProcess/Notifications/WebPushDaemonConnection.cpp: Copied from Source/WebKit/Platform/IPC/DaemonConnection.cpp. (WebKit::WebPushD::Connection::Connection): (WebKit::WebPushD::Connection::networkSession const): * NetworkProcess/Notifications/WebPushDaemonConnection.h: Copied from Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: * Platform/IPC/DaemonConnection.cpp: * Platform/IPC/DaemonConnection.h: (WebKit::Daemon::ConnectionToMachService::machServiceName const): * Platform/IPC/cocoa/DaemonConnectionCocoa.mm: * Platform/Logging.h: * Shared/WebPushDaemonConstants.h: Copied from Source/WebKit/Platform/IPC/DaemonConnection.cpp. (WebKit::WebPushD::messageTypeSendsReply): * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: (WebKit::WebsiteDataStoreConfiguration::copy const): * webpushd/WebPushDaemon.h: Copied from Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h. * webpushd/WebPushDaemon.mm: Copied from Source/WebKit/webpushd/WebPushDaemonMain.mm. (WebPushD::MessageInfo::echoTwice::encodeReply): (WebPushD::handleWebPushDMessageWithReply): (WebPushD::Daemon::singleton): (WebPushD::Daemon::connectionEventHandler): (WebPushD::Daemon::connectionAdded): (WebPushD::Daemon::connectionRemoved): (WebPushD::CompletionHandler Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h trunk/Source/WebKit/NetworkProcess/WebSocketTask.h trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in trunk/Source/WebKit/Platform/IPC/DaemonConnection.cpp trunk/Source/WebKit/Platform/IPC/DaemonConnection.h trunk/Source/WebKit/Platform/IPC/cocoa/DaemonConnectionCocoa.mm trunk/Source/WebKit/Platform/Logging.h trunk/Source/WebKit/Sources.txt trunk/Source/WebKit/SourcesCocoa.txt trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/webpushd/WebPushDaemonMain.mm trunk/Tools/ChangeLog trunk/Tools/MiniBrowser/mac/AppDelegate.m trunk/Tools/MiniBrowser/mac/WK2BrowserWindowController.m Added Paths trunk/Source/WebKit/NetworkProcess/Notifications/Cocoa/ trunk/Source/WebKit/NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm trunk/Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.cpp trunk/Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.h trunk/Source/WebKit/Shared/WebPushDaemonConstants.h trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm Diff Modified: trunk/Source/WebKit/ChangeLog (284886 => 284887) --- trunk/Source/WebKit/ChangeLog 2021-10-26 18:57:31 UTC (rev 284886) +++ trunk/Source/WebKit/ChangeLog 2021-10-26 19:34:30 UTC (rev 284887) @@ -1,3 +1,82 @@ +2021-10-26 Brady Eidson + +Add helper classes and messaging infrastructure to launch webpushd and round trip a message to it +https://bugs.webkit.org/show_bug.cgi?id=232262 + +Reviewed by Alex Christensen. + +No new tests (No behavior change yet) + +This
[webkit-changes] [284591] trunk
Title: [284591] trunk Revision 284591 Author beid...@apple.com Date 2021-10-20 23:51:48 -0700 (Wed, 20 Oct 2021) Log Message WebKit Managed Notifications: Skeleton NotificationProvider https://bugs.webkit.org/show_bug.cgi?id=231786 Reviewed by Alex Christensen. Source/WebCore: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setBuiltInNotificationsEnabled): (WebCore::RuntimeEnabledFeatures::builtInNotificationsEnabled const): Source/WebKit: Currently, notification messages route from WebContent to the UI process. When "WebKit-managed built-in notifications" are enabled, notification requests will route from WebContent to Networking instead. >From there they will head off to webpushd to be handled. This patch just sets up the switch where messages can optionally head off to the Networking process instead of the UIProcess. (It also lays the SPI groundwork for the webpushd mach service name) * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::NetworkSession): (WebKit::NetworkSession::~NetworkSession): * NetworkProcess/NetworkSession.h: * NetworkProcess/NetworkSessionCreationParameters.cpp: (WebKit::NetworkSessionCreationParameters::encode const): (WebKit::NetworkSessionCreationParameters::decode): * NetworkProcess/NetworkSessionCreationParameters.h: * NetworkProcess/Notifications/NetworkNotificationManager.cpp: Added. (WebKit::NetworkNotificationManager::NetworkNotificationManager): (WebKit::NetworkNotificationManager::showNotification): (WebKit::NetworkNotificationManager::cancelNotification): (WebKit::NetworkNotificationManager::clearNotifications): (WebKit::NetworkNotificationManager::didDestroyNotification): * NetworkProcess/Notifications/NetworkNotificationManager.h: Added. * NetworkProcess/WebStorage/LocalStorageDatabase.cpp: Unified build fixup. * Sources.txt: * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: (-[_WKWebsiteDataStoreConfiguration webPushMachServiceName]): (-[_WKWebsiteDataStoreConfiguration setWebPushMachServiceName:]): * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::parameters): * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h: (WebKit::WebsiteDataStoreConfiguration::setWebPushMachServiceName): (WebKit::WebsiteDataStoreConfiguration::webPushMachServiceName const): * WebKit.xcodeproj/project.pbxproj: * WebProcess/Notifications/WebNotificationManager.cpp: (WebKit::sendNotificationMessage): (WebKit::WebNotificationManager::show): (WebKit::WebNotificationManager::cancel): (WebKit::WebNotificationManager::clearNotifications): (WebKit::WebNotificationManager::didDestroyNotification): Source/WTF: * Scripts/Preferences/WebPreferencesExperimental.yaml: * wtf/PlatformEnableCocoa.h: Tools: * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Disable BuiltInNotificationsEnabled for now. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml trunk/Source/WTF/wtf/PlatformEnableCocoa.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/RuntimeEnabledFeatures.h trunk/Source/WebKit/CMakeLists.txt trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp trunk/Source/WebKit/NetworkProcess/NetworkSession.h trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h trunk/Source/WebKit/NetworkProcess/WebStorage/LocalStorageDatabase.cpp trunk/Source/WebKit/Sources.txt trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/WebProcess/Notifications/WebNotificationManager.cpp trunk/Tools/ChangeLog trunk/Tools/WebKitTestRunner/TestOptions.cpp Added Paths trunk/Source/WebKit/NetworkProcess/Notifications/ trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h Diff Modified: trunk/Source/WTF/ChangeLog (284590 => 284591) --- trunk/Source/WTF/ChangeLog 2021-10-21 06:27:53 UTC (rev 284590) +++ trunk/Source/WTF/ChangeLog 2021-10-21 06:51:48 UTC (rev 284591) @@ -1,3 +1,13 @@ +2021-10-20 Brady Eidson + +WebKit Managed Notifications: Skeleton NotificationProvider +https://bugs.webkit.org/show_bug.cgi?id=231786 + +Reviewed by Alex Christensen. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: +* wtf/PlatformEnableCocoa.h: + 2021-10-20 Alex Christensen URLParser should reject hosts with C0 control characters or U+007F Modified:
[webkit-changes] [284564] trunk/Source/WebKit
Title: [284564] trunk/Source/WebKit Revision 284564 Author beid...@apple.com Date 2021-10-20 13:32:37 -0700 (Wed, 20 Oct 2021) Log Message Factor out some Notifications-specific messages from WebPageProxy messages https://bugs.webkit.org/show_bug.cgi?id=232021 Reviewed by Alex Christensen. In a future patch, there will be a runtime switch where WebContent sometimes sends these Notification related messages to an objecting in Networking, and othertimes sends them to a WebPageProxy in the UIProcess. To accomodate this switch, let's split them out into their own Notifications specific object and messages. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * Shared/Notifications/NotificationManagerMessageHandler.h: Added. * Shared/Notifications/NotificationManagerMessageHandler.messages.in: Added. * UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp: Added. (WebKit::WebNotificationManagerMessageHandler::WebNotificationManagerMessageHandler): (WebKit::WebNotificationManagerMessageHandler::showNotification): (WebKit::WebNotificationManagerMessageHandler::cancelNotification): (WebKit::WebNotificationManagerMessageHandler::clearNotifications): (WebKit::WebNotificationManagerMessageHandler::didDestroyNotification): * UIProcess/Notifications/WebNotificationManagerMessageHandler.h: Added. * UIProcess/WebPageProxy.cpp: (WebKit::m_notificationManagerMessageHandler): (WebKit::WebPageProxy::addAllMessageReceivers): (WebKit::WebPageProxy::removeAllMessageReceivers): (WebKit::WebPageProxy::launchProcess): (WebKit::WebPageProxy::swapToProvisionalPage): (WebKit::WebPageProxy::close): (WebKit::WebPageProxy::commitProvisionalPage): (WebKit::m_limitsNavigationsToAppBoundDomains): Deleted. * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * WebProcess/Notifications/WebNotificationManager.cpp: (WebKit::WebNotificationManager::show): (WebKit::WebNotificationManager::cancel): (WebKit::WebNotificationManager::clearNotifications): (WebKit::WebNotificationManager::didDestroyNotification): Modified Paths trunk/Source/WebKit/CMakeLists.txt trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/DerivedSources-input.xcfilelist trunk/Source/WebKit/DerivedSources-output.xcfilelist trunk/Source/WebKit/DerivedSources.make trunk/Source/WebKit/Sources.txt trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/WebPageProxy.h trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKit/WebProcess/Notifications/WebNotificationManager.cpp Added Paths trunk/Source/WebKit/Shared/Notifications/ trunk/Source/WebKit/Shared/Notifications/NotificationManagerMessageHandler.h trunk/Source/WebKit/Shared/Notifications/NotificationManagerMessageHandler.messages.in trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerMessageHandler.h Diff Modified: trunk/Source/WebKit/CMakeLists.txt (284563 => 284564) --- trunk/Source/WebKit/CMakeLists.txt 2021-10-20 19:55:36 UTC (rev 284563) +++ trunk/Source/WebKit/CMakeLists.txt 2021-10-20 20:32:37 UTC (rev 284564) @@ -44,6 +44,7 @@ "${WEBKIT_DIR}/Shared/Databases/IndexedDB" "${WEBKIT_DIR}/Shared/FileAPI" "${WEBKIT_DIR}/Shared/Gamepad" +"${WEBKIT_DIR}/Shared/Notifications" "${WEBKIT_DIR}/Shared/Plugins" "${WEBKIT_DIR}/Shared/Plugins/Netscape" "${WEBKIT_DIR}/Shared/Plugins/Netscape/x11" @@ -192,6 +193,8 @@ Shared/Authentication/AuthenticationManager +Shared/Notifications/NotificationManagerMessageHandler + Shared/Plugins/NPObjectMessageReceiver UIProcess/DrawingAreaProxy Modified: trunk/Source/WebKit/ChangeLog (284563 => 284564) --- trunk/Source/WebKit/ChangeLog 2021-10-20 19:55:36 UTC (rev 284563) +++ trunk/Source/WebKit/ChangeLog 2021-10-20 20:32:37 UTC (rev 284564) @@ -1,3 +1,51 @@ +2021-10-20 Brady Eidson + +Factor out some Notifications-specific messages from WebPageProxy messages +https://bugs.webkit.org/show_bug.cgi?id=232021 + +Reviewed by Alex Christensen. + +In a future patch, there will be a runtime switch where WebContent sometimes sends these Notification +related messages to an objecting in Networking, and othertimes sends them to a WebPageProxy in the UIProcess. + +To accomodate this switch, let's split them out into their own Notifications specific object and messages. + +* CMakeLists.txt: +* DerivedSources-input.xcfilelist: +* DerivedSources-output.xcfilelist: +* DerivedSources.make: +* Sources.txt: +* WebKit.xcodeproj/project.pbxproj: + +* Shared/Notifications/NotificationManagerMessageHandler.h: Added. +* Shared/Notifications/NotificationManagerMessageHandler.messages.in: Added.
[webkit-changes] [284240] trunk/Source
Title: [284240] trunk/Source Revision 284240 Author beid...@apple.com Date 2021-10-15 02:26:08 -0700 (Fri, 15 Oct 2021) Log Message WebKit Managed Notifications: Skeleton NotificationProvider. and https://bugs.webkit.org/show_bug.cgi?id=231786 Reviewed by Alex Christensen. Source/WebKit: No new tests (No behavior change yet) Currently WebNotificationManagerProxy manages dispatching out stuff to the NotificationProvider SPI that - for example - Safari on Mac implements. The interface between the ManagerProxy and the Provider is already the perfect way to add an alternative behavior. This introduces the skeleton class of an alternative NotificationProvider that will eventually implement WebKit-managed notifications. While under development it will have a global runtime switch so we can A/B test between the client-managed and WebKit-managed notifications. That switch would eventually be replaced by full compile-time behavior which would be decided by a shipping vendor. Note: This patch enables the new flag BUILT_IN_NOTIFICATIONS to get the new mechanisms building, but that flag by itself doesn't expose Notifications interfaces in WebCore. That will still require enabling NOTIFICATIONS separately. * SourcesCocoa.txt: * UIProcess/API/APINotificationProvider.h: (API::NotificationProvider::isClientReplaceable const): A temporary mechanism to prevent API clients from overriding the built-in NotificationProvider if the feature is enabled. Useful right now because existing Safari does that with existing SPI. * UIProcess/API/APIUIClient.h: (API::UIClient::decidePolicyForNotificationPermissionRequest): * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * UIProcess/Cocoa/UIDelegate.h: * UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::decidePolicyForNotificationPermissionRequest): * UIProcess/Notifications/Cocoa/WebNotificationProviderCocoa.h: Copied from Source/WebKit/UIProcess/API/APINotificationProvider.h. * UIProcess/Notifications/Cocoa/WebNotificationProviderCocoa.mm: Added. (WebKit::WebNotificationProviderCocoa::createIfEnabled): (WebKit::WebNotificationProviderCocoa::WebNotificationProviderCocoa): (WebKit::WebNotificationProviderCocoa::show): (WebKit::WebNotificationProviderCocoa::cancel): (WebKit::WebNotificationProviderCocoa::didDestroyNotification): (WebKit::WebNotificationProviderCocoa::clearNotifications): (WebKit::WebNotificationProviderCocoa::addNotificationManager): (WebKit::WebNotificationProviderCocoa::removeNotificationManager): (WebKit::WebNotificationProviderCocoa::notificationPermissions): * UIProcess/Notifications/WebNotificationManagerProxy.cpp: (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): (WebKit::WebNotificationManagerProxy::setProvider): Fix changes to the Unified Build: * UIProcess/ios/WKHoverPlatter.h: * UIProcess/ios/WKHoverPlatter.mm: * WebKit.xcodeproj/project.pbxproj: Source/WebKitLegacy/mac: * WebCoreSupport/WebNotificationClient.mm: (-[WebNotificationPolicyListener NO_RETURN_DUE_TO_ASSERT]): (-[WebNotificationPolicyListener denyOnlyThisRequest]): Deleted. Source/WTF: * Scripts/Preferences/WebPreferencesDebug.yaml: * wtf/PlatformEnableCocoa.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesDebug.yaml trunk/Source/WTF/wtf/PlatformEnableCocoa.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/SourcesCocoa.txt trunk/Source/WebKit/UIProcess/API/APINotificationProvider.h trunk/Source/WebKit/UIProcess/API/APIUIClient.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.h trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm trunk/Source/WebKit/UIProcess/Notifications/WebNotificationManagerProxy.cpp trunk/Source/WebKit/UIProcess/ios/WKHoverPlatter.h trunk/Source/WebKit/UIProcess/ios/WKHoverPlatter.mm trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebNotificationClient.mm Added Paths trunk/Source/WebKit/UIProcess/Notifications/Cocoa/ trunk/Source/WebKit/UIProcess/Notifications/Cocoa/WebNotificationProviderCocoa.h trunk/Source/WebKit/UIProcess/Notifications/Cocoa/WebNotificationProviderCocoa.mm Diff Modified: trunk/Source/WTF/ChangeLog (284239 => 284240) --- trunk/Source/WTF/ChangeLog 2021-10-15 09:03:25 UTC (rev 284239) +++ trunk/Source/WTF/ChangeLog 2021-10-15 09:26:08 UTC (rev 284240) @@ -1,3 +1,13 @@ +2021-10-15 Brady Eidson + +WebKit Managed Notifications: Skeleton NotificationProvider. + and https://bugs.webkit.org/show_bug.cgi?id=231786 + +Reviewed by Alex Christensen. + +* Scripts/Preferences/WebPreferencesDebug.yaml: +* wtf/PlatformEnableCocoa.h: + 2021-10-15 Robin Morisset Revert r284230, my last fixes to the watch build make it break tests Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesDebug.yaml (284239 => 284240)
[webkit-changes] [282881] trunk
Title: [282881] trunk Revision 282881 Author beid...@apple.com Date 2021-09-22 10:58:45 -0700 (Wed, 22 Sep 2021) Log Message Disable FTP. and https://bugs.webkit.org/show_bug.cgi?id=230477 Reviewed by Geoff Garen. Source/WebKit: Covered by new API tests. * NetworkProcess/NetworkLoad.cpp: (WebKit::NetworkLoad::start): (WebKit::NetworkLoad::willPerformHTTPRedirection): * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::initializeNetworkProcess): * NetworkProcess/NetworkProcess.h: (WebKit::NetworkProcess::ftpEnabled const): * NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode): * NetworkProcess/NetworkProcessCreationParameters.h: * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeNetworkProcess): Source/WTF: * Scripts/Preferences/WebPreferencesExperimental.yaml: * wtf/URL.cpp: (WTF::URL::protocolIsInFTPFamily const): (WTF::protocolIsInFTPFamily): * wtf/URL.h: Tools: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/BundlePageConsoleMessage.mm: Added. (willAddMessageToConsoleCallback): (-[BundlePageConsoleMessage webProcessPlugIn:didCreateBrowserContextController:]): * TestWebKitAPI/Tests/WebKitCocoa/FTP.mm: Added. (TestWebKitAPI::didReceivePageMessageFromInjectedBundle): (TestWebKitAPI::setInjectedBundleClient): (TestWebKitAPI::TEST): * TestWebKitAPI/PlatformUtilities.h: * TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm: (TestWebKitAPI::Util::toNS): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml trunk/Source/WTF/wtf/URL.cpp trunk/Source/WTF/wtf/URL.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.h trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/PlatformUtilities.h trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj trunk/Tools/TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm Added Paths trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/BundlePageConsoleMessage.mm trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/FTP.mm Diff Modified: trunk/Source/WTF/ChangeLog (282880 => 282881) --- trunk/Source/WTF/ChangeLog 2021-09-22 17:19:36 UTC (rev 282880) +++ trunk/Source/WTF/ChangeLog 2021-09-22 17:58:45 UTC (rev 282881) @@ -1,3 +1,17 @@ +2021-09-22 Brady Eidson + +Disable FTP. + and https://bugs.webkit.org/show_bug.cgi?id=230477 + +Reviewed by Geoff Garen. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + +* wtf/URL.cpp: +(WTF::URL::protocolIsInFTPFamily const): +(WTF::protocolIsInFTPFamily): +* wtf/URL.h: + 2021-09-22 Simon Fraser Remove ENABLE(SMOOTH_SCROLLING) Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (282880 => 282881) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-09-22 17:19:36 UTC (rev 282880) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-09-22 17:58:45 UTC (rev 282881) @@ -421,6 +421,18 @@ WebCore: default: false +FTPEnabled: + type: bool + humanReadableName: "FTP support enabled" + humanReadableDescription: "FTP support enabled" + defaultValue: +WebCore: + default: false +WebKit: + default: false +WebKitLegacy: + default: false + # FIXME: This seems to be accidentally enabled for WebKit1 right now due to the old code using the # wrong preference key in some places. We should identify whether it really makes sense to keep this # enabled. Modified: trunk/Source/WTF/wtf/URL.cpp (282880 => 282881) --- trunk/Source/WTF/wtf/URL.cpp 2021-09-22 17:19:36 UTC (rev 282880) +++ trunk/Source/WTF/wtf/URL.cpp 2021-09-22 17:58:45 UTC (rev 282881) @@ -329,6 +329,11 @@ return WTF::protocolIsJavaScript(string()); } +bool URL::protocolIsInFTPFamily() const +{ +return WTF::protocolIsInFTPFamily(string()); +} + bool URL::protocolIs(const char* protocol) const { assertProtocolIsGood(protocol); @@ -856,6 +861,17 @@ return protocolIsInternal(string, "_javascript_"); } +bool protocolIsInFTPFamily(StringView url) +{ +auto length = url.length(); +// Do the comparison without making a new string object. +return length >= 4 +&& isASCIIAlphaCaselessEqual(url[0], 'f') +&& isASCIIAlphaCaselessEqual(url[1], 't') +&& isASCIIAlphaCaselessEqual(url[2], 'p') +&& (url[3] == ':' || (isASCIIAlphaCaselessEqual(url[3], 's') && length >= 5 && url[4] ==
[webkit-changes] [280202] trunk/Source/WebKit
Title: [280202] trunk/Source/WebKit Revision 280202 Author beid...@apple.com Date 2021-07-22 15:45:52 -0700 (Thu, 22 Jul 2021) Log Message Revert part of r279089 that was done a little bit too early. and https://bugs.webkit.org/show_bug.cgi?id=228174 Reviewed by Chris Dumez. * Configurations/WebKit.xcconfig: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/WebKit.xcconfig Diff Modified: trunk/Source/WebKit/ChangeLog (280201 => 280202) --- trunk/Source/WebKit/ChangeLog 2021-07-22 22:40:20 UTC (rev 280201) +++ trunk/Source/WebKit/ChangeLog 2021-07-22 22:45:52 UTC (rev 280202) @@ -1,3 +1,12 @@ +2021-07-22 Brady Eidson + +Revert part of r279089 that was done a little bit too early. + and https://bugs.webkit.org/show_bug.cgi?id=228174 + +Reviewed by Chris Dumez. + +* Configurations/WebKit.xcconfig: + 2021-07-22 Tim Horton REGRESSION (r279992): Crashes under RemoteLayerBackingStore::applyBackingStoreToLayer() in macCatalyst Modified: trunk/Source/WebKit/Configurations/WebKit.xcconfig (280201 => 280202) --- trunk/Source/WebKit/Configurations/WebKit.xcconfig 2021-07-22 22:40:20 UTC (rev 280201) +++ trunk/Source/WebKit/Configurations/WebKit.xcconfig 2021-07-22 22:45:52 UTC (rev 280202) @@ -178,10 +178,10 @@ INSTALLHDRS_SCRIPT_PHASE = YES; APPLY_RULES_IN_COPY_HEADERS = $(WK_USE_NEW_BUILD_SYSTEM); -WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED[sdk=macosx*] = $(WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED$(WK_MACOS_1300)); -WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED_MACOS_BEFORE_1300 = YES; -WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED[sdk=iphone*] = $(WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED$(WK_IOS_16)); -WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED_IOS_BEFORE_16 = YES; +WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED[sdk=macosx*] = $(WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED$(WK_MACOS_1200)); +WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED_MACOS_BEFORE_1200 = YES; +WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED[sdk=iphone*] = $(WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED$(WK_IOS_15)); +WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED_IOS_BEFORE_15 = YES; WK_RELOCATABLE_FRAMEWORK_LDFLAGS = $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS_$(WK_RELOCATABLE_FRAMEWORKS)_$(WK_PLATFORM_NAME)); WK_RELOCATABLE_FRAMEWORK_LDFLAGS_YES_macosx = -Wl,-not_for_dyld_shared_cache; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [280005] trunk/Source/WebCore
Title: [280005] trunk/Source/WebCore Revision 280005 Author beid...@apple.com Date 2021-07-16 15:59:36 -0700 (Fri, 16 Jul 2021) Log Message FetchBodySource/FetchBodyOwner cleanup and https://bugs.webkit.org/show_bug.cgi?id=228035 Reviewed by Geoffrey Garen. FetchBodyOwner should have a WeakPtr factory, and FetchBodySource should use it. * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchBodySource.cpp: (WebCore::FetchBodySource::FetchBodySource): (WebCore::FetchBodySource::doCancel): (WebCore::FetchBodySource::close): * Modules/fetch/FetchBodySource.h: * Modules/fetch/FetchResponse.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp trunk/Source/WebCore/Modules/fetch/FetchBodySource.h trunk/Source/WebCore/Modules/fetch/FetchResponse.h Diff Modified: trunk/Source/WebCore/ChangeLog (280004 => 280005) --- trunk/Source/WebCore/ChangeLog 2021-07-16 22:18:46 UTC (rev 280004) +++ trunk/Source/WebCore/ChangeLog 2021-07-16 22:59:36 UTC (rev 280005) @@ -1,3 +1,20 @@ +2021-07-16 Brady Eidson + +FetchBodySource/FetchBodyOwner cleanup + and https://bugs.webkit.org/show_bug.cgi?id=228035 + +Reviewed by Geoffrey Garen. + +FetchBodyOwner should have a WeakPtr factory, and FetchBodySource should use it. + +* Modules/fetch/FetchBodyOwner.h: +* Modules/fetch/FetchBodySource.cpp: +(WebCore::FetchBodySource::FetchBodySource): +(WebCore::FetchBodySource::doCancel): +(WebCore::FetchBodySource::close): +* Modules/fetch/FetchBodySource.h: +* Modules/fetch/FetchResponse.h: + 2021-07-16 Alan Bujtas [RenderTreeBuilder] Update the fragmented status of the renderer when it becomes in-flow Modified: trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h (280004 => 280005) --- trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h 2021-07-16 22:18:46 UTC (rev 280004) +++ trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h 2021-07-16 22:59:36 UTC (rev 280005) @@ -40,7 +40,7 @@ namespace WebCore { -class FetchBodyOwner : public RefCounted, public ActiveDOMObject { +class FetchBodyOwner : public RefCounted, public ActiveDOMObject, public CanMakeWeakPtr { public: FetchBodyOwner(ScriptExecutionContext&, std::optional&&, Ref&&); ~FetchBodyOwner(); Modified: trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp (280004 => 280005) --- trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp 2021-07-16 22:18:46 UTC (rev 280004) +++ trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp 2021-07-16 22:59:36 UTC (rev 280005) @@ -32,7 +32,7 @@ namespace WebCore { FetchBodySource::FetchBodySource(FetchBodyOwner& bodyOwner) -: m_bodyOwner() +: m_bodyOwner(makeWeakPtr(bodyOwner)) { } @@ -68,7 +68,6 @@ void FetchBodySource::doCancel() { m_isCancelling = true; -ASSERT(m_bodyOwner || m_isClosed); if (!m_bodyOwner) return; @@ -79,6 +78,7 @@ void FetchBodySource::close() { #if ASSERT_ENABLED +ASSERT(!m_isClosed); m_isClosed = true; #endif Modified: trunk/Source/WebCore/Modules/fetch/FetchBodySource.h (280004 => 280005) --- trunk/Source/WebCore/Modules/fetch/FetchBodySource.h 2021-07-16 22:18:46 UTC (rev 280004) +++ trunk/Source/WebCore/Modules/fetch/FetchBodySource.h 2021-07-16 22:59:36 UTC (rev 280005) @@ -57,7 +57,8 @@ void setActive() final; void setInactive() final; -FetchBodyOwner* m_bodyOwner; +WeakPtr m_bodyOwner; + bool m_isCancelling { false }; #if ASSERT_ENABLED bool m_isClosed { false }; Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.h (280004 => 280005) --- trunk/Source/WebCore/Modules/fetch/FetchResponse.h 2021-07-16 22:18:46 UTC (rev 280004) +++ trunk/Source/WebCore/Modules/fetch/FetchResponse.h 2021-07-16 22:59:36 UTC (rev 280005) @@ -47,7 +47,7 @@ class FetchRequest; class ReadableStreamSource; -class FetchResponse final : public FetchBodyOwner, public CanMakeWeakPtr { +class FetchResponse final : public FetchBodyOwner { public: using Type = ResourceResponse::Type; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279960] trunk/Source/WebCore
Title: [279960] trunk/Source/WebCore Revision 279960 Author beid...@apple.com Date 2021-07-15 13:40:06 -0700 (Thu, 15 Jul 2021) Log Message Use WeakPtr with UniqueIDBDatabaseConnection and https://bugs.webkit.org/show_bug.cgi?id=227969 Reviewed by Geoff Garen. No new tests possible. Noticed this raw ptr which was raw to break a ref cycle. WeakPtr works better. * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h: * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp: (WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::databaseConnection): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::abortWithoutCallback): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::commit): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameObjectStore): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getAllRecords): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::objectStoreIdentifiers): (WebCore::IDBServer::UniqueIDBDatabaseTransaction::didActivateInBackingStore): * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h: (WebCore::IDBServer::UniqueIDBDatabaseTransaction::databaseConnection): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.h trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h Diff Modified: trunk/Source/WebCore/ChangeLog (279959 => 279960) --- trunk/Source/WebCore/ChangeLog 2021-07-15 20:39:47 UTC (rev 279959) +++ trunk/Source/WebCore/ChangeLog 2021-07-15 20:40:06 UTC (rev 279960) @@ -1,3 +1,42 @@ +2021-07-15 Brady Eidson + +Use WeakPtr with UniqueIDBDatabaseConnection + and https://bugs.webkit.org/show_bug.cgi?id=227969 + +Reviewed by Geoff Garen. + +No new tests possible. + +Noticed this raw ptr which was raw to break a ref cycle. +WeakPtr works better. + +* Modules/indexeddb/server/UniqueIDBDatabaseConnection.h: +* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp: +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::databaseConnection): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abortWithoutCallback): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::commit): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameObjectStore): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getAllRecords): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::objectStoreIdentifiers): +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::didActivateInBackingStore): +* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h: +(WebCore::IDBServer::UniqueIDBDatabaseTransaction::databaseConnection): Deleted. +
[webkit-changes] [279956] trunk/Source/WebCore
Title: [279956] trunk/Source/WebCore Revision 279956 Author beid...@apple.com Date 2021-07-15 13:12:14 -0700 (Thu, 15 Jul 2021) Log Message MemoryIDBBackingStore cleanup. and https://bugs.webkit.org/show_bug.cgi?id=227993 Reviewed by Geoffrey Garen. * Modules/indexeddb/server/MemoryIDBBackingStore.cpp: (WebCore::IDBServer::MemoryIDBBackingStore::registerObjectStore): * Modules/indexeddb/server/MemoryIDBBackingStore.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.h Diff Modified: trunk/Source/WebCore/ChangeLog (279955 => 279956) --- trunk/Source/WebCore/ChangeLog 2021-07-15 18:29:47 UTC (rev 279955) +++ trunk/Source/WebCore/ChangeLog 2021-07-15 20:12:14 UTC (rev 279956) @@ -1,3 +1,14 @@ +2021-07-15 Brady Eidson + +MemoryIDBBackingStore cleanup. + and https://bugs.webkit.org/show_bug.cgi?id=227993 + +Reviewed by Geoffrey Garen. + +* Modules/indexeddb/server/MemoryIDBBackingStore.cpp: +(WebCore::IDBServer::MemoryIDBBackingStore::registerObjectStore): +* Modules/indexeddb/server/MemoryIDBBackingStore.h: + 2021-07-15 Tim Nguyen element: do not perform close() method steps when removing open attribute. Modified: trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp (279955 => 279956) --- trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp 2021-07-15 18:29:47 UTC (rev 279955) +++ trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp 2021-07-15 20:12:14 UTC (rev 279956) @@ -585,8 +585,8 @@ void MemoryIDBBackingStore::registerObjectStore(Ref&& objectStore) { -ASSERT(!m_objectStoresByIdentifier.contains(objectStore->info().identifier())); -ASSERT(!m_objectStoresByName.contains(objectStore->info().name())); +RELEASE_ASSERT(!m_objectStoresByIdentifier.contains(objectStore->info().identifier())); +RELEASE_ASSERT(!m_objectStoresByName.contains(objectStore->info().name())); auto identifier = objectStore->info().identifier(); m_objectStoresByName.set(objectStore->info().name(), ()); Modified: trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.h (279955 => 279956) --- trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.h 2021-07-15 18:29:47 UTC (rev 279955) +++ trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.h 2021-07-15 20:12:14 UTC (rev 279956) @@ -97,7 +97,7 @@ HashMap> m_transactions; HashMap> m_objectStoresByIdentifier; -HashMap m_objectStoresByName; +HashMap> m_objectStoresByName; }; } // namespace IDBServer ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279509] trunk/Source/WebKit
Title: [279509] trunk/Source/WebKit Revision 279509 Author beid...@apple.com Date 2021-07-02 10:57:12 -0700 (Fri, 02 Jul 2021) Log Message WebPageProxy::setAppHighlightsVisibility might send message from a background thread, ASSERTing and https://bugs.webkit.org/show_bug.cgi?id=227607 Reviewed by Chris Dumez. * UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::setAppHighlightsVisibility): (WebKit::WebPageProxy::setUpHighlightsObserver): The callback we get here is often on a background thread. So bounce it to main. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm Diff Modified: trunk/Source/WebKit/ChangeLog (279508 => 279509) --- trunk/Source/WebKit/ChangeLog 2021-07-02 17:55:45 UTC (rev 279508) +++ trunk/Source/WebKit/ChangeLog 2021-07-02 17:57:12 UTC (rev 279509) @@ -1,3 +1,15 @@ +2021-07-02 Brady Eidson + +WebPageProxy::setAppHighlightsVisibility might send message from a background thread, ASSERTing + and https://bugs.webkit.org/show_bug.cgi?id=227607 + +Reviewed by Chris Dumez. + +* UIProcess/Cocoa/WebPageProxyCocoa.mm: +(WebKit::WebPageProxy::setAppHighlightsVisibility): +(WebKit::WebPageProxy::setUpHighlightsObserver): The callback we get here is often on a background thread. + So bounce it to main. + 2021-07-02 Philippe Normand [GTK] Add new revision variable in pkgconfig file Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm (279508 => 279509) --- trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm 2021-07-02 17:55:45 UTC (rev 279508) +++ trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm 2021-07-02 17:57:12 UTC (rev 279509) @@ -587,6 +587,8 @@ void WebPageProxy::setAppHighlightsVisibility(WebCore::HighlightVisibility appHighlightsVisibility) { +RELEASE_ASSERT(isMainRunLoop()); + if (!hasRunningProcess()) return; @@ -604,9 +606,16 @@ { if (m_appHighlightsObserver) return; + +auto weakThis = makeWeakPtr(*this); auto updateAppHighlightsVisibility = ^(BOOL isVisible) { -setAppHighlightsVisibility(isVisible ? WebCore::HighlightVisibility::Visible : WebCore::HighlightVisibility::Hidden); +ensureOnMainRunLoop([weakThis, isVisible] { +if (!weakThis) +return; +weakThis->setAppHighlightsVisibility(isVisible ? WebCore::HighlightVisibility::Visible : WebCore::HighlightVisibility::Hidden); +}); }; + m_appHighlightsObserver = adoptNS([allocSYNotesActivationObserverInstance() initWithHandler:updateAppHighlightsVisibility]); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [279480] trunk/Source/WebCore
Title: [279480] trunk/Source/WebCore Revision 279480 Author beid...@apple.com Date 2021-07-01 13:22:16 -0700 (Thu, 01 Jul 2021) Log Message HIDGamepadProvider adds an extra 50ms to all inputs and https://bugs.webkit.org/show_bug.cgi?id=217742 Reviewed by Alex Christensen. No new tests. Tried to write an API test to drive inputs in the delay range, but that was way too fragile on a local developer machine, much less a bot that's under load. These input delays were an early best-effort to get input to line up with RaF, which the spec mentions as a goal. Not sure how 50 slipped in for HID, vs the 16 on GCF. Whether or not lining up perfectly with RaF is actually a useful goal, in the meantime driving input as quickly as possible seems much more desirable. We still want to coalesce multiple close together inputs into 1 logical event to smooth out jitter with certain devices, and reduce IPC and DOM object churn during rapid input (or with buggy devices). In testing with what I have on my desk, using a true 0-delay timer for that was not desirable. But 1ms seems peachy keen. * platform/gamepad/cocoa/GameControllerGamepadProvider.mm: * platform/gamepad/mac/HIDGamepadProvider.mm: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm Diff Modified: trunk/Source/WebCore/ChangeLog (279479 => 279480) --- trunk/Source/WebCore/ChangeLog 2021-07-01 20:22:09 UTC (rev 279479) +++ trunk/Source/WebCore/ChangeLog 2021-07-01 20:22:16 UTC (rev 279480) @@ -1,3 +1,32 @@ +2021-07-01 Brady Eidson + +HIDGamepadProvider adds an extra 50ms to all inputs + and https://bugs.webkit.org/show_bug.cgi?id=217742 + +Reviewed by Alex Christensen. + +No new tests. +Tried to write an API test to drive inputs in the delay range, but that was way too fragile +on a local developer machine, much less a bot that's under load. + +These input delays were an early best-effort to get input to line up with RaF, which the spec +mentions as a goal. + +Not sure how 50 slipped in for HID, vs the 16 on GCF. + +Whether or not lining up perfectly with RaF is actually a useful goal, in the meantime driving +input as quickly as possible seems much more desirable. + +We still want to coalesce multiple close together inputs into 1 logical event to smooth out jitter +with certain devices, and reduce IPC and DOM object churn during rapid input (or with buggy devices). + +In testing with what I have on my desk, using a true 0-delay timer for that was not desirable. + +But 1ms seems peachy keen. + +* platform/gamepad/cocoa/GameControllerGamepadProvider.mm: +* platform/gamepad/mac/HIDGamepadProvider.mm: + 2021-07-01 Dean Jackson Add a layoutTrait for an additional controls scale factor Modified: trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm (279479 => 279480) --- trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm 2021-07-01 20:22:09 UTC (rev 279479) +++ trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm 2021-07-01 20:22:16 UTC (rev 279480) @@ -68,7 +68,7 @@ #endif // !HAVE(GCCONTROLLER_HID_DEVICE_CHECK) -static const Seconds inputNotificationDelay { 16_ms }; +static const Seconds inputNotificationDelay { 1_ms }; GameControllerGamepadProvider& GameControllerGamepadProvider::singleton() { Modified: trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm (279479 => 279480) --- trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm 2021-07-01 20:22:09 UTC (rev 279479) +++ trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm 2021-07-01 20:22:16 UTC (rev 279480) @@ -43,7 +43,7 @@ namespace WebCore { static const Seconds connectionDelayInterval { 500_ms }; -static const Seconds hidInputNotificationDelay { 50_ms }; +static const Seconds hidInputNotificationDelay { 1_ms }; static RetainPtr deviceMatchingDictionary(uint32_t usagePage, uint32_t usage) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [278498] trunk
Title: [278498] trunk Revision 278498 Author beid...@apple.com Date 2021-06-04 14:21:48 -0700 (Fri, 04 Jun 2021) Log Message Enforce a quota in window.sessionStorage rdar://78507096 and https://bugs.webkit.org/show_bug.cgi?id=226337 Reviewed by Chris Dumez. Source/WebCore: Covered by change to existing test. * page/Page.cpp: (WebCore::Page::sessionStorage): Make sure the quota for session storage is not "noQuota" * page/Settings.yaml: Default to 5mb instead of noQuota to match other browsers. LayoutTests: * platform/ios-wk1/TestExpectations: * platform/ios/ios/storage/domstorage/5mb-quota.html: Removed. * storage/domstorage/quota-expected.txt: * storage/domstorage/quota.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-wk1/TestExpectations trunk/LayoutTests/storage/domstorage/quota-expected.txt trunk/LayoutTests/storage/domstorage/quota.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Page.cpp trunk/Source/WebCore/page/Settings.yaml Removed Paths trunk/LayoutTests/platform/ios/ios/storage/domstorage/5mb-quota.html Diff Modified: trunk/LayoutTests/ChangeLog (278497 => 278498) --- trunk/LayoutTests/ChangeLog 2021-06-04 21:04:14 UTC (rev 278497) +++ trunk/LayoutTests/ChangeLog 2021-06-04 21:21:48 UTC (rev 278498) @@ -1,3 +1,15 @@ +2021-06-04 Brady Eidson + +Enforce a quota in window.sessionStorage +rdar://78507096 and https://bugs.webkit.org/show_bug.cgi?id=226337 + +Reviewed by Chris Dumez. + +* platform/ios-wk1/TestExpectations: +* platform/ios/ios/storage/domstorage/5mb-quota.html: Removed. +* storage/domstorage/quota-expected.txt: +* storage/domstorage/quota.html: + 2021-06-04 Antti Koivisto REGRESSION (maybe r276882): custom properties not available on host on initial paint Deleted: trunk/LayoutTests/platform/ios/ios/storage/domstorage/5mb-quota.html (278497 => 278498) --- trunk/LayoutTests/platform/ios/ios/storage/domstorage/5mb-quota.html 2021-06-04 21:04:14 UTC (rev 278497) +++ trunk/LayoutTests/platform/ios/ios/storage/domstorage/5mb-quota.html 2021-06-04 21:21:48 UTC (rev 278498) @@ -1,66 +0,0 @@ - - - - - - -