Closed Bug 1905675 Opened 2 years ago Closed 2 years ago

Clean up IntersectionObserver setup.

Categories

(Core :: Layout, task)

task

Tracking

()

RESOLVED FIXED
129 Branch
Tracking Status
firefox129 --- fixed

People

(Reporter: emilio, Assigned: emilio)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

No description provided.

UpdateIntersectionObservation takes some time (see profile in blocked
bug). It it needs to do multiple hashmap lookups unnecessarily.

We can store the observation state in the IntersectionObserver object
and remove the bespoke intersectionobserverlist property, using
BindObject / UnbindObject to keep stuff alive, like ResizeObserver and
MutationObserver do.

Assignee: nobody → emilio
Status: NEW → ASSIGNED

UpdateIntersectionObservation takes some time (see profile in blocked
bug). It it needs to do multiple hashmap lookups unnecessarily.

We can store the observation state in the IntersectionObserver object
and remove the bespoke intersectionobserverlist property, using
BindObject / UnbindObject to keep stuff alive, like ResizeObserver and
MutationObserver do.

Assignee: nobody → emilio
Status: NEW → ASSIGNED
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fdd47955cc10 Clean up IntersectionObserver set-up. r=smaug
Pushed by emilio@crisal.io: https://hg.mozilla.org/integration/autoland/rev/b0dd464f3c45 Remove assert that doesn't hold during unlink and was introduced by the previous patch.
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 129 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: