mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:07:35 +00:00
LibWeb: Flesh out apply the history step to setup the navigation API
We now populate the navigation history entries in the navigation API and fire more navigation events as appropriate.
This commit is contained in:
parent
a8091c009b
commit
6c1944ee61
11 changed files with 339 additions and 78 deletions
|
@ -139,11 +139,13 @@ public:
|
|||
|
||||
WebIDL::ExceptionOr<void> navigate(NavigateParams);
|
||||
|
||||
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, UserNavigationInvolvement, Optional<SerializationRecord> navigation_api_state, String navigation_id);
|
||||
|
||||
WebIDL::ExceptionOr<JS::GCPtr<DOM::Document>> evaluate_javascript_url(AK::URL const&, Origin const& new_document_origin, String navigation_id);
|
||||
WebIDL::ExceptionOr<void> navigate_to_a_javascript_url(AK::URL const&, HistoryHandlingBehavior, Origin const& initiator_origin, CSPNavigationType csp_navigation_type, String navigation_id);
|
||||
|
||||
bool allowed_by_sandboxing_to_navigate(Navigable const& target, SourceSnapshotParams const&);
|
||||
|
||||
void reload();
|
||||
|
||||
// https://github.com/whatwg/html/issues/9690
|
||||
|
@ -189,8 +191,6 @@ protected:
|
|||
TokenizedFeature::Popup m_is_popup { TokenizedFeature::Popup::No };
|
||||
|
||||
private:
|
||||
bool allowed_by_sandboxing_to_navigate(Navigable const& target, SourceSnapshotParams const&);
|
||||
|
||||
void scroll_offset_did_change();
|
||||
|
||||
void inform_the_navigation_api_about_aborting_navigation();
|
||||
|
@ -226,6 +226,6 @@ HashTable<Navigable*>& all_navigables();
|
|||
|
||||
bool navigation_must_be_a_replace(AK::URL const& url, DOM::Document const& document);
|
||||
void finalize_a_cross_document_navigation(JS::NonnullGCPtr<Navigable>, HistoryHandlingBehavior, JS::NonnullGCPtr<SessionHistoryEntry>);
|
||||
void perform_url_and_history_update_steps(DOM::Document& document, AK::URL new_url, HistoryHandlingBehavior history_handling = HistoryHandlingBehavior::Reload);
|
||||
void perform_url_and_history_update_steps(DOM::Document& document, AK::URL new_url, Optional<SerializationRecord> = {}, HistoryHandlingBehavior history_handling = HistoryHandlingBehavior::Reload);
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue