New issue
Advanced search Search tips

Issue 915495 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

IntersectionObserver delay feature will not notify after throttling

Project Member Reported by m...@chromium.org, Dec 15

Issue description

blink::IntersectionObserver includes a "delay" feature which will throttle change notifications. However, if an update is throttled, the observer will not then be notified at a later time, after the delay period has passed.

It seems that blink::IntersectionObservation will need to set a timer to call its Compute() method again after the delay period has passed, to ensure that an update eventually results in a notification to the observer.

As of this writing, it doesn't seem that any code is actually using the delay feature; so, P3.
 
The correct thing to do, I think, is to set a timer whose callback does this:

LocalFrameView* lfv = observation->Target()->GetDocument().View();
lfv->SetIntersectionObservationState(LocalFrameView::kRequired);
lfv->ScheduleAnimation();

That will cause the FrameView to generate a new frame of content, in the course of which it will run IntersectionObservers.
Labels: -Pri-3 Pri-2

Sign in to add a comment