Bootstrap performance.bind()
performance.bind() lets user-code create "entry points", functions
that are exposed as a long-script when above 5ms and contributing to a
50ms LoAF.
This CL bootstrap the feature (behind a flag) with the main happy path:
- Calling
performance.bind()
as a drop in replacement for
Function.bind - Check that the function is available in loaf.scripts
when applicable.
Still do do:
- More than one bound function at a time (no nesting)
- Support microtasks
- Add
selfDuration
to account for multiple bound functions
and mixed microtasks.
Explainer:
https://github.com/w3c/long-animation-frames/blob/main/user-defined-script-entry-point-explainer.md
Bug: 378421866
Change-Id: Ibf2c973cc16d494c3b0202a51a8192134645d857
I2P: https://groups.google.com/a/chromium.org/g/blink-dev/c/KCKOORJ8vlY/m/hhh9Bh7-CAAJ
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6010770
Commit-Queue: Noam Rosenthal nrosenthal@chromium.org
Reviewed-by: Scott Haseley shaseley@chromium.org
Cr-Commit-Position: refs/heads/main@{#1382209}