Bug 1155963 Only allow NS_LITERAL_CSTRING to be used on compile-time literals r=froydnj,ehsan

This commit is contained in:
Neil Rashbrook 2015-05-16 09:07:10 +01:00
parent 84d00d1454
commit 7d598ef37a
26 changed files with 260 additions and 283 deletions

View File

@ -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<nsIGConfService> 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;
}

View File

@ -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,

View File

@ -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);
}
///////////////////////////////////////

View File

@ -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(

View File

@ -1527,7 +1527,7 @@ FetchBody<Derived>::ContinueConsumeBody(nsresult aStatus, uint32_t aResultLength
data.Adopt(reinterpret_cast<char*>(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<Derived>::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()) {

View File

@ -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 <size_t N>
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;

View File

@ -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;
}

View File

@ -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<nsIInputStream> fileInputStream;

View File

@ -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;
}

View File

@ -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);

View File

@ -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<unsigned>(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();

View File

@ -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

View File

@ -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<nsIFile> 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<nsIFile> 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::"

View File

@ -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 {

View File

@ -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)
{

View File

@ -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);

View File

@ -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;
}

View File

@ -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);

View File

@ -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<nsIConsoleService> cs = do_GetService(NS_CONSOLESERVICE_CONTRACTID);\

View File

@ -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;

View File

@ -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<nsIFile> 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<nsIFile> 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;
}

View File

@ -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

View File

@ -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;
}

View File

@ -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)
{

View File

@ -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<const nsLiteralCString&>(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<const nsLiteralCString&>(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___) */

View File

@ -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);