[webkit-changes] [WebKit/WebKit] 502bfe: REGRESSION (Safari 17) Sometimes intersection obs...

Simon Fraser noreply at github.com
Sat Jun 8 11:00:37 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 502bfe649c550c59266753403cb4b2ab86854333
      https://github.com/WebKit/WebKit/commit/502bfe649c550c59266753403cb4b2ab86854333
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2024-06-08 (Sat, 08 Jun 2024)

  Changed paths:
    M Source/WebCore/dom/Document.cpp

  Log Message:
  -----------
  REGRESSION (Safari 17)  Sometimes intersection observer notifications fail to fire
https://bugs.webkit.org/show_bug.cgi?id=275234
rdar://126238865

Reviewed by Alex Christensen.

The test case has an example of creating and registering an Intersection Observer
in a "quiet" document that doesn't trigger any subsequent rendering updates, but
the code runs via activating a button via the keyboard. This results in entering
`Document::updateIntersectionObservations()` with a pending style recalc, so it
early returns. However, nothing schedules a subsequent rendering update.

So, if we have to return early from `Document::updateIntersectionObservations()`,
and we have observers, schedule another rendering update.

I wasn't able to write a test that could reliably get into the state of having dirty
style, but not doing any further rendering updates.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::updateIntersectionObservations):

Canonical link: https://commits.webkit.org/279853@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list