mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:47:44 +00:00
LibWeb: Align NavigationParams and the creation AOs to the spec
And remove assorted spec FIXMEs along the way. Also align populate_session_history_entry_document to the spec, with a bonus spec bug to be filed. This involves creating a new NonFetchSchemeNavigationParams spec, and having the associated AOs take a Variant rather than Optional to accomodate the fact that this extra struct could be returned by the algorithm. We don't actually *do* anything with these params, but the scaffolding is there now, with less TODOs.
This commit is contained in:
parent
f296382e1a
commit
dc0f7c4c54
9 changed files with 400 additions and 125 deletions
|
@ -325,7 +325,8 @@ void TraversableNavigable::apply_the_history_step(int step, Optional<SourceSnaps
|
|||
if (!target_entry->document_state->document() || target_entry->document_state->reload_pending()) {
|
||||
// FIXME: 1. Let navTimingType be "back_forward" if targetEntry's document is null; otherwise "reload".
|
||||
|
||||
// FIXME: 2. Let targetSnapshotParams be the result of snapshotting target snapshot params given navigable.
|
||||
// 2. Let targetSnapshotParams be the result of snapshotting target snapshot params given navigable.
|
||||
auto target_snapshot_params = navigable->snapshot_target_snapshot_params();
|
||||
|
||||
// 3. Let potentiallyTargetSpecificSourceSnapshotParams be sourceSnapshotParams.
|
||||
Optional<SourceSnapshotParams> potentially_target_specific_source_snapshot_params = source_snapshot_params;
|
||||
|
@ -344,7 +345,7 @@ void TraversableNavigable::apply_the_history_step(int step, Optional<SourceSnaps
|
|||
// 7. In parallel, attempt to populate the history entry's document for targetEntry, given navigable, potentiallyTargetSpecificSourceSnapshotParams,
|
||||
// targetSnapshotParams, with allowPOST set to allowPOST and completionSteps set to queue a global task on the navigation and traversal task source given
|
||||
// navigable's active window to run afterDocumentPopulated.
|
||||
navigable->populate_session_history_entry_document(target_entry, {}, {}, *potentially_target_specific_source_snapshot_params, allow_POST, [this, after_document_populated]() mutable {
|
||||
navigable->populate_session_history_entry_document(target_entry, *potentially_target_specific_source_snapshot_params, target_snapshot_params, {}, Empty {}, CSPNavigationType::Other, allow_POST, [this, after_document_populated]() mutable {
|
||||
queue_global_task(Task::Source::NavigationAndTraversal, *active_window(), [after_document_populated]() mutable {
|
||||
after_document_populated();
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue