Changeset 116970 in webkit


Ignore:
Timestamp:
May 14, 2012 11:14:26 AM (12 years ago)
Author:
kling@webkit.org
Message:

Unreviewed, rolling out r116969.
http://trac.webkit.org/changeset/116969
https://bugs.webkit.org/show_bug.cgi?id=86386

i accidentally the icondatabase (Requested by kling on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-05-14

Source/WebCore:

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::synchronousIconForPageURL):
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::retainedPageURLCount):
(WebCore::IconDatabase::performURLImport):
(WebCore::IconDatabase::syncThreadMainLoop):

  • loader/icon/IconDatabase.h:

(IconDatabase):

Source/WebKit2:

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::~WebContext):

Location:
trunk/Source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r116961 r116970  
     12012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r116969.
     4        http://trac.webkit.org/changeset/116969
     5        https://bugs.webkit.org/show_bug.cgi?id=86386
     6
     7        i accidentally the icondatabase (Requested by kling on
     8        #webkit).
     9
     10        * loader/icon/IconDatabase.cpp:
     11        (WebCore::IconDatabase::synchronousIconForPageURL):
     12        (WebCore::IconDatabase::retainIconForPageURL):
     13        (WebCore::IconDatabase::releaseIconForPageURL):
     14        (WebCore::IconDatabase::retainedPageURLCount):
     15        (WebCore::IconDatabase::performURLImport):
     16        (WebCore::IconDatabase::syncThreadMainLoop):
     17        * loader/icon/IconDatabase.h:
     18        (IconDatabase):
     19
    1202012-05-14  Kevin Ollivier  <kevino@theolliviers.com>
    221
  • trunk/Source/WebCore/loader/icon/IconDatabase.cpp

    r116969 r116970  
    223223
    224224    MutexLocker locker(m_urlAndIconLock);
    225 
    226     if (m_retainOrReleaseIconRequested)
    227         performPendingRetainAndReleaseOperations();
    228225   
    229226    String pageURLCopy; // Creates a null string for easy testing
     
    393390}
    394391
    395 void IconDatabase::retainIconForPageURL(const String& pageURL)
    396 {
     392
     393void IconDatabase::retainIconForPageURL(const String& pageURLOriginal)
     394{   
    397395    ASSERT_NOT_SYNC_THREAD();
    398 
    399     if (!isEnabled() || !documentCanHaveIcon(pageURL))
     396   
     397    // Cannot do anything with pageURLOriginal that would end up storing it without deep copying first
     398   
     399    if (!isEnabled() || !documentCanHaveIcon(pageURLOriginal))
    400400        return;
    401401       
    402     MutexLocker locker(m_urlsToRetainOrReleaseLock);
    403     m_urlsToRetain.append(pageURL);
    404     scheduleOrDeferSyncTimer();
    405 }
    406 
    407 void IconDatabase::performRetainIconForPageURL(const String& pageURLOriginal)
    408 {
     402    MutexLocker locker(m_urlAndIconLock);
     403
    409404    PageURLRecord* record = m_pageURLToRecordMap.get(pageURLOriginal);
    410405   
     
    440435}
    441436
    442 void IconDatabase::releaseIconForPageURL(const String& pageURL)
     437void IconDatabase::releaseIconForPageURL(const String& pageURLOriginal)
    443438{
    444439    ASSERT_NOT_SYNC_THREAD();
     
    446441    // Cannot do anything with pageURLOriginal that would end up storing it without deep copying first
    447442   
    448     if (!isEnabled() || !documentCanHaveIcon(pageURL))
    449         return;
    450 
    451     MutexLocker locker(m_urlsToRetainOrReleaseLock);
    452     m_urlsToRelease.append(pageURL);
    453     m_retainOrReleaseIconRequested = true;
    454     scheduleOrDeferSyncTimer();
    455 }
    456 
    457 void IconDatabase::performReleaseIconForPageURL(const String& pageURLOriginal)
    458 {
     443    if (!isEnabled() || !documentCanHaveIcon(pageURLOriginal))
     444        return;
     445   
     446    MutexLocker locker(m_urlAndIconLock);
     447
    459448    // Check if this pageURL is actually retained
    460449    if (!m_retainedPageURLs.contains(pageURLOriginal)) {
     
    510499   
    511500    delete pageRecord;
     501
     502    if (isOpen())
     503        scheduleOrDeferSyncTimer();
    512504}
    513505
     
    745737{
    746738    MutexLocker locker(m_urlAndIconLock);
    747 
    748     if (m_retainOrReleaseIconRequested)
    749         performPendingRetainAndReleaseOperations();
    750 
    751739    return m_retainedPageURLs.size();
    752740}
     
    13191307    {
    13201308        MutexLocker locker(m_urlAndIconLock);
    1321 
    1322         if (m_retainOrReleaseIconRequested)
    1323             performPendingRetainAndReleaseOperations();
    1324 
     1309       
    13251310        for (unsigned i = 0; i < urls.size(); ++i) {
    13261311            if (!m_retainedPageURLs.contains(urls[i])) {
     
    14031388        if (m_threadTerminationRequested)
    14041389            break;
    1405 
    1406         if (m_retainOrReleaseIconRequested) {
    1407             MutexLocker locker(m_urlAndIconLock);
    1408             performPendingRetainAndReleaseOperations();
    1409         }
    14101390       
    14111391        bool didAnyWork = true;
     
    14901470        m_disabledSuddenTerminationForSyncThread = false;
    14911471    }
    1492 }
    1493 
    1494 void IconDatabase::performPendingRetainAndReleaseOperations()
    1495 {
    1496     ASSERT(m_retainOrReleaseIconRequested);
    1497 
    1498     // NOTE: The caller is assumed to hold m_urlAndIconLock.
    1499 
    1500     MutexLocker vectorLocker(m_urlsToRetainOrReleaseLock);
    1501 
    1502     for (unsigned i = 0; i < m_urlsToRetain.size(); ++i)
    1503         performRetainIconForPageURL(m_urlsToRetain[i]);
    1504     for (unsigned i = 0; i < m_urlsToRelease.size(); ++i)
    1505         performReleaseIconForPageURL(m_urlsToRelease[i]);
    1506     printf("Retained %lu, released %lu\n", m_urlsToRetain.size(), m_urlsToRelease.size());
    1507 
    1508     m_urlsToRetain.clear();
    1509     m_urlsToRelease.clear();
    1510     m_retainOrReleaseIconRequested = false;
    15111472}
    15121473
  • trunk/Source/WebCore/loader/icon/IconDatabase.h

    r116969 r116970  
    160160    bool m_syncThreadHasWorkToDo;
    161161    bool m_disabledSuddenTerminationForSyncThread;
    162     bool m_retainOrReleaseIconRequested;
    163162
    164163    Mutex m_urlAndIconLock;
     
    178177    HashSet<String> m_pageURLsInterestedInIcons;
    179178    HashSet<IconRecord*> m_iconsPendingReading;
    180 
    181     Mutex m_urlsToRetainOrReleaseLock;
    182     // Holding m_urlsToRetainOrReleaseLock is required when accessing any of the following data structures.
    183     Vector<String> m_urlsToRetain;
    184     Vector<String> m_urlsToRelease;
    185179
    186180// *** Sync Thread Only ***
     
    209203    void deleteAllPreparedStatements();
    210204    void* cleanupSyncThread();
    211     void performRetainIconForPageURL(const String&);
    212     void performReleaseIconForPageURL(const String&);
    213205
    214206    // Record (on disk) whether or not Safari 2-style icons were imported (once per dataabse)
     
    229221    void removeIconFromSQLDatabase(const String& iconURL);
    230222    void writeIconSnapshotToSQLDatabase(const IconSnapshot&);   
    231 
    232     void performPendingRetainAndReleaseOperations();
    233 
     223   
    234224    // Methods to dispatch client callbacks on the main thread
    235225    void dispatchDidImportIconURLForPageURLOnMainThread(const String&);
  • trunk/Source/WebKit2/ChangeLog

    r116969 r116970  
     12012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r116969.
     4        http://trac.webkit.org/changeset/116969
     5        https://bugs.webkit.org/show_bug.cgi?id=86386
     6
     7        i accidentally the icondatabase (Requested by kling on
     8        #webkit).
     9
     10        * UIProcess/WebContext.cpp:
     11        (WebKit::WebContext::~WebContext):
     12
    1132012-05-14  Andreas Kling  <kling@webkit.org>
    214
  • trunk/Source/WebKit2/UIProcess/WebContext.cpp

    r116969 r116970  
    167167WebContext::~WebContext()
    168168{
    169     m_pluginWorkQueue.invalidate();
    170 
    171169    if (m_process && m_process->isValid())
    172170        m_process->connection()->removeQueueClient(this);
Note: See TracChangeset for help on using the changeset viewer.