Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 4 users
Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 563816
issue 674744



Sign in to add a comment
[OffscreenCanvas] Add API for driving animation callbacks with OffscreenCanvas
Project Member Reported by junov@chromium.org, Dec 20 2016 Back to list
The exact form for this API has not been nailed down yet. Could be something like requestAnimationFrame, or commit() could return a promise that resolves when it is time to render the next frame.

Spec discussion is here:
https://github.com/whatwg/html/issues/2139


 
Comment 1 by junov@chromium.org, Dec 20 2016
Blocking: 674744
Project Member Comment 2 by bugdroid1@chromium.org, Jan 5 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d59fe166058d3a4c3f2d44ef5c76b0076315f16e

commit d59fe166058d3a4c3f2d44ef5c76b0076315f16e
Author: junov <junov@chromium.org>
Date: Thu Jan 05 18:42:21 2017

Implementing promise-based commit for driving OffscreenCanvas animations

This is an experimental prototype API for demonstrating a proposal to use
promises instead of requestAnimationFrame for driving animations.  This
initial implementation uses a delayed task to simulate the BeginFrame
signal.  Properly hooking-up BeginFrame will be solved in a follow-up
code change.

This API was discussed here:
https://github.com/whatwg/html/issues/2139

BUG= 676131 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2594843002
Cr-Commit-Position: refs/heads/master@{#441711}

[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/content/test/data/gpu/pixel_offscreenCanvas_2d_commit_main.html
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/content/test/data/gpu/pixel_offscreenCanvas_2d_commit_worker.html
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/content/test/data/gpu/pixel_offscreenCanvas_transferToImageBitmap_main.html
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/content/test/data/gpu/pixel_offscreenCanvas_transferToImageBitmap_worker.html
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/content/test/data/gpu/pixel_offscreenCanvas_webgl_commit_main.html
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/content/test/data/gpu/pixel_offscreenCanvas_webgl_commit_worker.html
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-invalid-call.html
[add] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-promise.html
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.idl
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.idl
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcher.h
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
[modify] https://crrev.com/d59fe166058d3a4c3f2d44ef5c76b0076315f16e/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.h

Comment 3 by junov@chromium.org, Jan 16 2017
Status: Fixed
Sign in to add a comment