mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 09:45:06 +02: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:
committed by
Shannon Booth
parent
cb6a4683ce
commit
025ddd385b
Notes:
github-actions[bot]
2026-02-26 06:24:21 +00:00
Author: https://github.com/shannonbooth Commit: https://github.com/LadybirdBrowser/ladybird/commit/025ddd385b7 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/8144 Reviewed-by: https://github.com/tcl3 ✅
@@ -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<>
|
||||
|
||||
Reference in New Issue
Block a user