From 7d598ef37a1b4b0964c2bdbe278178f2e2d9c6a1 Mon Sep 17 00:00:00 2001 From: Neil Rashbrook Date: Sat, 16 May 2015 09:07:10 +0100 Subject: [PATCH] Bug 1155963 Only allow NS_LITERAL_CSTRING to be used on compile-time literals r=froydnj,ehsan --- accessible/atk/Platform.cpp | 5 +- caps/nsPrincipal.cpp | 2 - caps/nsSystemPrincipal.cpp | 4 +- .../bluedroid/BluetoothDaemonInterface.cpp | 4 +- dom/fetch/Fetch.cpp | 4 +- dom/indexedDB/ActorsParent.cpp | 247 ++++++++---------- dom/quota/QuotaManager.cpp | 41 ++- extensions/cookie/nsPermissionManager.cpp | 8 +- netwerk/base/Predictor.cpp | 24 +- netwerk/cache2/CacheFileContextEvictor.cpp | 10 +- netwerk/cache2/CacheFileIOManager.cpp | 22 +- netwerk/cache2/CacheFileIOManager.h | 6 +- netwerk/cache2/CacheIndex.cpp | 46 ++-- netwerk/cookie/nsCookieService.cpp | 10 +- netwerk/ipc/RemoteOpenFileChild.cpp | 6 + security/manager/ssl/src/CryptoTask.h | 2 +- .../manager/ssl/src/nsCertOverrideService.cpp | 4 +- startupcache/StartupCache.cpp | 4 +- toolkit/components/places/nsPlacesMacros.h | 2 +- toolkit/components/telemetry/Telemetry.cpp | 12 +- toolkit/xre/nsUpdateDriver.cpp | 33 ++- xpcom/io/nsIFile.idl | 3 +- xpcom/io/nsLocalFileUnix.cpp | 13 +- xpcom/io/nsLocalFileWin.cpp | 12 + xpcom/string/nsLiteralString.h | 6 +- .../windowds/nsWindowDataSource.cpp | 13 +- 26 files changed, 260 insertions(+), 283 deletions(-) diff --git a/accessible/atk/Platform.cpp b/accessible/atk/Platform.cpp index 5d25cfbac1d..01c6c508534 100644 --- a/accessible/atk/Platform.cpp +++ b/accessible/atk/Platform.cpp @@ -361,13 +361,12 @@ dbus_done: #endif //check gconf-2 setting -static const char sGconfAccessibilityKey[] = - "/desktop/gnome/interface/accessibility"; +#define GCONF_A11Y_KEY "/desktop/gnome/interface/accessibility" nsresult rv = NS_OK; nsCOMPtr gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv) && gconf) - gconf->GetBool(NS_LITERAL_CSTRING(sGconfAccessibilityKey), &sShouldEnable); + gconf->GetBool(NS_LITERAL_CSTRING(GCONF_A11Y_KEY), &sShouldEnable); return sShouldEnable; } diff --git a/caps/nsPrincipal.cpp b/caps/nsPrincipal.cpp index c403d5f9775..7152ae669a5 100644 --- a/caps/nsPrincipal.cpp +++ b/caps/nsPrincipal.cpp @@ -709,8 +709,6 @@ nsPrincipal::IsOnCSSUnprefixingWhitelist() /************************************************************************************************************************/ -static const char EXPANDED_PRINCIPAL_SPEC[] = "[Expanded Principal]"; - NS_IMPL_CLASSINFO(nsExpandedPrincipal, nullptr, nsIClassInfo::MAIN_THREAD_ONLY, NS_EXPANDEDPRINCIPAL_CID) NS_IMPL_QUERY_INTERFACE_CI(nsExpandedPrincipal, diff --git a/caps/nsSystemPrincipal.cpp b/caps/nsSystemPrincipal.cpp index 99bf97de4ca..d1dd47bc0ea 100644 --- a/caps/nsSystemPrincipal.cpp +++ b/caps/nsSystemPrincipal.cpp @@ -29,12 +29,12 @@ NS_IMPL_CI_INTERFACE_GETTER(nsSystemPrincipal, nsIPrincipal, nsISerializable) -static const char SYSTEM_PRINCIPAL_SPEC[] = "[System Principal]"; +#define SYSTEM_PRINCIPAL_SPEC "[System Principal]" void nsSystemPrincipal::GetScriptLocation(nsACString &aStr) { - aStr.Assign(SYSTEM_PRINCIPAL_SPEC); + aStr.AssignLiteral(SYSTEM_PRINCIPAL_SPEC); } /////////////////////////////////////// diff --git a/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp b/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp index c2c1063a236..91046bd744c 100644 --- a/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp @@ -2165,7 +2165,7 @@ BluetoothDaemonInterface::Init( BluetoothNotificationHandler* aNotificationHandler, BluetoothResultHandler* aRes) { - static const char BASE_SOCKET_NAME[] = "bluetoothd"; +#define BASE_SOCKET_NAME "bluetoothd" static unsigned long POSTFIX_LENGTH = 16; // If we could not cleanup properly before and an old @@ -2205,7 +2205,7 @@ BluetoothDaemonInterface::Init( POSTFIX_LENGTH, mListenSocketName); if (NS_FAILED(rv)) { - mListenSocketName = BASE_SOCKET_NAME; + mListenSocketName.AssignLiteral(BASE_SOCKET_NAME); } bool success = mListenSocket->Listen( diff --git a/dom/fetch/Fetch.cpp b/dom/fetch/Fetch.cpp index 40f361372ee..af93e1d61ae 100644 --- a/dom/fetch/Fetch.cpp +++ b/dom/fetch/Fetch.cpp @@ -1527,7 +1527,7 @@ FetchBody::ContinueConsumeBody(nsresult aStatus, uint32_t aResultLength data.Adopt(reinterpret_cast(aResult), aResultLength); autoFree.Reset(); - NS_NAMED_LITERAL_CSTRING(formDataMimeType, NS_LITERAL_CSTRING("multipart/form-data")); + NS_NAMED_LITERAL_CSTRING(formDataMimeType, "multipart/form-data"); // Allow semicolon separated boundary/encoding suffix like multipart/form-data; boundary= // but disallow multipart/form-datafoobar. @@ -1550,7 +1550,7 @@ FetchBody::ContinueConsumeBody(nsresult aStatus, uint32_t aResultLength MOZ_ASSERT(fd); localPromise->MaybeResolve(fd); } else { - NS_NAMED_LITERAL_CSTRING(urlDataMimeType, NS_LITERAL_CSTRING("application/x-www-form-urlencoded")); + NS_NAMED_LITERAL_CSTRING(urlDataMimeType, "application/x-www-form-urlencoded"); bool isValidUrlEncodedMimeType = StringBeginsWith(mMimeType, urlDataMimeType); if (isValidUrlEncodedMimeType && mMimeType.Length() > urlDataMimeType.Length()) { diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp index 25969e454b1..28b6f5a3dbd 100644 --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp @@ -216,11 +216,11 @@ const uint32_t kConnectionIdleCloseMS = 10 * 1000; // 10 seconds // The length of time that idle threads will stay alive before being shut down. const uint32_t kConnectionThreadIdleMS = 30 * 1000; // 30 seconds -const char kSavepointClause[] = "SAVEPOINT sp;"; +#define SAVEPOINT_CLAUSE "SAVEPOINT sp;" const uint32_t kFileCopyBufferSize = 32768; -const char kJournalDirectoryName[] = "journals"; +#define JOURNAL_DIRECTORY_NAME "journals" const char kFileManagerDirectoryNameSuffix[] = ".files"; const char kSQLiteJournalSuffix[] = ".sqlite-journal"; @@ -231,15 +231,9 @@ const char kPrefIndexedDBEnabled[] = "dom.indexedDB.enabled"; #define IDB_PREFIX "indexedDB" -#ifdef MOZ_CHILD_PERMISSIONS -const char kPermissionString[] = IDB_PREFIX; -#endif // MOZ_CHILD_PERMISSIONS - -const char kPermissionStringChromeBase[] = IDB_PREFIX "-chrome-"; -const char kPermissionStringChromeReadSuffix[] = "-read"; -const char kPermissionStringChromeWriteSuffix[] = "-write"; - -#undef IDB_PREFIX +#define PERMISSION_STRING_CHROME_BASE IDB_PREFIX "-chrome-" +#define PERMISSION_STRING_CHROME_READ_SUFFIX "-read" +#define PERMISSION_STRING_CHROME_WRITE_SUFFIX "-write" enum AppId { kNoAppId = nsIScriptSecurityManager::NO_APP_ID, @@ -4380,18 +4374,6 @@ public: GetCachedStatement(const nsACString& aQuery, CachedStatement* aCachedStatement); - template - nsresult - GetCachedStatement(const char (&aQuery)[N], - CachedStatement* aCachedStatement) - { - static_assert(N > 1, "Must have a non-empty string!"); - AssertIsOnConnectionThread(); - MOZ_ASSERT(aCachedStatement); - - return GetCachedStatement(NS_LITERAL_CSTRING(aQuery), aCachedStatement); - } - nsresult BeginWriteTransaction(); @@ -8347,7 +8329,7 @@ DatabaseConnection::Init() MOZ_ASSERT(!mInWriteTransaction); CachedStatement stmt; - nsresult rv = GetCachedStatement("BEGIN", &stmt); + nsresult rv = GetCachedStatement(NS_LITERAL_CSTRING("BEGIN"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -8414,7 +8396,7 @@ DatabaseConnection::BeginWriteTransaction() // Release our read locks. CachedStatement rollbackStmt; - nsresult rv = GetCachedStatement("ROLLBACK", &rollbackStmt); + nsresult rv = GetCachedStatement(NS_LITERAL_CSTRING("ROLLBACK"), &rollbackStmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -8442,7 +8424,7 @@ DatabaseConnection::BeginWriteTransaction() } CachedStatement beginStmt; - rv = GetCachedStatement("BEGIN IMMEDIATE", &beginStmt); + rv = GetCachedStatement(NS_LITERAL_CSTRING("BEGIN IMMEDIATE"), &beginStmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -8491,7 +8473,7 @@ DatabaseConnection::RollbackWriteTransaction() } DatabaseConnection::CachedStatement stmt; - nsresult rv = GetCachedStatement("ROLLBACK", &stmt); + nsresult rv = GetCachedStatement(NS_LITERAL_CSTRING("ROLLBACK"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return; } @@ -8522,7 +8504,7 @@ DatabaseConnection::FinishWriteTransaction() mInWriteTransaction = false; CachedStatement stmt; - nsresult rv = GetCachedStatement("BEGIN", &stmt); + nsresult rv = GetCachedStatement(NS_LITERAL_CSTRING("BEGIN"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return; } @@ -8546,7 +8528,7 @@ DatabaseConnection::StartSavepoint() js::ProfileEntry::Category::STORAGE); CachedStatement stmt; - nsresult rv = GetCachedStatement(kSavepointClause, &stmt); + nsresult rv = GetCachedStatement(NS_LITERAL_CSTRING(SAVEPOINT_CLAUSE), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -8580,7 +8562,7 @@ DatabaseConnection::ReleaseSavepoint() CachedStatement stmt; nsresult rv = GetCachedStatement( - NS_LITERAL_CSTRING("RELEASE ") + NS_LITERAL_CSTRING(kSavepointClause), + NS_LITERAL_CSTRING("RELEASE " SAVEPOINT_CLAUSE), &stmt); if (NS_SUCCEEDED(rv)) { rv = stmt->Execute(); @@ -8618,7 +8600,7 @@ DatabaseConnection::RollbackSavepoint() CachedStatement stmt; nsresult rv = GetCachedStatement( - NS_LITERAL_CSTRING("ROLLBACK TO ") + NS_LITERAL_CSTRING(kSavepointClause), + NS_LITERAL_CSTRING("ROLLBACK TO " SAVEPOINT_CLAUSE), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -8640,22 +8622,14 @@ DatabaseConnection::Checkpoint(bool aIdle) "DatabaseConnection::Checkpoint", js::ProfileEntry::Category::STORAGE); - nsAutoCString checkpointMode; - if (aIdle) { - // When idle we want to reclaim disk space. - checkpointMode.AssignLiteral("TRUNCATE"); - } else { - // We're being called at the end of a READ_WRITE_FLUSH transaction so make - // sure that the database is completely checkpointed and flushed to disk. - checkpointMode.AssignLiteral("FULL"); - } - CachedStatement stmt; nsresult rv = - GetCachedStatement( - NS_LITERAL_CSTRING("PRAGMA wal_checkpoint(") + - checkpointMode + - NS_LITERAL_CSTRING(")"), + GetCachedStatement(aIdle ? + // When idle we want to reclaim disk space. + NS_LITERAL_CSTRING("PRAGMA wal_checkpoint(TRUNCATE)") : + // We're being called at the end of a READ_WRITE_FLUSH transaction so make + // sure that the database is completely checkpointed and flushed to disk. + NS_LITERAL_CSTRING("PRAGMA wal_checkpoint(FULL)"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -9245,10 +9219,10 @@ DatabaseUpdateFunction::UpdateInternal(int64_t aId, nsresult rv; if (!mUpdateStatement) { - rv = connection->GetCachedStatement( + rv = connection->GetCachedStatement(NS_LITERAL_CSTRING( "UPDATE file " "SET refcount = refcount + :delta " - "WHERE id = :id", + "WHERE id = :id"), &mUpdateStatement); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -9280,10 +9254,10 @@ DatabaseUpdateFunction::UpdateInternal(int64_t aId, if (rows > 0) { if (!mSelectStatement) { - rv = connection->GetCachedStatement( + rv = connection->GetCachedStatement(NS_LITERAL_CSTRING( "SELECT id " "FROM file " - "WHERE id = :id", + "WHERE id = :id"), &mSelectStatement); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -9313,9 +9287,9 @@ DatabaseUpdateFunction::UpdateInternal(int64_t aId, } if (!mInsertStatement) { - rv = connection->GetCachedStatement( + rv = connection->GetCachedStatement(NS_LITERAL_CSTRING( "INSERT INTO file (id, refcount) " - "VALUES(:id, :delta)", + "VALUES(:id, :delta)"), &mInsertStatement); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -14270,8 +14244,7 @@ FileManager::Init(nsIFile* aDirectory, return rv; } - NS_ConvertASCIItoUTF16 dirName(NS_LITERAL_CSTRING(kJournalDirectoryName)); - rv = journalDirectory->Append(dirName); + rv = journalDirectory->Append(NS_LITERAL_STRING(JOURNAL_DIRECTORY_NAME)); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -14523,8 +14496,7 @@ FileManager::InitDirectory(nsIFile* aDirectory, return rv; } - NS_ConvertASCIItoUTF16 dirName(NS_LITERAL_CSTRING(kJournalDirectoryName)); - rv = journalDirectory->Append(dirName); + rv = journalDirectory->Append(NS_LITERAL_STRING(JOURNAL_DIRECTORY_NAME)); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -14707,7 +14679,7 @@ FileManager::GetUsage(nsIFile* aDirectory, uint64_t* aUsage) return rv; } - if (leafName.EqualsLiteral(kJournalDirectoryName)) { + if (leafName.EqualsLiteral(JOURNAL_DIRECTORY_NAME)) { continue; } @@ -15276,7 +15248,7 @@ QuotaClient::GetUsageForDirectoryInternal(nsIFile* aDirectory, return rv; } - if (!leafName.EqualsLiteral(kJournalDirectoryName)) { + if (!leafName.EqualsLiteral(JOURNAL_DIRECTORY_NAME)) { NS_WARNING("Unknown directory found!"); } } @@ -16044,19 +16016,19 @@ DatabaseOperationBase::InsertIndexTableRows( if (stmt) { stmt.Reset(); } else if (info.mUnique) { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "INSERT INTO unique_index_data " "(index_id, value, object_store_id, object_data_key) " - "VALUES (:index_id, :value, :object_store_id, :object_data_key);", + "VALUES (:index_id, :value, :object_store_id, :object_data_key);"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } } else { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "INSERT OR IGNORE INTO index_data " "(index_id, value, object_data_key, object_store_id) " - "VALUES (:index_id, :value, :object_data_key, :object_store_id);", + "VALUES (:index_id, :value, :object_data_key, :object_store_id);"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -16146,20 +16118,20 @@ DatabaseOperationBase::DeleteIndexDataTableRows( if (stmt) { stmt.Reset(); } else if (indexValue.mUnique) { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM unique_index_data " "WHERE index_id = :index_id " - "AND value = :value;", + "AND value = :value;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } } else { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM index_data " "WHERE index_id = :index_id " "AND value = :value " - "AND object_data_key = :object_data_key;", + "AND object_data_key = :object_data_key;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -16222,11 +16194,11 @@ DatabaseOperationBase::DeleteObjectStoreDataTableRowsWithIndexes( DatabaseConnection::CachedStatement selectStmt; if (singleRowOnly) { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "SELECT index_data_values " "FROM object_data " "WHERE object_store_id = :object_store_id " - "AND key = :key;", + "AND key = :key;"), &selectStmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -16299,10 +16271,10 @@ DatabaseOperationBase::DeleteObjectStoreDataTableRowsWithIndexes( if (deleteStmt) { MOZ_ALWAYS_TRUE(NS_SUCCEEDED(deleteStmt->Reset())); } else { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM object_data " "WHERE object_store_id = :object_store_id " - "AND key = :key;", + "AND key = :key;"), &deleteStmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -16363,11 +16335,11 @@ DatabaseOperationBase::UpdateIndexValues( MOZ_ASSERT(!indexDataValuesLength == !(indexDataValues.get())); DatabaseConnection::CachedStatement updateStmt; - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "UPDATE object_data " "SET index_data_values = :index_data_values " "WHERE object_store_id = :object_store_id " - "AND key = :key;", + "AND key = :key;"), &updateStmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -16424,10 +16396,10 @@ DatabaseOperationBase::ObjectStoreHasIndexes(DatabaseConnection* aConnection, DatabaseConnection::CachedStatement stmt; MOZ_ALWAYS_TRUE(NS_SUCCEEDED( - aConnection->GetCachedStatement( + aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "SELECT id " "FROM object_store_index " - "WHERE object_store_id = :object_store_id;", + "WHERE object_store_id = :object_store_id;"), &stmt))); MOZ_ALWAYS_TRUE(NS_SUCCEEDED( @@ -16786,10 +16758,10 @@ FactoryOp::CheckPermission(ContentParent* aContentParent, // Check to make sure that the child process has access to the database it // is accessing. NS_NAMED_LITERAL_CSTRING(permissionStringBase, - kPermissionStringChromeBase); + PERMISSION_STRING_CHROME_BASE); NS_ConvertUTF16toUTF8 databaseName(mCommonParams.metadata().name()); - NS_NAMED_LITERAL_CSTRING(readSuffix, kPermissionStringChromeReadSuffix); - NS_NAMED_LITERAL_CSTRING(writeSuffix, kPermissionStringChromeWriteSuffix); + NS_NAMED_LITERAL_CSTRING(readSuffix, PERMISSION_STRING_CHROME_READ_SUFFIX); + NS_NAMED_LITERAL_CSTRING(writeSuffix, PERMISSION_STRING_CHROME_WRITE_SUFFIX); const nsAutoCString permissionStringWrite = permissionStringBase + databaseName + writeSuffix; @@ -16878,7 +16850,7 @@ FactoryOp::CheckPermission(ContentParent* aContentParent, } uint32_t intPermission = - mozilla::CheckPermission(aContentParent, principal, kPermissionString); + mozilla::CheckPermission(aContentParent, principal, IDB_PREFIX); permission = PermissionRequestBase::PermissionValueForIntPermission(intPermission); @@ -18371,18 +18343,17 @@ VersionChangeOp::DoDatabaseWork(DatabaseConnection* aConnection) return rv; } - NS_NAMED_LITERAL_CSTRING(version, "version"); - DatabaseConnection::CachedStatement updateStmt; rv = aConnection->GetCachedStatement( NS_LITERAL_CSTRING("UPDATE database " - "SET version = :") + version, + "SET version = :version"), &updateStmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } - rv = updateStmt->BindInt64ByName(version, int64_t(mRequestedVersion)); + rv = updateStmt->BindInt64ByName(NS_LITERAL_CSTRING("version"), + int64_t(mRequestedVersion)); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -19424,7 +19395,7 @@ CommitOp::AssertForeignKeyConsistency(DatabaseConnection* aConnection) DatabaseConnection::CachedStatement pragmaStmt; MOZ_ALWAYS_TRUE(NS_SUCCEEDED( - aConnection->GetCachedStatement("PRAGMA foreign_keys;", &pragmaStmt))); + aConnection->GetCachedStatement(NS_LITERAL_CSTRING("PRAGMA foreign_keys;"), &pragmaStmt))); bool hasResult; MOZ_ALWAYS_TRUE(NS_SUCCEEDED(pragmaStmt->ExecuteStep(&hasResult))); @@ -19438,7 +19409,7 @@ CommitOp::AssertForeignKeyConsistency(DatabaseConnection* aConnection) DatabaseConnection::CachedStatement checkStmt; MOZ_ALWAYS_TRUE(NS_SUCCEEDED( - aConnection->GetCachedStatement("PRAGMA foreign_key_check;", &checkStmt))); + aConnection->GetCachedStatement(NS_LITERAL_CSTRING("PRAGMA foreign_key_check;"), &checkStmt))); MOZ_ALWAYS_TRUE(NS_SUCCEEDED(checkStmt->ExecuteStep(&hasResult))); @@ -19491,7 +19462,7 @@ CommitOp::Run() AssertForeignKeyConsistency(connection); DatabaseConnection::CachedStatement stmt; - mResultCode = connection->GetCachedStatement("COMMIT", &stmt); + mResultCode = connection->GetCachedStatement(NS_LITERAL_CSTRING("COMMIT"), &stmt); NS_WARN_IF_FALSE(NS_SUCCEEDED(mResultCode), "Failed to get 'COMMIT' statement!"); @@ -19642,10 +19613,10 @@ CreateObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) // have thrown an error long before now... DatabaseConnection::CachedStatement stmt; MOZ_ALWAYS_TRUE(NS_SUCCEEDED( - aConnection->GetCachedStatement( + aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "SELECT name " "FROM object_store " - "WHERE name = :name;", + "WHERE name = :name;"), &stmt))); MOZ_ALWAYS_TRUE(NS_SUCCEEDED( @@ -19664,9 +19635,9 @@ CreateObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) } DatabaseConnection::CachedStatement stmt; - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "INSERT INTO object_store (id, auto_increment, name, key_path) " - "VALUES (:id, :auto_increment, :name, :key_path)", + "VALUES (:id, :auto_increment, :name, :key_path)"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -19742,9 +19713,9 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) // Make sure |mIsLastObjectStore| is telling the truth. DatabaseConnection::CachedStatement stmt; MOZ_ALWAYS_TRUE(NS_SUCCEEDED( - aConnection->GetCachedStatement( + aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "SELECT id " - "FROM object_store;", + "FROM object_store;"), &stmt))); bool foundThisObjectStore = false; @@ -19789,8 +19760,8 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) if (mIsLastObjectStore) { // We can just delete everything if this is the last object store. DatabaseConnection::CachedStatement stmt; - rv = aConnection->GetCachedStatement( - "DELETE FROM index_data;", + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( + "DELETE FROM index_data;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -19801,8 +19772,8 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) return rv; } - rv = aConnection->GetCachedStatement( - "DELETE FROM unique_index_data;", + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( + "DELETE FROM unique_index_data;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -19813,8 +19784,8 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) return rv; } - rv = aConnection->GetCachedStatement( - "DELETE FROM object_data;", + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( + "DELETE FROM object_data;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -19825,8 +19796,8 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) return rv; } - rv = aConnection->GetCachedStatement( - "DELETE FROM object_store_index;", + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( + "DELETE FROM object_store_index;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -19837,8 +19808,8 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) return rv; } - rv = aConnection->GetCachedStatement( - "DELETE FROM object_store;", + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( + "DELETE FROM object_store;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -19860,9 +19831,9 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) // Now clean up the object store index table. DatabaseConnection::CachedStatement stmt; - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM object_store_index " - "WHERE object_store_id = :object_store_id;", + "WHERE object_store_id = :object_store_id;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -19882,9 +19853,9 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) // We only have to worry about object data if this object store has no // indexes. DatabaseConnection::CachedStatement stmt; - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM object_data " - "WHERE object_store_id = :object_store_id;", + "WHERE object_store_id = :object_store_id;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -19903,9 +19874,9 @@ DeleteObjectStoreOp::DoDatabaseWork(DatabaseConnection* aConnection) } DatabaseConnection::CachedStatement stmt; - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM object_store " - "WHERE id = :object_store_id;", + "WHERE id = :object_store_id;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -20027,11 +19998,11 @@ CreateIndexOp::InsertDataFromObjectStoreInternal( MOZ_ASSERT(storageConnection); DatabaseConnection::CachedStatement stmt; - nsresult rv = aConnection->GetCachedStatement( + nsresult rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "UPDATE object_data " "SET index_data_values = update_index_data_values " "(key, index_data_values, file_ids, data) " - "WHERE object_store_id = :object_store_id;", + "WHERE object_store_id = :object_store_id;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -20108,11 +20079,11 @@ CreateIndexOp::DoDatabaseWork(DatabaseConnection* aConnection) // we should have thrown an error long before now... DatabaseConnection::CachedStatement stmt; MOZ_ALWAYS_TRUE(NS_SUCCEEDED( - aConnection->GetCachedStatement( + aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "SELECT name " "FROM object_store_index " "WHERE object_store_id = :osid " - "AND name = :name;", + "AND name = :name;"), &stmt))); MOZ_ALWAYS_TRUE(NS_SUCCEEDED( stmt->BindInt64ByName(NS_LITERAL_CSTRING("osid"), mObjectStoreId))); @@ -20133,10 +20104,10 @@ CreateIndexOp::DoDatabaseWork(DatabaseConnection* aConnection) } DatabaseConnection::CachedStatement stmt; - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "INSERT INTO object_store_index (id, name, key_path, unique_index, " "multientry, object_store_id) " - "VALUES (:id, :name, :key_path, :unique, :multientry, :osid)", + "VALUES (:id, :name, :key_path, :unique, :multientry, :osid)"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -20538,11 +20509,11 @@ DeleteIndexOp::RemoveReferencesToIndex( // There is no need to parse the previous entry in the index_data_values // column if this is the last index. Simply set it to NULL. DatabaseConnection::CachedStatement stmt; - nsresult rv = aConnection->GetCachedStatement( + nsresult rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "UPDATE object_data " "SET index_data_values = NULL " "WHERE object_store_id = :object_store_id " - "AND key = :key;", + "AND key = :key;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -20636,10 +20607,10 @@ DeleteIndexOp::DoDatabaseWork(DatabaseConnection* aConnection) // Make sure |mIsLastIndex| is telling the truth. DatabaseConnection::CachedStatement stmt; MOZ_ALWAYS_TRUE(NS_SUCCEEDED( - aConnection->GetCachedStatement( + aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "SELECT id " "FROM object_store_index " - "WHERE object_store_id = :object_store_id;", + "WHERE object_store_id = :object_store_id;"), &stmt))); MOZ_ALWAYS_TRUE(NS_SUCCEEDED( @@ -20689,15 +20660,15 @@ DeleteIndexOp::DoDatabaseWork(DatabaseConnection* aConnection) // The cost of having an index on this field is too high. if (mUnique) { if (mIsLastIndex) { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "/* do not warn (bug someone else) */ " "SELECT value, object_data_key " "FROM unique_index_data " "WHERE index_id = :index_id " - "ORDER BY object_data_key ASC;", + "ORDER BY object_data_key ASC;"), &selectStmt); } else { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "/* do not warn (bug out) */ " "SELECT unique_index_data.value, " "unique_index_data.object_data_key, " @@ -20707,21 +20678,21 @@ DeleteIndexOp::DoDatabaseWork(DatabaseConnection* aConnection) "ON unique_index_data.object_data_key = object_data.key " "WHERE unique_index_data.index_id = :index_id " "AND object_data.object_store_id = :object_store_id " - "ORDER BY unique_index_data.object_data_key ASC;", + "ORDER BY unique_index_data.object_data_key ASC;"), &selectStmt); } } else { if (mIsLastIndex) { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "/* do not warn (bug me not) */ " "SELECT value, object_data_key " "FROM index_data " "WHERE index_id = :index_id " "AND object_store_id = :object_store_id " - "ORDER BY object_data_key ASC;", + "ORDER BY object_data_key ASC;"), &selectStmt); } else { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "/* do not warn (bug off) */ " "SELECT index_data.value, " "index_data.object_data_key, " @@ -20731,7 +20702,7 @@ DeleteIndexOp::DoDatabaseWork(DatabaseConnection* aConnection) "ON index_data.object_data_key = object_data.key " "WHERE index_data.index_id = :index_id " "AND object_data.object_store_id = :object_store_id " - "ORDER BY index_data.object_data_key ASC;", + "ORDER BY index_data.object_data_key ASC;"), &selectStmt); } } @@ -20832,17 +20803,17 @@ DeleteIndexOp::DoDatabaseWork(DatabaseConnection* aConnection) MOZ_ALWAYS_TRUE(NS_SUCCEEDED(deleteIndexRowStmt->Reset())); } else { if (mUnique) { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM unique_index_data " "WHERE index_id = :index_id " - "AND value = :value;", + "AND value = :value;"), &deleteIndexRowStmt); } else { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM index_data " "WHERE index_id = :index_id " "AND value = :value " - "AND object_data_key = :object_data_key;", + "AND object_data_key = :object_data_key;"), &deleteIndexRowStmt); } if (NS_WARN_IF(NS_FAILED(rv))) { @@ -20890,9 +20861,9 @@ DeleteIndexOp::DoDatabaseWork(DatabaseConnection* aConnection) } DatabaseConnection::CachedStatement deleteStmt; - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM object_store_index " - "WHERE id = :index_id;", + "WHERE id = :index_id;"), &deleteStmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -21024,11 +20995,11 @@ ObjectStoreAddOrPutRequestOp::RemoveOldIndexDataValues( MOZ_ASSERT(mObjectStoreHasIndexes); DatabaseConnection::CachedStatement indexValuesStmt; - nsresult rv = aConnection->GetCachedStatement( + nsresult rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "SELECT index_data_values " "FROM object_data " "WHERE object_store_id = :object_store_id " - "AND key = :key;", + "AND key = :key;"), &indexValuesStmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; @@ -21273,16 +21244,16 @@ ObjectStoreAddOrPutRequestOp::DoDatabaseWork(DatabaseConnection* aConnection) // detectable errors rather than corrupting data. DatabaseConnection::CachedStatement stmt; if (!mOverwrite || keyUnset) { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "INSERT INTO object_data " "(object_store_id, key, file_ids, data) " - "VALUES (:osid, :key, :file_ids, :data);", + "VALUES (:osid, :key, :file_ids, :data);"), &stmt); } else { - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "INSERT OR REPLACE INTO object_data " "(object_store_id, key, file_ids, data) " - "VALUES (:osid, :key, :file_ids, :data);", + "VALUES (:osid, :key, :file_ids, :data);"), &stmt); } if (NS_WARN_IF(NS_FAILED(rv))) { @@ -22037,9 +22008,9 @@ ObjectStoreClearRequestOp::DoDatabaseWork(DatabaseConnection* aConnection) } } else { DatabaseConnection::CachedStatement stmt; - rv = aConnection->GetCachedStatement( + rv = aConnection->GetCachedStatement(NS_LITERAL_CSTRING( "DELETE FROM object_data " - "WHERE object_store_id = :object_store_id;", + "WHERE object_store_id = :object_store_id;"), &stmt); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; diff --git a/dom/quota/QuotaManager.cpp b/dom/quota/QuotaManager.cpp index 600f5d4e377..68601bf87d7 100644 --- a/dom/quota/QuotaManager.cpp +++ b/dom/quota/QuotaManager.cpp @@ -111,12 +111,12 @@ const char kChromeOrigin[] = "chrome"; const char kAboutHomeOrigin[] = "moz-safe-about:home"; const char kIndexedDBOriginPrefix[] = "indexeddb://"; -const char kIndexedDBDirectoryName[] = "indexedDB"; -const char kStorageDirectoryName[] = "storage"; -const char kPersistentDirectoryName[] = "persistent"; -const char kPermanentDirectoryName[] = "permanent"; -const char kTemporaryDirectoryName[] = "temporary"; -const char kDefaultDirectoryName[] = "default"; +#define INDEXEDDB_DIRECTORY_NAME "indexedDB" +#define STORAGE_DIRECTORY_NAME "storage" +#define PERSISTENT_DIRECTORY_NAME "persistent" +#define PERMANENT_DIRECTORY_NAME "permanent" +#define TEMPORARY_DIRECTORY_NAME "temporary" +#define DEFAULT_DIRECTORY_NAME "default" enum AppId { kNoAppId = nsIScriptSecurityManager::NO_APP_ID, @@ -801,7 +801,7 @@ IsTreatedAsTemporary(PersistenceType aPersistenceType, nsresult CloneStoragePath(nsIFile* aBaseDir, - const nsACString& aStorageName, + const nsAString& aStorageName, nsAString& aStoragePath) { nsresult rv; @@ -812,8 +812,7 @@ CloneStoragePath(nsIFile* aBaseDir, return rv; } - NS_ConvertASCIItoUTF16 dirName(aStorageName); - rv = storageDir->Append(dirName); + rv = storageDir->Append(aStorageName); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -1427,29 +1426,28 @@ QuotaManager::Init() NS_ENSURE_SUCCESS(rv, rv); rv = CloneStoragePath(baseDir, - NS_LITERAL_CSTRING(kIndexedDBDirectoryName), + NS_LITERAL_STRING(INDEXEDDB_DIRECTORY_NAME), mIndexedDBPath); NS_ENSURE_SUCCESS(rv, rv); - NS_ConvertASCIItoUTF16 dirName(NS_LITERAL_CSTRING(kStorageDirectoryName)); - rv = baseDir->Append(dirName); + rv = baseDir->Append(NS_LITERAL_STRING(STORAGE_DIRECTORY_NAME)); NS_ENSURE_SUCCESS(rv, rv); rv = baseDir->GetPath(mStoragePath); NS_ENSURE_SUCCESS(rv, rv); rv = CloneStoragePath(baseDir, - NS_LITERAL_CSTRING(kPermanentDirectoryName), + NS_LITERAL_STRING(PERMANENT_DIRECTORY_NAME), mPermanentStoragePath); NS_ENSURE_SUCCESS(rv, rv); rv = CloneStoragePath(baseDir, - NS_LITERAL_CSTRING(kTemporaryDirectoryName), + NS_LITERAL_STRING(TEMPORARY_DIRECTORY_NAME), mTemporaryStoragePath); NS_ENSURE_SUCCESS(rv, rv); rv = CloneStoragePath(baseDir, - NS_LITERAL_CSTRING(kDefaultDirectoryName), + NS_LITERAL_STRING(DEFAULT_DIRECTORY_NAME), mDefaultStoragePath); NS_ENSURE_SUCCESS(rv, rv); @@ -2133,8 +2131,7 @@ QuotaManager::MaybeUpgradeIndexedDBDirectory() rv = persistentStorageDir->InitWithPath(mStoragePath); NS_ENSURE_SUCCESS(rv, rv); - NS_ConvertASCIItoUTF16 dirName(NS_LITERAL_CSTRING(kPersistentDirectoryName)); - rv = persistentStorageDir->Append(dirName); + rv = persistentStorageDir->Append(NS_LITERAL_STRING(PERSISTENT_DIRECTORY_NAME)); NS_ENSURE_SUCCESS(rv, rv); rv = persistentStorageDir->Exists(&exists); @@ -2155,7 +2152,7 @@ QuotaManager::MaybeUpgradeIndexedDBDirectory() // However there's a theoretical possibility that the indexedDB directory // is on different volume, but it should be rare enough that we don't have // to worry about it. - rv = indexedDBDir->MoveTo(storageDir, dirName); + rv = indexedDBDir->MoveTo(storageDir, NS_LITERAL_STRING(PERSISTENT_DIRECTORY_NAME)); NS_ENSURE_SUCCESS(rv, rv); return NS_OK; @@ -2179,8 +2176,7 @@ QuotaManager::MaybeUpgradePersistentStorageDirectory() return rv; } - NS_ConvertASCIItoUTF16 dirName(NS_LITERAL_CSTRING(kPersistentDirectoryName)); - rv = persistentStorageDir->Append(dirName); + rv = persistentStorageDir->Append(NS_LITERAL_STRING(PERSISTENT_DIRECTORY_NAME)); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -2275,8 +2271,7 @@ QuotaManager::MaybeUpgradePersistentStorageDirectory() } // And finally rename persistent to default. - NS_ConvertASCIItoUTF16 defDirName(NS_LITERAL_CSTRING(kDefaultDirectoryName)); - rv = persistentStorageDir->RenameTo(nullptr, defDirName); + rv = persistentStorageDir->RenameTo(nullptr, NS_LITERAL_STRING(DEFAULT_DIRECTORY_NAME)); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -2485,7 +2480,7 @@ QuotaManager::GetStorageId(PersistenceType aPersistenceType, str.Append('*'); str.AppendInt(aClientType); str.Append('*'); - str.Append(NS_ConvertUTF16toUTF8(aName)); + AppendUTF16toUTF8(aName, str); aDatabaseId = str; } diff --git a/extensions/cookie/nsPermissionManager.cpp b/extensions/cookie/nsPermissionManager.cpp index 701e85ea16d..ceb62ff187f 100644 --- a/extensions/cookie/nsPermissionManager.cpp +++ b/extensions/cookie/nsPermissionManager.cpp @@ -356,10 +356,10 @@ nsPermissionManager::AppClearDataObserverInit() //////////////////////////////////////////////////////////////////////////////// // nsPermissionManager Implementation -static const char kPermissionsFileName[] = "permissions.sqlite"; +#define PERMISSIONS_FILE_NAME "permissions.sqlite" #define HOSTS_SCHEMA_VERSION 4 -static const char kHostpermFileName[] = "hostperm.1"; +#define HOSTPERM_FILE_NAME "hostperm.1" // Default permissions are read from a URL - this is the preference we read // to find that URL. If not set, don't use any default permissions. @@ -453,7 +453,7 @@ nsPermissionManager::InitDB(bool aRemoveFile) } NS_ENSURE_SUCCESS(rv, NS_ERROR_UNEXPECTED); - rv = permissionsFile->AppendNative(NS_LITERAL_CSTRING(kPermissionsFileName)); + rv = permissionsFile->AppendNative(NS_LITERAL_CSTRING(PERMISSIONS_FILE_NAME)); NS_ENSURE_SUCCESS(rv, rv); if (aRemoveFile) { @@ -1861,7 +1861,7 @@ nsPermissionManager::Import() rv = NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR, getter_AddRefs(permissionsFile)); if (NS_FAILED(rv)) return rv; - rv = permissionsFile->AppendNative(NS_LITERAL_CSTRING(kHostpermFileName)); + rv = permissionsFile->AppendNative(NS_LITERAL_CSTRING(HOSTPERM_FILE_NAME)); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr fileInputStream; diff --git a/netwerk/base/Predictor.cpp b/netwerk/base/Predictor.cpp index 9e750d29546..01467b29137 100644 --- a/netwerk/base/Predictor.cpp +++ b/netwerk/base/Predictor.cpp @@ -128,7 +128,7 @@ const uint32_t STARTUP_WINDOW = 5U * 60U; // 5min const uint32_t METADATA_VERSION = 1; // ID Extensions for cache entries -const char PREDICTOR_ORIGIN_EXTENSION[] = "predictor-origin"; +#define PREDICTOR_ORIGIN_EXTENSION "predictor-origin" // Get the full origin (scheme, host, port) out of a URI (maybe should be part // of nsIURI instead?) @@ -506,16 +506,16 @@ class NuwaMarkPredictorThreadRunner : public nsRunnable // Predictor::nsICacheEntryMetaDataVisitor -static const char seenMetaData[] = "predictor::seen"; -static const char metaDataPrefix[] = "predictor::"; +#define SEEN_META_DATA "predictor::seen" +#define META_DATA_PREFIX "predictor::" nsresult Predictor::OnMetaDataElement(const char *asciiKey, const char *asciiValue) { MOZ_ASSERT(NS_IsMainThread()); if (!StringBeginsWith(nsDependentCString(asciiKey), - NS_LITERAL_CSTRING(metaDataPrefix)) || - NS_LITERAL_CSTRING(seenMetaData).Equals(asciiKey)) { + NS_LITERAL_CSTRING(META_DATA_PREFIX)) || + NS_LITERAL_CSTRING(SEEN_META_DATA).Equals(asciiKey)) { // This isn't a bit of metadata we care about return NS_OK; } @@ -1336,10 +1336,10 @@ Predictor::LearnInternal(PredictorLearnReason reason, nsICacheEntry *entry, nsCString junk; if (!fullUri && reason == nsINetworkPredictor::LEARN_LOAD_TOPLEVEL && - NS_FAILED(entry->GetMetaDataElement(seenMetaData, getter_Copies(junk)))) { + NS_FAILED(entry->GetMetaDataElement(SEEN_META_DATA, getter_Copies(junk)))) { // This is an origin-only entry that we haven't seen before. Let's mark it // as seen. - entry->SetMetaDataElement(seenMetaData, "1"); + entry->SetMetaDataElement(SEEN_META_DATA, "1"); // Need to ensure someone else can get to the entry if necessary entry->MetaDataReady(); @@ -1376,8 +1376,8 @@ Predictor::SpaceCleaner::OnMetaDataElement(const char *key, const char *value) MOZ_ASSERT(NS_IsMainThread()); if (!StringBeginsWith(nsDependentCString(key), - NS_LITERAL_CSTRING(metaDataPrefix)) || - NS_LITERAL_CSTRING(seenMetaData).Equals(key)) { + NS_LITERAL_CSTRING(META_DATA_PREFIX)) || + NS_LITERAL_CSTRING(SEEN_META_DATA).Equals(key)) { // This isn't a bit of metadata we care about return NS_OK; } @@ -1420,7 +1420,7 @@ Predictor::LearnForSubresource(nsICacheEntry *entry, nsIURI *targetURI) RETURN_IF_FAILED(rv); nsCString key; - key.AssignASCII(metaDataPrefix); + key.AssignLiteral(META_DATA_PREFIX); nsCString uri; targetURI->GetAsciiSpec(uri); key.Append(uri); @@ -1554,7 +1554,7 @@ Predictor::ParseMetaDataEntry(const char *key, const char *value, nsIURI **uri, PREDICTOR_LOG((" flags -> %u", flags)); if (key) { - const char *uriStart = key + (sizeof(metaDataPrefix) - 1); + const char *uriStart = key + (sizeof(META_DATA_PREFIX) - 1); nsresult rv = NS_NewURI(uri, uriStart, nullptr, mIOService); if (NS_FAILED(rv)) { PREDICTOR_LOG((" NS_NewURI returned 0x%X", rv)); @@ -1652,7 +1652,7 @@ Predictor::Resetter::OnMetaDataElement(const char *asciiKey, MOZ_ASSERT(NS_IsMainThread()); if (!StringBeginsWith(nsDependentCString(asciiKey), - NS_LITERAL_CSTRING(metaDataPrefix))) { + NS_LITERAL_CSTRING(META_DATA_PREFIX))) { // Not a metadata entry we care about, carry on return NS_OK; } diff --git a/netwerk/cache2/CacheFileContextEvictor.cpp b/netwerk/cache2/CacheFileContextEvictor.cpp index ad04d4dbf82..d8ab93f643c 100644 --- a/netwerk/cache2/CacheFileContextEvictor.cpp +++ b/netwerk/cache2/CacheFileContextEvictor.cpp @@ -20,9 +20,9 @@ namespace mozilla { namespace net { -const char kContextEvictionPrefix[] = "ce_"; +#define CONTEXT_EVICTION_PREFIX "ce_" const uint32_t kContextEvictionPrefixLength = - sizeof(kContextEvictionPrefix) - 1; + sizeof(CONTEXT_EVICTION_PREFIX) - 1; bool CacheFileContextEvictor::sDiskAlreadySearched = false; @@ -56,7 +56,7 @@ CacheFileContextEvictor::Init(nsIFile *aCacheDirectory) return rv; } - rv = mEntriesDir->AppendNative(NS_LITERAL_CSTRING(kEntriesDir)); + rv = mEntriesDir->AppendNative(NS_LITERAL_CSTRING(ENTRIES_DIR)); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -346,7 +346,7 @@ CacheFileContextEvictor::LoadEvictInfoFromDisk() continue; } - if (!StringBeginsWith(leaf, NS_LITERAL_CSTRING(kContextEvictionPrefix))) { + if (!StringBeginsWith(leaf, NS_LITERAL_CSTRING(CONTEXT_EVICTION_PREFIX))) { continue; } @@ -395,7 +395,7 @@ CacheFileContextEvictor::GetContextFile(nsILoadContextInfo *aLoadContextInfo, nsresult rv; nsAutoCString leafName; - leafName.Assign(NS_LITERAL_CSTRING(kContextEvictionPrefix)); + leafName.AssignLiteral(CONTEXT_EVICTION_PREFIX); nsAutoCString keyPrefix; CacheFileUtils::AppendKeyPrefix(aLoadContextInfo, keyPrefix); diff --git a/netwerk/cache2/CacheFileIOManager.cpp b/netwerk/cache2/CacheFileIOManager.cpp index cfcf50a6402..62419090a0d 100644 --- a/netwerk/cache2/CacheFileIOManager.cpp +++ b/netwerk/cache2/CacheFileIOManager.cpp @@ -2802,7 +2802,7 @@ CacheFileIOManager::EvictAllInternal() return rv; } - rv = file->AppendNative(NS_LITERAL_CSTRING(kEntriesDir)); + rv = file->AppendNative(NS_LITERAL_CSTRING(ENTRIES_DIR)); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -2817,7 +2817,7 @@ CacheFileIOManager::EvictAllInternal() NS_DispatchToMainThread(r); // Create a new empty entries directory - rv = CheckAndCreateDir(mCacheDirectory, kEntriesDir, false); + rv = CheckAndCreateDir(mCacheDirectory, ENTRIES_DIR, false); if (NS_WARN_IF(NS_FAILED(rv))) { return rv; } @@ -3013,7 +3013,7 @@ CacheFileIOManager::TrashDirectory(nsIFile *aFile) srand(static_cast(PR_Now())); while (true) { - leaf = kTrashDir; + leaf = TRASH_DIR; leaf.AppendInt(rand()); rv = trash->SetNativeLeafName(leaf); NS_ENSURE_SUCCESS(rv, rv); @@ -3256,11 +3256,11 @@ CacheFileIOManager::FindTrashDirToRemove() continue; } - if (leafName.Length() < strlen(kTrashDir)) { + if (leafName.Length() < strlen(TRASH_DIR)) { continue; } - if (!StringBeginsWith(leafName, NS_LITERAL_CSTRING(kTrashDir))) { + if (!StringBeginsWith(leafName, NS_LITERAL_CSTRING(TRASH_DIR))) { continue; } @@ -3422,7 +3422,7 @@ CacheFileIOManager::GetFile(const SHA1Sum::Hash *aHash, nsIFile **_retval) rv = mCacheDirectory->Clone(getter_AddRefs(file)); NS_ENSURE_SUCCESS(rv, rv); - rv = file->AppendNative(NS_LITERAL_CSTRING(kEntriesDir)); + rv = file->AppendNative(NS_LITERAL_CSTRING(ENTRIES_DIR)); NS_ENSURE_SUCCESS(rv, rv); nsAutoCString leafName; @@ -3458,7 +3458,7 @@ CacheFileIOManager::GetDoomedFile(nsIFile **_retval) rv = mCacheDirectory->Clone(getter_AddRefs(file)); NS_ENSURE_SUCCESS(rv, rv); - rv = file->AppendNative(NS_LITERAL_CSTRING(kDoomedDir)); + rv = file->AppendNative(NS_LITERAL_CSTRING(DOOMED_DIR)); NS_ENSURE_SUCCESS(rv, rv); rv = file->AppendNative(NS_LITERAL_CSTRING("dummyleaf")); @@ -3586,11 +3586,11 @@ CacheFileIOManager::CreateCacheTree() NS_ENSURE_SUCCESS(rv, rv); // ensure entries directory exists - rv = CheckAndCreateDir(mCacheDirectory, kEntriesDir, false); + rv = CheckAndCreateDir(mCacheDirectory, ENTRIES_DIR, false); NS_ENSURE_SUCCESS(rv, rv); // ensure doomed directory exists - rv = CheckAndCreateDir(mCacheDirectory, kDoomedDir, true); + rv = CheckAndCreateDir(mCacheDirectory, DOOMED_DIR, true); NS_ENSURE_SUCCESS(rv, rv); mTreeCreated = true; @@ -3782,8 +3782,8 @@ CacheFileIOManager::SyncRemoveAllCacheFiles() nsresult rv; - SyncRemoveDir(mCacheDirectory, kEntriesDir); - SyncRemoveDir(mCacheDirectory, kDoomedDir); + SyncRemoveDir(mCacheDirectory, ENTRIES_DIR); + SyncRemoveDir(mCacheDirectory, DOOMED_DIR); // Clear any intermediate state of trash dir enumeration. mFailedTrashDirs.Clear(); diff --git a/netwerk/cache2/CacheFileIOManager.h b/netwerk/cache2/CacheFileIOManager.h index 4afae666561..39e368158bf 100644 --- a/netwerk/cache2/CacheFileIOManager.h +++ b/netwerk/cache2/CacheFileIOManager.h @@ -32,9 +32,9 @@ class CacheFile; class CacheFileHandlesEntry; #endif -const char kEntriesDir[] = "entries"; -const char kDoomedDir[] = "doomed"; -const char kTrashDir[] = "trash"; +#define ENTRIES_DIR "entries" +#define DOOMED_DIR "doomed" +#define TRASH_DIR "trash" class CacheFileHandle : public nsISupports diff --git a/netwerk/cache2/CacheIndex.cpp b/netwerk/cache2/CacheIndex.cpp index cc8454072ff..1efbc52ade9 100644 --- a/netwerk/cache2/CacheIndex.cpp +++ b/netwerk/cache2/CacheIndex.cpp @@ -28,9 +28,9 @@ #define kIndexVersion 0x00000001 #define kUpdateIndexStartDelay 50000 // in milliseconds -const char kIndexName[] = "index"; -const char kTempIndexName[] = "index.tmp"; -const char kJournalName[] = "index.log"; +#define INDEX_NAME "index" +#define TEMP_INDEX_NAME "index.tmp" +#define JOURNAL_NAME "index.log" namespace mozilla { namespace net { @@ -1039,7 +1039,7 @@ CacheIndex::RemoveAll() } else { // We don't have a handle to index file, so get the file here, but delete // it outside the lock. Ignore the result since this is not fatal. - index->GetFile(NS_LITERAL_CSTRING(kIndexName), getter_AddRefs(file)); + index->GetFile(NS_LITERAL_CSTRING(INDEX_NAME), getter_AddRefs(file)); } if (index->mJournalHandle) { @@ -1572,7 +1572,7 @@ CacheIndex::WriteIndexToDisk() mProcessEntries = mIndexStats.ActiveEntriesCount(); mIndexFileOpener = new FileOpenHelper(this); - rv = CacheFileIOManager::OpenFile(NS_LITERAL_CSTRING(kTempIndexName), + rv = CacheFileIOManager::OpenFile(NS_LITERAL_CSTRING(TEMP_INDEX_NAME), CacheFileIOManager::SPECIAL_FILE | CacheFileIOManager::CREATE, mIndexFileOpener); @@ -1823,9 +1823,9 @@ CacheIndex::RemoveIndexFromDisk() { LOG(("CacheIndex::RemoveIndexFromDisk()")); - RemoveFile(NS_LITERAL_CSTRING(kIndexName)); - RemoveFile(NS_LITERAL_CSTRING(kTempIndexName)); - RemoveFile(NS_LITERAL_CSTRING(kJournalName)); + RemoveFile(NS_LITERAL_CSTRING(INDEX_NAME)); + RemoveFile(NS_LITERAL_CSTRING(TEMP_INDEX_NAME)); + RemoveFile(NS_LITERAL_CSTRING(JOURNAL_NAME)); } class WriteLogHelper @@ -1940,14 +1940,14 @@ CacheIndex::WriteLogToDisk() MOZ_ASSERT(mPendingUpdates.Count() == 0); MOZ_ASSERT(mState == SHUTDOWN); - RemoveFile(NS_LITERAL_CSTRING(kTempIndexName)); + RemoveFile(NS_LITERAL_CSTRING(TEMP_INDEX_NAME)); nsCOMPtr indexFile; - rv = GetFile(NS_LITERAL_CSTRING(kIndexName), getter_AddRefs(indexFile)); + rv = GetFile(NS_LITERAL_CSTRING(INDEX_NAME), getter_AddRefs(indexFile)); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr logFile; - rv = GetFile(NS_LITERAL_CSTRING(kJournalName), getter_AddRefs(logFile)); + rv = GetFile(NS_LITERAL_CSTRING(JOURNAL_NAME), getter_AddRefs(logFile)); NS_ENSURE_SUCCESS(rv, rv); mIndexStats.Log(); @@ -2017,36 +2017,36 @@ CacheIndex::ReadIndexFromDisk() ChangeState(READING); mIndexFileOpener = new FileOpenHelper(this); - rv = CacheFileIOManager::OpenFile(NS_LITERAL_CSTRING(kIndexName), + rv = CacheFileIOManager::OpenFile(NS_LITERAL_CSTRING(INDEX_NAME), CacheFileIOManager::SPECIAL_FILE | CacheFileIOManager::OPEN, mIndexFileOpener); if (NS_FAILED(rv)) { LOG(("CacheIndex::ReadIndexFromDisk() - CacheFileIOManager::OpenFile() " - "failed [rv=0x%08x, file=%s]", rv, kIndexName)); + "failed [rv=0x%08x, file=%s]", rv, INDEX_NAME)); FinishRead(false); return; } mJournalFileOpener = new FileOpenHelper(this); - rv = CacheFileIOManager::OpenFile(NS_LITERAL_CSTRING(kJournalName), + rv = CacheFileIOManager::OpenFile(NS_LITERAL_CSTRING(JOURNAL_NAME), CacheFileIOManager::SPECIAL_FILE | CacheFileIOManager::OPEN, mJournalFileOpener); if (NS_FAILED(rv)) { LOG(("CacheIndex::ReadIndexFromDisk() - CacheFileIOManager::OpenFile() " - "failed [rv=0x%08x, file=%s]", rv, kJournalName)); + "failed [rv=0x%08x, file=%s]", rv, JOURNAL_NAME)); FinishRead(false); } mTmpFileOpener = new FileOpenHelper(this); - rv = CacheFileIOManager::OpenFile(NS_LITERAL_CSTRING(kTempIndexName), + rv = CacheFileIOManager::OpenFile(NS_LITERAL_CSTRING(TEMP_INDEX_NAME), CacheFileIOManager::SPECIAL_FILE | CacheFileIOManager::OPEN, mTmpFileOpener); if (NS_FAILED(rv)) { LOG(("CacheIndex::ReadIndexFromDisk() - CacheFileIOManager::OpenFile() " - "failed [rv=0x%08x, file=%s]", rv, kTempIndexName)); + "failed [rv=0x%08x, file=%s]", rv, TEMP_INDEX_NAME)); FinishRead(false); } } @@ -2425,8 +2425,8 @@ CacheIndex::FinishRead(bool aSucceeded) (aSucceeded && mIndexOnDiskIsValid && mJournalReadSuccessfully)); if (mState == SHUTDOWN) { - RemoveFile(NS_LITERAL_CSTRING(kTempIndexName)); - RemoveFile(NS_LITERAL_CSTRING(kJournalName)); + RemoveFile(NS_LITERAL_CSTRING(TEMP_INDEX_NAME)); + RemoveFile(NS_LITERAL_CSTRING(JOURNAL_NAME)); } else { if (mIndexHandle && !mIndexOnDiskIsValid) { CacheFileIOManager::DoomFile(mIndexHandle, nullptr); @@ -2571,7 +2571,7 @@ CacheIndex::SetupDirectoryEnumerator() rv = mCacheDirectory->Clone(getter_AddRefs(file)); NS_ENSURE_SUCCESS(rv, rv); - rv = file->AppendNative(NS_LITERAL_CSTRING(kEntriesDir)); + rv = file->AppendNative(NS_LITERAL_CSTRING(ENTRIES_DIR)); NS_ENSURE_SUCCESS(rv, rv); bool exists; @@ -3367,7 +3367,7 @@ CacheIndex::OnFileOpenedInternal(FileOpenHelper *aOpener, if (mJournalHandle) { // this shouldn't normally happen LOG(("CacheIndex::OnFileOpenedInternal() - Unexpected state, all " "files [%s, %s, %s] should never exist. Removing whole index.", - kIndexName, kJournalName, kTempIndexName)); + INDEX_NAME, JOURNAL_NAME, TEMP_INDEX_NAME)); FinishRead(false); break; } @@ -3377,7 +3377,7 @@ CacheIndex::OnFileOpenedInternal(FileOpenHelper *aOpener, // Rename journal to make sure we update index on next start in case // firefox crashes rv = CacheFileIOManager::RenameFile( - mJournalHandle, NS_LITERAL_CSTRING(kTempIndexName), this); + mJournalHandle, NS_LITERAL_CSTRING(TEMP_INDEX_NAME), this); if (NS_FAILED(rv)) { LOG(("CacheIndex::OnFileOpenedInternal() - CacheFileIOManager::" "RenameFile() failed synchronously [rv=0x%08x]", rv)); @@ -3435,7 +3435,7 @@ CacheIndex::OnDataWritten(CacheFileHandle *aHandle, const char *aBuf, } else { if (mSkipEntries == mProcessEntries) { rv = CacheFileIOManager::RenameFile(mIndexHandle, - NS_LITERAL_CSTRING(kIndexName), + NS_LITERAL_CSTRING(INDEX_NAME), this); if (NS_FAILED(rv)) { LOG(("CacheIndex::OnDataWritten() - CacheFileIOManager::" diff --git a/netwerk/cookie/nsCookieService.cpp b/netwerk/cookie/nsCookieService.cpp index 42335055df9..85cb00d38bc 100644 --- a/netwerk/cookie/nsCookieService.cpp +++ b/netwerk/cookie/nsCookieService.cpp @@ -68,7 +68,7 @@ static nsCookieService *gCookieService; // XXX_hack. See bug 178993. // This is a hack to hide HttpOnly cookies from older browsers -static const char kHttpOnlyPrefix[] = "#HttpOnly_"; +#define HTTP_ONLY_PREFIX "#HttpOnly_" #define COOKIES_FILE "cookies.sqlite" #define COOKIES_SCHEMA_VERSION 5 @@ -92,7 +92,7 @@ static const int64_t kCookieStaleThreshold = 60 * PR_USEC_PER_SEC; // 1 minute i static const int64_t kCookiePurgeAge = int64_t(30 * 24 * 60 * 60) * PR_USEC_PER_SEC; // 30 days in microseconds -static const char kOldCookieFileName[] = "cookies.txt"; +#define OLD_COOKIE_FILE_NAME "cookies.txt" #undef LIMIT #define LIMIT(x, low, high, default) ((x) >= (low) && (x) <= (high) ? (x) : (default)) @@ -1237,7 +1237,7 @@ nsCookieService::TryInitDB(bool aRecreateDB) // private browsing mode; otherwise ImportCookies() won't be happy. DBState* initialState = mDBState; mDBState = mDefaultDBState; - oldCookieFile->AppendNative(NS_LITERAL_CSTRING(kOldCookieFileName)); + oldCookieFile->AppendNative(NS_LITERAL_CSTRING(OLD_COOKIE_FILE_NAME)); ImportCookies(oldCookieFile); oldCookieFile->Remove(false); mDBState = initialState; @@ -2501,9 +2501,9 @@ nsCookieService::ImportCookies(nsIFile *aCookieFile) } while (isMore && NS_SUCCEEDED(lineInputStream->ReadLine(buffer, &isMore))) { - if (StringBeginsWith(buffer, NS_LITERAL_CSTRING(kHttpOnlyPrefix))) { + if (StringBeginsWith(buffer, NS_LITERAL_CSTRING(HTTP_ONLY_PREFIX))) { isHttpOnly = true; - hostIndex = sizeof(kHttpOnlyPrefix) - 1; + hostIndex = sizeof(HTTP_ONLY_PREFIX) - 1; } else if (buffer.IsEmpty() || buffer.First() == '#') { continue; } else { diff --git a/netwerk/ipc/RemoteOpenFileChild.cpp b/netwerk/ipc/RemoteOpenFileChild.cpp index a9321007c79..540e617e7f0 100644 --- a/netwerk/ipc/RemoteOpenFileChild.cpp +++ b/netwerk/ipc/RemoteOpenFileChild.cpp @@ -611,6 +611,12 @@ RemoteOpenFileChild::RenameTo(nsIFile *newParentDir, const nsAString &newName) return NS_ERROR_NOT_IMPLEMENTED; } +NS_IMETHODIMP +RemoteOpenFileChild::RenameToNative(nsIFile *newParentDir, const nsACString &newName) +{ + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP RemoteOpenFileChild::Remove(bool recursive) { diff --git a/security/manager/ssl/src/CryptoTask.h b/security/manager/ssl/src/CryptoTask.h index 69d2d0bc9d8..ce282d4be81 100644 --- a/security/manager/ssl/src/CryptoTask.h +++ b/security/manager/ssl/src/CryptoTask.h @@ -50,7 +50,7 @@ public: { static_assert(LEN <= 15, "Thread name must be no more than 15 characters"); - return Dispatch(NS_LITERAL_CSTRING(taskThreadName)); + return Dispatch(nsDependentCString(taskThreadName, LEN - 1)); } nsresult Dispatch(const nsACString& taskThreadName); diff --git a/security/manager/ssl/src/nsCertOverrideService.cpp b/security/manager/ssl/src/nsCertOverrideService.cpp index 22c1b4a7a0e..c1ddd634d65 100644 --- a/security/manager/ssl/src/nsCertOverrideService.cpp +++ b/security/manager/ssl/src/nsCertOverrideService.cpp @@ -29,7 +29,7 @@ using namespace mozilla; using namespace mozilla::psm; -static const char kCertOverrideFileName[] = "cert_override.txt"; +#define CERT_OVERRIDE_FILE_NAME "cert_override.txt" void nsCertOverride::convertBitsToString(OverrideBits ob, nsACString &str) @@ -144,7 +144,7 @@ nsCertOverrideService::Observe(nsISupports *, nsresult rv = NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR, getter_AddRefs(mSettingsFile)); if (NS_SUCCEEDED(rv)) { - mSettingsFile->AppendNative(NS_LITERAL_CSTRING(kCertOverrideFileName)); + mSettingsFile->AppendNative(NS_LITERAL_CSTRING(CERT_OVERRIDE_FILE_NAME)); } else { mSettingsFile = nullptr; } diff --git a/startupcache/StartupCache.cpp b/startupcache/StartupCache.cpp index 0eb99b1093f..7a159996d20 100644 --- a/startupcache/StartupCache.cpp +++ b/startupcache/StartupCache.cpp @@ -81,7 +81,7 @@ StartupCache::CollectReports(nsIHandleReportCallback* aHandleReport, return NS_OK; } -static const char sStartupCacheName[] = "startupCache." SC_WORDSIZE "." SC_ENDIAN; +#define STARTUP_CACHE_NAME "startupCache." SC_WORDSIZE "." SC_ENDIAN StartupCache* StartupCache::GetSingleton() @@ -196,7 +196,7 @@ StartupCache::Init() if (NS_FAILED(rv) && rv != NS_ERROR_FILE_ALREADY_EXISTS) return rv; - rv = file->AppendNative(NS_LITERAL_CSTRING(sStartupCacheName)); + rv = file->AppendNative(NS_LITERAL_CSTRING(STARTUP_CACHE_NAME)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/toolkit/components/places/nsPlacesMacros.h b/toolkit/components/places/nsPlacesMacros.h index 30bcbed1abb..1235e7ec8e7 100644 --- a/toolkit/components/places/nsPlacesMacros.h +++ b/toolkit/components/places/nsPlacesMacros.h @@ -46,7 +46,7 @@ #define PLACES_WARN_DEPRECATED() \ PR_BEGIN_MACRO \ - nsCString msg = NS_LITERAL_CSTRING(__FUNCTION__); \ + nsCString msg(__FUNCTION__); \ msg.AppendLiteral(" is deprecated and will be removed in the next version.");\ NS_WARNING(msg.get()); \ nsCOMPtr cs = do_GetService(NS_CONSOLESERVICE_CONTRACTID);\ diff --git a/toolkit/components/telemetry/Telemetry.cpp b/toolkit/components/telemetry/Telemetry.cpp index 865fe190a3c..c734f6c48f2 100644 --- a/toolkit/components/telemetry/Telemetry.cpp +++ b/toolkit/components/telemetry/Telemetry.cpp @@ -84,10 +84,8 @@ using base::Histogram; using base::LinearHistogram; using base::StatisticsRecorder; -const char KEYED_HISTOGRAM_NAME_SEPARATOR[] = "#"; -#if !defined(MOZ_WIDGET_GONK) && !defined(MOZ_WIDGET_ANDROID) -const char SUBSESSION_HISTOGRAM_PREFIX[] = "sub#"; -#endif +#define KEYED_HISTOGRAM_NAME_SEPARATOR "#" +#define SUBSESSION_HISTOGRAM_PREFIX "sub#" enum reflectStatus { REFLECT_OK, @@ -871,7 +869,7 @@ IsExpired(const Histogram *histogram){ bool IsValidHistogramName(const nsACString& name) { - return !FindInReadable(nsCString(KEYED_HISTOGRAM_NAME_SEPARATOR), name); + return !FindInReadable(NS_LITERAL_CSTRING(KEYED_HISTOGRAM_NAME_SEPARATOR), name); } bool @@ -4148,11 +4146,11 @@ KeyedHistogram::GetHistogram(const nsCString& key, Histogram** histogram, nsCString histogramName; #if !defined(MOZ_WIDGET_GONK) && !defined(MOZ_WIDGET_ANDROID) if (subsession) { - histogramName.Append(SUBSESSION_HISTOGRAM_PREFIX); + histogramName.AppendLiteral(SUBSESSION_HISTOGRAM_PREFIX); } #endif histogramName.Append(mName); - histogramName.Append(KEYED_HISTOGRAM_NAME_SEPARATOR); + histogramName.AppendLiteral(KEYED_HISTOGRAM_NAME_SEPARATOR); histogramName.Append(key); Histogram* h; diff --git a/toolkit/xre/nsUpdateDriver.cpp b/toolkit/xre/nsUpdateDriver.cpp index 85843d59a3b..dd92dfdd99b 100644 --- a/toolkit/xre/nsUpdateDriver.cpp +++ b/toolkit/xre/nsUpdateDriver.cpp @@ -82,16 +82,16 @@ GetUpdateLog() #define LOG(args) PR_LOG(GetUpdateLog(), PR_LOG_DEBUG, args) #ifdef XP_WIN -static const char kUpdaterBin[] = "updater.exe"; +#define UPDATER_BIN "updater.exe" #else -static const char kUpdaterBin[] = "updater"; +#define UPDATER_BIN "updater" #endif -static const char kUpdaterINI[] = "updater.ini"; +#define UPDATER_INI "updater.ini" #ifdef XP_MACOSX -static const char kUpdaterApp[] = "updater.app"; +#define UPDATER_APP "updater.app" #endif #if defined(XP_UNIX) && !defined(XP_MACOSX) -static const char kUpdaterPNG[] = "updater.png"; +#define UPDATER_PNG "updater.png" #endif #if defined(MOZ_WIDGET_GONK) @@ -330,9 +330,8 @@ IsOlderVersion(nsIFile *versionFile, const char *appVersion) } static bool -CopyFileIntoUpdateDir(nsIFile *parentDir, const char *leafName, nsIFile *updateDir) +CopyFileIntoUpdateDir(nsIFile *parentDir, const nsACString& leaf, nsIFile *updateDir) { - nsDependentCString leaf(leafName); nsCOMPtr file; // Make sure there is not an existing file in the target location. @@ -364,19 +363,19 @@ CopyUpdaterIntoUpdateDir(nsIFile *greDir, nsIFile *appDir, nsIFile *updateDir, { // Copy the updater application from the GRE and the updater ini from the app #if defined(XP_MACOSX) - if (!CopyFileIntoUpdateDir(appDir, kUpdaterApp, updateDir)) + if (!CopyFileIntoUpdateDir(appDir, NS_LITERAL_CSTRING(UPDATER_APP), updateDir)) return false; - CopyFileIntoUpdateDir(greDir, kUpdaterINI, updateDir); + CopyFileIntoUpdateDir(greDir, NS_LITERAL_CSTRING(UPDATER_INI), updateDir); #else - if (!CopyFileIntoUpdateDir(greDir, kUpdaterBin, updateDir)) + if (!CopyFileIntoUpdateDir(greDir, NS_LITERAL_CSTRING(UPDATER_BIN), updateDir)) return false; - CopyFileIntoUpdateDir(appDir, kUpdaterINI, updateDir); + CopyFileIntoUpdateDir(appDir, NS_LITERAL_CSTRING(UPDATER_INI), updateDir); #endif #if defined(XP_UNIX) && !defined(XP_MACOSX) && !defined(ANDROID) nsCOMPtr iconDir; appDir->Clone(getter_AddRefs(iconDir)); iconDir->AppendNative(NS_LITERAL_CSTRING("icons")); - if (!CopyFileIntoUpdateDir(iconDir, kUpdaterPNG, updateDir)) + if (!CopyFileIntoUpdateDir(iconDir, NS_LITERAL_CSTRING(UPDATER_PNG), updateDir)) return false; #endif // Finally, return the location of the updater binary. @@ -384,7 +383,7 @@ CopyUpdaterIntoUpdateDir(nsIFile *greDir, nsIFile *appDir, nsIFile *updateDir, if (NS_FAILED(rv)) return false; #if defined(XP_MACOSX) - rv = updater->AppendNative(NS_LITERAL_CSTRING(kUpdaterApp)); + rv = updater->AppendNative(NS_LITERAL_CSTRING(UPDATER_APP)); nsresult tmp = updater->AppendNative(NS_LITERAL_CSTRING("Contents")); if (NS_FAILED(tmp)) { rv = tmp; @@ -393,7 +392,7 @@ CopyUpdaterIntoUpdateDir(nsIFile *greDir, nsIFile *appDir, nsIFile *updateDir, if (NS_FAILED(tmp) || NS_FAILED(rv)) return false; #endif - rv = updater->AppendNative(NS_LITERAL_CSTRING(kUpdaterBin)); + rv = updater->AppendNative(NS_LITERAL_CSTRING(UPDATER_BIN)); return NS_SUCCEEDED(rv); } @@ -501,8 +500,7 @@ SwitchToUpdatedApp(nsIFile *greDir, nsIFile *updateDir, return; } - nsDependentCString leaf(kUpdaterBin); - rv = updater->AppendNative(leaf); + rv = updater->AppendNative(NS_LITERAL_CSTRING(UPDATER_BIN)); if (NS_FAILED(rv)) { return; } @@ -770,8 +768,7 @@ ApplyUpdate(nsIFile *greDir, nsIFile *updateDir, nsIFile *statusFile, return; } - nsDependentCString leaf(kUpdaterBin); - rv = updater->AppendNative(leaf); + rv = updater->AppendNative(NS_LITERAL_CSTRING(UPDATER_BIN)); if (NS_FAILED(rv)) { return; } diff --git a/xpcom/io/nsIFile.idl b/xpcom/io/nsIFile.idl index 5b2357104f9..4817816bd39 100644 --- a/xpcom/io/nsIFile.idl +++ b/xpcom/io/nsIFile.idl @@ -42,7 +42,7 @@ interface nsISimpleEnumerator; * be safely passed to javascript via xpconnect. Therefore, the "native * methods" are not scriptable. */ -[scriptable, main_process_scriptable_only, uuid(7441fb13-4d9f-42fd-836f-a165692938af), builtinclass] +[scriptable, main_process_scriptable_only, uuid(890b802d-3522-4887-a892-3dab31df30d9), builtinclass] interface nsIFile : nsISupports { /** @@ -189,6 +189,7 @@ interface nsIFile : nsISupports * This object will still point to the old location after renaming. */ void renameTo(in nsIFile newParentDir, in AString newName); + [noscript] void renameToNative(in nsIFile newParentDir, in ACString newName); /** * This will try to delete this file. The 'recursive' flag diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp index 826573daa5d..99621108a83 100644 --- a/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp @@ -2153,6 +2153,12 @@ nsLocalFile::MoveTo(nsIFile* aNewParentDir, const nsAString& aNewName) NS_IMETHODIMP nsLocalFile::RenameTo(nsIFile* aNewParentDir, const nsAString& aNewName) +{ + SET_UCS_2ARGS_2(RenameToNative, aNewParentDir, aNewName); +} + +NS_IMETHODIMP +nsLocalFile::RenameToNative(nsIFile* aNewParentDir, const nsACString& aNewName) { nsresult rv; @@ -2161,12 +2167,7 @@ nsLocalFile::RenameTo(nsIFile* aNewParentDir, const nsAString& aNewName) // check to make sure that we have a new parent nsAutoCString newPathName; - nsAutoCString newNativeName; - rv = NS_CopyUnicodeToNative(aNewName, newNativeName); - if (NS_FAILED(rv)) { - return rv; - } - rv = GetNativeTargetPathName(aNewParentDir, newNativeName, newPathName); + rv = GetNativeTargetPathName(aNewParentDir, aNewName, newPathName); if (NS_FAILED(rv)) { return rv; } diff --git a/xpcom/io/nsLocalFileWin.cpp b/xpcom/io/nsLocalFileWin.cpp index d65319a5a8b..1be3fed1744 100644 --- a/xpcom/io/nsLocalFileWin.cpp +++ b/xpcom/io/nsLocalFileWin.cpp @@ -2268,6 +2268,18 @@ nsLocalFile::RenameTo(nsIFile* aNewParentDir, const nsAString& aNewName) return CopySingleFile(this, targetParentDir, aNewName, options); } +NS_IMETHODIMP +nsLocalFile::RenameToNative(nsIFile* aNewParentDir, const nsACString& aNewName) +{ + nsAutoString tmp; + nsresult rv = NS_CopyNativeToUnicode(aNewName, tmp); + if (NS_SUCCEEDED(rv)) { + return RenameTo(aNewParentDir, tmp); + } + + return rv; +} + NS_IMETHODIMP nsLocalFile::Load(PRLibrary** aResult) { diff --git a/xpcom/string/nsLiteralString.h b/xpcom/string/nsLiteralString.h index 8c8cb123688..d744c53b772 100644 --- a/xpcom/string/nsLiteralString.h +++ b/xpcom/string/nsLiteralString.h @@ -30,8 +30,8 @@ #define NS_LITERAL_STRING_INIT(n,s) n(MOZ_UTF16(s)) #define NS_NAMED_LITERAL_STRING(n,s) const nsLiteralString n(MOZ_UTF16(s)) -#define NS_LITERAL_CSTRING(s) static_cast(nsLiteralCString(s)) -#define NS_LITERAL_CSTRING_INIT(n,s) n(s) -#define NS_NAMED_LITERAL_CSTRING(n,s) const nsLiteralCString n(s) +#define NS_LITERAL_CSTRING(s) static_cast(nsLiteralCString("" s)) +#define NS_LITERAL_CSTRING_INIT(n,s) n("" s) +#define NS_NAMED_LITERAL_CSTRING(n,s) const nsLiteralCString n("" s) #endif /* !defined(nsLiteralString_h___) */ diff --git a/xpfe/components/windowds/nsWindowDataSource.cpp b/xpfe/components/windowds/nsWindowDataSource.cpp index 8c51a2f10ee..85287297fbc 100644 --- a/xpfe/components/windowds/nsWindowDataSource.cpp +++ b/xpfe/components/windowds/nsWindowDataSource.cpp @@ -29,10 +29,9 @@ nsIRDFService* nsWindowDataSource::gRDFService = nullptr; uint32_t nsWindowDataSource::gRefCnt = 0; -static const char kURINC_WindowRoot[] = "NC:WindowMediatorRoot"; - -DEFINE_RDF_VOCAB(NC_NAMESPACE_URI, NC, Name); -DEFINE_RDF_VOCAB(NC_NAMESPACE_URI, NC, KeyIndex); +#define URINC_WINDOWROOT "NC:WindowMediatorRoot" +#define URINC_NAME NC_NAMESPACE_URI "Name" +#define URINC_KEYINDEX NC_NAMESPACE_URI "KeyIndex" nsresult nsWindowDataSource::Init() @@ -43,9 +42,9 @@ nsWindowDataSource::Init() rv = CallGetService("@mozilla.org/rdf/rdf-service;1", &gRDFService); if (NS_FAILED(rv)) return rv; - gRDFService->GetResource(NS_LITERAL_CSTRING(kURINC_WindowRoot), &kNC_WindowRoot); - gRDFService->GetResource(NS_LITERAL_CSTRING(kURINC_Name), &kNC_Name); - gRDFService->GetResource(NS_LITERAL_CSTRING(kURINC_KeyIndex), &kNC_KeyIndex); + gRDFService->GetResource(NS_LITERAL_CSTRING(URINC_WINDOWROOT), &kNC_WindowRoot); + gRDFService->GetResource(NS_LITERAL_CSTRING(URINC_NAME), &kNC_Name); + gRDFService->GetResource(NS_LITERAL_CSTRING(URINC_KEYINDEX), &kNC_KeyIndex); } mInner = do_CreateInstance("@mozilla.org/rdf/datasource;1?name=in-memory-datasource", &rv);