New issue
Advanced search Search tips
Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: May 4
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocked on:
issue 680635

Blocking:
issue 563816



Sign in to add a comment

Ensure correct functioning of OffscreenCanvas

Project Member Reported by xlai@chromium.org, Oct 25 2016 Back to list

Issue description

A placeholder bug for certain fixes on OffscreenCanvas that are minor
to ensure correct functionalities that are ready to ship.

 

Comment 2 by xlai@chromium.org, Nov 7 2016

Components: Blink>Canvas
Cc: xlai@chromium.org junov@chromium.org
Owner: xidac...@chromium.org
Summary: Upstreaming OffscreenCanvas test to web-platform-tests (was: Ensure correct functioning of OffscreenCanvas)
We should upstream sufficient test cases to web-platform-tests, to make sure that all browsers are compatible.
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 21 2016

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

commit 8e9a7bc6d79b084d3562563d2c2aa06c3390965d
Author: xidachen <xidachen@chromium.org>
Date: Mon Nov 21 22:24:42 2016

Fix a small error in exception handling in convertToBlob

The spec for convertToBlob is here:
https://html.spec.whatwg.org/multipage/scripting.html#dom-offscreencanvas-converttoblob

There are three cases where this API should throw exception, and we don't
have the test to cover that.

Also, our code does not handle the third case in the above spec.

This CL adds layout tests to cover the exception cases and fix the third
case.

BUG= 659260 

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

[add] https://crrev.com/8e9a7bc6d79b084d3562563d2c2aa06c3390965d/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-convertToBlob-exceptions.html
[add] https://crrev.com/8e9a7bc6d79b084d3562563d2c2aa06c3390965d/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-OffscreenCanvas2D-convertToBlob.html
[modify] https://crrev.com/8e9a7bc6d79b084d3562563d2c2aa06c3390965d/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp

Summary: Upstreaming OffscreenCanvas test to web-platform-tests and KhronosGroup/WebGL (was: Upstreaming OffscreenCanvas test to web-platform-tests)
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 1 2016

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

commit 65114caf515dfa0d606a4189a7b10d65d51c8a7a
Author: xidachen <xidachen@chromium.org>
Date: Thu Dec 01 17:25:19 2016

Make OffscreenCanvas 2D context support globalAlpha

We have already supported globalCompositeOperation, but globalAlpha is
not exposed yet.

This CL expose this attributes. Similar to the globalCompositeOperation,
the implementation is already there, we just need to expose it in the
.idl file.

The layout test is copied from fast/canvas/2d.composite.globalAlpha.fillPath.html,
with very small tweak.

BUG= 659260 

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

[add] https://crrev.com/65114caf515dfa0d606a4189a7b10d65d51c8a7a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-globalAlpha-expected.html
[add] https://crrev.com/65114caf515dfa0d606a4189a7b10d65d51c8a7a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-globalAlpha.html
[modify] https://crrev.com/65114caf515dfa0d606a4189a7b10d65d51c8a7a/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/65114caf515dfa0d606a4189a7b10d65d51c8a7a/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/65114caf515dfa0d606a4189a7b10d65d51c8a7a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/65114caf515dfa0d606a4189a7b10d65d51c8a7a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/65114caf515dfa0d606a4189a7b10d65d51c8a7a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/65114caf515dfa0d606a4189a7b10d65d51c8a7a/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.idl

Comment 7 by xlai@chromium.org, Jan 9 2017

xidachen@: Is this issue already fixed?
Status: Fixed (was: Assigned)
sorry about that, yes, it has been fixed.

Comment 9 by junov@chromium.org, Jan 16 2017

Actually, let's keep it open.

More tests have been added since the last push.
Let's do a final update after the feature is 100% complete.

Comment 10 by junov@chromium.org, Jan 16 2017

Owner: xlai@chromium.org
Status: Assigned (was: Fixed)

Comment 11 Deleted

Comment 12 by junov@chromium.org, Jan 19 2017

Blockedon: 680635

Comment 13 Deleted

Project Member

Comment 14 by bugdroid1@chromium.org, Feb 24 2017

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

commit 5ce8692f118a0f554fa98574be0c5446b8f0b8fe
Author: xlai <xlai@chromium.org>
Date: Fri Feb 24 21:39:52 2017

Handle OffscreenCanvas.convertToBlob exceptions: EncodingError & InvalidStateError

This CL handle two new exceptions:
1. EncodingError exception when convertToBlob fails encoding; the test case we
use here is to attempt encoding webp that exceeds max dimension. This is
consistent with new spec change: https://github.com/whatwg/html/pull/2343
2. InvalidStateError exception when convertToBlob is calling on an OffscreenCanvas
without rendering contexts. Spec change needs to be done later on.

Meanwhile, this CL also fixed crash bug in the corner case when convertToBlob
with webp image type fails.

BUG= 659260 ,  563830 

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

[modify] https://crrev.com/5ce8692f118a0f554fa98574be0c5446b8f0b8fe/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-convertToBlob-exceptions.html
[modify] https://crrev.com/5ce8692f118a0f554fa98574be0c5446b8f0b8fe/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
[modify] https://crrev.com/5ce8692f118a0f554fa98574be0c5446b8f0b8fe/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp

Status: Fixed (was: Assigned)
Summary: Ensure correct functioning of OffscreenCanvas (was: Upstreaming OffscreenCanvas test to web-platform-tests and KhronosGroup/WebGL)
The name of this issue is a little bit misleading; all the commits made under this issue is about correcting some exception handling issue in OffscreenCanvas 2d (which has been fixed a long time ago) and not about the tests. There is a different issue crbug.com/680635 that is specially for KhronosGroup/WebGL and WPT, but not this one.

Sign in to add a comment