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

@@ -166,14 +166,14 @@ nsWindowsShellService::ShortcutMaintenance()
if (NS_FAILED(taskbarInfo->GetDefaultGroupId(appId))) if (NS_FAILED(taskbarInfo->GetDefaultGroupId(appId)))
return NS_ERROR_UNEXPECTED; return NS_ERROR_UNEXPECTED;
NS_NAMED_LITERAL_CSTRING(prefName, "browser.taskbar.lastgroupid"); const char* prefName = "browser.taskbar.lastgroupid";
nsCOMPtr<nsIPrefBranch> prefs = nsCOMPtr<nsIPrefBranch> prefs =
do_GetService(NS_PREFSERVICE_CONTRACTID); do_GetService(NS_PREFSERVICE_CONTRACTID);
if (!prefs) if (!prefs)
return NS_ERROR_UNEXPECTED; return NS_ERROR_UNEXPECTED;
nsCOMPtr<nsISupportsString> prefString; nsCOMPtr<nsISupportsString> prefString;
rv = prefs->GetComplexValue(prefName.get(), rv = prefs->GetComplexValue(prefName,
NS_GET_IID(nsISupportsString), NS_GET_IID(nsISupportsString),
getter_AddRefs(prefString)); getter_AddRefs(prefString));
if (NS_SUCCEEDED(rv)) { if (NS_SUCCEEDED(rv)) {
@@ -191,7 +191,7 @@ nsWindowsShellService::ShortcutMaintenance()
return rv; return rv;
prefString->SetData(appId); prefString->SetData(appId);
rv = prefs->SetComplexValue(prefName.get(), rv = prefs->SetComplexValue(prefName,
NS_GET_IID(nsISupportsString), NS_GET_IID(nsISupportsString),
prefString); prefString);
if (NS_FAILED(rv)) { if (NS_FAILED(rv)) {

View File

@@ -1632,11 +1632,11 @@ nsJSContext::EndCycleCollectionCallback(CycleCollectorResults &aResults)
gcMsg.AssignLiteral(", forced a GC"); gcMsg.AssignLiteral(", forced a GC");
} }
NS_NAMED_LITERAL_STRING(kFmt, const char16_t *kFmt =
u"CC(T+%.1f)[%s-%i] max pause: %lums, total time: %lums, slices: %lu, suspected: %lu, visited: %lu RCed and %lu%s GCed, collected: %lu RCed and %lu GCed (%lu|%lu|%lu waiting for GC)%s\n" u"CC(T+%.1f)[%s-%i] max pause: %lums, total time: %lums, slices: %lu, suspected: %lu, visited: %lu RCed and %lu%s GCed, collected: %lu RCed and %lu GCed (%lu|%lu|%lu waiting for GC)%s\n"
u"ForgetSkippable %lu times before CC, min: %lu ms, max: %lu ms, avg: %lu ms, total: %lu ms, max sync: %lu ms, removed: %lu"); u"ForgetSkippable %lu times before CC, min: %lu ms, max: %lu ms, avg: %lu ms, total: %lu ms, max sync: %lu ms, removed: %lu";
nsString msg; nsString msg;
msg.Adopt(nsTextFormatter::smprintf(kFmt.get(), double(delta) / PR_USEC_PER_SEC, msg.Adopt(nsTextFormatter::smprintf(kFmt, double(delta) / PR_USEC_PER_SEC,
ProcessNameForCollectorLog(), getpid(), ProcessNameForCollectorLog(), getpid(),
gCCStats.mMaxSliceTime, gCCStats.mTotalSliceTime, gCCStats.mMaxSliceTime, gCCStats.mTotalSliceTime,
aResults.mNumSlices, gCCStats.mSuspected, aResults.mNumSlices, gCCStats.mSuspected,
@@ -1664,7 +1664,7 @@ nsJSContext::EndCycleCollectionCallback(CycleCollectorResults &aResults)
} }
if (sPostGCEventsToObserver) { if (sPostGCEventsToObserver) {
NS_NAMED_LITERAL_STRING(kJSONFmt, const char16_t* kJSONFmt =
u"{ \"timestamp\": %llu, " u"{ \"timestamp\": %llu, "
u"\"duration\": %lu, " u"\"duration\": %lu, "
u"\"max_slice_pause\": %lu, " u"\"max_slice_pause\": %lu, "
@@ -1689,10 +1689,10 @@ nsJSContext::EndCycleCollectionCallback(CycleCollectorResults &aResults)
u"\"avg\": %lu, " u"\"avg\": %lu, "
u"\"total\": %lu, " u"\"total\": %lu, "
u"\"removed\": %lu } " u"\"removed\": %lu } "
u"}"); u"}";
nsString json; nsString json;
json.Adopt(nsTextFormatter::smprintf(kJSONFmt.get(), PR_Now(), ccNowDuration, json.Adopt(nsTextFormatter::smprintf(kJSONFmt, PR_Now(), ccNowDuration,
gCCStats.mMaxSliceTime, gCCStats.mMaxSliceTime,
gCCStats.mTotalSliceTime, gCCStats.mTotalSliceTime,
gCCStats.mMaxGCDuration, gCCStats.mMaxGCDuration,
@@ -2139,10 +2139,9 @@ DOMGCSliceCallback(JSContext* aCx, JS::GCProgress aProgress, const JS::GCDescrip
PRTime delta = GetCollectionTimeDelta(); PRTime delta = GetCollectionTimeDelta();
if (sPostGCEventsToConsole) { if (sPostGCEventsToConsole) {
NS_NAMED_LITERAL_STRING(kFmt, "GC(T+%.1f)[%s-%i] ");
nsString prefix, gcstats; nsString prefix, gcstats;
gcstats.Adopt(aDesc.formatSummaryMessage(aCx)); gcstats.Adopt(aDesc.formatSummaryMessage(aCx));
prefix.Adopt(nsTextFormatter::smprintf(kFmt.get(), prefix.Adopt(nsTextFormatter::smprintf(u"GC(T+%.1f)[%s-%i] ",
double(delta) / PR_USEC_PER_SEC, double(delta) / PR_USEC_PER_SEC,
ProcessNameForCollectorLog(), ProcessNameForCollectorLog(),
getpid())); getpid()));
@@ -2223,10 +2222,9 @@ DOMGCSliceCallback(JSContext* aCx, JS::GCProgress aProgress, const JS::GCDescrip
} }
if (sPostGCEventsToConsole) { if (sPostGCEventsToConsole) {
NS_NAMED_LITERAL_STRING(kFmt, "[%s-%i] ");
nsString prefix, gcstats; nsString prefix, gcstats;
gcstats.Adopt(aDesc.formatSliceMessage(aCx)); gcstats.Adopt(aDesc.formatSliceMessage(aCx));
prefix.Adopt(nsTextFormatter::smprintf(kFmt.get(), prefix.Adopt(nsTextFormatter::smprintf(u"[%s-%i] ",
ProcessNameForCollectorLog(), ProcessNameForCollectorLog(),
getpid())); getpid()));
nsString msg = prefix + gcstats; nsString msg = prefix + gcstats;

View File

@@ -585,8 +585,7 @@ ImageDocument::OnLoadComplete(imgIRequest* aRequest, nsresult aStatus)
NS_ConvertUTF8toUTF16 srcString(src); NS_ConvertUTF8toUTF16 srcString(src);
const char16_t* formatString[] = { srcString.get() }; const char16_t* formatString[] = { srcString.get() };
nsXPIDLString errorMsg; nsXPIDLString errorMsg;
NS_NAMED_LITERAL_STRING(str, "InvalidImage"); mStringBundle->FormatStringFromName(u"InvalidImage", formatString, 1,
mStringBundle->FormatStringFromName(str.get(), formatString, 1,
getter_Copies(errorMsg)); getter_Copies(errorMsg));
mImageContent->SetAttr(kNameSpaceID_None, nsGkAtoms::alt, errorMsg, false); mImageContent->SetAttr(kNameSpaceID_None, nsGkAtoms::alt, errorMsg, false);

View File

@@ -418,8 +418,7 @@ MediaDocument::UpdateTitleAndCharset(const nsACString& aTypeStr,
nsXPIDLString titleWithStatus; nsXPIDLString titleWithStatus;
const nsPromiseFlatString& status = PromiseFlatString(aStatus); const nsPromiseFlatString& status = PromiseFlatString(aStatus);
const char16_t *formatStrings[2] = {title.get(), status.get()}; const char16_t *formatStrings[2] = {title.get(), status.get()};
NS_NAMED_LITERAL_STRING(fmtName, "TitleWithStatus"); mStringBundle->FormatStringFromName(u"TitleWithStatus", formatStrings, 2,
mStringBundle->FormatStringFromName(fmtName.get(), formatStrings, 2,
getter_Copies(titleWithStatus)); getter_Copies(titleWithStatus));
SetTitle(titleWithStatus); SetTitle(titleWithStatus);
} }

View File

@@ -124,12 +124,12 @@ PowerManagerService::SyncProfile()
{ {
nsCOMPtr<nsIObserverService> obsServ = services::GetObserverService(); nsCOMPtr<nsIObserverService> obsServ = services::GetObserverService();
if (obsServ) { if (obsServ) {
NS_NAMED_LITERAL_STRING(context, "shutdown-persist"); const char16_t* context = u"shutdown-persist";
obsServ->NotifyObservers(nullptr, "profile-change-net-teardown", context.get()); obsServ->NotifyObservers(nullptr, "profile-change-net-teardown", context);
obsServ->NotifyObservers(nullptr, "profile-change-teardown", context.get()); obsServ->NotifyObservers(nullptr, "profile-change-teardown", context);
obsServ->NotifyObservers(nullptr, "profile-before-change", context.get()); obsServ->NotifyObservers(nullptr, "profile-before-change", context);
obsServ->NotifyObservers(nullptr, "profile-before-change-qm", context.get()); obsServ->NotifyObservers(nullptr, "profile-before-change-qm", context);
obsServ->NotifyObservers(nullptr, "profile-before-change-telemetry", context.get()); obsServ->NotifyObservers(nullptr, "profile-before-change-telemetry", context);
} }
} }

View File

@@ -1116,7 +1116,7 @@ nsCSPParser::directiveName()
// if we have a frame-src, cache it so we can decide whether to use child-src // if we have a frame-src, cache it so we can decide whether to use child-src
if (CSP_IsDirective(mCurToken, nsIContentSecurityPolicy::FRAME_SRC_DIRECTIVE)) { if (CSP_IsDirective(mCurToken, nsIContentSecurityPolicy::FRAME_SRC_DIRECTIVE)) {
const char16_t* params[] = { mCurToken.get(), NS_LITERAL_STRING("child-src").get() }; const char16_t* params[] = { mCurToken.get(), u"child-src" };
logWarningErrorToConsole(nsIScriptError::warningFlag, "deprecatedDirective", logWarningErrorToConsole(nsIScriptError::warningFlag, "deprecatedDirective",
params, ArrayLength(params)); params, ArrayLength(params));
mFrameSrc = new nsCSPDirective(CSP_StringToCSPDirective(mCurToken)); mFrameSrc = new nsCSPDirective(CSP_StringToCSPDirective(mCurToken));

View File

@@ -2588,11 +2588,10 @@ XMLHttpRequestMainThread::InitiateFetch(nsIInputStream* aUploadStream,
nsCOMPtr<nsIConsoleService> consoleService = nsCOMPtr<nsIConsoleService> consoleService =
do_GetService(NS_CONSOLESERVICE_CONTRACTID); do_GetService(NS_CONSOLESERVICE_CONTRACTID);
if (consoleService) { if (consoleService) {
consoleService->LogStringMessage(NS_LITERAL_STRING( consoleService->LogStringMessage(
"Http channel implementation doesn't support nsIUploadChannel2. " u"Http channel implementation doesn't support nsIUploadChannel2. "
"An extension has supplied a non-functional http protocol handler. " "An extension has supplied a non-functional http protocol handler. "
"This will break behavior and in future releases not work at all." "This will break behavior and in future releases not work at all.");
).get());
} }
} }

View File

@@ -193,7 +193,7 @@ nsPageFrame::ProcessSpecialCodes(const nsString& aStr, nsString& aNewStr)
// then subst in the current date/time // then subst in the current date/time
NS_NAMED_LITERAL_STRING(kDate, "&D"); NS_NAMED_LITERAL_STRING(kDate, "&D");
if (aStr.Find(kDate) != kNotFound) { if (aStr.Find(kDate) != kNotFound) {
aNewStr.ReplaceSubstring(kDate.get(), mPD->mDateTimeStr.get()); aNewStr.ReplaceSubstring(kDate, mPD->mDateTimeStr);
} }
// NOTE: Must search for &PT before searching for &P // NOTE: Must search for &PT before searching for &P
@@ -204,7 +204,7 @@ nsPageFrame::ProcessSpecialCodes(const nsString& aStr, nsString& aNewStr)
NS_NAMED_LITERAL_STRING(kPageAndTotal, "&PT"); NS_NAMED_LITERAL_STRING(kPageAndTotal, "&PT");
if (aStr.Find(kPageAndTotal) != kNotFound) { if (aStr.Find(kPageAndTotal) != kNotFound) {
char16_t * uStr = nsTextFormatter::smprintf(mPD->mPageNumAndTotalsFormat.get(), mPageNum, mTotNumPages); char16_t * uStr = nsTextFormatter::smprintf(mPD->mPageNumAndTotalsFormat.get(), mPageNum, mTotNumPages);
aNewStr.ReplaceSubstring(kPageAndTotal.get(), uStr); aNewStr.ReplaceSubstring(kPageAndTotal, nsDependentString(uStr));
free(uStr); free(uStr);
} }
@@ -213,24 +213,24 @@ nsPageFrame::ProcessSpecialCodes(const nsString& aStr, nsString& aNewStr)
NS_NAMED_LITERAL_STRING(kPage, "&P"); NS_NAMED_LITERAL_STRING(kPage, "&P");
if (aStr.Find(kPage) != kNotFound) { if (aStr.Find(kPage) != kNotFound) {
char16_t * uStr = nsTextFormatter::smprintf(mPD->mPageNumFormat.get(), mPageNum); char16_t * uStr = nsTextFormatter::smprintf(mPD->mPageNumFormat.get(), mPageNum);
aNewStr.ReplaceSubstring(kPage.get(), uStr); aNewStr.ReplaceSubstring(kPage, nsDependentString(uStr));
free(uStr); free(uStr);
} }
NS_NAMED_LITERAL_STRING(kTitle, "&T"); NS_NAMED_LITERAL_STRING(kTitle, "&T");
if (aStr.Find(kTitle) != kNotFound) { if (aStr.Find(kTitle) != kNotFound) {
aNewStr.ReplaceSubstring(kTitle.get(), mPD->mDocTitle.get()); aNewStr.ReplaceSubstring(kTitle, mPD->mDocTitle);
} }
NS_NAMED_LITERAL_STRING(kDocURL, "&U"); NS_NAMED_LITERAL_STRING(kDocURL, "&U");
if (aStr.Find(kDocURL) != kNotFound) { if (aStr.Find(kDocURL) != kNotFound) {
aNewStr.ReplaceSubstring(kDocURL.get(), mPD->mDocURL.get()); aNewStr.ReplaceSubstring(kDocURL, mPD->mDocURL);
} }
NS_NAMED_LITERAL_STRING(kPageTotal, "&L"); NS_NAMED_LITERAL_STRING(kPageTotal, "&L");
if (aStr.Find(kPageTotal) != kNotFound) { if (aStr.Find(kPageTotal) != kNotFound) {
char16_t * uStr = nsTextFormatter::smprintf(mPD->mPageNumFormat.get(), mTotNumPages); char16_t * uStr = nsTextFormatter::smprintf(mPD->mPageNumFormat.get(), mTotNumPages);
aNewStr.ReplaceSubstring(kPageTotal.get(), uStr); aNewStr.ReplaceSubstring(kPageTotal, nsDependentString(uStr));
free(uStr); free(uStr);
} }
} }

View File

@@ -85,12 +85,10 @@ public:
PeerConnectionCtx::gPeerConnectionCtxObserver = nullptr; PeerConnectionCtx::gPeerConnectionCtxObserver = nullptr;
} }
if (strcmp(aTopic, NS_IOSERVICE_OFFLINE_STATUS_TOPIC) == 0) { if (strcmp(aTopic, NS_IOSERVICE_OFFLINE_STATUS_TOPIC) == 0) {
const nsLiteralString onlineString(u"" NS_IOSERVICE_ONLINE); if (NS_strcmp(aData, u"" NS_IOSERVICE_OFFLINE) == 0) {
const nsLiteralString offlineString(u"" NS_IOSERVICE_OFFLINE);
if (NS_strcmp(aData, offlineString.get()) == 0) {
CSFLogDebug(logTag, "Updating network state to offline"); CSFLogDebug(logTag, "Updating network state to offline");
PeerConnectionCtx::UpdateNetworkState(false); PeerConnectionCtx::UpdateNetworkState(false);
} else if(NS_strcmp(aData, onlineString.get()) == 0) { } else if(NS_strcmp(aData, u"" NS_IOSERVICE_ONLINE) == 0) {
CSFLogDebug(logTag, "Updating network state to online"); CSFLogDebug(logTag, "Updating network state to online");
PeerConnectionCtx::UpdateNetworkState(true); PeerConnectionCtx::UpdateNetworkState(true);
} else { } else {

View File

@@ -834,9 +834,10 @@ nsIOService::NewChannelFromURIWithProxyFlagsInternal(nsIURI* aURI,
nsCOMPtr<nsIConsoleService> consoleService = nsCOMPtr<nsIConsoleService> consoleService =
do_GetService(NS_CONSOLESERVICE_CONTRACTID); do_GetService(NS_CONSOLESERVICE_CONTRACTID);
if (consoleService) { if (consoleService) {
consoleService->LogStringMessage(NS_LITERAL_STRING( consoleService->LogStringMessage(u"Http channel implementation "
"Http channel implementation doesn't support nsIUploadChannel2. An extension has supplied a non-functional http protocol handler. This will break behavior and in future releases not work at all." "doesn't support nsIUploadChannel2. An extension has "
).get()); "supplied a non-functional http protocol handler. This will "
"break behavior and in future releases not work at all.");
} }
gHasWarnedUploadChannel2 = true; gHasWarnedUploadChannel2 = true;
} }
@@ -1062,14 +1063,13 @@ nsIOService::SetOffline(bool offline)
offline = mSetOfflineValue; offline = mSetOfflineValue;
if (offline && !mOffline) { if (offline && !mOffline) {
NS_NAMED_LITERAL_STRING(offlineString, NS_IOSERVICE_OFFLINE);
mOffline = true; // indicate we're trying to shutdown mOffline = true; // indicate we're trying to shutdown
// don't care if notifications fail // don't care if notifications fail
if (observerService) if (observerService)
observerService->NotifyObservers(subject, observerService->NotifyObservers(subject,
NS_IOSERVICE_GOING_OFFLINE_TOPIC, NS_IOSERVICE_GOING_OFFLINE_TOPIC,
offlineString.get()); u"" NS_IOSERVICE_OFFLINE);
if (mSocketTransportService) if (mSocketTransportService)
mSocketTransportService->SetOffline(true); mSocketTransportService->SetOffline(true);
@@ -1078,7 +1078,7 @@ nsIOService::SetOffline(bool offline)
if (observerService) if (observerService)
observerService->NotifyObservers(subject, observerService->NotifyObservers(subject,
NS_IOSERVICE_OFFLINE_STATUS_TOPIC, NS_IOSERVICE_OFFLINE_STATUS_TOPIC,
offlineString.get()); u"" NS_IOSERVICE_OFFLINE);
} }
else if (!offline && mOffline) { else if (!offline && mOffline) {
// go online // go online
@@ -1193,13 +1193,12 @@ nsIOService::SetConnectivityInternal(bool aConnectivity)
} else { } else {
// If we were previously online and lost connectivity // If we were previously online and lost connectivity
// send the OFFLINE notification // send the OFFLINE notification
const nsLiteralString offlineString(u"" NS_IOSERVICE_OFFLINE);
observerService->NotifyObservers(static_cast<nsIIOService *>(this), observerService->NotifyObservers(static_cast<nsIIOService *>(this),
NS_IOSERVICE_GOING_OFFLINE_TOPIC, NS_IOSERVICE_GOING_OFFLINE_TOPIC,
offlineString.get()); u"" NS_IOSERVICE_OFFLINE);
observerService->NotifyObservers(static_cast<nsIIOService *>(this), observerService->NotifyObservers(static_cast<nsIIOService *>(this),
NS_IOSERVICE_OFFLINE_STATUS_TOPIC, NS_IOSERVICE_OFFLINE_STATUS_TOPIC,
offlineString.get()); u"" NS_IOSERVICE_OFFLINE);
} }
return NS_OK; return NS_OK;
} }

View File

@@ -946,10 +946,9 @@ nsFtpState::R_syst() {
char16_t* ucs2Response = ToNewUnicode(mResponseMsg); char16_t* ucs2Response = ToNewUnicode(mResponseMsg);
const char16_t *formatStrings[1] = { ucs2Response }; const char16_t *formatStrings[1] = { ucs2Response };
NS_NAMED_LITERAL_STRING(name, "UnsupportedFTPServer");
nsXPIDLString formattedString; nsXPIDLString formattedString;
rv = bundle->FormatStringFromName(name.get(), formatStrings, 1, rv = bundle->FormatStringFromName(u"UnsupportedFTPServer", formatStrings, 1,
getter_Copies(formattedString)); getter_Copies(formattedString));
free(ucs2Response); free(ucs2Response);
if (NS_FAILED(rv)) if (NS_FAILED(rv))

View File

@@ -1848,12 +1848,10 @@ nsNSSComponent::Init()
// - wrong thread: 'NS_IsMainThread()' in nsIOService.cpp // - wrong thread: 'NS_IsMainThread()' in nsIOService.cpp
// when loading error strings on the SSL threads. // when loading error strings on the SSL threads.
{ {
NS_NAMED_LITERAL_STRING(dummy_name, "dummy"); const char16_t* dummy = u"dummy";
nsXPIDLString result; nsXPIDLString result;
mPIPNSSBundle->GetStringFromName(dummy_name.get(), mPIPNSSBundle->GetStringFromName(dummy, getter_Copies(result));
getter_Copies(result)); mNSSErrorsBundle->GetStringFromName(dummy, getter_Copies(result));
mNSSErrorsBundle->GetStringFromName(dummy_name.get(),
getter_Copies(result));
} }

View File

@@ -29,7 +29,7 @@ const nsCString nsNSSU2FToken::mSecretNickname =
NS_LITERAL_CSTRING("U2F_NSSTOKEN"); NS_LITERAL_CSTRING("U2F_NSSTOKEN");
const nsString nsNSSU2FToken::mVersion = const nsString nsNSSU2FToken::mVersion =
NS_LITERAL_STRING("U2F_V2"); NS_LITERAL_STRING("U2F_V2");
NS_NAMED_LITERAL_CSTRING(kAttestCertSubjectName, "CN=Firefox U2F Soft Token"); const char* kAttestCertSubjectName = "CN=Firefox U2F Soft Token";
// This U2F-compatible soft token uses FIDO U2F-compatible ECDSA keypairs // This U2F-compatible soft token uses FIDO U2F-compatible ECDSA keypairs
// on the SEC_OID_SECG_EC_SECP256R1 curve. When asked to Register, it will // on the SEC_OID_SECG_EC_SECP256R1 curve. When asked to Register, it will
@@ -256,7 +256,7 @@ GetAttestationCertificate(const UniquePK11SlotInfo& aSlot,
} }
// Construct the Attestation Certificate itself // Construct the Attestation Certificate itself
UniqueCERTName subjectName(CERT_AsciiToName(kAttestCertSubjectName.get())); UniqueCERTName subjectName(CERT_AsciiToName(kAttestCertSubjectName));
if (!subjectName) { if (!subjectName) {
MOZ_LOG(gNSSTokenLog, LogLevel::Warning, MOZ_LOG(gNSSTokenLog, LogLevel::Warning,
("Failed to set subject name, NSS error #%d", PORT_GetError())); ("Failed to set subject name, NSS error #%d", PORT_GetError()));

View File

@@ -29,8 +29,8 @@
// Used to notify begin and end of a heavy IO task. // Used to notify begin and end of a heavy IO task.
#define OBSERVER_TOPIC_HEAVY_IO "heavy-io-task" #define OBSERVER_TOPIC_HEAVY_IO "heavy-io-task"
#define OBSERVER_DATA_VACUUM_BEGIN NS_LITERAL_STRING("vacuum-begin") #define OBSERVER_DATA_VACUUM_BEGIN u"vacuum-begin"
#define OBSERVER_DATA_VACUUM_END NS_LITERAL_STRING("vacuum-end") #define OBSERVER_DATA_VACUUM_END u"vacuum-end"
// This preferences root will contain last vacuum timestamps (in seconds) for // This preferences root will contain last vacuum timestamps (in seconds) for
// each database. The database filename is used as a key. // each database. The database filename is used as a key.
@@ -191,7 +191,7 @@ Vacuumer::execute()
if (os) { if (os) {
rv = rv =
os->NotifyObservers(nullptr, OBSERVER_TOPIC_HEAVY_IO, os->NotifyObservers(nullptr, OBSERVER_TOPIC_HEAVY_IO,
OBSERVER_DATA_VACUUM_BEGIN.get()); OBSERVER_DATA_VACUUM_BEGIN);
MOZ_ASSERT(NS_SUCCEEDED(rv), "Should be able to notify"); MOZ_ASSERT(NS_SUCCEEDED(rv), "Should be able to notify");
} }
@@ -289,7 +289,7 @@ Vacuumer::notifyCompletion(bool aSucceeded)
nsCOMPtr<nsIObserverService> os = mozilla::services::GetObserverService(); nsCOMPtr<nsIObserverService> os = mozilla::services::GetObserverService();
if (os) { if (os) {
os->NotifyObservers(nullptr, OBSERVER_TOPIC_HEAVY_IO, os->NotifyObservers(nullptr, OBSERVER_TOPIC_HEAVY_IO,
OBSERVER_DATA_VACUUM_END.get()); OBSERVER_DATA_VACUUM_END);
} }
nsresult rv = mParticipant->OnEndVacuum(aSucceeded); nsresult rv = mParticipant->OnEndVacuum(aSucceeded);

View File

@@ -92,11 +92,9 @@ nsWebBrowserFind::FindNext(bool* aResult)
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsISupports> searchWindowSupports = do_QueryInterface(rootFrame); nsCOMPtr<nsISupports> searchWindowSupports = do_QueryInterface(rootFrame);
windowSupportsData->SetData(searchWindowSupports); windowSupportsData->SetData(searchWindowSupports);
NS_NAMED_LITERAL_STRING(dnStr, "down");
NS_NAMED_LITERAL_STRING(upStr, "up");
observerSvc->NotifyObservers(windowSupportsData, observerSvc->NotifyObservers(windowSupportsData,
"nsWebBrowserFind_FindAgain", "nsWebBrowserFind_FindAgain",
mFindBackwards ? upStr.get() : dnStr.get()); mFindBackwards ? u"up" : u"down");
windowSupportsData->GetData(getter_AddRefs(searchWindowSupports)); windowSupportsData->GetData(getter_AddRefs(searchWindowSupports));
// findnext performed if search window data cleared out // findnext performed if search window data cleared out
*aResult = searchWindowSupports == nullptr; *aResult = searchWindowSupports == nullptr;

View File

@@ -458,11 +458,8 @@ nsAppStartup::Quit(uint32_t aMode)
// No chance of the shutdown being cancelled from here on; tell people // No chance of the shutdown being cancelled from here on; tell people
// we're shutting down for sure while all services are still available. // we're shutting down for sure while all services are still available.
if (obsService) { if (obsService) {
NS_NAMED_LITERAL_STRING(shutdownStr, "shutdown");
NS_NAMED_LITERAL_STRING(restartStr, "restart");
obsService->NotifyObservers(nullptr, "quit-application", obsService->NotifyObservers(nullptr, "quit-application",
(mRestart || mRestartNotSameProfile) ? (mRestart || mRestartNotSameProfile) ? u"restart" : u"shutdown");
restartStr.get() : shutdownStr.get());
} }
if (!mRunning) { if (!mRunning) {

View File

@@ -583,7 +583,7 @@ XRE_InitChildProcess(int aArgc,
nsString appId; nsString appId;
appId.AssignWithConversion(nsDependentCString(appModelUserId)); appId.AssignWithConversion(nsDependentCString(appModelUserId));
// The version string is encased in quotes // The version string is encased in quotes
appId.Trim(NS_LITERAL_CSTRING("\"").get()); appId.Trim("\"");
// Set the id // Set the id
SetTaskbarGroupId(appId); SetTaskbarGroupId(appId);
} }

View File

@@ -953,7 +953,7 @@ nsNativeAppSupportWin::HandleDDENotification( UINT uType, // transaction t
do { do {
// Get most recently used Nav window. // Get most recently used Nav window.
nsCOMPtr<mozIDOMWindowProxy> navWin; nsCOMPtr<mozIDOMWindowProxy> navWin;
GetMostRecentWindow( NS_LITERAL_STRING( "navigator:browser" ).get(), GetMostRecentWindow( u"navigator:browser",
getter_AddRefs( navWin ) ); getter_AddRefs( navWin ) );
nsCOMPtr<nsPIDOMWindowOuter> piNavWin = do_QueryInterface(navWin); nsCOMPtr<nsPIDOMWindowOuter> piNavWin = do_QueryInterface(navWin);
if ( !piNavWin ) { if ( !piNavWin ) {
@@ -1430,7 +1430,7 @@ nsNativeAppSupportWin::OpenBrowserWindow()
// browser window. // browser window.
nsCOMPtr<mozIDOMWindowProxy> navWin; nsCOMPtr<mozIDOMWindowProxy> navWin;
GetMostRecentWindow( NS_LITERAL_STRING( "navigator:browser" ).get(), getter_AddRefs( navWin ) ); GetMostRecentWindow( u"navigator:browser", getter_AddRefs( navWin ) );
// This isn't really a loop. We just use "break" statements to fall // This isn't really a loop. We just use "break" statements to fall
// out to the OpenWindow call when things go awry. // out to the OpenWindow call when things go awry.

View File

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

View File

@@ -167,8 +167,7 @@ public:
mozilla::services::GetObserverService(); mozilla::services::GetObserverService();
obsServ->NotifyObservers(nullptr, "application-background", nullptr); obsServ->NotifyObservers(nullptr, "application-background", nullptr);
NS_NAMED_LITERAL_STRING(minimize, "heap-minimize"); obsServ->NotifyObservers(nullptr, "memory-pressure", u"heap-minimize");
obsServ->NotifyObservers(nullptr, "memory-pressure", minimize.get());
// If we are OOM killed with the disk cache enabled, the entire // If we are OOM killed with the disk cache enabled, the entire
// cache will be cleared (bug 105843), so shut down the cache here // cache will be cleared (bug 105843), so shut down the cache here

View File

@@ -168,10 +168,8 @@ WindowsUIUtils::UpdateTabletModeState()
if (mInTabletMode != oldTabletModeState) { if (mInTabletMode != oldTabletModeState) {
nsCOMPtr<nsIObserverService> observerService = nsCOMPtr<nsIObserverService> observerService =
mozilla::services::GetObserverService(); mozilla::services::GetObserverService();
NS_NAMED_LITERAL_STRING(tabletMode, "tablet-mode");
NS_NAMED_LITERAL_STRING(normalMode, "normal-mode");
observerService->NotifyObservers(nullptr, "tablet-mode-change", observerService->NotifyObservers(nullptr, "tablet-mode-change",
((mInTabletMode == eTabletModeOn) ? tabletMode.get() : normalMode.get())); ((mInTabletMode == eTabletModeOn) ? u"tablet-mode" : u"normal-mode"));
} }
} }
} }

View File

@@ -499,13 +499,11 @@ nsFilePicker::ShowFilePicker(const nsString& aInitialDir)
dialog->SetFileName(mDefaultFilename.get()); dialog->SetFileName(mDefaultFilename.get());
} }
NS_NAMED_LITERAL_STRING(htmExt, "html");
// default extension to append to new files // default extension to append to new files
if (!mDefaultExtension.IsEmpty()) { if (!mDefaultExtension.IsEmpty()) {
dialog->SetDefaultExtension(mDefaultExtension.get()); dialog->SetDefaultExtension(mDefaultExtension.get());
} else if (IsDefaultPathHtml()) { } else if (IsDefaultPathHtml()) {
dialog->SetDefaultExtension(htmExt.get()); dialog->SetDefaultExtension(L"html");
} }
// initial location // initial location

View File

@@ -5057,16 +5057,16 @@ nsWindow::ProcessMessage(UINT msg, WPARAM& wParam, LPARAM& lParam,
// Windows won't let us do that. Bug 212316. // Windows won't let us do that. Bug 212316.
nsCOMPtr<nsIObserverService> obsServ = nsCOMPtr<nsIObserverService> obsServ =
mozilla::services::GetObserverService(); mozilla::services::GetObserverService();
NS_NAMED_LITERAL_STRING(context, "shutdown-persist"); const char16_t* context = u"shutdown-persist";
NS_NAMED_LITERAL_STRING(syncShutdown, "syncShutdown"); const char16_t* syncShutdown = u"syncShutdown";
obsServ->NotifyObservers(nullptr, "quit-application-granted", syncShutdown.get()); obsServ->NotifyObservers(nullptr, "quit-application-granted", syncShutdown);
obsServ->NotifyObservers(nullptr, "quit-application-forced", nullptr); obsServ->NotifyObservers(nullptr, "quit-application-forced", nullptr);
obsServ->NotifyObservers(nullptr, "quit-application", nullptr); obsServ->NotifyObservers(nullptr, "quit-application", nullptr);
obsServ->NotifyObservers(nullptr, "profile-change-net-teardown", context.get()); obsServ->NotifyObservers(nullptr, "profile-change-net-teardown", context);
obsServ->NotifyObservers(nullptr, "profile-change-teardown", context.get()); obsServ->NotifyObservers(nullptr, "profile-change-teardown", context);
obsServ->NotifyObservers(nullptr, "profile-before-change", context.get()); obsServ->NotifyObservers(nullptr, "profile-before-change", context);
obsServ->NotifyObservers(nullptr, "profile-before-change-qm", context.get()); obsServ->NotifyObservers(nullptr, "profile-before-change-qm", context);
obsServ->NotifyObservers(nullptr, "profile-before-change-telemetry", context.get()); obsServ->NotifyObservers(nullptr, "profile-before-change-telemetry", context);
// Then a controlled but very quick exit. // Then a controlled but very quick exit.
_exit(0); _exit(0);
} }

View File

@@ -183,9 +183,7 @@ nsresult GetInstallYear(uint32_t& aYear)
{ {
HKEY hKey; HKEY hKey;
LONG status = RegOpenKeyExW(HKEY_LOCAL_MACHINE, LONG status = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
NS_LITERAL_STRING( L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"
).get(),
0, KEY_READ | KEY_WOW64_64KEY, &hKey); 0, KEY_READ | KEY_WOW64_64KEY, &hKey);
if (status != ERROR_SUCCESS) { if (status != ERROR_SUCCESS) {

View File

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

View File

@@ -252,19 +252,19 @@ TEST(ObserverService, TestNotify)
testResult(svc->AddObserver(bObserver, topicB.get(), false)); testResult(svc->AddObserver(bObserver, topicB.get(), false));
// Notify topicA. // Notify topicA.
NS_NAMED_LITERAL_STRING(dataA, "Testing Notify(observer-A, topic-A)"); const char16_t* dataA = u"Testing Notify(observer-A, topic-A)";
aObserver->mExpectedData = dataA; aObserver->mExpectedData = dataA;
bObserver->mExpectedData = dataA; bObserver->mExpectedData = dataA;
nsresult rv = nsresult rv =
svc->NotifyObservers(ToSupports(aObserver), topicA.get(), dataA.get()); svc->NotifyObservers(ToSupports(aObserver), topicA.get(), dataA);
testResult(rv); testResult(rv);
ASSERT_EQ(aObserver->mObservations, 1); ASSERT_EQ(aObserver->mObservations, 1);
ASSERT_EQ(bObserver->mObservations, 1); ASSERT_EQ(bObserver->mObservations, 1);
// Notify topicB. // Notify topicB.
NS_NAMED_LITERAL_STRING(dataB, "Testing Notify(observer-B, topic-B)"); const char16_t* dataB = u"Testing Notify(observer-B, topic-B)";
bObserver->mExpectedData = dataB; bObserver->mExpectedData = dataB;
rv = svc->NotifyObservers(ToSupports(bObserver), topicB.get(), dataB.get()); rv = svc->NotifyObservers(ToSupports(bObserver), topicB.get(), dataB);
testResult(rv); testResult(rv);
ASSERT_EQ(aObserver->mObservations, 1); ASSERT_EQ(aObserver->mObservations, 1);
ASSERT_EQ(bObserver->mObservations, 2); ASSERT_EQ(bObserver->mObservations, 2);
@@ -274,14 +274,14 @@ TEST(ObserverService, TestNotify)
// Notify topicA, only bObserver is expected to be notified. // Notify topicA, only bObserver is expected to be notified.
bObserver->mExpectedData = dataA; bObserver->mExpectedData = dataA;
rv = svc->NotifyObservers(ToSupports(aObserver), topicA.get(), dataA.get()); rv = svc->NotifyObservers(ToSupports(aObserver), topicA.get(), dataA);
testResult(rv); testResult(rv);
ASSERT_EQ(aObserver->mObservations, 1); ASSERT_EQ(aObserver->mObservations, 1);
ASSERT_EQ(bObserver->mObservations, 3); ASSERT_EQ(bObserver->mObservations, 3);
// Remove the other topicA observer, make sure none are notified. // Remove the other topicA observer, make sure none are notified.
testResult(svc->RemoveObserver(bObserver, topicA.get())); testResult(svc->RemoveObserver(bObserver, topicA.get()));
rv = svc->NotifyObservers(ToSupports(aObserver), topicA.get(), dataA.get()); rv = svc->NotifyObservers(ToSupports(aObserver), topicA.get(), dataA);
testResult(rv); testResult(rv);
ASSERT_EQ(aObserver->mObservations, 1); ASSERT_EQ(aObserver->mObservations, 1);
ASSERT_EQ(bObserver->mObservations, 3); ASSERT_EQ(bObserver->mObservations, 3);

View File

@@ -1493,15 +1493,12 @@ nsThread::DoMainThreadSpecificProcessing(bool aReallyWait)
if (mpPending != MemPressure_None) { if (mpPending != MemPressure_None) {
nsCOMPtr<nsIObserverService> os = services::GetObserverService(); nsCOMPtr<nsIObserverService> os = services::GetObserverService();
// Use no-forward to prevent the notifications from being transferred to
// the children of this process.
NS_NAMED_LITERAL_STRING(lowMem, "low-memory-no-forward");
NS_NAMED_LITERAL_STRING(lowMemOngoing, "low-memory-ongoing-no-forward");
if (os) { if (os) {
// Use no-forward to prevent the notifications from being transferred to
// the children of this process.
os->NotifyObservers(nullptr, "memory-pressure", os->NotifyObservers(nullptr, "memory-pressure",
mpPending == MemPressure_New ? lowMem.get() : mpPending == MemPressure_New ? u"low-memory-no-forward" :
lowMemOngoing.get()); u"low-memory-ongoing-no-forward");
} else { } else {
NS_WARNING("Can't get observer service!"); NS_WARNING("Can't get observer service!");
} }