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
While implementing the navigation methods in Gecko it turned out that some test expectations do not match the specification expectations (if I understood everything correctly :) ).
The test performs a navigation on a detached iframe. The navigation should fail, and according to the test it should return rejected promises containing the DOM exception.
However, since the iframe is detached, it is not fully active, which means that promises in the iframe's realm do not run.
Therefore, according to the spec, the mentioned test should time out. However, in Chrome the test passes.
This is a classic issue. #2621 is probably the main discussion; #4443 is slightly related.
which means that promises in the iframe's realm do not run.
This isn't quite right. As pointed out in #2621 (comment) , the realm that is checked (i.e. the realm passed to HostEnqueuePromiseJob) is the realm of the handler function (i.e. in promise.then(fulfillHandler, rejectHandler). This follows from the JS spec's NewPromiseReactionJob definition.
In the tests you're linking to, the handlers are created in the outer realm. (By the code in testharness.js.) So they should still run.
Let me close this as I believe there's no conflict here. In fact, I feel like we can close #2621...
Of course, if I've missed something, I am happy to reopen.
What is the issue with the HTML Standard?
While implementing the navigation methods in Gecko it turned out that some test expectations do not match the specification expectations (if I understood everything correctly :) ).
Take this test as an example:
The test performs a navigation on a detached iframe. The navigation should fail, and according to the test it should return rejected promises containing the DOM exception.
However, since the iframe is detached, it is not fully active, which means that promises in the iframe's realm do not run.
Therefore, according to the spec, the mentioned test should time out. However, in Chrome the test passes.
cc @smaug---- @zcorpan @farre @domenic
The text was updated successfully, but these errors were encountered: