Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 000b0b9319cb19a386bd1a7cbe0c445b8e390aa9 https://github.com/WebKit/WebKit/commit/000b0b9319cb19a386bd1a7cbe0c445b8e390aa9 Author: Patrick Griffis <pgrif...@igalia.com> Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/navigation-api/focus-reset/autofocus-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/focus-reset/basic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/focus-reset/focus-reset-timing-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/focus-reset/multiple-intercept-expected.txt M Source/WebCore/dom/Document.cpp M Source/WebCore/page/NavigateEvent.cpp M Source/WebCore/page/NavigateEvent.h M Source/WebCore/page/Navigation.cpp M Source/WebCore/page/Navigation.h Log Message: ----------- [Navigation] Initial implementation of focusReset https://bugs.webkit.org/show_bug.cgi?id=282250 Reviewed by Alex Christensen. This implements the focusReset property of NavigateEvent.intercept(). The test coverage here is misleading due to https://bugs.webkit.org/show_bug.cgi?id=282137 If a workaround for that bug is applied the results are: multiple-intercept: PASS (not provided) + after-transition PASS (not provided) + manual PASS after-transition + manual PASS after-transition + (not provided) PASS manual + after-transition PASS manual + (not provided) basic: PASS Invalid values for focusReset throw PASS Does not reset the focus when no navigate handler is present PASS Resets the focus when no focusReset option is provided PASS Resets the focus when focusReset is explicitly set to undefined PASS Resets the focus when no focusReset option is provided (nontrivial fulfilled promise) PASS Resets the focus when no focusReset option is provided (rejected promise) PASS Resets the focus when focusReset is explicitly set to 'after-transition' PASS Does not reset the focus when focusReset is set to 'manual' autofocus: PASS An element with autofocus, present before navigation, gets focused PASS Two elements with autofocus, present before navigation; the first gets focused PASS An element with autofocus, present before navigation but disabled before finished, does not get focused PASS An element with autofocus, present before navigation but with its autofocus attribute removed before finished, does not get focused FAIL Two elements with autofocus, present before navigation, but the first gets disabled; the second gets focused PASS An element with autofocus, introduced between committed and finished, gets focused PASS An element with autofocus, introduced after finished, does not get focused * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/focus-reset/autofocus-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/focus-reset/basic-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/focus-reset/focus-reset-timing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/focus-reset/multiple-intercept-expected.txt: * Source/WebCore/dom/Document.cpp: (WebCore::Document::adjustFocusedNodeOnNodeRemoval): (WebCore::Document::setFocusedElement): * Source/WebCore/page/NavigateEvent.cpp: (WebCore::NavigateEvent::finish): * Source/WebCore/page/NavigateEvent.h: * Source/WebCore/page/Navigation.cpp: (WebCore::Navigation::abortOngoingNavigation): (WebCore::Navigation::innerDispatchNavigateEvent): * Source/WebCore/page/Navigation.h: Canonical link: https://commits.webkit.org/285882@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