Navigation.idl 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #import <DOM/EventHandler.idl>
  2. #import <DOM/EventTarget.idl>
  3. #import <HTML/NavigationHistoryEntry.idl>
  4. #import <HTML/NavigationTransition.idl>
  5. // https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigation-interface
  6. [Exposed=Window]
  7. interface Navigation : EventTarget {
  8. sequence<NavigationHistoryEntry> entries();
  9. readonly attribute NavigationHistoryEntry? currentEntry;
  10. undefined updateCurrentEntry(NavigationUpdateCurrentEntryOptions options);
  11. readonly attribute NavigationTransition? transition;
  12. readonly attribute boolean canGoBack;
  13. readonly attribute boolean canGoForward;
  14. NavigationResult navigate(USVString url, optional NavigationNavigateOptions options = {});
  15. NavigationResult reload(optional NavigationReloadOptions options = {});
  16. NavigationResult traverseTo(DOMString key, optional NavigationOptions options = {});
  17. NavigationResult back(optional NavigationOptions options = {});
  18. NavigationResult forward(optional NavigationOptions options = {});
  19. attribute EventHandler onnavigate;
  20. attribute EventHandler onnavigatesuccess;
  21. attribute EventHandler onnavigateerror;
  22. attribute EventHandler oncurrententrychange;
  23. };
  24. dictionary NavigationUpdateCurrentEntryOptions {
  25. required any state;
  26. };
  27. dictionary NavigationOptions {
  28. any info;
  29. };
  30. dictionary NavigationNavigateOptions : NavigationOptions {
  31. any state;
  32. NavigationHistoryBehavior history = "auto";
  33. };
  34. dictionary NavigationReloadOptions : NavigationOptions {
  35. any state;
  36. };
  37. dictionary NavigationResult {
  38. Promise<NavigationHistoryEntry> committed;
  39. Promise<NavigationHistoryEntry> finished;
  40. };
  41. enum NavigationHistoryBehavior {
  42. "auto",
  43. "push",
  44. "replace"
  45. };