| Index: src/uri.h
|
| diff --git a/src/uri.h b/src/uri.h
|
| index 1e73ddd3d22464a654404704e043a9420b77a9cc..58509ce80700e62501f94c94089594587fc11a00 100644
|
| --- a/src/uri.h
|
| +++ b/src/uri.h
|
| @@ -129,9 +129,8 @@ Handle<String> URIUnescape::UnescapeSlow(
|
| Handle<String> second_part;
|
| ASSERT(unescaped_length <= String::kMaxLength);
|
| if (one_byte) {
|
| - Handle<SeqOneByteString> dest =
|
| - isolate->factory()->NewRawOneByteString(unescaped_length);
|
| - ASSERT(!dest.is_null());
|
| + Handle<SeqOneByteString> dest = isolate->factory()->NewRawOneByteString(
|
| + unescaped_length).ToHandleChecked();
|
| DisallowHeapAllocation no_allocation;
|
| Vector<const Char> vector = GetCharVector<Char>(string);
|
| for (int i = start_index; i < length; dest_position++) {
|
| @@ -142,9 +141,8 @@ Handle<String> URIUnescape::UnescapeSlow(
|
| }
|
| second_part = dest;
|
| } else {
|
| - Handle<SeqTwoByteString> dest =
|
| - isolate->factory()->NewRawTwoByteString(unescaped_length);
|
| - ASSERT(!dest.is_null());
|
| + Handle<SeqTwoByteString> dest = isolate->factory()->NewRawTwoByteString(
|
| + unescaped_length).ToHandleChecked();
|
| DisallowHeapAllocation no_allocation;
|
| Vector<const Char> vector = GetCharVector<Char>(string);
|
| for (int i = start_index; i < length; dest_position++) {
|
| @@ -203,7 +201,7 @@ int URIUnescape::UnescapeChar(Vector<const Char> vector,
|
| class URIEscape : public AllStatic {
|
| public:
|
| template<typename Char>
|
| - static Handle<String> Escape(Isolate* isolate, Handle<String> string);
|
| + static MaybeHandle<String> Escape(Isolate* isolate, Handle<String> string);
|
|
|
| private:
|
| static const char kHexChars[17];
|
| @@ -247,7 +245,7 @@ const char URIEscape::kNotEscaped[] = {
|
|
|
|
|
| template<typename Char>
|
| -Handle<String> URIEscape::Escape(Isolate* isolate, Handle<String> string) {
|
| +MaybeHandle<String> URIEscape::Escape(Isolate* isolate, Handle<String> string) {
|
| ASSERT(string->IsFlat());
|
| int escaped_length = 0;
|
| int length = string->length();
|
| @@ -273,9 +271,11 @@ Handle<String> URIEscape::Escape(Isolate* isolate, Handle<String> string) {
|
| // No length change implies no change. Return original string if no change.
|
| if (escaped_length == length) return string;
|
|
|
| - Handle<SeqOneByteString> dest =
|
| - isolate->factory()->NewRawOneByteString(escaped_length);
|
| - RETURN_IF_EMPTY_HANDLE_VALUE(isolate, dest, Handle<String>());
|
| + Handle<SeqOneByteString> dest;
|
| + ASSIGN_RETURN_ON_EXCEPTION(
|
| + isolate, dest,
|
| + isolate->factory()->NewRawOneByteString(escaped_length),
|
| + String);
|
| int dest_position = 0;
|
|
|
| { DisallowHeapAllocation no_allocation;
|
|
|