summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/encoding
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/encoding')
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/encoding.cc4
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/encoding.h4
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_decoder.cc26
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_decoder.h12
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc28
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.h10
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.idl4
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_encoder.cc2
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_encoder.h4
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc20
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.h6
-rw-r--r--chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.idl4
12 files changed, 63 insertions, 61 deletions
diff --git a/chromium/third_party/blink/renderer/modules/encoding/encoding.cc b/chromium/third_party/blink/renderer/modules/encoding/encoding.cc
index 70c1473f79c..fea5721df7d 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/encoding.cc
+++ b/chromium/third_party/blink/renderer/modules/encoding/encoding.cc
@@ -6,7 +6,7 @@
namespace blink {
-namespace Encoding {
+namespace encoding {
bool IsASCIIWhiteSpace(UChar c) {
// From Encoding Standard:
@@ -15,6 +15,6 @@ bool IsASCIIWhiteSpace(UChar c) {
return c == 0x09 || c == 0x0A || c == 0x0C || c == 0x0D || c == 0x20;
}
-} // namespace Encoding
+} // namespace encoding
} // namespace blink
diff --git a/chromium/third_party/blink/renderer/modules/encoding/encoding.h b/chromium/third_party/blink/renderer/modules/encoding/encoding.h
index 084d96f82bb..0c9b0efc28e 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/encoding.h
+++ b/chromium/third_party/blink/renderer/modules/encoding/encoding.h
@@ -9,13 +9,13 @@
namespace blink {
-namespace Encoding {
+namespace encoding {
// The Encoding Standard has a definition of whitespace that differs from
// WTF::isWhiteSpace() (it excludes vertical tab).
bool IsASCIIWhiteSpace(UChar);
-} // namespace Encoding
+} // namespace encoding
} // namespace blink
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_decoder.cc b/chromium/third_party/blink/renderer/modules/encoding/text_decoder.cc
index ac02608357b..12da076d1f8 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_decoder.cc
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_decoder.cc
@@ -40,10 +40,10 @@
namespace blink {
TextDecoder* TextDecoder::Create(const String& label,
- const TextDecoderOptions& options,
+ const TextDecoderOptions* options,
ExceptionState& exception_state) {
WTF::TextEncoding encoding(
- label.StripWhiteSpace(&Encoding::IsASCIIWhiteSpace));
+ label.StripWhiteSpace(&encoding::IsASCIIWhiteSpace));
// The replacement encoding is not valid, but the Encoding API also
// rejects aliases of the replacement encoding.
if (!encoding.IsValid() || !strcasecmp(encoding.GetName(), "replacement")) {
@@ -52,7 +52,8 @@ TextDecoder* TextDecoder::Create(const String& label,
return nullptr;
}
- return new TextDecoder(encoding, options.fatal(), options.ignoreBOM());
+ return MakeGarbageCollected<TextDecoder>(encoding, options->fatal(),
+ options->ignoreBOM());
}
TextDecoder::TextDecoder(const WTF::TextEncoding& encoding,
@@ -77,29 +78,30 @@ String TextDecoder::encoding() const {
}
String TextDecoder::decode(const BufferSource& input,
- const TextDecodeOptions& options,
+ const TextDecodeOptions* options,
ExceptionState& exception_state) {
+ DCHECK(options);
DCHECK(!input.IsNull());
if (input.IsArrayBufferView()) {
const char* start = static_cast<const char*>(
input.GetAsArrayBufferView().View()->BaseAddress());
- size_t length = input.GetAsArrayBufferView().View()->byteLength();
+ uint32_t length = input.GetAsArrayBufferView().View()->byteLength();
return decode(start, length, options, exception_state);
}
DCHECK(input.IsArrayBuffer());
const char* start =
static_cast<const char*>(input.GetAsArrayBuffer()->Data());
- size_t length = input.GetAsArrayBuffer()->ByteLength();
+ uint32_t length = input.GetAsArrayBuffer()->ByteLength();
return decode(start, length, options, exception_state);
}
String TextDecoder::decode(const char* start,
- size_t length,
- const TextDecodeOptions& options,
+ uint32_t length,
+ const TextDecodeOptions* options,
ExceptionState& exception_state) {
- WTF::FlushBehavior flush =
- options.stream() ? WTF::FlushBehavior::kDoNotFlush
- : WTF::FlushBehavior::kDataEOF;
+ DCHECK(options);
+ WTF::FlushBehavior flush = options->stream() ? WTF::FlushBehavior::kDoNotFlush
+ : WTF::FlushBehavior::kDataEOF;
bool saw_error = false;
String s = codec_->Decode(start, length, flush, fatal_, saw_error);
@@ -124,7 +126,7 @@ String TextDecoder::decode(const char* start,
}
String TextDecoder::decode(ExceptionState& exception_state) {
- TextDecodeOptions options;
+ TextDecodeOptions* options = TextDecodeOptions::Create();
return decode(nullptr, 0, options, exception_state);
}
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_decoder.h b/chromium/third_party/blink/renderer/modules/encoding/text_decoder.h
index 1c887c612f2..cbad582e339 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_decoder.h
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_decoder.h
@@ -52,23 +52,23 @@ class TextDecoder final : public ScriptWrappable {
public:
static TextDecoder* Create(const String& label,
- const TextDecoderOptions&,
+ const TextDecoderOptions*,
ExceptionState&);
+
+ TextDecoder(const WTF::TextEncoding&, bool fatal, bool ignore_bom);
~TextDecoder() override;
// Implement the IDL
String encoding() const;
bool fatal() const { return fatal_; }
bool ignoreBOM() const { return ignore_bom_; }
- String decode(const BufferSource&, const TextDecodeOptions&, ExceptionState&);
+ String decode(const BufferSource&, const TextDecodeOptions*, ExceptionState&);
String decode(ExceptionState&);
private:
- TextDecoder(const WTF::TextEncoding&, bool fatal, bool ignore_bom);
-
String decode(const char* start,
- size_t length,
- const TextDecodeOptions&,
+ uint32_t length,
+ const TextDecodeOptions*,
ExceptionState&);
WTF::TextEncoding encoding_;
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc b/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc
index 2c0fe8dcd47..62e5dba4060 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.cc
@@ -60,7 +60,7 @@ class TextDecoderStream::Transformer final : public TransformStreamTransformer {
return;
}
const char* start = static_cast<const char*>(view->BaseAddress());
- size_t length = view->byteLength();
+ uint32_t length = view->byteLength();
DecodeAndEnqueue(start, length, WTF::FlushBehavior::kDoNotFlush,
controller, exception_state);
return;
@@ -74,7 +74,7 @@ class TextDecoderStream::Transformer final : public TransformStreamTransformer {
return;
}
const char* start = static_cast<const char*>(array_buffer->Data());
- size_t length = array_buffer->ByteLength();
+ uint32_t length = array_buffer->ByteLength();
DecodeAndEnqueue(start, length, WTF::FlushBehavior::kDoNotFlush, controller,
exception_state);
}
@@ -95,7 +95,7 @@ class TextDecoderStream::Transformer final : public TransformStreamTransformer {
// Implements the second part of "decode and enqueue a chunk" as well as the
// "flush and enqueue" algorithm.
void DecodeAndEnqueue(const char* start,
- size_t length,
+ uint32_t length,
WTF::FlushBehavior flush,
TransformStreamDefaultController* controller,
ExceptionState& exception_state) {
@@ -144,10 +144,10 @@ class TextDecoderStream::Transformer final : public TransformStreamTransformer {
TextDecoderStream* TextDecoderStream::Create(ScriptState* script_state,
const String& label,
- const TextDecoderOptions& options,
+ const TextDecoderOptions* options,
ExceptionState& exception_state) {
WTF::TextEncoding encoding(
- label.StripWhiteSpace(&Encoding::IsASCIIWhiteSpace));
+ label.StripWhiteSpace(&encoding::IsASCIIWhiteSpace));
// The replacement encoding is not valid, but the Encoding API also
// rejects aliases of the replacement encoding.
if (!encoding.IsValid() ||
@@ -167,14 +167,12 @@ String TextDecoderStream::encoding() const {
return String(encoding_.GetName()).LowerASCII();
}
-ScriptValue TextDecoderStream::readable(ScriptState* script_state,
- ExceptionState& exception_state) const {
- return transform_->Readable(script_state, exception_state);
+ReadableStream* TextDecoderStream::readable() const {
+ return transform_->Readable();
}
-ScriptValue TextDecoderStream::writable(ScriptState* script_state,
- ExceptionState& exception_state) const {
- return transform_->Writable(script_state, exception_state);
+WritableStream* TextDecoderStream::writable() const {
+ return transform_->Writable();
}
void TextDecoderStream::Trace(Visitor* visitor) {
@@ -184,12 +182,12 @@ void TextDecoderStream::Trace(Visitor* visitor) {
TextDecoderStream::TextDecoderStream(ScriptState* script_state,
const WTF::TextEncoding& encoding,
- const TextDecoderOptions& options,
+ const TextDecoderOptions* options,
ExceptionState& exception_state)
- : transform_(new TransformStream()),
+ : transform_(MakeGarbageCollected<TransformStream>()),
encoding_(encoding),
- fatal_(options.fatal()),
- ignore_bom_(options.ignoreBOM()) {
+ fatal_(options->fatal()),
+ ignore_bom_(options->ignoreBOM()) {
if (!RetainWrapperDuringConstruction(this, script_state)) {
exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
"Cannot queue task to retain wrapper");
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.h b/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.h
index 5bf4d10fd40..bbfa4d4bee4 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.h
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.h
@@ -15,9 +15,11 @@
namespace blink {
class ExceptionState;
+class ReadableStream;
class ScriptState;
class TextDecoderOptions;
class Visitor;
+class WritableStream;
// Implements the TextDecoderStream interface as specified at
// https://encoding.spec.whatwg.org/#interface-textdecoderstream.
@@ -30,7 +32,7 @@ class TextDecoderStream final : public ScriptWrappable {
public:
static TextDecoderStream* Create(ScriptState*,
const String& label,
- const TextDecoderOptions&,
+ const TextDecoderOptions*,
ExceptionState&);
~TextDecoderStream() override;
@@ -38,8 +40,8 @@ class TextDecoderStream final : public ScriptWrappable {
String encoding() const;
bool fatal() const { return fatal_; }
bool ignoreBOM() const { return ignore_bom_; }
- ScriptValue readable(ScriptState*, ExceptionState&) const;
- ScriptValue writable(ScriptState*, ExceptionState&) const;
+ ReadableStream* readable() const;
+ WritableStream* writable() const;
void Trace(Visitor* visitor) override;
@@ -48,7 +50,7 @@ class TextDecoderStream final : public ScriptWrappable {
TextDecoderStream(ScriptState*,
const WTF::TextEncoding&,
- const TextDecoderOptions&,
+ const TextDecoderOptions*,
ExceptionState&);
const TraceWrapperMember<TransformStream> transform_;
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.idl b/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.idl
index cf5600ceb1e..9fe584233f6 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.idl
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_decoder_stream.idl
@@ -14,6 +14,6 @@
readonly attribute DOMString encoding;
readonly attribute boolean fatal;
readonly attribute boolean ignoreBOM;
- [CallWith=ScriptState, RaisesException] readonly attribute any readable;
- [CallWith=ScriptState, RaisesException] readonly attribute any writable;
+ readonly attribute ReadableStream readable;
+ readonly attribute WritableStream writable;
};
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_encoder.cc b/chromium/third_party/blink/renderer/modules/encoding/text_encoder.cc
index 3f9161f58db..85279a225d1 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_encoder.cc
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_encoder.cc
@@ -41,7 +41,7 @@ namespace blink {
TextEncoder* TextEncoder::Create(ExecutionContext* context,
ExceptionState& exception_state) {
WTF::TextEncoding encoding("UTF-8");
- return new TextEncoder(encoding);
+ return MakeGarbageCollected<TextEncoder>(encoding);
}
TextEncoder::TextEncoder(const WTF::TextEncoding& encoding)
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_encoder.h b/chromium/third_party/blink/renderer/modules/encoding/text_encoder.h
index 0892f75d950..76e502c2c04 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_encoder.h
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_encoder.h
@@ -49,6 +49,8 @@ class TextEncoder final : public ScriptWrappable {
public:
static TextEncoder* Create(ExecutionContext*, ExceptionState&);
+
+ TextEncoder(const WTF::TextEncoding&);
~TextEncoder() override;
// Implement the IDL
@@ -56,8 +58,6 @@ class TextEncoder final : public ScriptWrappable {
NotShared<DOMUint8Array> encode(const String&);
private:
- TextEncoder(const WTF::TextEncoding&);
-
WTF::TextEncoding encoding_;
std::unique_ptr<WTF::TextCodec> codec_;
};
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc b/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc
index 1c5aa8fa6e4..cedf987bc8c 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.cc
@@ -101,8 +101,8 @@ class TextEncoderStream::Transformer final : public TransformStreamTransformer {
static DOMUint8Array* CreateDOMUint8ArrayFromTwoCStringsConcatenated(
const CString& string1,
const CString& string2) {
- const size_t length1 = string1.length();
- const size_t length2 = string2.length();
+ const wtf_size_t length1 = string1.length();
+ const wtf_size_t length2 = string2.length();
DOMUint8Array* const array = DOMUint8Array::Create(length1 + length2);
if (length1 > 0)
memcpy(array->Data(), string1.data(), length1);
@@ -144,8 +144,8 @@ class TextEncoderStream::Transformer final : public TransformStreamTransformer {
}
// Third argument is ignored, as above.
- *result =
- encoder_->Encode(begin, end - begin, WTF::kEntitiesForUnencodables);
+ *result = encoder_->Encode(begin, static_cast<wtf_size_t>(end - begin),
+ WTF::kEntitiesForUnencodables);
DCHECK_NE(result->length(), 0u);
return true;
}
@@ -170,14 +170,12 @@ String TextEncoderStream::encoding() const {
return "utf-8";
}
-ScriptValue TextEncoderStream::readable(ScriptState* script_state,
- ExceptionState& exception_state) const {
- return transform_->Readable(script_state, exception_state);
+ReadableStream* TextEncoderStream::readable() const {
+ return transform_->Readable();
}
-ScriptValue TextEncoderStream::writable(ScriptState* script_state,
- ExceptionState& exception_state) const {
- return transform_->Writable(script_state, exception_state);
+WritableStream* TextEncoderStream::writable() const {
+ return transform_->Writable();
}
void TextEncoderStream::Trace(Visitor* visitor) {
@@ -187,7 +185,7 @@ void TextEncoderStream::Trace(Visitor* visitor) {
TextEncoderStream::TextEncoderStream(ScriptState* script_state,
ExceptionState& exception_state)
- : transform_(new TransformStream()) {
+ : transform_(MakeGarbageCollected<TransformStream>()) {
if (!RetainWrapperDuringConstruction(this, script_state)) {
exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
"Cannot queue task to retain wrapper");
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.h b/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.h
index 2aa28ddc7a4..1e34400212f 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.h
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.h
@@ -14,7 +14,9 @@
namespace blink {
class ExceptionState;
+class ReadableStream;
class ScriptState;
+class WritableStream;
class Visitor;
// Implements the TextDecoderStream interface as specified at
@@ -31,8 +33,8 @@ class TextEncoderStream final : public ScriptWrappable {
// From text_encoder_stream.idl
String encoding() const;
- ScriptValue readable(ScriptState*, ExceptionState&) const;
- ScriptValue writable(ScriptState*, ExceptionState&) const;
+ ReadableStream* readable() const;
+ WritableStream* writable() const;
void Trace(Visitor* visitor) override;
diff --git a/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.idl b/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.idl
index 98ee518e622..73f60a89316 100644
--- a/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.idl
+++ b/chromium/third_party/blink/renderer/modules/encoding/text_encoder_stream.idl
@@ -12,6 +12,6 @@
RuntimeEnabled=EncodingStreams
] interface TextEncoderStream {
readonly attribute DOMString encoding;
- [CallWith=ScriptState, RaisesException] readonly attribute any readable;
- [CallWith=ScriptState, RaisesException] readonly attribute any writable;
+ readonly attribute ReadableStream readable;
+ readonly attribute WritableStream writable;
};