This is a testharness.js-based test.
PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is no context attached.
PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a 2d context attached.
PASS Verify that writing to the width and height attributes of an OffscreenCanvas works when there is a webgl context attached.
PASS Verify that writing to the width or height attribute of a placeholder canvas throws an exception
PASS Verify that writing to the width or height attribute of a placeholder canvas throws an exception even when not changing the value of the attribute.
PASS Verify that resizing a 2d context resets its state.
PASS Verify that setting the size of a 2d context to the same size it already had resets its state.
PASS Verify that resizing an OffscreenCanvas with a 2d context propagates the new size to its placeholder canvas asynchronously.
PASS Verify that resizing an OffscreenCanvas with a webgl context propagates the new size to its placeholder canvas asynchronously.
FAIL Verify that drawImage uses the size of the frame as the intinsic size of a placeholder canvas. assert_equals: expected 10 but got 1
Harness: the test ran to completion.

