[webkit-changes] [WebKit/WebKit] b872b7: User command-clicks on fragment URLS should not na...
megangardner
noreply at github.com
Thu Jan 11 01:07:05 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b872b71975a2c60bb1496dbddf05dcaf987dc525
https://github.com/WebKit/WebKit/commit/b872b71975a2c60bb1496dbddf05dcaf987dc525
Author: Megan Gardner <megan_gardner at apple.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
A LayoutTests/fast/dom/no-scroll-when-command-click-fragment-URL-expected.txt
A LayoutTests/fast/dom/no-scroll-when-command-click-fragment-URL.html
A LayoutTests/http/tests/navigation/fragment-navigation-policy-ignore-expected.txt
A LayoutTests/http/tests/navigation/fragment-navigation-policy-ignore.html
M LayoutTests/platform/gtk/TestExpectations
M LayoutTests/platform/mac-wk1/TestExpectations
A LayoutTests/platform/mac-wk1/http/tests/navigation/fragment-navigation-policy-ignore-expected.txt
M LayoutTests/platform/wpe/TestExpectations
M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
Log Message:
-----------
User command-clicks on fragment URLS should not navigate on current page.
https://bugs.webkit.org/show_bug.cgi?id=267168
rdar://119079650
Reviewed by Wenson Hsieh and Alex Christensen.
In https://commits.webkit.org/270416@main a change was made for performance
to asynchronously DecidePolicyForNavigationAction for fragment loading. While this is
a good speedup, it breaks the long-standing user interaction of command-clicking on
a fragment link to load that link in a background tab, while staying at the current
scroll location on the current page. This is a client behavior, and with this change, the
client no longer had control to keep the navigation to the fragment from happening.
We do not want to lose this speedup, so only revert to the previously synchronous behavior
when the fragment URL is being loaded from a user gesture.
* LayoutTests/fast/dom/no-scroll-when-command-click-fragment-URL-expected.txt: Added.
* LayoutTests/fast/dom/no-scroll-when-command-click-fragment-URL.html: Added.
* Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
Canonical link: https://commits.webkit.org/272906@main
More information about the webkit-changes
mailing list