New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 619136 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Oct 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 563858



Sign in to add a comment

Implement resource return for offscreen_canvas_surface_service_impl

Project Member Reported by xlai@chromium.org, Jun 10 2016

Issue description


Handle the functions ReturnResources, WillDrawSurface, SetBeginFrameSource for the OffscreenCanvasSurfaceServiceImpl
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6267a77aa199671dce58a41639b40021db18f7d6

commit 6267a77aa199671dce58a41639b40021db18f7d6
Author: xidachen <xidachen@chromium.org>
Date: Tue Sep 20 15:24:38 2016

Implement WebGL's commit on the main thread.

This CL implements WebGL's commit() API. It uses the frame work established
for the OffscreenCanvasRenderingContext2D. The basic procedure is to
get a AcceleratedStaticBitmapImage from WebGL's drawingBuffer. The
StaticBitmapImage contains a SkImage that is gpu texture backed, a gpu
mailbox, and a gpu token. We then prepare a CompositorFrame from the
gpu mailbox and the gpu token. It currently works on the main thread
only, making it work on worker thread will come in another CL.

A gpu pixel test is added to make sure that the commit actually commits
to the original HTMLCanvasElement. A layout test is added to ensure
that when an OffscreenCanvas is not constructed from transferControlToOffscreen,
then InvalidStateError must be thrown.

BUG= 563852 ,  619136 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel

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

[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/browser/BUILD.gn
[add] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc
[add] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
[add] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink_provider_impl.cc
[add] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink_provider_impl.h
[delete] https://crrev.com/1d02359b751f01cd5fbce1086c3d08f51e378712/content/browser/renderer_host/offscreen_canvas_frame_receiver_impl.cc
[delete] https://crrev.com/1d02359b751f01cd5fbce1086c3d08f51e378712/content/browser/renderer_host/offscreen_canvas_frame_receiver_impl.h
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/browser/renderer_host/render_process_host_impl.cc
[add] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/test/data/gpu/pixel_offscreenCanvas_webgl_commit_main.html
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/test/gpu/gpu_tests/pixel_expectations.py
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/test/gpu/gpu_tests/trace_test_expectations.py
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/content/test/gpu/page_sets/pixel_tests.py
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-invalid-call.html
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.idl
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.h
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcher.h
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.h
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.cpp
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.h
[modify] https://crrev.com/6267a77aa199671dce58a41639b40021db18f7d6/third_party/WebKit/public/platform/modules/offscreencanvas/offscreen_canvas_surface.mojom

Status: Fixed (was: Assigned)
I think this is already fixed.

Sign in to add a comment