1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 13:17:36 +00:00

LibWeb: Convert Navigable::navigate's csp_navigation_type to an enum

Some versions of clang will have an issue using a consteval function to
set the optional parameter's default value. For example, see:
https://stackoverflow.com/questions/68789984/immediate-function-as-default-function-argument-initializer-in-clang

This doesn't need to be a String anyways, so let's make it an enum.
This commit is contained in:
Timothy Flynn 2023-05-07 12:47:38 -04:00 committed by Andrew Kaster
parent f7c27556fa
commit 872e18f660
2 changed files with 9 additions and 4 deletions

View file

@ -692,7 +692,7 @@ WebIDL::ExceptionOr<void> Navigable::navigate(
JS::GCPtr<Fetch::Infrastructure::Response> response, JS::GCPtr<Fetch::Infrastructure::Response> response,
bool exceptions_enabled, bool exceptions_enabled,
HistoryHandlingBehavior history_handling, HistoryHandlingBehavior history_handling,
String csp_navigation_type, CSPNavigationType csp_navigation_type,
ReferrerPolicy::ReferrerPolicy referrer_policy) ReferrerPolicy::ReferrerPolicy referrer_policy)
{ {
// 1. Let sourceSnapshotParams be the result of snapshotting source snapshot params given sourceDocument. // 1. Let sourceSnapshotParams be the result of snapshotting source snapshot params given sourceDocument.
@ -904,7 +904,7 @@ WebIDL::ExceptionOr<void> Navigable::navigate_to_a_fragment(AK::URL const&, Hist
TODO(); TODO();
} }
WebIDL::ExceptionOr<void> Navigable::navigate_to_a_javascript_url(AK::URL const&, HistoryHandlingBehavior, Origin const& initiator_origin, String csp_navigation_type) WebIDL::ExceptionOr<void> Navigable::navigate_to_a_javascript_url(AK::URL const&, HistoryHandlingBehavior, Origin const& initiator_origin, CSPNavigationType csp_navigation_type)
{ {
(void)initiator_origin; (void)initiator_origin;
(void)csp_navigation_type; (void)csp_navigation_type;

View file

@ -15,6 +15,11 @@
namespace Web::HTML { namespace Web::HTML {
enum class CSPNavigationType {
Other,
FormSubmission,
};
// https://html.spec.whatwg.org/multipage/document-sequences.html#navigable // https://html.spec.whatwg.org/multipage/document-sequences.html#navigable
class Navigable : public JS::Cell { class Navigable : public JS::Cell {
JS_CELL(Navigable, JS::Cell); JS_CELL(Navigable, JS::Cell);
@ -70,12 +75,12 @@ public:
JS::GCPtr<Fetch::Infrastructure::Response> = nullptr, JS::GCPtr<Fetch::Infrastructure::Response> = nullptr,
bool exceptions_enabled = false, bool exceptions_enabled = false,
HistoryHandlingBehavior = HistoryHandlingBehavior::Push, HistoryHandlingBehavior = HistoryHandlingBehavior::Push,
String csp_navigation_type = String::from_utf8_short_string("other"sv), CSPNavigationType csp_navigation_type = CSPNavigationType::Other,
ReferrerPolicy::ReferrerPolicy = ReferrerPolicy::ReferrerPolicy::EmptyString); ReferrerPolicy::ReferrerPolicy = ReferrerPolicy::ReferrerPolicy::EmptyString);
WebIDL::ExceptionOr<void> navigate_to_a_fragment(AK::URL const&, HistoryHandlingBehavior, String navigation_id); WebIDL::ExceptionOr<void> navigate_to_a_fragment(AK::URL const&, HistoryHandlingBehavior, String navigation_id);
WebIDL::ExceptionOr<void> navigate_to_a_javascript_url(AK::URL const&, HistoryHandlingBehavior, Origin const& initiator_origin, String csp_navigation_type); WebIDL::ExceptionOr<void> navigate_to_a_javascript_url(AK::URL const&, HistoryHandlingBehavior, Origin const& initiator_origin, CSPNavigationType csp_navigation_type);
protected: protected:
Navigable(); Navigable();