summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/streams
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-26 13:57:00 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-11-02 11:31:01 +0000
commit1943b3c2a1dcee36c233724fc4ee7613d71b9cf6 (patch)
tree8c1b5f12357025c197da5427ae02cfdc2f3570d6 /chromium/third_party/blink/renderer/core/streams
parent21ba0c5d4bf8fba15dddd97cd693bad2358b77fd (diff)
downloadqtwebengine-chromium-1943b3c2a1dcee36c233724fc4ee7613d71b9cf6.tar.gz
BASELINE: Update Chromium to 94.0.4606.111
Change-Id: I924781584def20fc800bedf6ff41fdb96c438193 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/streams')
-rw-r--r--chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.h4
-rw-r--r--chromium/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc2
-rw-r--r--chromium/third_party/blink/renderer/core/streams/readable_stream.cc87
-rw-r--r--chromium/third_party/blink/renderer/core/streams/readable_stream.h27
-rw-r--r--chromium/third_party/blink/renderer/core/streams/readable_stream_generic_reader.cc5
-rw-r--r--chromium/third_party/blink/renderer/core/streams/readable_stream_test.cc8
-rw-r--r--chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.cc17
-rw-r--r--chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.h10
-rw-r--r--chromium/third_party/blink/renderer/core/streams/transferable_streams.cc3
-rw-r--r--chromium/third_party/blink/renderer/core/streams/transferable_streams_test.cc1
-rw-r--r--chromium/third_party/blink/renderer/core/streams/transform_stream_transformer.h7
-rw-r--r--chromium/third_party/blink/renderer/core/streams/writable_stream.cc4
-rw-r--r--chromium/third_party/blink/renderer/core/streams/writable_stream.h1
-rw-r--r--chromium/third_party/blink/renderer/core/streams/writable_stream_default_controller.idl5
-rw-r--r--chromium/third_party/blink/renderer/core/streams/writable_stream_default_writer.cc16
15 files changed, 90 insertions, 107 deletions
diff --git a/chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.h b/chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.h
index 692b138f2ee..4dfd5b240f2 100644
--- a/chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.h
+++ b/chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.h
@@ -168,6 +168,8 @@ class StrategyUnpacker final {
// arbitrary user code. The object cannot be used if
// exception_state.HadException() is true.
StrategyUnpacker(ScriptState*, ScriptValue strategy, ExceptionState&);
+ StrategyUnpacker(const StrategyUnpacker&) = delete;
+ StrategyUnpacker& operator=(const StrategyUnpacker&) = delete;
~StrategyUnpacker() = default;
// Performs MakeSizeAlgorithmFromSizeFunction on |size_|. Because this method
@@ -186,8 +188,6 @@ class StrategyUnpacker final {
private:
v8::Local<v8::Value> size_;
v8::Local<v8::Value> high_water_mark_;
-
- DISALLOW_COPY_AND_ASSIGN(StrategyUnpacker);
};
} // namespace blink
diff --git a/chromium/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc b/chromium/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc
index f8798d71f5b..25abbf5c7e8 100644
--- a/chromium/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc
+++ b/chromium/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc
@@ -6,7 +6,7 @@
#include "base/numerics/checked_math.h"
#include "base/numerics/clamped_math.h"
-#include "third_party/blink/renderer/bindings/core/v8/v8_array_buffer_view.h"
+#include "third_party/blink/renderer/bindings/core/v8/to_v8_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_underlying_source.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_underlying_source_cancel_callback.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_underlying_source_pull_callback.h"
diff --git a/chromium/third_party/blink/renderer/core/streams/readable_stream.cc b/chromium/third_party/blink/renderer/core/streams/readable_stream.cc
index 127ac6e59cf..922fab98f91 100644
--- a/chromium/third_party/blink/renderer/core/streams/readable_stream.cc
+++ b/chromium/third_party/blink/renderer/core/streams/readable_stream.cc
@@ -4,9 +4,8 @@
#include "third_party/blink/renderer/core/streams/readable_stream.h"
-#include "base/stl_util.h"
+#include "base/cxx17_backports.h"
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
-#include "third_party/blink/renderer/bindings/core/v8/readable_stream_default_reader_or_readable_stream_byob_reader.h"
#include "third_party/blink/renderer/bindings/core/v8/script_function.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_abort_signal.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_iterator_result_value.h"
@@ -96,6 +95,8 @@ class ReadableStream::PipeToEngine final
public:
PipeToEngine(ScriptState* script_state, PipeOptions* pipe_options)
: script_state_(script_state), pipe_options_(pipe_options) {}
+ PipeToEngine(const PipeToEngine&) = delete;
+ PipeToEngine& operator=(const PipeToEngine&) = delete;
// This is the main entrypoint for ReadableStreamPipeTo().
ScriptPromise Start(ReadableStream* readable, WritableStream* destination) {
@@ -702,13 +703,13 @@ class ReadableStream::PipeToEngine final
TraceWrapperV8Reference<v8::Value> shutdown_error_;
bool is_shutting_down_ = false;
bool is_reading_ = false;
-
- DISALLOW_COPY_AND_ASSIGN(PipeToEngine);
};
class ReadableStream::TeeEngine final : public GarbageCollected<TeeEngine> {
public:
TeeEngine() = default;
+ TeeEngine(const TeeEngine&) = delete;
+ TeeEngine& operator=(const TeeEngine&) = delete;
// Create the streams and start copying data.
void Start(ScriptState*, ReadableStream*, ExceptionState&);
@@ -746,8 +747,6 @@ class ReadableStream::TeeEngine final : public GarbageCollected<TeeEngine> {
TraceWrapperV8Reference<v8::Value> reason_[2];
Member<ReadableStream> branch_[2];
Member<ReadableStreamDefaultController> controller_[2];
-
- DISALLOW_COPY_AND_ASSIGN(TeeEngine);
};
class ReadableStream::TeeEngine::PullAlgorithm final : public StreamAlgorithm {
@@ -1115,32 +1114,44 @@ ReadableStream* ReadableStream::CreateWithCountQueueingStrategy(
AllowPerChunkTransferring allow_per_chunk_transferring,
std::unique_ptr<ReadableStreamTransferringOptimizer> optimizer) {
auto* isolate = script_state->GetIsolate();
-
- auto strategy = CreateTrivialQueuingStrategy(isolate, high_water_mark);
-
ExceptionState exception_state(isolate, ExceptionState::kConstructionContext,
"ReadableStream");
v8::MicrotasksScope microtasks_scope(
isolate, v8::MicrotasksScope::kDoNotRunMicrotasks);
- v8::Local<v8::Value> underlying_source_v8 =
- ToV8(underlying_source, script_state);
-
auto* stream = MakeGarbageCollected<ReadableStream>();
- stream->InitInternal(script_state, ScriptValue(isolate, underlying_source_v8),
- strategy, true, exception_state);
-
+ stream->InitWithCountQueueingStrategy(
+ script_state, underlying_source, high_water_mark,
+ allow_per_chunk_transferring, std::move(optimizer), exception_state);
if (exception_state.HadException()) {
exception_state.ClearException();
DLOG(WARNING)
<< "Ignoring an exception in CreateWithCountQueuingStrategy().";
}
-
- stream->allow_per_chunk_transferring_ = allow_per_chunk_transferring;
- stream->transferring_optimizer_ = std::move(optimizer);
return stream;
}
+void ReadableStream::InitWithCountQueueingStrategy(
+ ScriptState* script_state,
+ UnderlyingSourceBase* underlying_source,
+ size_t high_water_mark,
+ AllowPerChunkTransferring allow_per_chunk_transferring,
+ std::unique_ptr<ReadableStreamTransferringOptimizer> optimizer,
+ ExceptionState& exception_state) {
+ auto* isolate = script_state->GetIsolate();
+
+ auto strategy = CreateTrivialQueuingStrategy(isolate, high_water_mark);
+
+ v8::Local<v8::Value> underlying_source_v8 =
+ ToV8(underlying_source, script_state);
+
+ InitInternal(script_state, ScriptValue(isolate, underlying_source_v8),
+ strategy, true, exception_state);
+
+ allow_per_chunk_transferring_ = allow_per_chunk_transferring;
+ transferring_optimizer_ = std::move(optimizer);
+}
+
ReadableStream* ReadableStream::Create(ScriptState* script_state,
StreamStartAlgorithm* start_algorithm,
StreamAlgorithm* pull_algorithm,
@@ -1216,7 +1227,6 @@ ScriptPromise ReadableStream::cancel(ScriptState* script_state,
return ScriptPromise(script_state, result);
}
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
V8ReadableStreamReader* ReadableStream::getReader(
ScriptState* script_state,
ExceptionState& exception_state) {
@@ -1229,20 +1239,7 @@ V8ReadableStreamReader* ReadableStream::getReader(
return nullptr;
return MakeGarbageCollected<V8ReadableStreamReader>(reader);
}
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
-void ReadableStream::getReader(
- ScriptState* script_state,
- ReadableStreamDefaultReaderOrReadableStreamBYOBReader& return_value,
- ExceptionState& exception_state) {
- // https://streams.spec.whatwg.org/#rs-get-reader
- // 1. If options["mode"] does not exist, return ?
- // AcquireReadableStreamDefaultReader(this).
- return_value.SetReadableStreamDefaultReader(
- AcquireDefaultReader(script_state, this, true, exception_state));
-}
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
V8ReadableStreamReader* ReadableStream::getReader(
ScriptState* script_state,
const ReadableStreamGetReaderOptions* options,
@@ -1263,40 +1260,14 @@ V8ReadableStreamReader* ReadableStream::getReader(
return getReader(script_state, exception_state);
}
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
-void ReadableStream::getReader(
- ScriptState* script_state,
- ReadableStreamGetReaderOptions* options,
- ReadableStreamDefaultReaderOrReadableStreamBYOBReader& return_value,
- ExceptionState& exception_state) {
- // https://streams.spec.whatwg.org/#rs-get-reader
- if (options->hasMode()) {
- DCHECK_EQ(options->mode(), "byob");
-
- UseCounter::Count(ExecutionContext::From(script_state),
- WebFeature::kReadableStreamBYOBReader);
-
- return_value.SetReadableStreamBYOBReader(
- AcquireBYOBReader(script_state, this, exception_state));
- } else {
- getReader(script_state, return_value, exception_state);
- }
-}
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
ReadableStreamDefaultReader* ReadableStream::GetDefaultReaderForTesting(
ScriptState* script_state,
ExceptionState& exception_state) {
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
auto* result = getReader(script_state, exception_state);
if (!result)
return nullptr;
return result->GetAsReadableStreamDefaultReader();
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- ReadableStreamDefaultReaderOrReadableStreamBYOBReader return_value;
- getReader(script_state, return_value, exception_state);
- return return_value.GetAsReadableStreamDefaultReader();
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
}
ReadableStream* ReadableStream::pipeThrough(ScriptState* script_state,
diff --git a/chromium/third_party/blink/renderer/core/streams/readable_stream.h b/chromium/third_party/blink/renderer/core/streams/readable_stream.h
index 687a618f03d..136f600fa6c 100644
--- a/chromium/third_party/blink/renderer/core/streams/readable_stream.h
+++ b/chromium/third_party/blink/renderer/core/streams/readable_stream.h
@@ -8,7 +8,6 @@
#include <stdint.h>
#include <memory>
-#include "third_party/abseil-cpp/absl/types/optional.h"
#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_typedefs.h"
#include "third_party/blink/renderer/core/streams/readable_stream_byob_reader.h"
@@ -28,7 +27,6 @@ class MessagePort;
class ReadableByteStreamController;
class ReadableStreamController;
class ReadableStreamDefaultController;
-class ReadableStreamDefaultReaderOrReadableStreamBYOBReader;
class ReadableStreamGetReaderOptions;
class ReadableStreamTransferringOptimizer;
class ReadableWritablePair;
@@ -117,6 +115,16 @@ class CORE_EXPORT ReadableStream : public ScriptWrappable {
~ReadableStream() override;
+ // See CreateWithCountQueueingStrategy() comment above for how to use
+ // `allow_per_chunk_transferring`.
+ void InitWithCountQueueingStrategy(
+ ScriptState*,
+ UnderlyingSourceBase*,
+ size_t high_water_mark,
+ AllowPerChunkTransferring allow_per_chunk_transferring,
+ std::unique_ptr<ReadableStreamTransferringOptimizer>,
+ ExceptionState&);
+
// https://streams.spec.whatwg.org/#rs-constructor
bool locked() const;
@@ -125,29 +133,14 @@ class CORE_EXPORT ReadableStream : public ScriptWrappable {
// https://streams.spec.whatwg.org/#rs-cancel
ScriptPromise cancel(ScriptState*, ScriptValue reason, ExceptionState&);
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
V8ReadableStreamReader* getReader(ScriptState* script_state,
ExceptionState& exception_state);
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- void getReader(
- ScriptState*,
- ReadableStreamDefaultReaderOrReadableStreamBYOBReader& return_value,
- ExceptionState&);
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
// https://streams.spec.whatwg.org/#rs-get-reader
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
V8ReadableStreamReader* getReader(
ScriptState* script_state,
const ReadableStreamGetReaderOptions* options,
ExceptionState& exception_state);
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- void getReader(
- ScriptState*,
- ReadableStreamGetReaderOptions* options,
- ReadableStreamDefaultReaderOrReadableStreamBYOBReader& return_value,
- ExceptionState&);
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
ReadableStreamDefaultReader* GetDefaultReaderForTesting(ScriptState*,
ExceptionState&);
diff --git a/chromium/third_party/blink/renderer/core/streams/readable_stream_generic_reader.cc b/chromium/third_party/blink/renderer/core/streams/readable_stream_generic_reader.cc
index 7168d98f410..131320c2292 100644
--- a/chromium/third_party/blink/renderer/core/streams/readable_stream_generic_reader.cc
+++ b/chromium/third_party/blink/renderer/core/streams/readable_stream_generic_reader.cc
@@ -70,6 +70,7 @@ void ReadableStreamGenericReader::GenericRelease(
// 3. If reader.[[ownerReadableStream]].[[state]] is "readable", reject
// reader.[[closedPromise]] with a TypeError exception.
if (reader->owner_readable_stream_->state_ == ReadableStream::kReadable) {
+ reader->closed_promise_->MarkAsSilent(isolate);
reader->closed_promise_->Reject(
script_state,
v8::Exception::TypeError(V8String(
@@ -79,7 +80,7 @@ void ReadableStreamGenericReader::GenericRelease(
} else {
// 4. Otherwise, set reader.[[closedPromise]] to a promise rejected with a
// TypeError exception.
- reader->closed_promise_ = StreamPromiseResolver::CreateRejected(
+ reader->closed_promise_ = StreamPromiseResolver::CreateRejectedAndSilent(
script_state, v8::Exception::TypeError(V8String(
isolate,
"This readable stream reader has been released and "
@@ -152,7 +153,7 @@ void ReadableStreamGenericReader::GenericInitialize(
// b. Set reader.[[closedPromise]] to a promise rejected with stream.
// [[storedError]].
- reader->closed_promise_ = StreamPromiseResolver::CreateRejected(
+ reader->closed_promise_ = StreamPromiseResolver::CreateRejectedAndSilent(
script_state, stream->GetStoredError(isolate));
// c. Set reader.[[closedPromise]].[[PromiseIsHandled]] to true.
diff --git a/chromium/third_party/blink/renderer/core/streams/readable_stream_test.cc b/chromium/third_party/blink/renderer/core/streams/readable_stream_test.cc
index e03a6143541..04478de51e6 100644
--- a/chromium/third_party/blink/renderer/core/streams/readable_stream_test.cc
+++ b/chromium/third_party/blink/renderer/core/streams/readable_stream_test.cc
@@ -6,7 +6,6 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
-#include "third_party/blink/renderer/bindings/core/v8/readable_stream_default_reader_or_readable_stream_byob_reader.h"
#include "third_party/blink/renderer/bindings/core/v8/script_function.h"
#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
@@ -251,18 +250,11 @@ TEST_F(ReadableStreamTest, GetBYOBReader) {
auto* options = ReadableStreamGetReaderOptions::Create();
options->setMode("byob");
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
ReadableStreamBYOBReader* reader = nullptr;
if (const auto* result =
stream->getReader(script_state, options, ASSERT_NO_EXCEPTION)) {
reader = result->GetAsReadableStreamBYOBReader();
}
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- ReadableStreamDefaultReaderOrReadableStreamBYOBReader return_value;
- stream->getReader(script_state, options, return_value, ASSERT_NO_EXCEPTION);
- ReadableStreamBYOBReader* reader =
- return_value.GetAsReadableStreamBYOBReader();
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
ASSERT_TRUE(reader);
EXPECT_TRUE(stream->locked());
diff --git a/chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.cc b/chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.cc
index a6784644f21..c7c2120f145 100644
--- a/chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.cc
+++ b/chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.cc
@@ -32,6 +32,15 @@ StreamPromiseResolver* StreamPromiseResolver::CreateRejected(
return promise;
}
+StreamPromiseResolver* StreamPromiseResolver::CreateRejectedAndSilent(
+ ScriptState* script_state,
+ v8::Local<v8::Value> reason) {
+ auto* promise = MakeGarbageCollected<StreamPromiseResolver>(script_state);
+ promise->MarkAsSilent(script_state->GetIsolate());
+ promise->Reject(script_state, reason);
+ return promise;
+}
+
StreamPromiseResolver::StreamPromiseResolver(ScriptState* script_state) {
v8::Local<v8::Promise::Resolver> resolver;
if (v8::Promise::Resolver::New(script_state->GetContext())
@@ -103,6 +112,14 @@ void StreamPromiseResolver::MarkAsHandled(v8::Isolate* isolate) {
promise->MarkAsHandled();
}
+void StreamPromiseResolver::MarkAsSilent(v8::Isolate* isolate) {
+ v8::Local<v8::Promise> promise = V8Promise(isolate);
+ if (promise.IsEmpty()) {
+ return;
+ }
+ promise->MarkAsSilent();
+}
+
v8::Promise::PromiseState StreamPromiseResolver::State(
v8::Isolate* isolate) const {
v8::Local<v8::Promise> promise = V8Promise(isolate);
diff --git a/chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.h b/chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.h
index 13723308f85..f6fb50a70f4 100644
--- a/chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.h
+++ b/chromium/third_party/blink/renderer/core/streams/stream_promise_resolver.h
@@ -46,6 +46,12 @@ class CORE_EXPORT StreamPromiseResolver final
static StreamPromiseResolver* CreateRejected(ScriptState*,
v8::Local<v8::Value> reason);
+ // Similar to CreateRejected but marks the promise as silent before rejecting.
+ // https://crbug.com/1132506
+ static StreamPromiseResolver* CreateRejectedAndSilent(
+ ScriptState*,
+ v8::Local<v8::Value> reason);
+
// Creates an initialised promise.
explicit StreamPromiseResolver(ScriptState*);
@@ -70,6 +76,10 @@ class CORE_EXPORT StreamPromiseResolver final
// an unhandled rejection.
void MarkAsHandled(v8::Isolate*);
+ // Marks the promise as silent so that it doesn't pause the debugger when it
+ // rejects.
+ void MarkAsSilent(v8::Isolate*);
+
// Returns the state of the promise, one of pending, fulfilled or rejected.
v8::Promise::PromiseState State(v8::Isolate*) const;
diff --git a/chromium/third_party/blink/renderer/core/streams/transferable_streams.cc b/chromium/third_party/blink/renderer/core/streams/transferable_streams.cc
index 643e1028c2a..7455c7b49bd 100644
--- a/chromium/third_party/blink/renderer/core/streams/transferable_streams.cc
+++ b/chromium/third_party/blink/renderer/core/streams/transferable_streams.cc
@@ -7,8 +7,7 @@
#include "third_party/blink/renderer/core/streams/transferable_streams.h"
-#include "base/stl_util.h"
-#include "third_party/blink/renderer/bindings/core/v8/readable_stream_default_reader_or_readable_stream_byob_reader.h"
+#include "base/cxx17_backports.h"
#include "third_party/blink/renderer/bindings/core/v8/script_function.h"
#include "third_party/blink/renderer/bindings/core/v8/to_v8_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_dom_exception.h"
diff --git a/chromium/third_party/blink/renderer/core/streams/transferable_streams_test.cc b/chromium/third_party/blink/renderer/core/streams/transferable_streams_test.cc
index a8b6a8b7f50..4c6656f3f8d 100644
--- a/chromium/third_party/blink/renderer/core/streams/transferable_streams_test.cc
+++ b/chromium/third_party/blink/renderer/core/streams/transferable_streams_test.cc
@@ -6,7 +6,6 @@
#include "base/types/strong_alias.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/blink/renderer/bindings/core/v8/readable_stream_default_reader_or_readable_stream_byob_reader.h"
#include "third_party/blink/renderer/bindings/core/v8/script_function.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
diff --git a/chromium/third_party/blink/renderer/core/streams/transform_stream_transformer.h b/chromium/third_party/blink/renderer/core/streams/transform_stream_transformer.h
index 530b2c9ee07..f5aa8a4f5c4 100644
--- a/chromium/third_party/blink/renderer/core/streams/transform_stream_transformer.h
+++ b/chromium/third_party/blink/renderer/core/streams/transform_stream_transformer.h
@@ -5,7 +5,6 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_TRANSFORMER_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_STREAMS_TRANSFORM_STREAM_TRANSFORMER_H_
-#include "base/macros.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/heap.h"
@@ -27,6 +26,9 @@ class CORE_EXPORT TransformStreamTransformer
: public GarbageCollected<TransformStreamTransformer> {
public:
TransformStreamTransformer() = default;
+ TransformStreamTransformer(const TransformStreamTransformer&) = delete;
+ TransformStreamTransformer& operator=(const TransformStreamTransformer&) =
+ delete;
virtual ~TransformStreamTransformer() = default;
virtual ScriptPromise Transform(v8::Local<v8::Value> chunk,
@@ -39,9 +41,6 @@ class CORE_EXPORT TransformStreamTransformer
virtual ScriptState* GetScriptState() = 0;
virtual void Trace(Visitor*) const {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(TransformStreamTransformer);
};
} // namespace blink
diff --git a/chromium/third_party/blink/renderer/core/streams/writable_stream.cc b/chromium/third_party/blink/renderer/core/streams/writable_stream.cc
index e47f01b3514..e635e5094bb 100644
--- a/chromium/third_party/blink/renderer/core/streams/writable_stream.cc
+++ b/chromium/third_party/blink/renderer/core/streams/writable_stream.cc
@@ -45,6 +45,8 @@ class WritableStream::PendingAbortRequest final
: promise_(promise),
reason_(isolate, reason),
was_already_erroring_(was_already_erroring) {}
+ PendingAbortRequest(const PendingAbortRequest&) = delete;
+ PendingAbortRequest& operator=(const PendingAbortRequest&) = delete;
StreamPromiseResolver* GetPromise() { return promise_; }
v8::Local<v8::Value> Reason(v8::Isolate* isolate) {
@@ -62,8 +64,6 @@ class WritableStream::PendingAbortRequest final
Member<StreamPromiseResolver> promise_;
TraceWrapperV8Reference<v8::Value> reason_;
const bool was_already_erroring_;
-
- DISALLOW_COPY_AND_ASSIGN(PendingAbortRequest);
};
WritableStream* WritableStream::Create(ScriptState* script_state,
diff --git a/chromium/third_party/blink/renderer/core/streams/writable_stream.h b/chromium/third_party/blink/renderer/core/streams/writable_stream.h
index 0022a256b85..e10cdd66c97 100644
--- a/chromium/third_party/blink/renderer/core/streams/writable_stream.h
+++ b/chromium/third_party/blink/renderer/core/streams/writable_stream.h
@@ -7,7 +7,6 @@
#include <memory>
-#include "third_party/abseil-cpp/absl/types/optional.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
#include "third_party/blink/renderer/core/core_export.h"
diff --git a/chromium/third_party/blink/renderer/core/streams/writable_stream_default_controller.idl b/chromium/third_party/blink/renderer/core/streams/writable_stream_default_controller.idl
index c7bc87aca5d..c1a73e1a996 100644
--- a/chromium/third_party/blink/renderer/core/streams/writable_stream_default_controller.idl
+++ b/chromium/third_party/blink/renderer/core/streams/writable_stream_default_controller.idl
@@ -2,9 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// This is only used when the new C++ implementation is enabled.
-
// https://streams.spec.whatwg.org/#ws-default-controller-class-definition
+[
+ Exposed=(Window,Worker,Worklet)
+]
interface WritableStreamDefaultController {
[CallWith=ScriptState] void error(optional any e);
};
diff --git a/chromium/third_party/blink/renderer/core/streams/writable_stream_default_writer.cc b/chromium/third_party/blink/renderer/core/streams/writable_stream_default_writer.cc
index 10bf54a2bc6..8888b9036a1 100644
--- a/chromium/third_party/blink/renderer/core/streams/writable_stream_default_writer.cc
+++ b/chromium/third_party/blink/renderer/core/streams/writable_stream_default_writer.cc
@@ -92,7 +92,7 @@ WritableStreamDefaultWriter::WritableStreamDefaultWriter(
case WritableStream::kErroring: {
// a. Set this.[[readyPromise]] to a promise rejected with
// stream.[[storedError]].
- ready_promise_ = StreamPromiseResolver::CreateRejected(
+ ready_promise_ = StreamPromiseResolver::CreateRejectedAndSilent(
script_state, stream->GetStoredError(isolate));
// b. Set this.[[readyPromise]].[[PromiseIsHandled]] to true.
@@ -127,16 +127,16 @@ WritableStreamDefaultWriter::WritableStreamDefaultWriter(
// c. Set this.[[readyPromise]] to a promise rejected with
// storedError.
- ready_promise_ =
- StreamPromiseResolver::CreateRejected(script_state, stored_error);
+ ready_promise_ = StreamPromiseResolver::CreateRejectedAndSilent(
+ script_state, stored_error);
// d. Set this.[[readyPromise]].[[PromiseIsHandled]] to true.
ready_promise_->MarkAsHandled(isolate);
// e. Set this.[[closedPromise]] to a promise rejected with
// storedError.
- closed_promise_ =
- StreamPromiseResolver::CreateRejected(script_state, stored_error);
+ closed_promise_ = StreamPromiseResolver::CreateRejectedAndSilent(
+ script_state, stored_error);
// f. Set this.[[closedPromise]].[[PromiseIsHandled]] to true.
closed_promise_->MarkAsHandled(isolate);
@@ -284,12 +284,13 @@ void WritableStreamDefaultWriter::EnsureReadyPromiseRejected(
// 1. If writer.[[readyPromise]].[[PromiseState]] is "pending", reject
// writer.[[readyPromise]] with error.
if (!writer->ready_promise_->IsSettled()) {
+ writer->ready_promise_->MarkAsSilent(isolate);
writer->ready_promise_->Reject(script_state, error);
} else {
// 2. Otherwise, set writer.[[readyPromise]] to a promise rejected with
// error.
writer->ready_promise_ =
- StreamPromiseResolver::CreateRejected(script_state, error);
+ StreamPromiseResolver::CreateRejectedAndSilent(script_state, error);
}
// 3. Set writer.[[readyPromise]].[[PromiseIsHandled]] to true.
@@ -517,12 +518,13 @@ void WritableStreamDefaultWriter::EnsureClosedPromiseRejected(
// 1. If writer.[[closedPromise]].[[PromiseState]] is "pending", reject
// writer.[[closedPromise]] with error.
if (!writer->closed_promise_->IsSettled()) {
+ writer->closed_promise_->MarkAsSilent(isolate);
writer->closed_promise_->Reject(script_state, error);
} else {
// 2. Otherwise, set writer.[[closedPromise]] to a promise rejected with
// error.
writer->closed_promise_ =
- StreamPromiseResolver::CreateRejected(script_state, error);
+ StreamPromiseResolver::CreateRejectedAndSilent(script_state, error);
}
// 3. Set writer.[[closedPromise]].[[PromiseIsHandled]] to true.