-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace unique frame names with frame identifiers in the history controller #28385
Merged
webkit-commit-queue
merged 1 commit into
WebKit:main
from
charliewolfe:eng/Replace-unique-frame-names-with-frame-identifiers-in-the-history-controller
May 10, 2024
Merged
+92
β16
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
charliewolfe
added
the
History
For bugs involving global and per-WebView history, including back/forward list.
label
May 10, 2024
EWS run on previous version of this PR (hash 4a782f6) |
charliewolfe
force-pushed
the
eng/Replace-unique-frame-names-with-frame-identifiers-in-the-history-controller
branch
from
May 10, 2024 10:13
4a782f6
to
4260d1c
Compare
EWS run on previous version of this PR (hash 4260d1c) |
achristensen07
approved these changes
May 10, 2024
charliewolfe
force-pushed
the
eng/Replace-unique-frame-names-with-frame-identifiers-in-the-history-controller
branch
from
May 10, 2024 20:53
4260d1c
to
7259570
Compare
EWS run on current version of this PR (hash 7259570) |
charliewolfe
added
the
unsafe-merge-queue
Applied to send a pull request to merge-queue, but skip building and testing
label
May 10, 2024
β¦roller https://bugs.webkit.org/show_bug.cgi?id=273995 rdar://127870100 Reviewed by Alex Christensen. With site isolation, unique frame names should not be used to identify frames. This patch replaces most of their usage in the history controller with frame identifiers. We cannot remove unique frame names from `HistoryItem` because logic in `FrameLoader::loadURLIntoChildFrame` requires us to match current frames with frames from a previous page. Unique frame names are also still used from session state and history test output. This also fixes a bug introduced by 277393@main, where shifting frames after a navigation could cause the back/forward list to target an incorrect frame. * Source/WebCore/history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::reset): (WebCore::HistoryItem::addChildItem): (WebCore::HistoryItem::childItemWithFrameID): * Source/WebCore/history/HistoryItem.h: (WebCore::HistoryItem::frameID const): (WebCore::HistoryItem::setFrameID): * Source/WebCore/loader/HistoryController.cpp: (WebCore::HistoryController::initializeItem): (WebCore::HistoryController::recursiveSetProvisionalItem): (WebCore::HistoryController::recursiveGoToItem): * Source/WebCore/page/FrameTree.cpp: (WebCore::FrameTree::childByFrameID const): (WebCore::FrameTree::childByUniqueName const): Deleted. * Source/WebCore/page/FrameTree.h: * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::formControlStateOfPreviousHistoryItem): (WebCore::Internals::setFormControlStateOfPreviousHistoryItem): * Source/WebKit/Shared/SessionState.h: * Source/WebKit/Shared/SessionState.serialization.in: * Source/WebKit/WebProcess/WebCoreSupport/SessionStateConversion.cpp: (WebKit::toFrameState): (WebKit::applyFrameState): * Tools/TestWebKitAPI/Tests/WebKit/WKBackForwardListTests.mm: (TEST(WKBackForwardList, BackForwardListRemoveAndAddSubframes)): Canonical link: https://commits.webkit.org/278629@main
webkit-commit-queue
force-pushed
the
eng/Replace-unique-frame-names-with-frame-identifiers-in-the-history-controller
branch
from
May 10, 2024 21:22
7259570
to
686240c
Compare
Committed 278629@main (686240c): https://commits.webkit.org/278629@main Reviewed commits have been landed. Closing PR #28385 and removing active labels. |
webkit-commit-queue
removed
the
unsafe-merge-queue
Applied to send a pull request to merge-queue, but skip building and testing
label
May 10, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
686240c
7259570
π§ͺ wpe-wk2π§ͺ api-wpeπ§ͺ ios-wk2-wptπ§ͺ api-iosπ§ͺ gtk-wk2π tv-simπ§ͺ api-gtkπ watch-sim