| Index: include/v8.h
|
| diff --git a/include/v8.h b/include/v8.h
|
| index db625eeb4242be3d594628fdf8f2f450d0ef894e..d15a9ab41d0665cf06066f6c3cc7fd449f5bf872 100644
|
| --- a/include/v8.h
|
| +++ b/include/v8.h
|
| @@ -2034,11 +2034,16 @@ class V8_EXPORT Name : public Primitive {
|
| };
|
|
|
|
|
| +enum class NewStringType { kNormal, kInternalized };
|
| +
|
| +
|
| /**
|
| * A JavaScript string value (ECMA-262, 4.3.17).
|
| */
|
| class V8_EXPORT String : public Name {
|
| public:
|
| + static const int kMaxLength = (1 << 28) - 16;
|
| +
|
| enum Encoding {
|
| UNKNOWN_ENCODING = 0x1,
|
| TWO_BYTE_ENCODING = 0x0,
|
| @@ -2235,26 +2240,52 @@ class V8_EXPORT String : public Name {
|
|
|
| V8_INLINE static String* Cast(v8::Value* obj);
|
|
|
| - enum NewStringType { kNormalString, kInternalizedString };
|
| + // TODO(dcarney): remove with deprecation of New functions.
|
| + enum NewStringType {
|
| + kNormalString = static_cast<int>(v8::NewStringType::kNormal),
|
| + kInternalizedString = static_cast<int>(v8::NewStringType::kInternalized)
|
| + };
|
|
|
| /** Allocates a new string from UTF-8 data.*/
|
| - static Local<String> NewFromUtf8(Isolate* isolate, const char* data,
|
| - NewStringType type = kNormalString,
|
| - int length = -1);
|
| + static V8_DEPRECATE_SOON(
|
| + "Use maybe version",
|
| + Local<String> NewFromUtf8(Isolate* isolate, const char* data,
|
| + NewStringType type = kNormalString,
|
| + int length = -1));
|
| +
|
| + /** Allocates a new string from UTF-8 data. Only returns an empty value when
|
| + * length > kMaxLength. **/
|
| + static MaybeLocal<String> NewFromUtf8(Isolate* isolate, const char* data,
|
| + v8::NewStringType type,
|
| + int length = -1);
|
|
|
| /** Allocates a new string from Latin-1 data.*/
|
| - static Local<String> NewFromOneByte(
|
| - Isolate* isolate,
|
| - const uint8_t* data,
|
| - NewStringType type = kNormalString,
|
| - int length = -1);
|
| + static V8_DEPRECATE_SOON(
|
| + "Use maybe version",
|
| + Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
|
| + NewStringType type = kNormalString,
|
| + int length = -1));
|
| +
|
| + /** Allocates a new string from Latin-1 data. Only returns an empty value
|
| + * when length > kMaxLength. **/
|
| + static MaybeLocal<String> NewFromOneByte(Isolate* isolate,
|
| + const uint8_t* data,
|
| + v8::NewStringType type,
|
| + int length = -1);
|
|
|
| /** Allocates a new string from UTF-16 data.*/
|
| - static Local<String> NewFromTwoByte(
|
| - Isolate* isolate,
|
| - const uint16_t* data,
|
| - NewStringType type = kNormalString,
|
| - int length = -1);
|
| + static V8_DEPRECATE_SOON(
|
| + "Use maybe version",
|
| + Local<String> NewFromTwoByte(Isolate* isolate, const uint16_t* data,
|
| + NewStringType type = kNormalString,
|
| + int length = -1));
|
| +
|
| + /** Allocates a new string from UTF-16 data. Only returns an empty value when
|
| + * length > kMaxLength. **/
|
| + static MaybeLocal<String> NewFromTwoByte(Isolate* isolate,
|
| + const uint16_t* data,
|
| + v8::NewStringType type,
|
| + int length = -1);
|
|
|
| /**
|
| * Creates a new string by concatenating the left and the right strings
|
| @@ -2270,8 +2301,12 @@ class V8_EXPORT String : public Name {
|
| * should the underlying buffer be deallocated or modified except through the
|
| * destructor of the external string resource.
|
| */
|
| - static Local<String> NewExternal(Isolate* isolate,
|
| - ExternalStringResource* resource);
|
| + static V8_DEPRECATE_SOON(
|
| + "Use maybe version",
|
| + Local<String> NewExternal(Isolate* isolate,
|
| + ExternalStringResource* resource));
|
| + static MaybeLocal<String> NewExternalTwoByte(
|
| + Isolate* isolate, ExternalStringResource* resource);
|
|
|
| /**
|
| * Associate an external string resource with this string by transforming it
|
| @@ -2292,8 +2327,12 @@ class V8_EXPORT String : public Name {
|
| * should the underlying buffer be deallocated or modified except through the
|
| * destructor of the external string resource.
|
| */
|
| - static Local<String> NewExternal(Isolate* isolate,
|
| - ExternalOneByteStringResource* resource);
|
| + static V8_DEPRECATE_SOON(
|
| + "Use maybe version",
|
| + Local<String> NewExternal(Isolate* isolate,
|
| + ExternalOneByteStringResource* resource));
|
| + static MaybeLocal<String> NewExternalOneByte(
|
| + Isolate* isolate, ExternalOneByteStringResource* resource);
|
|
|
| /**
|
| * Associate an external string resource with this string by transforming it
|
|
|