This means that, per spec, if you're in a cross-origin iframe, a new IntersectionObserver() without a root node, is supposed to be processed in the top browsing context.
I don't think that matches what engines do (it's not implementable in Gecko at least).
What gecko does is, it uses the IntersectionObservers current document on construction as the document from where it's processed. That seems to be what WebKit is doing too here.
@szager-chromium do you know what Blink is doing? Should we spec the current / constructor document behavior or was the current language intentional?
https://w3c.github.io/IntersectionObserver/#update-intersection-observations-algo says:
This means that, per spec, if you're in a cross-origin iframe, a
new IntersectionObserver()
without a root node, is supposed to be processed in the top browsing context.I don't think that matches what engines do (it's not implementable in Gecko at least).
What gecko does is, it uses the
IntersectionObserver
s current document on construction as the document from where it's processed. That seems to be what WebKit is doing too here.@szager-chromium do you know what Blink is doing? Should we spec the current / constructor document behavior or was the current language intentional?