Skip to content

Commit 492fbfb

Browse files
ofrobotsAli Sheikh
authored andcommitted
src: update uses of deprecated NewExternal
V8 String::NewExternal is deprecated in 4.9. Migrate string_bytes.cc to the alternatives. PR-URL: #5462 Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
1 parent 66566df commit 492fbfb

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

src/string_bytes.cc

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class ExternString: public ResourceType {
7777
ExternString* h_str = new ExternString<ResourceType, TypeName>(isolate,
7878
data,
7979
length);
80-
MaybeLocal<String> str = String::NewExternal(isolate, h_str);
80+
MaybeLocal<String> str = NewExternal(isolate, h_str);
8181
isolate->AdjustAmountOfExternalAllocatedMemory(h_str->byte_length());
8282

8383
if (str.IsEmpty()) {
@@ -93,6 +93,9 @@ class ExternString: public ResourceType {
9393
private:
9494
ExternString(Isolate* isolate, const TypeName* data, size_t length)
9595
: isolate_(isolate), data_(data), length_(length) { }
96+
static MaybeLocal<String> NewExternal(Isolate* isolate,
97+
ExternString* h_str);
98+
9699
Isolate* isolate_;
97100
const TypeName* data_;
98101
size_t length_;
@@ -105,6 +108,20 @@ typedef ExternString<String::ExternalStringResource,
105108
uint16_t> ExternTwoByteString;
106109

107110

111+
template <>
112+
MaybeLocal<String> ExternOneByteString::NewExternal(
113+
Isolate* isolate, ExternOneByteString* h_str) {
114+
return String::NewExternalOneByte(isolate, h_str);
115+
}
116+
117+
118+
template <>
119+
MaybeLocal<String> ExternTwoByteString::NewExternal(
120+
Isolate* isolate, ExternTwoByteString* h_str) {
121+
return String::NewExternalTwoByte(isolate, h_str);
122+
}
123+
124+
108125
//// Base 64 ////
109126

110127
#define base64_encoded_size(size) ((size + 2 - ((size + 2) % 3)) / 3 * 4)

0 commit comments

Comments
 (0)