mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 21:22:46 +00:00 
			
		
		
		
	 d1aea87889
			
		
	
	
		d1aea87889
		
	
	
	
	
		
			
			This event is the star of the show, and the main way that web content can react to either programmatic or user-initiated navigation. All of the fun algorithms will have to come later though.
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #import <DOM/AbortSignal.idl>
 | |
| #import <DOM/Event.idl>
 | |
| #import <HTML/NavigationDestination.idl>
 | |
| #import <HTML/NavigationType.idl>
 | |
| #import <XHR/FormData.idl>
 | |
| 
 | |
| // https://html.spec.whatwg.org/multipage/nav-history-apis.html#the-navigateevent-interface
 | |
| [Exposed=Window, UseNewAKString]
 | |
| interface NavigateEvent : Event {
 | |
|   constructor(DOMString type, NavigateEventInit eventInitDict);
 | |
| 
 | |
|   readonly attribute NavigationType navigationType;
 | |
|   readonly attribute NavigationDestination destination;
 | |
|   readonly attribute boolean canIntercept;
 | |
|   readonly attribute boolean userInitiated;
 | |
|   readonly attribute boolean hashChange;
 | |
|   readonly attribute AbortSignal signal;
 | |
|   readonly attribute FormData? formData;
 | |
|   readonly attribute DOMString? downloadRequest;
 | |
|   readonly attribute any info;
 | |
|   readonly attribute boolean hasUAVisualTransition;
 | |
| 
 | |
|   undefined intercept(optional NavigationInterceptOptions options = {});
 | |
|   undefined scroll();
 | |
| };
 | |
| 
 | |
| dictionary NavigateEventInit : EventInit {
 | |
|   NavigationType navigationType = "push";
 | |
|   required NavigationDestination destination;
 | |
|   boolean canIntercept = false;
 | |
|   boolean userInitiated = false;
 | |
|   boolean hashChange = false;
 | |
|   required AbortSignal signal;
 | |
|   FormData? formData = null;
 | |
|   DOMString? downloadRequest = null;
 | |
|   any info;
 | |
|   boolean hasUAVisualTransition = false;
 | |
| };
 | |
| 
 | |
| dictionary NavigationInterceptOptions {
 | |
|   NavigationInterceptHandler handler;
 | |
|   NavigationFocusReset focusReset;
 | |
|   NavigationScrollBehavior scroll;
 | |
| };
 | |
| 
 | |
| enum NavigationFocusReset {
 | |
|   "after-transition",
 | |
|   "manual"
 | |
| };
 | |
| 
 | |
| enum NavigationScrollBehavior {
 | |
|   "after-transition",
 | |
|   "manual"
 | |
| };
 | |
| 
 | |
| callback NavigationInterceptHandler = Promise<undefined> ();
 |