| Index: webkit/browser/appcache/appcache_storage_impl.cc
|
| diff --git a/webkit/browser/appcache/appcache_storage_impl.cc b/webkit/browser/appcache/appcache_storage_impl.cc
|
| index 66abca1835825c6a154cacb7b680afb370b0e2ea..1b0c039178c97c4c60fca58a971ea57ecb0aaca6 100644
|
| --- a/webkit/browser/appcache/appcache_storage_impl.cc
|
| +++ b/webkit/browser/appcache/appcache_storage_impl.cc
|
| @@ -1122,7 +1122,9 @@ void AppCacheStorageImpl::MarkEntryAsForeignTask::RunCompleted() {
|
|
|
| class AppCacheStorageImpl::MakeGroupObsoleteTask : public DatabaseTask {
|
| public:
|
| - MakeGroupObsoleteTask(AppCacheStorageImpl* storage, AppCacheGroup* group);
|
| + MakeGroupObsoleteTask(AppCacheStorageImpl* storage,
|
| + AppCacheGroup* group,
|
| + int response_code);
|
|
|
| // DatabaseTask:
|
| virtual void Run() OVERRIDE;
|
| @@ -1137,16 +1139,22 @@ class AppCacheStorageImpl::MakeGroupObsoleteTask : public DatabaseTask {
|
| int64 group_id_;
|
| GURL origin_;
|
| bool success_;
|
| + int response_code_;
|
| int64 new_origin_usage_;
|
| std::vector<int64> newly_deletable_response_ids_;
|
| };
|
|
|
| AppCacheStorageImpl::MakeGroupObsoleteTask::MakeGroupObsoleteTask(
|
| - AppCacheStorageImpl* storage, AppCacheGroup* group)
|
| - : DatabaseTask(storage), group_(group), group_id_(group->group_id()),
|
| + AppCacheStorageImpl* storage,
|
| + AppCacheGroup* group,
|
| + int response_code)
|
| + : DatabaseTask(storage),
|
| + group_(group),
|
| + group_id_(group->group_id()),
|
| origin_(group->manifest_url().GetOrigin()),
|
| - success_(false), new_origin_usage_(-1) {
|
| -}
|
| + success_(false),
|
| + response_code_(response_code),
|
| + new_origin_usage_(-1) {}
|
|
|
| void AppCacheStorageImpl::MakeGroupObsoleteTask::Run() {
|
| DCHECK(!success_);
|
| @@ -1188,7 +1196,8 @@ void AppCacheStorageImpl::MakeGroupObsoleteTask::RunCompleted() {
|
| storage_->working_set()->RemoveGroup(group_.get());
|
| }
|
| }
|
| - FOR_EACH_DELEGATE(delegates_, OnGroupMadeObsolete(group_.get(), success_));
|
| + FOR_EACH_DELEGATE(
|
| + delegates_, OnGroupMadeObsolete(group_.get(), success_, response_code_));
|
| group_ = NULL;
|
| }
|
|
|
| @@ -1607,11 +1616,12 @@ void AppCacheStorageImpl::MarkEntryAsForeign(
|
| pending_foreign_markings_.push_back(std::make_pair(entry_url, cache_id));
|
| }
|
|
|
| -void AppCacheStorageImpl::MakeGroupObsolete(
|
| - AppCacheGroup* group, Delegate* delegate) {
|
| +void AppCacheStorageImpl::MakeGroupObsolete(AppCacheGroup* group,
|
| + Delegate* delegate,
|
| + int response_code) {
|
| DCHECK(group && delegate);
|
| scoped_refptr<MakeGroupObsoleteTask> task(
|
| - new MakeGroupObsoleteTask(this, group));
|
| + new MakeGroupObsoleteTask(this, group, response_code));
|
| task->AddDelegate(GetOrCreateDelegateReference(delegate));
|
| task->Schedule();
|
| }
|
|
|