Index: content/browser/appcache/appcache_storage_impl.cc |
diff --git a/content/browser/appcache/appcache_storage_impl.cc b/content/browser/appcache/appcache_storage_impl.cc |
index 5df1d3ebdd15055a11c3b757d14a9070cdbf5f14..83c59ac06879ac2c1f8d112c08bf0710529377aa 100644 |
--- a/content/browser/appcache/appcache_storage_impl.cc |
+++ b/content/browser/appcache/appcache_storage_impl.cc |
@@ -14,6 +14,7 @@ |
#include "base/files/file_util.h" |
#include "base/logging.h" |
#include "base/message_loop/message_loop.h" |
+#include "base/profiler/scoped_tracker.h" |
#include "base/single_thread_task_runner.h" |
#include "base/stl_util.h" |
#include "base/strings/string_util.h" |
@@ -285,6 +286,8 @@ class AppCacheStorageImpl::InitTask : public DatabaseTask { |
}; |
void AppCacheStorageImpl::InitTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION("AppCacheStorageImpl::InitTask")); |
// If there is no sql database, ensure there is no disk cache either. |
if (!db_file_path_.empty() && |
!base::PathExists(db_file_path_) && |
@@ -357,6 +360,8 @@ class AppCacheStorageImpl::GetAllInfoTask : public DatabaseTask { |
}; |
void AppCacheStorageImpl::GetAllInfoTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION("AppCacheStorageImpl::GetAllInfoTask")); |
std::set<GURL> origins; |
database_->FindOriginsWithGroups(&origins); |
for (std::set<GURL>::const_iterator origin = origins.begin(); |
@@ -512,14 +517,17 @@ class AppCacheStorageImpl::CacheLoadTask : public StoreOrLoadTask { |
}; |
void AppCacheStorageImpl::CacheLoadTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION("AppCacheStorageImpl::CacheLoadTask")); |
success_ = |
database_->FindCache(cache_id_, &cache_record_) && |
database_->FindGroup(cache_record_.group_id, &group_record_) && |
FindRelatedCacheRecords(cache_id_); |
if (success_) |
- database_->UpdateGroupLastAccessTime(group_record_.group_id, |
- base::Time::Now()); |
+ database_->LazyUpdateLastAccessTime(group_record_.group_id, |
+ base::Time::Now()); |
+ // TODO: schedule timer to call CommitLastAccessTimes() |
} |
void AppCacheStorageImpl::CacheLoadTask::RunCompleted() { |
@@ -527,6 +535,7 @@ void AppCacheStorageImpl::CacheLoadTask::RunCompleted() { |
scoped_refptr<AppCache> cache; |
scoped_refptr<AppCacheGroup> group; |
if (success_ && !storage_->is_disabled()) { |
+ // TODO: schedule timer to call CommitLastAccessTimes() |
DCHECK(cache_record_.cache_id == cache_id_); |
CreateCacheAndGroupFromRecords(&cache, &group); |
} |
@@ -554,14 +563,17 @@ class AppCacheStorageImpl::GroupLoadTask : public StoreOrLoadTask { |
}; |
void AppCacheStorageImpl::GroupLoadTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION("AppCacheStorageImpl::GroupLoadTask")); |
success_ = |
database_->FindGroupForManifestUrl(manifest_url_, &group_record_) && |
database_->FindCacheForGroup(group_record_.group_id, &cache_record_) && |
FindRelatedCacheRecords(cache_record_.cache_id); |
if (success_) |
- database_->UpdateGroupLastAccessTime(group_record_.group_id, |
- base::Time::Now()); |
+ database_->LazyUpdateLastAccessTime(group_record_.group_id, |
+ base::Time::Now()); |
+ // TODO: schedule timer to call CommitLastAccessTimes() |
} |
void AppCacheStorageImpl::GroupLoadTask::RunCompleted() { |
@@ -570,6 +582,7 @@ void AppCacheStorageImpl::GroupLoadTask::RunCompleted() { |
scoped_refptr<AppCache> cache; |
if (!storage_->is_disabled()) { |
if (success_) { |
+ // TODO: schedule timer to call CommitLastAccessTimes() |
DCHECK(group_record_.manifest_url == manifest_url_); |
CreateCacheAndGroupFromRecords(&cache, &group); |
} else { |
@@ -668,6 +681,9 @@ void AppCacheStorageImpl::StoreGroupAndCacheTask::OnQuotaCallback( |
} |
void AppCacheStorageImpl::StoreGroupAndCacheTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION( |
+ "AppCacheStorageImpl::StoreGroupAndCacheTask")); |
DCHECK(!success_); |
sql::Connection* connection = database_->db_connection(); |
if (!connection) |
@@ -690,8 +706,8 @@ void AppCacheStorageImpl::StoreGroupAndCacheTask::Run() { |
DCHECK(group_record_.manifest_url == existing_group.manifest_url); |
DCHECK(group_record_.origin == existing_group.origin); |
- database_->UpdateGroupLastAccessTime(group_record_.group_id, |
- base::Time::Now()); |
+ database_->UpdateLastAccessTime(group_record_.group_id, |
+ base::Time::Now()); |
AppCacheDatabase::CacheRecord cache; |
if (database_->FindCacheForGroup(group_record_.group_id, &cache)) { |
@@ -931,6 +947,9 @@ class AppCacheStorageImpl::FindMainResponseTask : public DatabaseTask { |
}; |
void AppCacheStorageImpl::FindMainResponseTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION( |
+ "AppCacheStorageImpl::FindMainResponseTask")); |
// NOTE: The heuristics around choosing amoungst multiple candidates |
// is underspecified, and just plain not fully understood. This needs |
// to be refined. |
@@ -1114,6 +1133,9 @@ class AppCacheStorageImpl::MarkEntryAsForeignTask : public DatabaseTask { |
}; |
void AppCacheStorageImpl::MarkEntryAsForeignTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION( |
+ "AppCacheStorageImpl::MarkEntryAsForeignTask")); |
database_->AddEntryFlags(entry_url_, cache_id_, AppCacheEntry::FOREIGN); |
} |
@@ -1162,6 +1184,9 @@ AppCacheStorageImpl::MakeGroupObsoleteTask::MakeGroupObsoleteTask( |
new_origin_usage_(-1) {} |
void AppCacheStorageImpl::MakeGroupObsoleteTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION( |
+ "AppCacheStorageImpl::MakeGroupObsoleteTask")); |
DCHECK(!success_); |
sql::Connection* connection = database_->db_connection(); |
if (!connection) |
@@ -1233,6 +1258,9 @@ class AppCacheStorageImpl::GetDeletableResponseIdsTask : public DatabaseTask { |
}; |
void AppCacheStorageImpl::GetDeletableResponseIdsTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION( |
+ "AppCacheStorageImpl::GetDeletableResponseIdsTask")); |
const int kSqlLimit = 1000; |
database_->GetDeletableResponseIds(&response_ids_, max_rowid_, kSqlLimit); |
// TODO(michaeln): retrieve group_ids too |
@@ -1261,6 +1289,9 @@ class AppCacheStorageImpl::InsertDeletableResponseIdsTask |
}; |
void AppCacheStorageImpl::InsertDeletableResponseIdsTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION( |
+ "AppCacheStorageImpl::InsertDeletableResponseIdsTask")); |
database_->InsertDeletableResponseIds(response_ids_); |
// TODO(michaeln): store group_ids too |
} |
@@ -1283,6 +1314,9 @@ class AppCacheStorageImpl::DeleteDeletableResponseIdsTask |
}; |
void AppCacheStorageImpl::DeleteDeletableResponseIdsTask::Run() { |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION( |
+ "AppCacheStorageImpl::DeleteDeletableResponseIdsTask")); |
database_->DeleteDeletableResponseIds(response_ids_); |
} |
@@ -1310,7 +1344,11 @@ class AppCacheStorageImpl::UpdateGroupLastAccessTimeTask |
}; |
void AppCacheStorageImpl::UpdateGroupLastAccessTimeTask::Run() { |
- database_->UpdateGroupLastAccessTime(group_id_, last_access_time_); |
+ tracked_objects::ScopedTracker tracking_profile( |
+ FROM_HERE_WITH_EXPLICIT_FUNCTION( |
+ "AppCacheStorageImpl::UpdateGroupLastAccessTimeTask")); |
+ database_->LazyUpdateLastAccessTime(group_id_, last_access_time_); |
+ // TODO: schedule timer to call CommitLastAccessTimes() |
} |