Bug 1390036 (part 2) - Remove nsXPIDLString use from NullString(). r=dbaron.

This requires adding a new constructor for ns[C]String that can be used to
create an IsVoid string.

--HG--
extra : rebase_source : 8cb078bd0a41e63af0d9d144b9eef369875a05e0
This commit is contained in:
Nicholas Nethercote 2017-08-14 14:46:53 +10:00
Родитель a83fefd956
Коммит 64c9cd5e75
5 изменённых файлов: 13 добавлений и 1 удалений

Просмотреть файл

@ -1278,7 +1278,7 @@ EmptyCString()
const nsString&
NullString()
{
static const nsXPIDLString sNull;
static const nsString sNull(mozilla::detail::StringDataFlags::VOIDED);
return sNull;
}

Просмотреть файл

@ -462,6 +462,15 @@ protected:
{
}
friend const nsTString_CharT& TNullString_CharT();
// Used by Null[C]String.
explicit nsTString_CharT(DataFlags aDataFlags)
: substring_type(char_traits::sEmptyBuffer, 0,
aDataFlags | DataFlags::TERMINATED,
ClassFlags::NULL_TERMINATED)
{}
struct Segment {
uint32_t mBegin, mLength;
Segment(uint32_t aBegin, uint32_t aLength)

Просмотреть файл

@ -25,3 +25,4 @@
#define nsTPromiseFlatString_CharT nsPromiseFlatCString
#define TPromiseFlatString_CharT PromiseFlatCString
#define nsTSubstringSplitter_CharT nsCSubstringSplitter
#define TNullString_CharT NullCString

Просмотреть файл

@ -25,3 +25,4 @@
#define nsTPromiseFlatString_CharT nsPromiseFlatString
#define TPromiseFlatString_CharT PromiseFlatString
#define nsTSubstringSplitter_CharT nsSubstringSplitter
#define TNullString_CharT NullString

Просмотреть файл

@ -26,3 +26,4 @@
#undef nsTPromiseFlatString_CharT
#undef TPromiseFlatString_CharT
#undef nsTSubstringSplitter_CharT
#undef TNullString_CharT