Changeset 56954 in webkit


Ignore:
Timestamp:
Apr 1, 2010 5:13:17 PM (14 years ago)
Author:
adachan@apple.com
Message:

WebCore: Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
Ditto for DatabaseTracker::deleteDatabase().

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=36988

  • storage/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabase):

  • storage/DatabaseTracker.h:

WebKit/mac: Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin.
Ditto for WebDatabaseManager::deleteDatabase().

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=36988

  • Storage/WebDatabaseManager.mm:

(-[WebDatabaseManager deleteOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):

  • Storage/WebDatabaseManagerPrivate.h:
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r56953 r56954  
     12010-04-01  Ada Chan  <adachan@apple.com>
     2
     3        Reviewed by Darin Adler.
     4       
     5        Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
     6        Ditto for DatabaseTracker::deleteDatabase().
     7       
     8        https://bugs.webkit.org/show_bug.cgi?id=36988
     9
     10        * storage/DatabaseTracker.cpp:
     11        (WebCore::DatabaseTracker::deleteOrigin):
     12        (WebCore::DatabaseTracker::deleteDatabase):
     13        * storage/DatabaseTracker.h:
     14
    1152010-04-01  Simon Fraser  <simon.fraser@apple.com>
    216
  • trunk/WebCore/storage/DatabaseTracker.cpp

    r56604 r56954  
    692692// It is the caller's responsibility to make sure that nobody is trying to create, delete, open, or close databases in this origin while the deletion is
    693693// taking place.
    694 void DatabaseTracker::deleteOrigin(SecurityOrigin* origin)
     694bool DatabaseTracker::deleteOrigin(SecurityOrigin* origin)
    695695{
    696696    Vector<String> databaseNames;
     
    699699        openTrackerDatabase(false);
    700700        if (!m_database.isOpen())
    701             return;
     701            return false;
    702702
    703703        if (!databaseNamesForOriginNoLock(origin, databaseNames)) {
    704704            LOG_ERROR("Unable to retrieve list of database names for origin %s", origin->databaseIdentifier().ascii().data());
    705             return;
     705            return false;
    706706        }
    707707        if (!canDeleteOrigin(origin)) {
    708708            LOG_ERROR("Tried to delete an origin (%s) while either creating database in it or already deleting it", origin->databaseIdentifier().ascii().data());
    709709            ASSERT(false);
    710             return;
     710            return false;
    711711        }
    712712        recordDeletingOrigin(origin);
     
    731731        if (statement.prepare() != SQLResultOk) {
    732732            LOG_ERROR("Unable to prepare deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
    733             return;
     733            return false;
    734734        }
    735735
     
    738738        if (!statement.executeCommand()) {
    739739            LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
    740             return;
     740            return false;
    741741        }
    742742
     
    744744        if (originStatement.prepare() != SQLResultOk) {
    745745            LOG_ERROR("Unable to prepare deletion of origin %s from tracker", origin->databaseIdentifier().ascii().data());
    746             return;
     746            return false;
    747747        }
    748748
     
    751751        if (!originStatement.executeCommand()) {
    752752            LOG_ERROR("Unable to execute deletion of databases from origin %s from tracker", origin->databaseIdentifier().ascii().data());
    753             return;
     753            return false;
    754754        }
    755755
     
    775775        }
    776776    }
     777    return true;
    777778}
    778779
     
    890891}
    891892
    892 void DatabaseTracker::deleteDatabase(SecurityOrigin* origin, const String& name)
     893bool DatabaseTracker::deleteDatabase(SecurityOrigin* origin, const String& name)
    893894{
    894895    {
     
    896897        openTrackerDatabase(false);
    897898        if (!m_database.isOpen())
    898             return;
     899            return false;
    899900
    900901        if (!canDeleteDatabase(origin, name)) {
    901902            ASSERT(FALSE);
    902             return;
     903            return false;
    903904        }
    904905        recordDeletingDatabase(origin, name);
     
    910911        MutexLocker lockDatabase(m_databaseGuard);
    911912        doneDeletingDatabase(origin, name);
    912         return;
     913        return false;
    913914    }
    914915
     
    921922        LOG_ERROR("Unable to prepare deletion of database %s from origin %s from tracker", name.ascii().data(), origin->databaseIdentifier().ascii().data());
    922923        doneDeletingDatabase(origin, name);
    923         return;
     924        return false;
    924925    }
    925926
     
    930931        LOG_ERROR("Unable to execute deletion of database %s from origin %s from tracker", name.ascii().data(), origin->databaseIdentifier().ascii().data());
    931932        doneDeletingDatabase(origin, name);
    932         return;
     933        return false;
    933934    }
    934935
     
    940941    }
    941942    doneDeletingDatabase(origin, name);
     943   
     944    return true;
    942945}
    943946
  • trunk/WebCore/storage/DatabaseTracker.h

    r56293 r56954  
    103103
    104104    void deleteAllDatabases();
    105     void deleteOrigin(SecurityOrigin*);
    106     void deleteDatabase(SecurityOrigin*, const String& name);
     105    bool deleteOrigin(SecurityOrigin*);
     106    bool deleteDatabase(SecurityOrigin*, const String& name);
    107107
    108108    void setClient(DatabaseTrackerClient*);
  • trunk/WebKit/mac/ChangeLog

    r56935 r56954  
     12010-04-01  Ada Chan  <adachan@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin.
     6        Ditto for WebDatabaseManager::deleteDatabase().
     7       
     8        https://bugs.webkit.org/show_bug.cgi?id=36988
     9
     10        * Storage/WebDatabaseManager.mm:
     11        (-[WebDatabaseManager deleteOrigin:]):
     12        (-[WebDatabaseManager deleteDatabase:withOrigin:]):
     13        * Storage/WebDatabaseManagerPrivate.h:
     14
    1152010-04-01  Alexey Proskuryakov  <ap@apple.com>
    216
  • trunk/WebKit/mac/Storage/WebDatabaseManager.mm

    r43283 r56954  
    108108}
    109109
    110 - (void)deleteOrigin:(WebSecurityOrigin *)origin
     110- (BOOL)deleteOrigin:(WebSecurityOrigin *)origin
    111111{
    112     DatabaseTracker::tracker().deleteOrigin([origin _core]);
     112    return DatabaseTracker::tracker().deleteOrigin([origin _core]);
    113113}
    114114
    115 - (void)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin
     115- (BOOL)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin
    116116{
    117     DatabaseTracker::tracker().deleteDatabase([origin _core], databaseIdentifier);
     117    return DatabaseTracker::tracker().deleteDatabase([origin _core], databaseIdentifier);
    118118}
    119119
  • trunk/WebKit/mac/Storage/WebDatabaseManagerPrivate.h

    r43283 r56954  
    6161
    6262- (void)deleteAllDatabases; // Deletes all databases and all origins.
    63 - (void)deleteOrigin:(WebSecurityOrigin *)origin;
    64 - (void)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin;
     63- (BOOL)deleteOrigin:(WebSecurityOrigin *)origin;
     64- (BOOL)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin;
    6565
    6666@end
Note: See TracChangeset for help on using the changeset viewer.