mozilla / geckodriver

WebDriver for Firefox
https://firefox-source-docs.mozilla.org/testing/geckodriver/
Mozilla Public License 2.0
7.2k stars 1.52k forks source link

Add support for delay and trackVisibility propery in Intersection Observer for Firefox #2033

Closed BearCooder closed 2 years ago

BearCooder commented 2 years ago

MDN URL

https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API

Intersection Observer API no support for delay and trackVisibility on Firefox

The information about the two additional properties is missing: delay and trackVisibility. Looking through the documentation its not mentioned anywhere and not mentioned in the Browser compatibility table. Chrome does support it but Firefox does not.

Intersection Observer v2 introduces the concept of tracking the actual "visibility" of a target element as a human being would define it. By setting an option in the IntersectionObserver constructor, intersecting IntersectionObserverEntry instances will then contain a new boolean field named isVisible. A true value for isVisible is a strong guarantee from the underlying implementation that the target element is completely unoccluded by other content and has no visual effects applied that would alter or distort its display on screen. In contrast, a false value means that the implementation cannot make that guarantee.

An important detail of the spec is that the implementation is permitted to report false negatives (that is, setting isVisible to false even when the target element is completely visible and unmodified). For performance or other reasons, browsers limit themselves to working with bounding boxes and rectilinear geometry; they don't try to achieve pixel-perfect results for modifications like border-radius.

That said, false positives are not permitted under any circumstances (that is, setting isVisible to true when the target element is not completely visible and unmodified).

The IntersectionObserver constructor now takes two additional configuration properties: delay and trackVisibility. The delay is a number indicating the minimum delay in milliseconds between notifications from the observer for a given target. The trackVisibility is a boolean indicating whether the observer will track changes in a target's visibility.

This information is from the following source

Delay TrackVisibility isVisible

whimboo commented 2 years ago

@BearCooder I'm having a hard time to understand the request. Is that really for geckodriver (our implementation of the WebDriver specification) or for Firefox itself? If it's the latter the report should be created at https://bugzilla.mozilla.org/.

whimboo commented 2 years ago

No feedback from reporter and as I said it looks more to be a Firefox specific request. Closing the issue.