diff options
Diffstat (limited to 'webkit/database/database_tracker.cc')
-rw-r--r-- | webkit/database/database_tracker.cc | 12 |
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() { |