| Index: chrome/browser/net/sqlite_persistent_cookie_store.cc
|
| diff --git a/chrome/browser/net/sqlite_persistent_cookie_store.cc b/chrome/browser/net/sqlite_persistent_cookie_store.cc
|
| index 10e315328e680804d9c8884a19952b4fde14f7e3..4db5f8450ce347d8d1f3e5985d94a9d6bebdf3c4 100644
|
| --- a/chrome/browser/net/sqlite_persistent_cookie_store.cc
|
| +++ b/chrome/browser/net/sqlite_persistent_cookie_store.cc
|
| @@ -75,8 +75,7 @@ class SQLitePersistentCookieStore::Backend
|
| num_cookies_read_(0),
|
| num_priority_waiting_(0),
|
| total_priority_requests_(0) {
|
| - error_delegate_ =
|
| - new KillDatabaseErrorDelegate(this, GetErrorHandlerForCookieDb());
|
| + error_delegate_ = new KillDatabaseErrorDelegate(this);
|
| }
|
|
|
| // Creates or loads the SQLite database.
|
| @@ -109,8 +108,7 @@ class SQLitePersistentCookieStore::Backend
|
|
|
| class KillDatabaseErrorDelegate : public sql::ErrorDelegate {
|
| public:
|
| - KillDatabaseErrorDelegate(Backend* backend,
|
| - sql::ErrorDelegate* wrapped_delegate);
|
| + explicit KillDatabaseErrorDelegate(Backend* backend);
|
| // ErrorDelegate implementation.
|
| virtual int OnError(int error,
|
| sql::Connection* connection,
|
| @@ -129,7 +127,6 @@ class SQLitePersistentCookieStore::Backend
|
| // reference (Backend -> Connection -> ErrorDelegate -> Backend). Instead,
|
| // Backend will call reset_backend() when it is going away.
|
| Backend* backend_;
|
| - scoped_refptr<sql::ErrorDelegate> wrapped_delegate_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(KillDatabaseErrorDelegate);
|
| };
|
| @@ -285,17 +282,12 @@ class SQLitePersistentCookieStore::Backend
|
| };
|
|
|
| SQLitePersistentCookieStore::Backend::KillDatabaseErrorDelegate::
|
| -KillDatabaseErrorDelegate(Backend* backend,
|
| - sql::ErrorDelegate* wrapped_delegate)
|
| - : backend_(backend),
|
| - wrapped_delegate_(wrapped_delegate) {
|
| +KillDatabaseErrorDelegate(Backend* backend)
|
| + : backend_(backend) {
|
| }
|
|
|
| int SQLitePersistentCookieStore::Backend::KillDatabaseErrorDelegate::OnError(
|
| int error, sql::Connection* connection, sql::Statement* stmt) {
|
| - if (wrapped_delegate_.get())
|
| - error = wrapped_delegate_->OnError(error, connection, stmt);
|
| -
|
| bool delete_db = false;
|
|
|
| switch (error) {
|
| @@ -374,7 +366,7 @@ int SQLitePersistentCookieStore::Backend::KillDatabaseErrorDelegate::OnError(
|
| // Avoid being called more than once. There should still be a reference to
|
| // this ErrorDelegate in the backend, but just in case don't refer to any
|
| // members from here forward.
|
| - connection->set_error_delegate(wrapped_delegate_.get());
|
| + connection->remove_error_delegate(this);
|
| }
|
|
|
| return error;
|
|
|