Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b903f425a02b341d81be1131835fd495ae5e100c
https://github.com/WebKit/WebKit/commit/b903f425a02b341d81be1131835fd495ae5e100c
Author: Charlie Wolfe <[email protected]>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M
LayoutTests/fast/forms/form-and-frame-interaction-retains-values-expected.txt
M LayoutTests/fast/frames/iframe-reparenting-unique-name-expected.txt
M LayoutTests/fast/frames/reparent-in-unload-contentdocument-expected.txt
M
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt
M LayoutTests/http/tests/site-isolation/notify-done-expected.txt
M LayoutTests/platform/mac-site-isolation/TestExpectations
M Source/WebCore/page/FrameTree.cpp
M Source/WebCore/page/FrameTree.h
M Source/WebCore/page/LocalFrame.cpp
Log Message:
-----------
Change `FrameTree::uniqueName()` to generate a unique name when called
https://bugs.webkit.org/show_bug.cgi?id=272062
rdar://125808920
Reviewed by Alex Christensen.
Unique frame names currently use a counter to increment a unique frame index
each time
`FrameTree::setSpecifiedName` is called. This will not work with site
isolation. Instead, we should
change `FrameTree::uniqueName()` to create the unique frame name based on the
frame’s position in the
frame tree to mimic previous behavior . Other than layout test output, there
are two users of unique
frame names. `HistoryItem` relies on them for session state and to give a
consistent identifier for
frame positions after a navigation. Web archives output them in their saved
state. Both should continue
to work after this change.
Some tests that output unique frame names needed to be rebased to accommodate
this change.
* LayoutTests/fast/forms/form-and-frame-interaction-retains-values-expected.txt:
* LayoutTests/fast/frames/iframe-reparenting-unique-name-expected.txt:
* LayoutTests/fast/frames/reparent-in-unload-contentdocument-expected.txt:
*
LayoutTests/http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
* LayoutTests/http/tests/site-isolation/notify-done-expected.txt:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/page/FrameTree.cpp:
(WebCore::FrameTree::setSpecifiedName):
(WebCore::FrameTree::clearName):
(WebCore::FrameTree::childBySpecifiedName const):
(WebCore::FrameTree::find const):
(WebCore::FrameTree::findByUniqueName const):
(WebCore::FrameTree::uniqueName const):
(WebCore::FrameTree::uniqueChildName const): Deleted.
(WebCore::FrameTree::generateUniqueName const): Deleted.
* Source/WebCore/page/FrameTree.h:
(WebCore::FrameTree::uniqueName const): Deleted.
(WebCore::FrameTree::resetFrameIdentifiers): Deleted.
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::setDocument):
Canonical link: https://commits.webkit.org/277393@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes