[webkit-dev] Position on emerging standard: video.requestAnimationFrame()

Elliott Sprehn esprehn at chromium.org
Mon Jan 27 21:54:49 PST 2020


Would a method that returns a Promise be more in line with what this is
doing?

On Wed, Jan 22, 2020, 1:49 PM Simon Fraser <simon.fraser at apple.com> wrote:

>
> On Jan 21, 2020, at 5:27 PM, Thomas Guilbert <tguilbert at google.com> wrote:
>
> The idea was to reuse an API name that developers are already
> familiar with, in a similar context. The name is also being used in
> XRSession (
> https://developer.mozilla.org/en-US/docs/Web/API/XRSession/requestAnimationFrame),
> and in OffscreenCanvas (or technically DedicatedWorkerGlobalScope). The AnimationFrameProvider
> mixin
> <https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#animationframeprovider> could
> also be updated so HTMLVideoElement can extend it.
>
> Yes, this isn't formally spec'ed out, but it will be. For now, they are
> added to the task queue and run like any other task. So, going off the spec
> you linked, I think this would be "5) Perform oldestTask's step"  and not
> "10) Rendering: [...] 11. Foreach document run animation frame callbacks
> for that Document".
>
>
> I would expect something that's called "requestAnimationFrame" to only
> fire in the "update the rendering" steps; requestAnimationFrame is a
> "before rendering" callback. So firing a callback with the same name at
> other times seems like it will lead to author confusion.
>
> The author's expectation should be that any content/style changes they
> make inside a requestAnimationFrame callback will appear on-screen in the
> same frame as other changes in the same event loop cycle, and that
> requestAnimationFrame won't be called more often than is necessary to
> update the screen at the appropriate frame rate.
>
> Simon
>
>
> On Tue, Jan 21, 2020 at 1:01 PM Simon Fraser <simon.fraser at apple.com>
> wrote:
>
>> On Jan 21, 2020, at 12:37 PM, Thomas Guilbert <tguilbert at google.com>
>> wrote:
>>
>> Hello,
>>
>> I'm reaching out to see if webkit would like to weigh in on the following proposal:https://discourse.wicg.io/t/proposal-video-requestanimationframe/3691
>>
>> The HTMLVideoElement.requestAnimationFrame() API allows web developers to be notified when a video frame has been presented for composition, and provides metadata for that frame.
>>
>> If you want to try it out, a prototype is available in Chromium Dev,
>> behind the enable-experimental-web-platform-features flag.
>>
>>
>> This is not official feedback, but I have some issues with the proposal.
>>
>> First, the name is confusing. It sounds like you're requesting a frame
>> from the video, but it's really a "frame available" callback. Why not call
>> it onFrameAvailable()?
>>
>> Second, its interaction with normal requestAnimationFrame() and the HTML
>> event loop needs to be better defined. Where in in the
>> https://html.spec.whatwg.org/multipage/webappapis.html#event-loop-processing-model do
>> these callbacks fire?
>>
>> Simon
>>
>>
>>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20200127/f8bf3701/attachment.htm>


More information about the webkit-dev mailing list