w3c / IntersectionObserver

Intersection Observer
https://www.w3.org/TR/intersection-observer/
Other
3.62k stars 531 forks source link

Processing of intersection observers doesn't match implementations #525

Open emilio opened 3 weeks ago

emilio commented 3 weeks ago

https://w3c.github.io/IntersectionObserver/#update-intersection-observations-algo says:

Let observer list be a list of all IntersectionObservers whose root is in the DOM tree of document. For the top-level browsing context, this includes implicit root observers.

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?

emilio commented 3 weeks ago

cc @smaug----