[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