summaryrefslogtreecommitdiffstats
path: root/webkit/database/database_tracker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/database/database_tracker.cc')
-rw-r--r--webkit/database/database_tracker.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/webkit/database/database_tracker.cc b/webkit/database/database_tracker.cc
index c529c28..54e52d7 100644
--- a/webkit/database/database_tracker.cc
+++ b/webkit/database/database_tracker.cc
@@ -96,8 +96,16 @@ void DatabaseTracker::CloseTrackerDatabaseAndClearCaches() {
FilePath DatabaseTracker::GetFullDBFilePath(
const string16& origin_identifier,
const string16& database_name) const {
- return db_dir_.Append(FilePath::FromWStringHack(UTF16ToWide(
- origin_identifier + ASCIIToUTF16("_") + database_name)));
+ DCHECK(!origin_identifier.empty());
+ DCHECK(!database_name.empty());
+ int64 id = databases_table_->GetDatabaseID(
+ origin_identifier, database_name);
+ if (id < 0)
+ return FilePath();
+
+ FilePath file_name = FilePath::FromWStringHack(Int64ToWString(id));
+ return db_dir_.Append(FilePath::FromWStringHack(
+ UTF16ToWide(origin_identifier))).Append(file_name);
}
bool DatabaseTracker::LazyInit() {