Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron

There's an antipattern where nsLiteralString is used as an unnecessary intermediary in converting from CharT* to CharT*,
e.g. CallAFunctionThatTakesACharPointer(NS_LITERAL_CSTRING("foo").get());
or
NS_NAMED_LITERAL_STRING(foo, "abc");
CallAFunctionThatTakesACharPointer(foo.get());

This patch rewrites the callsites that can be trivially changed to use char*/char16_t*.

I'd somewhat like to remove nsTLiteralString::get() altogether, but in code that's less straightforward than these examples, get() is useful enough to keep.

MozReview-Commit-ID: Kh1rUziVllo
This commit is contained in:
David Major
2017-03-14 15:26:27 +13:00
parent 00793fc67c
commit a660713d2b
27 changed files with 82 additions and 108 deletions

View File

@@ -151,9 +151,9 @@ static nsresult
GetRegWindowsAppDataFolder(bool aLocal, nsIFile** aFile)
{
HKEY key;
NS_NAMED_LITERAL_STRING(keyName,
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders");
DWORD res = ::RegOpenKeyExW(HKEY_CURRENT_USER, keyName.get(), 0, KEY_READ,
LPCWSTR keyName =
L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders";
DWORD res = ::RegOpenKeyExW(HKEY_CURRENT_USER, keyName, 0, KEY_READ,
&key);
if (res != ERROR_SUCCESS) {
return NS_ERROR_FAILURE;