Index: content/browser/in_process_webkit/indexed_db_context_impl.cc |
diff --git a/content/browser/in_process_webkit/indexed_db_context_impl.cc b/content/browser/in_process_webkit/indexed_db_context_impl.cc |
index 2c1e3387576d72d0ec1ac7df7ee642678d47154b..c793767bc478b060107706929fa22d377689cc97 100644 |
--- a/content/browser/in_process_webkit/indexed_db_context_impl.cc |
+++ b/content/browser/in_process_webkit/indexed_db_context_impl.cc |
@@ -61,11 +61,9 @@ void GetAllOriginsAndPaths( |
} |
} |
-// If clear_all_databases is true, deletes all databases not protected by |
-// special storage policy. Otherwise deletes session-only databases. |
-void ClearLocalState( |
+// Deletes session-only databases. |
+void ClearSessionOnlyOrigins( |
const FilePath& indexeddb_path, |
- bool clear_all_databases, |
scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); |
std::vector<GURL> origins; |
@@ -75,12 +73,9 @@ void ClearLocalState( |
std::vector<FilePath>::const_iterator file_path_iter = file_paths.begin(); |
for (std::vector<GURL>::const_iterator iter = origins.begin(); |
iter != origins.end(); ++iter, ++file_path_iter) { |
- if (!clear_all_databases && |
- !special_storage_policy->IsStorageSessionOnly(*iter)) { |
+ if (!special_storage_policy->IsStorageSessionOnly(*iter)) |
continue; |
- } |
- if (special_storage_policy.get() && |
- special_storage_policy->IsStorageProtected(*iter)) |
+ if (special_storage_policy->IsStorageProtected(*iter)) |
continue; |
file_util::Delete(*file_path_iter, true); |
} |
@@ -93,8 +88,7 @@ IndexedDBContextImpl::IndexedDBContextImpl( |
quota::SpecialStoragePolicy* special_storage_policy, |
quota::QuotaManagerProxy* quota_manager_proxy, |
base::MessageLoopProxy* webkit_thread_loop) |
- : clear_local_state_on_exit_(false), |
- save_session_state_(false), |
+ : force_keep_session_state_(false), |
special_storage_policy_(special_storage_policy), |
quota_manager_proxy_(quota_manager_proxy) { |
if (!data_path.empty()) |
@@ -237,7 +231,7 @@ IndexedDBContextImpl::~IndexedDBContextImpl() { |
if (data_path_.empty()) |
return; |
- if (save_session_state_) |
+ if (force_keep_session_state_) |
return; |
bool has_session_only_databases = |
@@ -245,14 +239,15 @@ IndexedDBContextImpl::~IndexedDBContextImpl() { |
special_storage_policy_->HasSessionOnlyOrigins(); |
// Clearning only session-only databases, and there are none. |
- if (!clear_local_state_on_exit_ && !has_session_only_databases) |
+ if (!has_session_only_databases) |
return; |
// No WEBKIT thread here means we are running in a unit test where no clean |
// up is needed. |
BrowserThread::PostTask( |
BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
- base::Bind(&ClearLocalState, data_path_, clear_local_state_on_exit_, |
+ base::Bind(&ClearSessionOnlyOrigins, |
+ data_path_, |
special_storage_policy_)); |
} |