You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Are these steps not necessary as NavigationInterceptHandler is Promise<undefined> ()? Or do we need a "report the exception" step in 33.2 of the inner navigate firing algorithm?
The text was updated successfully, but these errors were encountered:
Are these steps not necessary as NavigationInterceptHandler is Promise<undefined> ()?
That is correct. It is impossible for invoking a promise-returning callback to throw, as any exceptions are converted into rejected promises. See https://webidl.spec.whatwg.org/#invoke-a-callback-function step 11-14, which never allow an exception (abrupt completion) to escape.
Step 33.2.1 of the inner navigate firing algorithm simply states:
However,
handler
is an IDL callback, so invoking it, even if the return type is a Promise type, could throw. ... assuming my reading of https://webidl.spec.whatwg.org/#invoke-a-callback-function is correct.Other parts of the HTML specification make sure to say that "invoke such and such callback, and if that throws, report the exception", pointing towards https://html.spec.whatwg.org/multipage/webappapis.html#report-the-exception
Are these steps not necessary as NavigationInterceptHandler is
Promise<undefined> ()
? Or do we need a "report the exception" step in 33.2 of the inner navigate firing algorithm?The text was updated successfully, but these errors were encountered: