@@ -52,9 +52,6 @@ namespace {
52
52
// https://url.spec.whatwg.org/#eof-code-point
53
53
constexpr char kEOL = -1 ;
54
54
55
- // Used in ToUSVString().
56
- constexpr char16_t kUnicodeReplacementCharacter = 0xFFFD ;
57
-
58
55
// https://url.spec.whatwg.org/#concept-host
59
56
class URLHost {
60
57
public:
@@ -160,14 +157,6 @@ enum url_error_cb_args {
160
157
#undef XX
161
158
};
162
159
163
- #define CHAR_TEST (bits, name, expr ) \
164
- template <typename T> \
165
- bool name (const T ch) { \
166
- static_assert (sizeof (ch) >= (bits) / 8 , \
167
- " Character must be wider than " #bits " bits" ); \
168
- return (expr); \
169
- }
170
-
171
160
#define TWO_CHAR_STRING_TEST (bits, name, expr ) \
172
161
template <typename T> \
173
162
bool name (const T ch1, const T ch2) { \
@@ -225,19 +214,8 @@ TWO_CHAR_STRING_TEST(8, IsWindowsDriveLetter,
225
214
TWO_CHAR_STRING_TEST (8 , IsNormalizedWindowsDriveLetter,
226
215
(IsASCIIAlpha(ch1) && ch2 == ' :' ))
227
216
228
- // If a UTF-16 character is a low/trailing surrogate.
229
- CHAR_TEST (16 , IsUnicodeTrail, (ch & 0xFC00 ) == 0xDC00 )
230
-
231
- // If a UTF-16 character is a surrogate.
232
- CHAR_TEST (16 , IsUnicodeSurrogate, (ch & 0xF800 ) == 0xD800 )
233
-
234
- // If a UTF-16 surrogate is a low/trailing one.
235
- CHAR_TEST (16 , IsUnicodeSurrogateTrail, (ch & 0x400 ) != 0 )
236
-
237
- #undef CHAR_TEST
238
217
#undef TWO_CHAR_STRING_TEST
239
218
240
-
241
219
bool BitAt (const uint8_t a[], const uint8_t i) {
242
220
return !!(a[i >> 3 ] & (1 << (i & 7 )));
243
221
}
@@ -1736,40 +1714,6 @@ void EncodeAuthSet(const FunctionCallbackInfo<Value>& args) {
1736
1714
String::NewFromUtf8 (env->isolate (), output.c_str ()).ToLocalChecked ());
1737
1715
}
1738
1716
1739
- void ToUSVString (const FunctionCallbackInfo<Value>& args) {
1740
- Environment* env = Environment::GetCurrent (args);
1741
- CHECK_GE (args.Length (), 2 );
1742
- CHECK (args[0 ]->IsString ());
1743
- CHECK (args[1 ]->IsNumber ());
1744
-
1745
- TwoByteValue value (env->isolate (), args[0 ]);
1746
-
1747
- int64_t start = args[1 ]->IntegerValue (env->context ()).FromJust ();
1748
- CHECK_GE (start, 0 );
1749
-
1750
- for (size_t i = start; i < value.length (); i++) {
1751
- char16_t c = value[i];
1752
- if (!IsUnicodeSurrogate (c)) {
1753
- continue ;
1754
- } else if (IsUnicodeSurrogateTrail (c) || i == value.length () - 1 ) {
1755
- value[i] = kUnicodeReplacementCharacter ;
1756
- } else {
1757
- char16_t d = value[i + 1 ];
1758
- if (IsUnicodeTrail (d)) {
1759
- i++;
1760
- } else {
1761
- value[i] = kUnicodeReplacementCharacter ;
1762
- }
1763
- }
1764
- }
1765
-
1766
- args.GetReturnValue ().Set (
1767
- String::NewFromTwoByte (env->isolate (),
1768
- *value,
1769
- NewStringType::kNormal ,
1770
- value.length ()).ToLocalChecked ());
1771
- }
1772
-
1773
1717
void DomainToASCII (const FunctionCallbackInfo<Value>& args) {
1774
1718
Environment* env = Environment::GetCurrent (args);
1775
1719
CHECK_GE (args.Length (), 1 );
@@ -1820,7 +1764,6 @@ void Initialize(Local<Object> target,
1820
1764
Environment* env = Environment::GetCurrent (context);
1821
1765
env->SetMethod (target, " parse" , Parse);
1822
1766
env->SetMethodNoSideEffect (target, " encodeAuth" , EncodeAuthSet);
1823
- env->SetMethodNoSideEffect (target, " toUSVString" , ToUSVString);
1824
1767
env->SetMethodNoSideEffect (target, " domainToASCII" , DomainToASCII);
1825
1768
env->SetMethodNoSideEffect (target, " domainToUnicode" , DomainToUnicode);
1826
1769
env->SetMethod (target, " setURLConstructor" , SetURLConstructor);
@@ -1838,7 +1781,6 @@ void Initialize(Local<Object> target,
1838
1781
void RegisterExternalReferences (ExternalReferenceRegistry* registry) {
1839
1782
registry->Register (Parse);
1840
1783
registry->Register (EncodeAuthSet);
1841
- registry->Register (ToUSVString);
1842
1784
registry->Register (DomainToASCII);
1843
1785
registry->Register (DomainToUnicode);
1844
1786
registry->Register (SetURLConstructor);
0 commit comments