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() { ...@@ -19,20 +19,19 @@ VideoDecoder* VideoDecoder::Create() {
VideoDecoder::VideoDecoder() = default; VideoDecoder::VideoDecoder() = default;
ScriptPromise VideoDecoder::Initialize( ScriptPromise VideoDecoder::Initialize(ScriptState* script_state,
ScriptState* script_state, const VideoDecoderInitParameters* params,
const VideoDecoderInitParameters* params) { ExceptionState& exception_state) {
return ScriptPromise::RejectWithDOMException( exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
script_state, "Not implemented yet.");
MakeGarbageCollected<DOMException>(DOMExceptionCode::kNotSupportedError, return ScriptPromise();
"Not implemented yet."));
} }
ScriptPromise VideoDecoder::Flush(ScriptState* script_state) { ScriptPromise VideoDecoder::Flush(ScriptState* script_state,
return ScriptPromise::RejectWithDOMException( ExceptionState& exception_state) {
script_state, exception_state.ThrowDOMException(DOMExceptionCode::kNotSupportedError,
MakeGarbageCollected<DOMException>(DOMExceptionCode::kNotSupportedError, "Not implemented yet.");
"Not implemented yet.")); return ScriptPromise();
} }
void VideoDecoder::Close() {} void VideoDecoder::Close() {}
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
namespace blink { namespace blink {
class ExceptionState;
class ScriptState; class ScriptState;
class ReadableStream; class ReadableStream;
class VideoDecoderInitParameters; class VideoDecoderInitParameters;
...@@ -22,8 +23,10 @@ class MODULES_EXPORT VideoDecoder final : public ScriptWrappable { ...@@ -22,8 +23,10 @@ class MODULES_EXPORT VideoDecoder final : public ScriptWrappable {
public: public:
static VideoDecoder* Create(); static VideoDecoder* Create();
VideoDecoder(); VideoDecoder();
ScriptPromise Initialize(ScriptState*, const VideoDecoderInitParameters*); ScriptPromise Initialize(ScriptState*,
ScriptPromise Flush(ScriptState*); const VideoDecoderInitParameters*,
ExceptionState&);
ScriptPromise Flush(ScriptState*, ExceptionState&);
void Close(); void Close();
// video_decoder.idl implementation. // video_decoder.idl implementation.
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
RuntimeEnabled=WebCodecs RuntimeEnabled=WebCodecs
] interface VideoDecoder { ] interface VideoDecoder {
constructor(); constructor();
[CallWith=ScriptState] Promise<void> Initialize(VideoDecoderInitParameters params); [CallWith=ScriptState, RaisesException] Promise<void> Initialize(VideoDecoderInitParameters params);
[CallWith=ScriptState] Promise<void> Flush(); [CallWith=ScriptState, RaisesException] Promise<void> Flush();
void Close(); void Close();
readonly attribute WritableStream writable; // of EncodedVideoFrame 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