Index: webkit/appcache/appcache_storage_impl.cc |
diff --git a/webkit/appcache/appcache_storage_impl.cc b/webkit/appcache/appcache_storage_impl.cc |
index 1ddfaa468ff36b4811d225fd983534175a19c42c..3d8c785ca9089a15a20197bd0c0263f01113314f 100644 |
--- a/webkit/appcache/appcache_storage_impl.cc |
+++ b/webkit/appcache/appcache_storage_impl.cc |
@@ -75,17 +75,15 @@ bool DeleteGroupAndRelatedRecords(AppCacheDatabase* database, |
} |
// Destroys |database|. If there is appcache data to be deleted |
-// (|save_session_state| is false), deletes all appcache data (if |
-// |clear_all_data| is true), or session-only appcache data (otherwise). |
-void CleanUpOnDatabaseThread( |
+// (|force_keep_session_state| is false), deletes session-only appcache data. |
+void ClearSessionOnlyOrigins( |
AppCacheDatabase* database, |
scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy, |
- bool clear_all_appcaches, |
- bool save_session_state) { |
+ bool force_keep_session_state) { |
scoped_ptr<AppCacheDatabase> database_to_delete(database); |
// If saving session state, only delete the database. |
- if (save_session_state) |
+ if (force_keep_session_state) |
return; |
bool has_session_only_appcaches = |
@@ -93,7 +91,7 @@ void CleanUpOnDatabaseThread( |
special_storage_policy->HasSessionOnlyOrigins(); |
// Clearning only session-only databases, and there are none. |
- if (!clear_all_appcaches && !has_session_only_appcaches) |
+ if (!has_session_only_appcaches) |
return; |
std::set<GURL> origins; |
@@ -109,8 +107,7 @@ void CleanUpOnDatabaseThread( |
std::set<GURL>::const_iterator origin; |
for (origin = origins.begin(); origin != origins.end(); ++origin) { |
- if (!clear_all_appcaches && |
- !special_storage_policy->IsStorageSessionOnly(*origin)) |
+ if (!special_storage_policy->IsStorageSessionOnly(*origin)) |
continue; |
if (special_storage_policy && |
special_storage_policy->IsStorageProtected(*origin)) |
@@ -1315,10 +1312,9 @@ AppCacheStorageImpl::~AppCacheStorageImpl() { |
if (database_ && |
!db_thread_->PostTask( |
FROM_HERE, |
- base::Bind(&CleanUpOnDatabaseThread, database_, |
+ base::Bind(&ClearSessionOnlyOrigins, database_, |
make_scoped_refptr(service_->special_storage_policy()), |
- service()->clear_local_state_on_exit(), |
- service()->save_session_state()))) { |
+ service()->force_keep_session_state()))) { |
delete database_; |
} |
} |