Commit ccc82369 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Use [RaisesException] for immediate promise rejections in webcodecs

This is a part of effort for using [RaisesException] when
synchronously rejecting a promise.

It uses [RaisesException] for
//third_party/blink/renderer/modules/webcodecs.

Bug: 1001114
Change-Id: I43b29101ae577c2e5e2a94a8d02e5e02a4503f31
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1986472Reviewed-by: default avatarMounir Lamouri <mlamouri@chromium.org>
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Cr-Commit-Position: refs/heads/master@{#729668}
parent 031d0698
......@@ -19,20 +19,19 @@ VideoDecoder* VideoDecoder::Create() {
VideoDecoder::VideoDecoder() = default;
ScriptPromise VideoDecoder::Initialize(
ScriptState* script_state,
const VideoDecoderInitParameters* params) {
return ScriptPromise::RejectWithDOMException(
script_state,
MakeGarbageCollected<DOMException>(DOMExceptionCode::kNotSupportedError,
"Not implemented yet."));
ScriptPromise VideoDecoder::Initialize(ScriptState* script_state,
const VideoDecoderInitParameters* params,
ExceptionState& exception_state) {
exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
"Not implemented yet.");
return ScriptPromise();
}
ScriptPromise VideoDecoder::Flush(ScriptState* script_state) {
return ScriptPromise::RejectWithDOMException(
script_state,
MakeGarbageCollected<DOMException>(DOMExceptionCode::kNotSupportedError,
"Not implemented yet."));
ScriptPromise VideoDecoder::Flush(ScriptState* script_state,
ExceptionState& exception_state) {
exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
"Not implemented yet.");
return ScriptPromise();
}
void VideoDecoder::Close() {}
......
......@@ -11,6 +11,7 @@
namespace blink {
class ExceptionState;
class ScriptState;
class ReadableStream;
class VideoDecoderInitParameters;
......@@ -22,8 +23,10 @@ class MODULES_EXPORT VideoDecoder final : public ScriptWrappable {
public:
static VideoDecoder* Create();
VideoDecoder();
ScriptPromise Initialize(ScriptState*, const VideoDecoderInitParameters*);
ScriptPromise Flush(ScriptState*);
ScriptPromise Initialize(ScriptState*,
const VideoDecoderInitParameters*,
ExceptionState&);
ScriptPromise Flush(ScriptState*, ExceptionState&);
void Close();
// video_decoder.idl implementation.
......
......@@ -6,8 +6,8 @@
RuntimeEnabled=WebCodecs
] interface VideoDecoder {
constructor();
[CallWith=ScriptState] Promise<void> Initialize(VideoDecoderInitParameters params);
[CallWith=ScriptState] Promise<void> Flush();
[CallWith=ScriptState, RaisesException] Promise<void> Initialize(VideoDecoderInitParameters params);
[CallWith=ScriptState, RaisesException] Promise<void> Flush();
void Close();
readonly attribute WritableStream writable; // of EncodedVideoFrame
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment