Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 74e0b308c9978fbbd289a8b070f3352c411d173d https://github.com/WebKit/WebKit/commit/74e0b308c9978fbbd289a8b070f3352c411d173d Author: Luke Warlow <lwar...@igalia.com> Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/close-watcher/abortsignal-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/basic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/keydown-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/keypress-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/keyup-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/not-user-activation-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/synthetic-keyboard-event-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/event-properties-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/frame-removal-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/inside-event-listeners-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n-activate-preventDefault_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n-activate_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n-closerequest-n_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n-destroy-n_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nn-CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nn-activate-CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nn-dialog-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nnn-CloseWatcher-dialog-popover-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nnn-CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/ny-activate-preventDefault_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/ny_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nyn_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nyn_dialog-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nynn-destroy_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nynn-destroy_dialog-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nynn_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nynn_dialog-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nyyn-CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nyyyn-CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/y_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yn-activate_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yn_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/ynn-CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yy_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yyn_CloseWatcher-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yyy-CloseWatcher-dialog-popover-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yyy-activate-CloseWatcher-dialog-popover-expected.txt M LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yyy_CloseWatcher-expected.txt M LayoutTests/platform/ios/TestExpectations A LayoutTests/platform/ios/imported/w3c/web-platform-tests/close-watcher/abortsignal-expected.txt A LayoutTests/platform/ios/imported/w3c/web-platform-tests/close-watcher/basic-expected.txt M LayoutTests/platform/win/TestExpectations M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/CMakeLists.txt M Source/WebCore/DerivedSources-input.xcfilelist M Source/WebCore/DerivedSources-output.xcfilelist M Source/WebCore/DerivedSources.make M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/bindings/js/WebCoreBuiltinNames.h M Source/WebCore/dom/EventTargetFactory.in A Source/WebCore/html/closewatcher/CloseWatcher.cpp A Source/WebCore/html/closewatcher/CloseWatcher.h A Source/WebCore/html/closewatcher/CloseWatcher.idl A Source/WebCore/html/closewatcher/CloseWatcherManager.cpp A Source/WebCore/html/closewatcher/CloseWatcherManager.h M Source/WebCore/page/EventHandler.cpp M Source/WebCore/page/LocalDOMWindow.cpp M Source/WebCore/page/LocalDOMWindow.h Log Message: ----------- Implement the Close Watcher API https://bugs.webkit.org/show_bug.cgi?id=263305 Reviewed by Abrar Rahman Protyasha. Implement the Close Watcher API behind a feature flag. This patch doesn't include the integration with Popovers or Dialogs. Spec: https://html.spec.whatwg.org/#close-requests-and-close-watchers * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/abortsignal-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/basic-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/keydown-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/keypress-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/keyup-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/not-user-activation-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/esc-key/synthetic-keyboard-event-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/event-properties-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/frame-removal-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/inside-event-listeners-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n-activate-preventDefault_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n-activate_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n-closerequest-n_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n-destroy-n_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/n_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nn-CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nn-activate-CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nn-dialog-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nnn-CloseWatcher-dialog-popover-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nnn-CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/ny-activate-preventDefault_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/ny_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nyn_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nyn_dialog-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nynn-destroy_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nynn-destroy_dialog-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nynn_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nynn_dialog-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nyyn-CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/nyyyn-CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/y_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yn-activate_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yn_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/ynn-CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yy_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yyn_CloseWatcher-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yyy-CloseWatcher-dialog-popover-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yyy-activate-CloseWatcher-dialog-popover-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/close-watcher/user-activation/yyy_CloseWatcher-expected.txt: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/ios/imported/w3c/web-platform-tests/close-watcher/abortsignal-expected.txt: Added. * LayoutTests/platform/ios/imported/w3c/web-platform-tests/close-watcher/basic-expected.txt: Added. * LayoutTests/platform/win/TestExpectations: * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/CMakeLists.txt: * Source/WebCore/DerivedSources-input.xcfilelist: * Source/WebCore/DerivedSources-output.xcfilelist: * Source/WebCore/DerivedSources.make: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/WebCoreBuiltinNames.h: * Source/WebCore/dom/EventTargetFactory.in: * Source/WebCore/html/closewatcher/CloseWatcher.cpp: Added. (WebCore::CloseWatcher::create): (WebCore::CloseWatcher::establish): (WebCore::CloseWatcher::CloseWatcher): (WebCore::CloseWatcher::requestClose): (WebCore::CloseWatcher::requestToClose): (WebCore::CloseWatcher::close): (WebCore::CloseWatcher::canBeClosed const): (WebCore::CloseWatcher::destroy): (WebCore::CloseWatcher::eventListenersDidChange): (WebCore::CloseWatcher::virtualHasPendingActivity const): * Source/WebCore/html/closewatcher/CloseWatcher.h: Added. * Source/WebCore/html/closewatcher/CloseWatcher.idl: Added. * Source/WebCore/html/closewatcher/CloseWatcherManager.cpp: Added. (WebCore::CloseWatcherManager::add): (WebCore::CloseWatcherManager::remove): (WebCore::CloseWatcherManager::notifyAboutUserActivation): (WebCore::CloseWatcherManager::canPreventClose): (WebCore::CloseWatcherManager::escapeKeyHandler): * Source/WebCore/html/closewatcher/CloseWatcherManager.h: Added. * Source/WebCore/page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): * Source/WebCore/page/LocalDOMWindow.cpp: (WebCore::LocalDOMWindow::notifyActivated): (WebCore::LocalDOMWindow::closeWatcherManager): * Source/WebCore/page/LocalDOMWindow.h: Canonical link: https://commits.webkit.org/289529@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes