diff --git a/Userland/Libraries/LibWeb/HTML/Navigation.cpp b/Userland/Libraries/LibWeb/HTML/Navigation.cpp index 4c07411e99..260bc2ed0e 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigation.cpp +++ b/Userland/Libraries/LibWeb/HTML/Navigation.cpp @@ -181,15 +181,19 @@ bool Navigation::can_go_forward() const return (m_current_entry_index != static_cast(m_entry_list.size())); } -static HistoryHandlingBehavior to_history_handling_behavior(Bindings::NavigationHistoryBehavior b) +HistoryHandlingBehavior to_history_handling_behavior(Bindings::NavigationHistoryBehavior b) { + // A history handling behavior is a NavigationHistoryBehavior that is either "push" or "replace", + // i.e., that has been resolved away from any initial "auto" value. + VERIFY(b != Bindings::NavigationHistoryBehavior::Auto); + switch (b) { - case Bindings::NavigationHistoryBehavior::Auto: - return HistoryHandlingBehavior::Default; case Bindings::NavigationHistoryBehavior::Push: return HistoryHandlingBehavior::Push; case Bindings::NavigationHistoryBehavior::Replace: return HistoryHandlingBehavior::Replace; + case Bindings::NavigationHistoryBehavior::Auto: + VERIFY_NOT_REACHED(); }; VERIFY_NOT_REACHED(); } diff --git a/Userland/Libraries/LibWeb/HTML/Navigation.h b/Userland/Libraries/LibWeb/HTML/Navigation.h index 57a90f49d0..eef25af99f 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigation.h +++ b/Userland/Libraries/LibWeb/HTML/Navigation.h @@ -9,6 +9,7 @@ #include #include #include +#include #include namespace Web::HTML { @@ -152,4 +153,6 @@ private: HashMap> m_upcoming_traverse_api_method_trackers; }; +HistoryHandlingBehavior to_history_handling_behavior(Bindings::NavigationHistoryBehavior); + }