Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • BC/public/external/qt/qtwebengine-chromium
Show changes
Commits on Source (3)
Showing with 44 additions and 40 deletions
# Force LF checkout of the pins files to avoid transport_security_state_generator errors. # Force LF checkout of the pins files to avoid transport_security_state_generator errors.
/chromium/net/http/*.pins text eol=lf /chromium/net/http/*.pins text eol=lf
.gitignore export-ignore
.gitattributes export-ignore
...@@ -89,7 +89,7 @@ bool BiDiLineIterator::Open(const string16& text, ...@@ -89,7 +89,7 @@ bool BiDiLineIterator::Open(const string16& text,
return false; return false;
} }
ubidi_setPara(bidi_, text.data(), static_cast<int>(text.length()), ubidi_setPara(bidi_, reinterpret_cast<const UChar*>(text.data()), static_cast<int>(text.length()),
GetParagraphLevelForDirection(direction), nullptr, &error); GetParagraphLevelForDirection(direction), nullptr, &error);
return (U_SUCCESS(error)); return (U_SUCCESS(error));
} }
......
...@@ -57,9 +57,9 @@ bool BreakIterator::Init() { ...@@ -57,9 +57,9 @@ bool BreakIterator::Init() {
return false; return false;
} }
if (break_type_ == RULE_BASED) { if (break_type_ == RULE_BASED) {
iter_ = ubrk_openRules(rules_.c_str(), iter_ = ubrk_openRules(reinterpret_cast<const UChar*>(rules_.c_str()),
static_cast<int32_t>(rules_.length()), static_cast<int32_t>(rules_.length()),
string_.data(), reinterpret_cast<const UChar*>(string_.data()),
static_cast<int32_t>(string_.size()), static_cast<int32_t>(string_.size()),
&parse_error, &parse_error,
&status); &status);
...@@ -68,7 +68,7 @@ bool BreakIterator::Init() { ...@@ -68,7 +68,7 @@ bool BreakIterator::Init() {
<< parse_error.line << ", offset " << parse_error.offset; << parse_error.line << ", offset " << parse_error.offset;
} }
} else { } else {
iter_ = ubrk_open(break_type, nullptr, string_.data(), iter_ = ubrk_open(break_type, nullptr, reinterpret_cast<const UChar*>(string_.data()),
static_cast<int32_t>(string_.size()), &status); static_cast<int32_t>(string_.size()), &status);
if (U_FAILURE(status)) { if (U_FAILURE(status)) {
NOTREACHED() << "ubrk_open failed for type " << break_type NOTREACHED() << "ubrk_open failed for type " << break_type
...@@ -123,7 +123,7 @@ bool BreakIterator::Advance() { ...@@ -123,7 +123,7 @@ bool BreakIterator::Advance() {
bool BreakIterator::SetText(const base::char16* text, const size_t length) { bool BreakIterator::SetText(const base::char16* text, const size_t length) {
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
ubrk_setText(static_cast<UBreakIterator*>(iter_), ubrk_setText(static_cast<UBreakIterator*>(iter_),
text, length, &status); reinterpret_cast<const UChar*>(text), length, &status);
pos_ = 0; // implicit when ubrk_setText is done pos_ = 0; // implicit when ubrk_setText is done
prev_ = npos; prev_ = npos;
if (U_FAILURE(status)) { if (U_FAILURE(status)) {
......
...@@ -64,8 +64,8 @@ string16 CaseMap(StringPiece16 string, CaseMapperFunction case_mapper) { ...@@ -64,8 +64,8 @@ string16 CaseMap(StringPiece16 string, CaseMapperFunction case_mapper) {
// terminator, but will otherwise. So we don't need to save room for that. // terminator, but will otherwise. So we don't need to save room for that.
// Don't use WriteInto, which assumes null terminators. // Don't use WriteInto, which assumes null terminators.
int32_t new_length = case_mapper( int32_t new_length = case_mapper(
&dest[0], saturated_cast<int32_t>(dest.size()), reinterpret_cast<UChar*>(&dest[0]), saturated_cast<int32_t>(dest.size()),
string.data(), saturated_cast<int32_t>(string.size()), reinterpret_cast<const UChar*>(string.data()), saturated_cast<int32_t>(string.size()),
&error); &error);
dest.resize(new_length); dest.resize(new_length);
} while (error == U_BUFFER_OVERFLOW_ERROR); } while (error == U_BUFFER_OVERFLOW_ERROR);
......
...@@ -151,7 +151,7 @@ bool UTF16ToCodepage(const string16& utf16, ...@@ -151,7 +151,7 @@ bool UTF16ToCodepage(const string16& utf16,
if (!U_SUCCESS(status)) if (!U_SUCCESS(status))
return false; return false;
return ConvertFromUTF16(converter, utf16.c_str(), return ConvertFromUTF16(converter, reinterpret_cast<const UChar*>(utf16.c_str()),
static_cast<int>(utf16.length()), on_error, encoded); static_cast<int>(utf16.length()), on_error, encoded);
} }
...@@ -178,7 +178,7 @@ bool CodepageToUTF16(const std::string& encoded, ...@@ -178,7 +178,7 @@ bool CodepageToUTF16(const std::string& encoded,
SetUpErrorHandlerForToUChars(on_error, converter, &status); SetUpErrorHandlerForToUChars(on_error, converter, &status);
std::unique_ptr<char16[]> buffer(new char16[uchar_max_length]); std::unique_ptr<char16[]> buffer(new char16[uchar_max_length]);
int actual_size = ucnv_toUChars(converter, buffer.get(), int actual_size = ucnv_toUChars(converter, reinterpret_cast<UChar*>(buffer.get()),
static_cast<int>(uchar_max_length), encoded.data(), static_cast<int>(uchar_max_length), encoded.data(),
static_cast<int>(encoded.length()), &status); static_cast<int>(encoded.length()), &status);
ucnv_close(converter); ucnv_close(converter);
......
...@@ -212,7 +212,7 @@ TextDirection GetTextDirectionForLocale(const char* locale_name) { ...@@ -212,7 +212,7 @@ TextDirection GetTextDirectionForLocale(const char* locale_name) {
} }
TextDirection GetFirstStrongCharacterDirection(const string16& text) { TextDirection GetFirstStrongCharacterDirection(const string16& text) {
const UChar* string = text.c_str(); const UChar* string = reinterpret_cast<const UChar*>(text.c_str());
size_t length = text.length(); size_t length = text.length();
size_t position = 0; size_t position = 0;
while (position < length) { while (position < length) {
...@@ -228,7 +228,7 @@ TextDirection GetFirstStrongCharacterDirection(const string16& text) { ...@@ -228,7 +228,7 @@ TextDirection GetFirstStrongCharacterDirection(const string16& text) {
} }
TextDirection GetLastStrongCharacterDirection(const string16& text) { TextDirection GetLastStrongCharacterDirection(const string16& text) {
const UChar* string = text.c_str(); const UChar* string = reinterpret_cast<const UChar*>(text.c_str());
size_t position = text.length(); size_t position = text.length();
while (position > 0) { while (position > 0) {
UChar32 character; UChar32 character;
...@@ -243,7 +243,7 @@ TextDirection GetLastStrongCharacterDirection(const string16& text) { ...@@ -243,7 +243,7 @@ TextDirection GetLastStrongCharacterDirection(const string16& text) {
} }
TextDirection GetStringDirection(const string16& text) { TextDirection GetStringDirection(const string16& text) {
const UChar* string = text.c_str(); const UChar* string = reinterpret_cast<const UChar*>(text.c_str());
size_t length = text.length(); size_t length = text.length();
size_t position = 0; size_t position = 0;
...@@ -374,7 +374,7 @@ bool UnadjustStringForLocaleDirection(string16* text) { ...@@ -374,7 +374,7 @@ bool UnadjustStringForLocaleDirection(string16* text) {
#endif // !OS_WIN #endif // !OS_WIN
bool StringContainsStrongRTLChars(const string16& text) { bool StringContainsStrongRTLChars(const string16& text) {
const UChar* string = text.c_str(); const UChar* string = reinterpret_cast<const UChar*>(text.c_str());
size_t length = text.length(); size_t length = text.length();
size_t position = 0; size_t position = 0;
while (position < length) { while (position < length) {
......
...@@ -20,8 +20,9 @@ FixedPatternStringSearchIgnoringCaseAndAccents(const string16& find_this) ...@@ -20,8 +20,9 @@ FixedPatternStringSearchIgnoringCaseAndAccents(const string16& find_this)
const string16& dummy = find_this_; const string16& dummy = find_this_;
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
search_ = usearch_open(find_this_.data(), find_this_.size(), dummy.data(), search_ = usearch_open(reinterpret_cast<const UChar*>(find_this_.data()), find_this_.size(),
dummy.size(), uloc_getDefault(), reinterpret_cast<const UChar*>(dummy.data()), dummy.size(),
uloc_getDefault(),
nullptr, // breakiter nullptr, // breakiter
&status); &status);
if (U_SUCCESS(status)) { if (U_SUCCESS(status)) {
...@@ -40,7 +41,7 @@ FixedPatternStringSearchIgnoringCaseAndAccents:: ...@@ -40,7 +41,7 @@ FixedPatternStringSearchIgnoringCaseAndAccents::
bool FixedPatternStringSearchIgnoringCaseAndAccents::Search( bool FixedPatternStringSearchIgnoringCaseAndAccents::Search(
const string16& in_this, size_t* match_index, size_t* match_length) { const string16& in_this, size_t* match_index, size_t* match_length) {
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
usearch_setText(search_, in_this.data(), in_this.size(), &status); usearch_setText(search_, reinterpret_cast<const UChar *>(in_this.data()), in_this.size(), &status);
// Default to basic substring search if usearch fails. According to // Default to basic substring search if usearch fails. According to
// http://icu-project.org/apiref/icu4c/usearch_8h.html, usearch_open will fail // http://icu-project.org/apiref/icu4c/usearch_8h.html, usearch_open will fail
......
...@@ -18,7 +18,7 @@ namespace i18n { ...@@ -18,7 +18,7 @@ namespace i18n {
inline string16 UnicodeStringToString16(const icu::UnicodeString& unistr) { inline string16 UnicodeStringToString16(const icu::UnicodeString& unistr) {
#if U_ICU_VERSION_MAJOR_NUM >= 59 #if U_ICU_VERSION_MAJOR_NUM >= 59
return base::string16(icu::toUCharPtr(unistr.getBuffer()), return base::string16(reinterpret_cast<const char16*>(unistr.getBuffer()),
static_cast<size_t>(unistr.length())); static_cast<size_t>(unistr.length()));
#else #else
return base::string16(unistr.getBuffer(), return base::string16(unistr.getBuffer(),
......
...@@ -194,14 +194,14 @@ bool IDNSpoofChecker::SafeToDisplayAsUnicode(base::StringPiece16 label, ...@@ -194,14 +194,14 @@ bool IDNSpoofChecker::SafeToDisplayAsUnicode(base::StringPiece16 label,
bool is_tld_ascii) { bool is_tld_ascii) {
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
int32_t result = int32_t result =
uspoof_check(checker_, label.data(), uspoof_check(checker_, (const UChar*)label.data(),
base::checked_cast<int32_t>(label.size()), nullptr, &status); base::checked_cast<int32_t>(label.size()), nullptr, &status);
// If uspoof_check fails (due to library failure), or if any of the checks // If uspoof_check fails (due to library failure), or if any of the checks
// fail, treat the IDN as unsafe. // fail, treat the IDN as unsafe.
if (U_FAILURE(status) || (result & USPOOF_ALL_CHECKS)) if (U_FAILURE(status) || (result & USPOOF_ALL_CHECKS))
return false; return false;
icu::UnicodeString label_string(FALSE, label.data(), icu::UnicodeString label_string(FALSE, (const UChar*)label.data(),
base::checked_cast<int32_t>(label.size())); base::checked_cast<int32_t>(label.size()));
// A punycode label with 'xn--' prefix is not subject to the URL // A punycode label with 'xn--' prefix is not subject to the URL
......
...@@ -374,7 +374,7 @@ bool IDNToUnicodeOneComponent(const base::char16* comp, ...@@ -374,7 +374,7 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
// code units, |status| will be U_BUFFER_OVERFLOW_ERROR and we'll try // code units, |status| will be U_BUFFER_OVERFLOW_ERROR and we'll try
// the conversion again, but with a sufficiently large buffer. // the conversion again, but with a sufficiently large buffer.
output_length = uidna_labelToUnicode( output_length = uidna_labelToUnicode(
uidna, comp, static_cast<int32_t>(comp_len), &(*out)[original_length], uidna, (const UChar*)comp, static_cast<int32_t>(comp_len), (UChar*)&(*out)[original_length],
output_length, &info, &status); output_length, &info, &status);
} while ((status == U_BUFFER_OVERFLOW_ERROR && info.errors == 0)); } while ((status == U_BUFFER_OVERFLOW_ERROR && info.errors == 0));
......
...@@ -76,8 +76,7 @@ class TextRunCollection { ...@@ -76,8 +76,7 @@ class TextRunCollection {
} else { } else {
bidi_ = ubidi_open(); bidi_ = ubidi_open();
UErrorCode uerror = U_ZERO_ERROR; UErrorCode uerror = U_ZERO_ERROR;
ubidi_setPara(bidi_, text_.data(), text_.size(), run.rtl, nullptr, ubidi_setPara(bidi_, reinterpret_cast<const UChar*>(text_.data()), text_.size(), run.rtl, nullptr, &uerror);
&uerror);
if (U_SUCCESS(uerror)) if (U_SUCCESS(uerror))
num_runs_ = ubidi_countRuns(bidi_, &uerror); num_runs_ = ubidi_countRuns(bidi_, &uerror);
} }
......
...@@ -59,10 +59,10 @@ void PDFResource::SearchString(const unsigned short* input_string, ...@@ -59,10 +59,10 @@ void PDFResource::SearchString(const unsigned short* input_string,
uint32_t* count) { uint32_t* count) {
if (locale_.empty()) if (locale_.empty())
locale_ = GetLocale(); locale_ = GetLocale();
const base::char16* string = const UChar* string =
reinterpret_cast<const base::char16*>(input_string); reinterpret_cast<const UChar*>(input_string);
const base::char16* term = const UChar* term =
reinterpret_cast<const base::char16*>(input_term); reinterpret_cast<const UChar*>(input_term);
UErrorCode status = U_ZERO_ERROR; UErrorCode status = U_ZERO_ERROR;
UStringSearch* searcher = usearch_open(term, -1, string, -1, locale_.c_str(), UStringSearch* searcher = usearch_open(term, -1, string, -1, locale_.c_str(),
......
...@@ -51,7 +51,7 @@ static bool ResolveRelative(const KURL& base, ...@@ -51,7 +51,7 @@ static bool ResolveRelative(const KURL& base,
relative_utf8.Data(), relative_utf8.length(), nullptr, buffer, &parsed); relative_utf8.Data(), relative_utf8.length(), nullptr, buffer, &parsed);
} }
return url::ResolveRelative(base_utf8.Data(), base_utf8.length(), return url::ResolveRelative(base_utf8.Data(), base_utf8.length(),
base.GetParsed(), relative.Characters16(), base.GetParsed(), (const base::char16*)relative.Characters16(),
relative.length(), nullptr, buffer, &parsed); relative.length(), nullptr, buffer, &parsed);
} }
......
...@@ -19,7 +19,7 @@ base::FilePath WebStringToFilePath(const WebString& web_string) { ...@@ -19,7 +19,7 @@ base::FilePath WebStringToFilePath(const WebString& web_string) {
String str = web_string; String str = web_string;
if (!str.Is8Bit()) { if (!str.Is8Bit()) {
return base::FilePath::FromUTF16Unsafe( return base::FilePath::FromUTF16Unsafe(
base::StringPiece16(str.Characters16(), str.length())); base::StringPiece16((const base::char16*)str.Characters16(), str.length()));
} }
#if defined(OS_POSIX) #if defined(OS_POSIX)
......
...@@ -23,7 +23,7 @@ GURL WebStringToGURL(const WebString& web_string) { ...@@ -23,7 +23,7 @@ GURL WebStringToGURL(const WebString& web_string) {
} }
// GURL can consume UTF-16 directly. // GURL can consume UTF-16 directly.
return GURL(base::StringPiece16(str.Characters16(), str.length())); return GURL(base::StringPiece16((const base::char16*)str.Characters16(), str.length()));
} }
} // namespace blink } // namespace blink
...@@ -58,7 +58,7 @@ WebString& WebString::operator=(const WebString&) = default; ...@@ -58,7 +58,7 @@ WebString& WebString::operator=(const WebString&) = default;
WebString& WebString::operator=(WebString&&) = default; WebString& WebString::operator=(WebString&&) = default;
WebString::WebString(const WebUChar* data, size_t len) WebString::WebString(const WebUChar* data, size_t len)
: impl_(StringImpl::Create8BitIfPossible(data, len)) {} : impl_(StringImpl::Create8BitIfPossible((const UChar*)data, len)) {}
void WebString::Reset() { void WebString::Reset() {
impl_ = nullptr; impl_ = nullptr;
...@@ -77,7 +77,7 @@ const WebLChar* WebString::Data8() const { ...@@ -77,7 +77,7 @@ const WebLChar* WebString::Data8() const {
} }
const WebUChar* WebString::Data16() const { const WebUChar* WebString::Data16() const {
return impl_ && !Is8Bit() ? impl_->Characters16() : nullptr; return impl_ && !Is8Bit() ? (const WebUChar*)impl_->Characters16() : nullptr;
} }
std::string WebString::Utf8(UTF8ConversionMode mode) const { std::string WebString::Utf8(UTF8ConversionMode mode) const {
......
...@@ -528,7 +528,7 @@ String StringForUTF32LEText(const void* text, size_t byte_length) { ...@@ -528,7 +528,7 @@ String StringForUTF32LEText(const void* text, size_t byte_length) {
utf16 = icu::UnicodeString::fromUTF32(reinterpret_cast<const UChar32*>(text), utf16 = icu::UnicodeString::fromUTF32(reinterpret_cast<const UChar32*>(text),
static_cast<int32_t>(byte_length)); static_cast<int32_t>(byte_length));
#endif #endif
return String(icu::toUCharPtr(utf16.getBuffer()), return String(utf16.getBuffer(),
static_cast<unsigned>(utf16.length())); static_cast<unsigned>(utf16.length()));
} }
......
...@@ -105,7 +105,7 @@ class KURLCharsetConverter final : public url::CharsetConverter { ...@@ -105,7 +105,7 @@ class KURLCharsetConverter final : public url::CharsetConverter {
int input_length, int input_length,
url::CanonOutput* output) override { url::CanonOutput* output) override {
CString encoded = encoding_->Encode( CString encoded = encoding_->Encode(
String(input, input_length), WTF::kURLEncodedEntitiesForUnencodables); String((const UChar*)input, input_length), WTF::kURLEncodedEntitiesForUnencodables);
output->Append(encoded.data(), static_cast<int>(encoded.length())); output->Append(encoded.data(), static_cast<int>(encoded.length()));
} }
...@@ -335,7 +335,7 @@ String KURL::LastPathComponent() const { ...@@ -335,7 +335,7 @@ String KURL::LastPathComponent() const {
if (string_.Is8Bit()) if (string_.Is8Bit())
url::ExtractFileName(AsURLChar8Subtle(string_), path, &file); url::ExtractFileName(AsURLChar8Subtle(string_), path, &file);
else else
url::ExtractFileName(string_.Characters16(), path, &file); url::ExtractFileName((const base::char16*)string_.Characters16(), path, &file);
// Bug: https://bugs.webkit.org/show_bug.cgi?id=21015 this function returns // Bug: https://bugs.webkit.org/show_bug.cgi?id=21015 this function returns
// a null string when the path is empty, which we duplicate here. // a null string when the path is empty, which we duplicate here.
...@@ -365,7 +365,7 @@ unsigned short KURL::Port() const { ...@@ -365,7 +365,7 @@ unsigned short KURL::Port() const {
DCHECK(!string_.IsNull()); DCHECK(!string_.IsNull());
int port = string_.Is8Bit() int port = string_.Is8Bit()
? url::ParsePort(AsURLChar8Subtle(string_), parsed_.port) ? url::ParsePort(AsURLChar8Subtle(string_), parsed_.port)
: url::ParsePort(string_.Characters16(), parsed_.port); : url::ParsePort((const base::char16*)string_.Characters16(), parsed_.port);
DCHECK_NE(port, url::PORT_UNSPECIFIED); // Checked port.len <= 0 before. DCHECK_NE(port, url::PORT_UNSPECIFIED); // Checked port.len <= 0 before.
if (port == url::PORT_INVALID || if (port == url::PORT_INVALID ||
...@@ -658,7 +658,7 @@ bool KURL::IsHierarchical() const { ...@@ -658,7 +658,7 @@ bool KURL::IsHierarchical() const {
return false; return false;
return string_.Is8Bit() return string_.Is8Bit()
? url::IsStandard(AsURLChar8Subtle(string_), parsed_.scheme) ? url::IsStandard(AsURLChar8Subtle(string_), parsed_.scheme)
: url::IsStandard(string_.Characters16(), parsed_.scheme); : url::IsStandard((const base::char16*)string_.Characters16(), parsed_.scheme);
} }
bool EqualIgnoringFragmentIdentifier(const KURL& a, const KURL& b) { bool EqualIgnoringFragmentIdentifier(const KURL& a, const KURL& b) {
...@@ -711,7 +711,7 @@ unsigned KURL::PathAfterLastSlash() const { ...@@ -711,7 +711,7 @@ unsigned KURL::PathAfterLastSlash() const {
if (string_.Is8Bit()) if (string_.Is8Bit())
url::ExtractFileName(AsURLChar8Subtle(string_), parsed_.path, &filename); url::ExtractFileName(AsURLChar8Subtle(string_), parsed_.path, &filename);
else else
url::ExtractFileName(string_.Characters16(), parsed_.path, &filename); url::ExtractFileName((const base::char16*)string_.Characters16(), parsed_.path, &filename);
return filename.begin; return filename.begin;
} }
...@@ -725,7 +725,7 @@ bool ProtocolIs(const String& url, const char* protocol) { ...@@ -725,7 +725,7 @@ bool ProtocolIs(const String& url, const char* protocol) {
return url::FindAndCompareScheme(AsURLChar8Subtle(url), url.length(), return url::FindAndCompareScheme(AsURLChar8Subtle(url), url.length(),
protocol, nullptr); protocol, nullptr);
} }
return url::FindAndCompareScheme(url.Characters16(), url.length(), protocol, return url::FindAndCompareScheme((const base::char16*)url.Characters16(), url.length(), protocol,
nullptr); nullptr);
} }
...@@ -758,7 +758,7 @@ void KURL::Init(const KURL& base, ...@@ -758,7 +758,7 @@ void KURL::Init(const KURL& base,
charset_converter, &output, &parsed_); charset_converter, &output, &parsed_);
} else { } else {
is_valid_ = url::ResolveRelative(base_utf8.Data(), base_utf8.length(), is_valid_ = url::ResolveRelative(base_utf8.Data(), base_utf8.length(),
base.parsed_, relative.Characters16(), base.parsed_, (const base::char16*)relative.Characters16(),
clampTo<int>(relative.length()), clampTo<int>(relative.length()),
charset_converter, &output, &parsed_); charset_converter, &output, &parsed_);
} }
......
...@@ -646,7 +646,7 @@ String SecurityOrigin::CanonicalizeHost(const String& host, bool* success) { ...@@ -646,7 +646,7 @@ String SecurityOrigin::CanonicalizeHost(const String& host, bool* success) {
url::CanonicalizeHost(utf8.Data(), url::Component(0, utf8.length()), url::CanonicalizeHost(utf8.Data(), url::Component(0, utf8.length()),
&canon_output, &out_host); &canon_output, &out_host);
} else { } else {
*success = url::CanonicalizeHost(host.Characters16(), *success = url::CanonicalizeHost(reinterpret_cast<const base::char16 *>(host.Characters16()),
url::Component(0, host.length()), url::Component(0, host.length()),
&canon_output, &out_host); &canon_output, &out_host);
} }
......
...@@ -66,8 +66,10 @@ class WTF_EXPORT AtomicString { ...@@ -66,8 +66,10 @@ class WTF_EXPORT AtomicString {
AtomicString(const LChar* chars, unsigned length); AtomicString(const LChar* chars, unsigned length);
AtomicString(const UChar* chars, unsigned length); AtomicString(const UChar* chars, unsigned length);
AtomicString(const UChar* chars); AtomicString(const UChar* chars);
#if (U_ICU_VERSION_MAJOR_NUM < 59) || !defined(USING_SYSTEM_ICU)
AtomicString(const char16_t* chars) AtomicString(const char16_t* chars)
: AtomicString(reinterpret_cast<const UChar*>(chars)) {} : AtomicString(reinterpret_cast<const UChar*>(chars)) {}
#endif
template <size_t inlineCapacity> template <size_t inlineCapacity>
explicit AtomicString(const Vector<UChar, inlineCapacity>& vector) explicit AtomicString(const Vector<UChar, inlineCapacity>& vector)
......