LibWeb: Make Environment's top level origin nullable
Some checks are pending
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run

This matches the definition in the spec, and is also a step towards
removing the default constructor of URL::Origin.
This commit is contained in:
Shannon Booth 2025-05-25 16:47:37 +12:00 committed by Shannon Booth
parent 556acd82ee
commit 937994cfaa
Notes: github-actions[bot] 2025-05-27 02:49:41 +00:00
11 changed files with 20 additions and 16 deletions

View file

@ -15,8 +15,9 @@ NetworkPartitionKey determine_the_network_partition_key(HTML::Environment const&
// 1. Let topLevelOrigin be environments top-level origin.
auto top_level_origin = environment.top_level_origin;
// FIXME: 2. If topLevelOrigin is null, then set topLevelOrigin to environments top-level creation URLs origin
// This field is supposed to be nullable
// 2. If topLevelOrigin is null, then set topLevelOrigin to environments top-level creation URLs origin
if (!top_level_origin.has_value())
top_level_origin = environment.top_level_creation_url->origin();
// 3. Assert: topLevelOrigin is an origin.
@ -26,7 +27,7 @@ NetworkPartitionKey determine_the_network_partition_key(HTML::Environment const&
void* second_key = nullptr;
// 6. Return (topLevelSite, secondKey).
return { top_level_origin, second_key };
return { top_level_origin.release_value(), second_key };
}
// https://fetch.spec.whatwg.org/#request-determine-the-network-partition-key