NavigateEvent.idl 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #import <DOM/AbortSignal.idl>
  2. #import <DOM/Event.idl>
  3. #import <HTML/NavigationDestination.idl>
  4. #import <HTML/NavigationType.idl>
  5. #import <XHR/FormData.idl>
  6. // https://html.spec.whatwg.org/multipage/nav-history-apis.html#the-navigateevent-interface
  7. [Exposed=Window]
  8. interface NavigateEvent : Event {
  9. constructor(DOMString type, NavigateEventInit eventInitDict);
  10. readonly attribute NavigationType navigationType;
  11. readonly attribute NavigationDestination destination;
  12. readonly attribute boolean canIntercept;
  13. readonly attribute boolean userInitiated;
  14. readonly attribute boolean hashChange;
  15. readonly attribute AbortSignal signal;
  16. readonly attribute FormData? formData;
  17. readonly attribute DOMString? downloadRequest;
  18. readonly attribute any info;
  19. readonly attribute boolean hasUAVisualTransition;
  20. undefined intercept(optional NavigationInterceptOptions options = {});
  21. undefined scroll();
  22. };
  23. dictionary NavigateEventInit : EventInit {
  24. NavigationType navigationType = "push";
  25. required NavigationDestination destination;
  26. boolean canIntercept = false;
  27. boolean userInitiated = false;
  28. boolean hashChange = false;
  29. required AbortSignal signal;
  30. FormData? formData = null;
  31. DOMString? downloadRequest = null;
  32. any info;
  33. boolean hasUAVisualTransition = false;
  34. };
  35. dictionary NavigationInterceptOptions {
  36. NavigationInterceptHandler handler;
  37. NavigationFocusReset focusReset;
  38. NavigationScrollBehavior scroll;
  39. };
  40. enum NavigationFocusReset {
  41. "after-transition",
  42. "manual"
  43. };
  44. enum NavigationScrollBehavior {
  45. "after-transition",
  46. "manual"
  47. };
  48. callback NavigationInterceptHandler = Promise<undefined> ();