[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