Changeset 249054 in webkit
- Timestamp:
- Aug 23, 2019, 10:53:16 AM (7 years ago)
- Location:
- branches/safari-608-branch/Source/WebCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
Modules/indexeddb/server/SQLiteIDBBackingStore.cpp (modified) (3 diffs)
-
Modules/indexeddb/server/SQLiteIDBBackingStore.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-608-branch/Source/WebCore/ChangeLog
r249053 r249054 1 2019-08-23 Kocsen Chung <kocsen_chung@apple.com> 2 3 Cherry-pick r248971. rdar://problem/54643440 4 5 Crash under StringImpl::endsWith() in SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade() 6 https://bugs.webkit.org/show_bug.cgi?id=200990 7 <rdar://problem/54566439> 8 9 Reviewed by Alex Christensen. 10 11 Make sure we call isolatedCopy() on SQLiteIDBBackingStore::m_databaseRootDirectory before using 12 it from background threads. 13 14 * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: 15 (WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade): 16 (WebCore::IDBServer::SQLiteIDBBackingStore::databasesSizeForOrigin const): 17 (WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore): 18 * Modules/indexeddb/server/SQLiteIDBBackingStore.h: 19 (WebCore::IDBServer::SQLiteIDBBackingStore::databaseRootDirectory const): 20 21 22 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248971 268f45cc-cd09-0410-ab3c-d52691b4dbfc 23 24 2019-08-21 Chris Dumez <cdumez@apple.com> 25 26 Crash under StringImpl::endsWith() in SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade() 27 https://bugs.webkit.org/show_bug.cgi?id=200990 28 <rdar://problem/54566439> 29 30 Reviewed by Alex Christensen. 31 32 Make sure we call isolatedCopy() on SQLiteIDBBackingStore::m_databaseRootDirectory before using 33 it from background threads. 34 35 * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: 36 (WebCore::IDBServer::SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade): 37 (WebCore::IDBServer::SQLiteIDBBackingStore::databasesSizeForOrigin const): 38 (WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore): 39 * Modules/indexeddb/server/SQLiteIDBBackingStore.h: 40 (WebCore::IDBServer::SQLiteIDBBackingStore::databaseRootDirectory const): 41 1 42 2019-08-23 Kocsen Chung <kocsen_chung@apple.com> 2 43 -
branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp
r246922 r249054 794 794 String SQLiteIDBBackingStore::fullDatabaseDirectoryWithUpgrade() 795 795 { 796 String oldOriginDirectory = m_identifier.databaseDirectoryRelativeToRoot(m_databaseRootDirectory, "v0"); 796 auto databaseRootDirectory = this->databaseRootDirectory(); 797 String oldOriginDirectory = m_identifier.databaseDirectoryRelativeToRoot(databaseRootDirectory, "v0"); 797 798 String oldDatabaseDirectory = FileSystem::pathByAppendingComponent(oldOriginDirectory, filenameForDatabaseName()); 798 String newOriginDirectory = m_identifier.databaseDirectoryRelativeToRoot( m_databaseRootDirectory, "v1");799 String newOriginDirectory = m_identifier.databaseDirectoryRelativeToRoot(databaseRootDirectory, "v1"); 799 800 String fileNameHash = SQLiteFileSystem::computeHashForFileName(m_identifier.databaseName()); 800 801 Vector<String> directoriesWithSameHash = FileSystem::listDirectory(newOriginDirectory, fileNameHash + "*"); … … 893 894 uint64_t SQLiteIDBBackingStore::databasesSizeForOrigin() const 894 895 { 895 String oldVersionOriginDirectory = m_identifier.databaseDirectoryRelativeToRoot(m_databaseRootDirectory, "v0"); 896 String newVersionOriginDirectory = m_identifier.databaseDirectoryRelativeToRoot(m_databaseRootDirectory, "v1"); 896 auto databaseRootDirectory = this->databaseRootDirectory(); 897 String oldVersionOriginDirectory = m_identifier.databaseDirectoryRelativeToRoot(databaseRootDirectory, "v0"); 898 String newVersionOriginDirectory = m_identifier.databaseDirectoryRelativeToRoot(databaseRootDirectory, "v1"); 897 899 return databasesSizeForFolder(oldVersionOriginDirectory) + databasesSizeForFolder(newVersionOriginDirectory); 898 900 } … … 2644 2646 SQLiteFileSystem::deleteDatabaseFile(dbFilename); 2645 2647 SQLiteFileSystem::deleteEmptyDatabaseDirectory(m_databaseDirectory); 2646 SQLiteFileSystem::deleteEmptyDatabaseDirectory(m_identifier.databaseDirectoryRelativeToRoot( m_databaseRootDirectory));2648 SQLiteFileSystem::deleteEmptyDatabaseDirectory(m_identifier.databaseDirectoryRelativeToRoot(databaseRootDirectory())); 2647 2649 } 2648 2650 -
branches/safari-608-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.h
r244687 r249054 106 106 String fullDatabasePath() const; 107 107 String fullDatabaseDirectoryWithUpgrade(); 108 109 String databaseRootDirectory() const { return m_databaseRootDirectory.isolatedCopy(); } 108 110 109 111 uint64_t quotaForOrigin() const;
Note:
See TracChangeset
for help on using the changeset viewer.