Skip to content

Processing of intersection observers doesn't match implementations #525

Open
@emilio

Description

@emilio

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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions