Index: content/browser/dom_storage/dom_storage_database.cc |
diff --git a/content/browser/dom_storage/dom_storage_database.cc b/content/browser/dom_storage/dom_storage_database.cc |
index b19dffa6c2fb947c499cc8cb854b3d388f8a0a06..5b1b5bd63c3d0d21a1fab3aa4df0471647d98d96 100644 |
--- a/content/browser/dom_storage/dom_storage_database.cc |
+++ b/content/browser/dom_storage/dom_storage_database.cc |
@@ -68,6 +68,9 @@ void DOMStorageDatabase::ReadAllValues(DOMStorageValuesMap* result) { |
(*result)[key] = base::NullableString16(value, false); |
} |
known_to_be_empty_ = result->empty(); |
+ |
+ // Reduce the size of sqlite caches. |
+ db_->TrimMemory(false /* aggressively */); |
} |
bool DOMStorageDatabase::CommitChanges(bool clear_all_first, |
@@ -125,6 +128,10 @@ bool DOMStorageDatabase::CommitChanges(bool clear_all_first, |
bool success = transaction.Commit(); |
if (!success) |
known_to_be_empty_ = old_known_to_be_empty; |
+ |
+ // Reduce the size of sqlite caches. |
+ db_->TrimMemory(false /* aggressively */); |
+ |
return success; |
} |