diff options
Diffstat (limited to 'WebCore/loader/icon/IconDatabase.cpp')
-rw-r--r-- | WebCore/loader/icon/IconDatabase.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/WebCore/loader/icon/IconDatabase.cpp b/WebCore/loader/icon/IconDatabase.cpp index c0af78f..8982cda 100644 --- a/WebCore/loader/icon/IconDatabase.cpp +++ b/WebCore/loader/icon/IconDatabase.cpp @@ -137,7 +137,7 @@ bool IconDatabase::open(const String& databasePath) return false; } - m_databaseDirectory = databasePath.copy(); + m_databaseDirectory = databasePath.crossThreadString(); // Formulate the full path for the database file m_completeDatabasePath = pathByAppendingComponent(m_databaseDirectory, defaultDatabaseFilename()); @@ -241,7 +241,7 @@ Image* IconDatabase::iconForPageURL(const String& pageURLOriginal, const IntSize PageURLRecord* pageRecord = m_pageURLToRecordMap.get(pageURLOriginal); if (!pageRecord) { - pageURLCopy = pageURLOriginal.copy(); + pageURLCopy = pageURLOriginal.crossThreadString(); pageRecord = getOrCreatePageURLRecord(pageURLCopy); } @@ -277,7 +277,7 @@ Image* IconDatabase::iconForPageURL(const String& pageURLOriginal, const IntSize // mark it to be read by the background thread if (iconRecord->imageDataStatus() == ImageDataStatusUnknown) { if (pageURLCopy.isNull()) - pageURLCopy = pageURLOriginal.copy(); + pageURLCopy = pageURLOriginal.crossThreadString(); MutexLocker locker(m_pendingReadingLock); m_pageURLsInterestedInIcons.add(pageURLCopy); @@ -326,7 +326,7 @@ String IconDatabase::iconURLForPageURL(const String& pageURLOriginal) PageURLRecord* pageRecord = m_pageURLToRecordMap.get(pageURLOriginal); if (!pageRecord) - pageRecord = getOrCreatePageURLRecord(pageURLOriginal.copy()); + pageRecord = getOrCreatePageURLRecord(pageURLOriginal.crossThreadString()); // If pageRecord is NULL, one of two things is true - // 1 - The initial url import is incomplete and this pageURL has already been marked to be notified once it is complete if an iconURL exists @@ -335,7 +335,7 @@ String IconDatabase::iconURLForPageURL(const String& pageURLOriginal) return String(); // Possible the pageRecord is around because it's a retained pageURL with no iconURL, so we have to check - return pageRecord->iconRecord() ? pageRecord->iconRecord()->iconURL().copy() : String(); + return pageRecord->iconRecord() ? pageRecord->iconRecord()->iconURL().threadsafeCopy() : String(); } #ifdef CAN_THEME_URL_ICON @@ -419,7 +419,7 @@ void IconDatabase::retainIconForPageURL(const String& pageURLOriginal) String pageURL; if (!record) { - pageURL = pageURLOriginal.copy(); + pageURL = pageURLOriginal.crossThreadString(); record = new PageURLRecord(pageURL); m_pageURLToRecordMap.set(pageURL, record); @@ -427,7 +427,7 @@ void IconDatabase::retainIconForPageURL(const String& pageURLOriginal) if (!record->retain()) { if (pageURL.isNull()) - pageURL = pageURLOriginal.copy(); + pageURL = pageURLOriginal.crossThreadString(); // This page just had its retain count bumped from 0 to 1 - Record that fact m_retainedPageURLs.add(pageURL); @@ -502,7 +502,7 @@ void IconDatabase::releaseIconForPageURL(const String& pageURLOriginal) // Mark stuff for deletion from the database only if we're not in private browsing if (!m_privateBrowsingEnabled) { MutexLocker locker(m_pendingSyncLock); - m_pageURLsPendingSync.set(pageURLOriginal.copy(), pageRecord->snapshot(true)); + m_pageURLsPendingSync.set(pageURLOriginal.crossThreadString(), pageRecord->snapshot(true)); // If this page is the last page to refer to a particular IconRecord, that IconRecord needs to // be marked for deletion @@ -526,7 +526,7 @@ void IconDatabase::setIconDataForIconURL(PassRefPtr<SharedBuffer> dataOriginal, return; RefPtr<SharedBuffer> data = dataOriginal ? dataOriginal->copy() : 0; - String iconURL = iconURLOriginal.copy(); + String iconURL = iconURLOriginal.crossThreadString(); Vector<String> pageURLs; { @@ -603,8 +603,8 @@ void IconDatabase::setIconURLForPageURL(const String& iconURLOriginal, const Str if (pageRecord && pageRecord->iconRecord() && pageRecord->iconRecord()->iconURL() == iconURLOriginal) return; - pageURL = pageURLOriginal.copy(); - iconURL = iconURLOriginal.copy(); + pageURL = pageURLOriginal.crossThreadString(); + iconURL = iconURLOriginal.crossThreadString(); if (!pageRecord) { pageRecord = new PageURLRecord(pageURL); @@ -861,13 +861,13 @@ bool IconDatabase::isOpen() const String IconDatabase::databasePath() const { MutexLocker locker(m_syncLock); - return m_completeDatabasePath.copy(); + return m_completeDatabasePath.threadsafeCopy(); } String IconDatabase::defaultDatabaseFilename() { DEFINE_STATIC_LOCAL(String, defaultDatabaseFilename, ("WebpageIcons.db")); - return defaultDatabaseFilename.copy(); + return defaultDatabaseFilename.threadsafeCopy(); } // Unlike getOrCreatePageURLRecord(), getOrCreateIconRecord() does not mark the icon as "interested in import" |