mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2026-04-19 10:20:22 +00:00
LibWeb/HTML: Track secure context as part of Serialized{Document,Worker}
This is somewhat awkward as the spec refers to 'is secure context' with respect to these objects 'relevant settings object'. A natural way of implementing this could be storing a pointer to the relevant settings object like the JS representations of these objects do (and then changing is_secure_context to accept this representation too), but for now it seems much simpler to just store a boolean for this purpose and sidestep both problems above.
This commit is contained in:
parent
cb6a4683ce
commit
025ddd385b
Notes:
github-actions[bot]
2026-02-26 06:24:21 +00:00
Author: https://github.com/shannonbooth
Commit: 025ddd385b
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/8144
Reviewed-by: https://github.com/tcl3 ✅
3 changed files with 22 additions and 7 deletions
|
|
@ -15,6 +15,7 @@ template<>
|
|||
ErrorOr<void> encode(Encoder& encoder, Web::HTML::SerializedWindow const& window)
|
||||
{
|
||||
TRY(encoder.encode(window.associated_document.url));
|
||||
TRY(encoder.encode(window.associated_document.relevant_settings_object_is_secure_context));
|
||||
|
||||
return {};
|
||||
}
|
||||
|
|
@ -25,20 +26,24 @@ ErrorOr<Web::HTML::SerializedWindow> decode(Decoder& decoder)
|
|||
return Web::HTML::SerializedWindow {
|
||||
.associated_document {
|
||||
.url = TRY(decoder.decode<URL::URL>()),
|
||||
.relevant_settings_object_is_secure_context = TRY(decoder.decode<bool>()),
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder&, Web::HTML::SerializedWorkerGlobalScope const&)
|
||||
ErrorOr<void> encode(Encoder& encoder, Web::HTML::SerializedWorkerGlobalScope const& worker_global_scope)
|
||||
{
|
||||
TRY(encoder.encode(worker_global_scope.relevant_settings_object_is_secure_context));
|
||||
return {};
|
||||
}
|
||||
|
||||
template<>
|
||||
ErrorOr<Web::HTML::SerializedWorkerGlobalScope> decode(Decoder&)
|
||||
ErrorOr<Web::HTML::SerializedWorkerGlobalScope> decode(Decoder& decoder)
|
||||
{
|
||||
return Web::HTML::SerializedWorkerGlobalScope {};
|
||||
return Web::HTML::SerializedWorkerGlobalScope {
|
||||
.relevant_settings_object_is_secure_context = TRY(decoder.decode<bool>()),
|
||||
};
|
||||
}
|
||||
|
||||
template<>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue