@@ -34,13 +34,6 @@ enum class CSPNavigationType {
34
34
FormSubmission,
35
35
};
36
36
37
- // https://html.spec.whatwg.org/multipage/browsing-the-web.html#user-navigation-involvement
38
- enum class UserNavigationInvolvement {
39
- BrowserUI,
40
- Activation,
41
- None,
42
- };
43
-
44
37
// https://html.spec.whatwg.org/multipage/browsing-the-web.html#target-snapshot-params
45
38
struct TargetSnapshotParams {
46
39
SandboxingFlagSet sandboxing_flags {};
@@ -133,6 +126,7 @@ class Navigable : public JS::Cell {
133
126
GC::Ptr<SessionHistoryEntry> entry,
134
127
SourceSnapshotParams const & source_snapshot_params,
135
128
TargetSnapshotParams const & target_snapshot_params,
129
+ UserNavigationInvolvement user_involvement,
136
130
Optional<String> navigation_id = {},
137
131
NavigationParamsVariant navigation_params = Navigable::NullOrError {},
138
132
CSPNavigationType csp_navigation_type = CSPNavigationType::Other,
@@ -156,12 +150,12 @@ class Navigable : public JS::Cell {
156
150
157
151
WebIDL::ExceptionOr<void > navigate_to_a_fragment (URL::URL const &, HistoryHandlingBehavior, UserNavigationInvolvement, Optional<SerializationRecord> navigation_api_state, String navigation_id);
158
152
159
- GC::Ptr<DOM::Document> evaluate_javascript_url (URL::URL const &, URL::Origin const & new_document_origin, String navigation_id);
160
- void navigate_to_a_javascript_url (URL::URL const &, HistoryHandlingBehavior, URL::Origin const & initiator_origin, CSPNavigationType csp_navigation_type, String navigation_id);
153
+ GC::Ptr<DOM::Document> evaluate_javascript_url (URL::URL const &, URL::Origin const & new_document_origin, UserNavigationInvolvement, String navigation_id);
154
+ void navigate_to_a_javascript_url (URL::URL const &, HistoryHandlingBehavior, URL::Origin const & initiator_origin, UserNavigationInvolvement, CSPNavigationType csp_navigation_type, String navigation_id);
161
155
162
156
bool allowed_by_sandboxing_to_navigate (Navigable const & target, SourceSnapshotParams const &);
163
157
164
- void reload ();
158
+ void reload (UserNavigationInvolvement = UserNavigationInvolvement::None );
165
159
166
160
// https://github.com/whatwg/html/issues/9690
167
161
[[nodiscard]] bool has_been_destroyed () const { return m_has_been_destroyed; }
@@ -245,7 +239,7 @@ class Navigable : public JS::Cell {
245
239
HashTable<Navigable*>& all_navigables ();
246
240
247
241
bool navigation_must_be_a_replace (URL::URL const & url, DOM::Document const & document);
248
- void finalize_a_cross_document_navigation (GC::Ref<Navigable>, HistoryHandlingBehavior, GC::Ref<SessionHistoryEntry>);
242
+ void finalize_a_cross_document_navigation (GC::Ref<Navigable>, HistoryHandlingBehavior, UserNavigationInvolvement, GC::Ref<SessionHistoryEntry>);
249
243
void perform_url_and_history_update_steps (DOM::Document& document, URL::URL new_url, Optional<SerializationRecord> = {}, HistoryHandlingBehavior history_handling = HistoryHandlingBehavior::Replace);
250
244
UserNavigationInvolvement user_navigation_involvement (DOM::Event const &);
251
245
0 commit comments