LibWeb: Fill-in some fixmes around sandboxing flag sets

...Including a couple of steps in
obtain_a_browsing_context_to_use_for_a_navigation_response() which
didn't have FIXMEs.

No apparent changes on WPT.
This commit is contained in:
Sam Atkins 2024-11-25 17:06:54 +00:00 committed by Andreas Kling
commit 310cdc35f0
Notes: github-actions[bot] 2024-11-26 10:00:42 +00:00
5 changed files with 28 additions and 6 deletions

View file

@ -476,13 +476,16 @@ Navigable::ChosenNavigable Navigable::choose_a_navigable(StringView name, Tokeni
// 1. Set chosen to the result of creating a new top-level traversable given currentNavigable's active browsing context and targetName.
chosen = create_new_traversable->function()(active_browsing_context());
// FIXME: 2. If sandboxingFlagSet's sandboxed navigation browsing context flag is set,
// 2. If sandboxingFlagSet's sandboxed navigation browsing context flag is set,
// then set chosen's active browsing context's one permitted sandboxed navigator to currentNavigable's active browsing context.
if (has_flag(sandboxing_flag_set, SandboxingFlagSet::SandboxedNavigation))
chosen->active_browsing_context()->set_the_one_permitted_sandboxed_navigator(active_browsing_context());
}
// FIXME: 10. If sandboxingFlagSet's sandbox propagates to auxiliary browsing contexts flag is set,
// then all the flags that are set in sandboxingFlagSet must be set in chosen's active browsing context's popup sandboxing flag set.
// Our BrowsingContexts do not have SandboxingFlagSets yet, only documents do
// 10. If sandboxingFlagSet's sandbox propagates to auxiliary browsing contexts flag is set,
// then all the flags that are set in sandboxingFlagSet must be set in chosen's active browsing context's popup sandboxing flag set.
if (has_flag(sandboxing_flag_set, SandboxingFlagSet::SandboxPropagatesToAuxiliaryBrowsingContexts))
chosen->active_browsing_context()->set_popup_sandboxing_flag_set(chosen->active_browsing_context()->popup_sandboxing_flag_set() | sandboxing_flag_set);
}
// --> If the user agent has been configured such that in this instance t will reuse current