[webkit-changes] [WebKit/WebKit] f183cb: [Navigation] navigation-history-entry/entries-afte...

Chris Dumez noreply at github.com
Mon Dec 9 08:24:26 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f183cbdda7131eaf27997de4a3e4e0905cc2203b
      https://github.com/WebKit/WebKit/commit/f183cbdda7131eaf27997de4a3e4e0905cc2203b
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2024-12-09 (Mon, 09 Dec 2024)

  Changed paths:
    M LayoutTests/contentfiltering/block-after-add-data-expected.txt
    M LayoutTests/contentfiltering/block-after-add-data-then-allow-unblock-expected.txt
    M LayoutTests/contentfiltering/block-after-add-data-then-deny-unblock-expected.txt
    M LayoutTests/contentfiltering/block-after-finished-adding-data-expected.txt
    M LayoutTests/contentfiltering/block-after-finished-adding-data-then-allow-unblock-expected.txt
    M LayoutTests/contentfiltering/block-after-finished-adding-data-then-deny-unblock-expected.txt
    M LayoutTests/contentfiltering/block-after-response-expected.txt
    M LayoutTests/contentfiltering/block-after-response-then-allow-unblock-expected.txt
    M LayoutTests/contentfiltering/block-after-response-then-deny-unblock-expected.txt
    M LayoutTests/contentfiltering/block-after-will-send-request-expected.txt
    M LayoutTests/contentfiltering/block-after-will-send-request-then-allow-unblock-expected.txt
    M LayoutTests/contentfiltering/block-after-will-send-request-then-deny-unblock-expected.txt
    M LayoutTests/http/tests/navigation/javascriptlink-subframeload-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/srcdoc/consecutive-srcdoc-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/srcdoc/srcdoc-history-entries-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-blob-navigation-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-blob-navigation.html
    M LayoutTests/platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt
    M LayoutTests/platform/mac-ventura/http/tests/navigation/javascriptlink-frames-expected.txt
    A LayoutTests/platform/mac-wk1/contentfiltering/block-after-will-send-request-expected.txt
    A LayoutTests/platform/mac-wk1/contentfiltering/block-after-will-send-request-then-allow-unblock-expected.txt
    A LayoutTests/platform/mac-wk1/contentfiltering/block-after-will-send-request-then-deny-unblock-expected.txt
    M LayoutTests/platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt
    M LayoutTests/platform/wpe/http/tests/navigation/javascriptlink-frames-expected.txt
    M Source/WebCore/html/HTMLFrameElementBase.cpp
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/NavigationScheduler.cpp

  Log Message:
  -----------
  [Navigation] navigation-history-entry/entries-after-blob-navigation.html is failing
https://bugs.webkit.org/show_bug.cgi?id=282609
rdar://139725684

Reviewed by Rob Buis.

Resync entries-after-blob-navigation.html from upstream to get the fix so that the
blob's content type is provided. This allows the test to run though the test would
still fail. The test was navigating the iframe in the top frame's load event handler
and expecting a new HistoryItem to get created for the navigation. However, we had
non-standard logic in `NavigationScheduler::mustLockBackForwardList()` that would
lock the back/forward list if any of the iframe's ancestors is still loading. Since
this behavior doesn't match the HTML specification [1][2] or Blink, remove the logic
in mustLockBackForwardList().

The change above caused a different code path to get taken for
navigation-api/navigation-history-entry/entries-after-srcdoc-navigation.html, which
caused it to fail because it would fail to create a new HistoryItem for the srcdoc
navigation. After some investigation, I found that both the back/forward list and the
history list were unlocked. However. we would prevent the creation of a HistoryItem
for a srcdoc navigation because the substitute data created for the navigation had the
`SubstituteData::SessionHistoryVisibility::Hidden` parameter. As per the tests, we
expect srcdoc navigations to be visible in the History list so I am setting this
parameter to "Visible" instead. This got the test passing.

[1] https://html.spec.whatwg.org/#navigate-an-iframe-or-frame (step 2)
[2] https://html.spec.whatwg.org/#completely-finish-loading

* LayoutTests/contentfiltering/block-after-add-data-expected.txt:
* LayoutTests/contentfiltering/block-after-add-data-then-allow-unblock-expected.txt:
* LayoutTests/contentfiltering/block-after-add-data-then-deny-unblock-expected.txt:
* LayoutTests/contentfiltering/block-after-finished-adding-data-expected.txt:
* LayoutTests/contentfiltering/block-after-finished-adding-data-then-allow-unblock-expected.txt:
* LayoutTests/contentfiltering/block-after-finished-adding-data-then-deny-unblock-expected.txt:
* LayoutTests/contentfiltering/block-after-response-expected.txt:
* LayoutTests/contentfiltering/block-after-response-then-allow-unblock-expected.txt:
* LayoutTests/contentfiltering/block-after-response-then-deny-unblock-expected.txt:
* LayoutTests/contentfiltering/block-after-will-send-request-expected.txt:
* LayoutTests/contentfiltering/block-after-will-send-request-then-allow-unblock-expected.txt:
* LayoutTests/contentfiltering/block-after-will-send-request-then-deny-unblock-expected.txt:
* LayoutTests/http/tests/navigation/javascriptlink-subframeload-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/srcdoc/consecutive-srcdoc-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/srcdoc/srcdoc-history-entries-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-blob-navigation-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-blob-navigation.html:
* LayoutTests/platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
* LayoutTests/platform/mac-ventura/http/tests/navigation/javascriptlink-frames-expected.txt:
* LayoutTests/platform/mac-wk1/contentfiltering/block-after-will-send-request-expected.txt: Copied from LayoutTests/contentfiltering/block-after-will-send-request-expected.txt.
* LayoutTests/platform/mac-wk1/contentfiltering/block-after-will-send-request-then-allow-unblock-expected.txt: Copied from LayoutTests/contentfiltering/block-after-will-send-request-then-allow-unblock-expected.txt.
* LayoutTests/platform/mac-wk1/contentfiltering/block-after-will-send-request-then-deny-unblock-expected.txt: Copied from LayoutTests/contentfiltering/block-after-will-send-request-then-deny-unblock-expected.txt.
* LayoutTests/platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
* LayoutTests/platform/wpe/http/tests/navigation/javascriptlink-frames-expected.txt:
* Source/WebCore/html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::attributeChanged):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::defaultSubstituteDataForURL):
* Source/WebCore/loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::mustLockBackForwardList):

Canonical link: https://commits.webkit.org/287549@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list