WebCore:
authorbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Sep 2006 17:59:28 +0000 (17:59 +0000)
committerbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Sep 2006 17:59:28 +0000 (17:59 +0000)
commita80ee57031dfb3ab3c4befa235494f1a37d5aa63
tree4549a360349f0a68ff72153785ca424ca4f88238
parent5909ff604ec21efc8a237e84e544bc3ac9d52ba4
WebCore:
        Reviewed by Adam

        In very specific circumstances, prepared SQLStatements can become invalid without
        any warning.  This checks for that state and re-prepares the statement and also
        adds more aggressive error-checking everywhere these statements are used.

        * loader/icon/IconDatabase.cpp:
        (WebCore::readySQLStatement): Check if the statement is expired - reprepare it
        (WebCore::IconDatabase::imageDataForIconURLQuery): More thoroughly catch error cases
        (WebCore::IconDatabase::timeStampForIconURLQuery): Ditto
        (WebCore::IconDatabase::iconURLForPageURLQuery): Ditto
        (WebCore::IconDatabase::forgetPageURLQuery): Ditto
        (WebCore::IconDatabase::setIconIDForPageURLQuery): Ditto
        (WebCore::IconDatabase::getIconIDForIconURLQuery): Ditto
        (WebCore::IconDatabase::addIconForIconURLQuery): Ditto
        (WebCore::IconDatabase::hasIconForIconURLQuery): Ditto
        * loader/icon/SQLStatement.cpp:
        (WebCore::SQLStatement::isExpired): Added (accessor to sqlite3_expired())
        * loader/icon/SQLStatement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@16595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/loader/icon/IconDatabase.cpp
WebCore/loader/icon/SQLStatement.cpp
WebCore/loader/icon/SQLStatement.h