Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(875)

Unified Diff: third_party/WebKit/Source/modules/fetch/BytesConsumer.cpp

Issue 2392823002: Remove create[Done|UnexpectedError]DataConsumerHandle (Closed)
Patch Set: fix Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/fetch/BytesConsumer.cpp
diff --git a/third_party/WebKit/Source/modules/fetch/BytesConsumer.cpp b/third_party/WebKit/Source/modules/fetch/BytesConsumer.cpp
index 40e34802367c2687e7d690c0c848a839f96adc10..0394c0e717ca8322eed98d89715f5ace087ca985 100644
--- a/third_party/WebKit/Source/modules/fetch/BytesConsumer.cpp
+++ b/third_party/WebKit/Source/modules/fetch/BytesConsumer.cpp
@@ -298,6 +298,54 @@ class Tee final : public GarbageCollectedFinalized<Tee>,
Member<Destination> m_destination2;
};
+class ErroredBytesConsumer final : public BytesConsumer {
+ public:
+ explicit ErroredBytesConsumer(const Error& error) : m_error(error) {}
+
+ Result beginRead(const char** buffer, size_t* available) override {
+ *buffer = nullptr;
+ *available = 0;
+ return Result::Error;
+ }
+ Result endRead(size_t readSize) override {
+ NOTREACHED();
+ return Result::Error;
+ }
+ void setClient(BytesConsumer::Client*) override {}
+ void clearClient() override {}
+
+ void cancel() override {}
+ PublicState getPublicState() const override { return PublicState::Errored; }
+ Error getError() const override { return m_error; }
+ String debugName() const override { return "ErroredBytesConsumer"; }
+
+ private:
+ const Error m_error;
+};
+
+class ClosedBytesConsumer final : public BytesConsumer {
+ public:
+ Result beginRead(const char** buffer, size_t* available) override {
+ *buffer = nullptr;
+ *available = 0;
+ return Result::Done;
+ }
+ Result endRead(size_t readSize) override {
+ NOTREACHED();
+ return Result::Error;
+ }
+ void setClient(BytesConsumer::Client*) override {}
+ void clearClient() override {}
+
+ void cancel() override {}
+ PublicState getPublicState() const override { return PublicState::Closed; }
+ Error getError() const override {
+ NOTREACHED();
+ return Error();
+ }
+ String debugName() const override { return "ClosedBytesConsumer"; }
+};
+
} // namespace
void BytesConsumer::tee(ExecutionContext* executionContext,
@@ -319,4 +367,12 @@ void BytesConsumer::tee(ExecutionContext* executionContext,
*dest2 = tee->destination2();
}
+BytesConsumer* BytesConsumer::createErrored(const BytesConsumer::Error& error) {
+ return new ErroredBytesConsumer(error);
+}
+
+BytesConsumer* BytesConsumer::createClosed() {
+ return new ClosedBytesConsumer();
+}
+
} // namespace blink
« no previous file with comments | « third_party/WebKit/Source/modules/fetch/BytesConsumer.h ('k') | third_party/WebKit/Source/modules/fetch/BytesConsumerTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698