Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1018)

Side by Side Diff: chrome/browser/browsing_data/browsing_data_appcache_helper.cc

Issue 545243002: Clean up BrowsingDataAppCacheHelper (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/browsing_data/browsing_data_appcache_helper.h" 5 #include "chrome/browser/browsing_data/browsing_data_appcache_helper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "chrome/browser/browsing_data/browsing_data_helper.h" 9 #include "chrome/browser/browsing_data/browsing_data_helper.h"
10 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/common/url_constants.h"
12 #include "content/public/browser/browser_context.h" 10 #include "content/public/browser/browser_context.h"
13 #include "content/public/browser/browser_thread.h" 11 #include "content/public/browser/browser_thread.h"
14 #include "content/public/browser/storage_partition.h" 12 #include "content/public/browser/storage_partition.h"
15 13
14 using content::BrowserContext;
16 using content::BrowserThread; 15 using content::BrowserThread;
17 using content::BrowserContext;
18 16
19 BrowsingDataAppCacheHelper::BrowsingDataAppCacheHelper(Profile* profile) 17 BrowsingDataAppCacheHelper::BrowsingDataAppCacheHelper(
18 BrowserContext* browser_context)
20 : is_fetching_(false), 19 : is_fetching_(false),
21 appcache_service_(BrowserContext::GetDefaultStoragePartition(profile)-> 20 appcache_service_(BrowserContext::GetDefaultStoragePartition(
22 GetAppCacheService()) { 21 browser_context)->GetAppCacheService()) {
23 } 22 }
24 23
25 void BrowsingDataAppCacheHelper::StartFetching(const base::Closure& callback) { 24 void BrowsingDataAppCacheHelper::StartFetching(const base::Closure& callback) {
26 if (BrowserThread::CurrentlyOn(BrowserThread::UI)) { 25 if (BrowserThread::CurrentlyOn(BrowserThread::UI)) {
27 DCHECK(!is_fetching_); 26 DCHECK(!is_fetching_);
28 DCHECK(!callback.is_null()); 27 DCHECK(!callback.is_null());
29 is_fetching_ = true; 28 is_fetching_ = true;
30 info_collection_ = new content::AppCacheInfoCollection; 29 info_collection_ = new content::AppCacheInfoCollection;
31 completion_callback_ = callback; 30 completion_callback_ = callback;
32 BrowserThread::PostTask( 31 BrowserThread::PostTask(
33 BrowserThread::IO, FROM_HERE, 32 BrowserThread::IO, FROM_HERE,
34 base::Bind(&BrowsingDataAppCacheHelper::StartFetching, this, callback)); 33 base::Bind(&BrowsingDataAppCacheHelper::StartFetching, this, callback));
35 return; 34 return;
36 } 35 }
37 36
38 DCHECK_CURRENTLY_ON(BrowserThread::IO); 37 DCHECK_CURRENTLY_ON(BrowserThread::IO);
39 appcache_info_callback_.Reset( 38 appcache_service_->GetAllAppCacheInfo(
Bernhard Bauer 2014/09/05 16:15:12 So, what happens when this object is destroyed now
vabr (Chromium) 2014/09/19 12:35:47 Thanks for catching this. I was confused when firs
39 info_collection_.get(),
40 base::Bind(&BrowsingDataAppCacheHelper::OnFetchComplete, 40 base::Bind(&BrowsingDataAppCacheHelper::OnFetchComplete,
41 base::Unretained(this))); 41 base::Unretained(this)));
42 appcache_service_->GetAllAppCacheInfo(info_collection_.get(),
43 appcache_info_callback_.callback());
44 } 42 }
45 43
46 void BrowsingDataAppCacheHelper::DeleteAppCacheGroup( 44 void BrowsingDataAppCacheHelper::DeleteAppCacheGroup(
47 const GURL& manifest_url) { 45 const GURL& manifest_url) {
48 if (BrowserThread::CurrentlyOn(BrowserThread::UI)) { 46 if (BrowserThread::CurrentlyOn(BrowserThread::UI)) {
49 BrowserThread::PostTask( 47 BrowserThread::PostTask(
50 BrowserThread::IO, FROM_HERE, 48 BrowserThread::IO, FROM_HERE,
51 base::Bind(&BrowsingDataAppCacheHelper::DeleteAppCacheGroup, this, 49 base::Bind(&BrowsingDataAppCacheHelper::DeleteAppCacheGroup, this,
52 manifest_url)); 50 manifest_url));
53 return; 51 return;
(...skipping 26 matching lines...) Expand all
80 } 78 }
81 79
82 DCHECK_CURRENTLY_ON(BrowserThread::UI); 80 DCHECK_CURRENTLY_ON(BrowserThread::UI);
83 DCHECK(is_fetching_); 81 DCHECK(is_fetching_);
84 is_fetching_ = false; 82 is_fetching_ = false;
85 completion_callback_.Run(); 83 completion_callback_.Run();
86 completion_callback_.Reset(); 84 completion_callback_.Reset();
87 } 85 }
88 86
89 CannedBrowsingDataAppCacheHelper::CannedBrowsingDataAppCacheHelper( 87 CannedBrowsingDataAppCacheHelper::CannedBrowsingDataAppCacheHelper(
90 Profile* profile) 88 BrowserContext* browser_context)
91 : BrowsingDataAppCacheHelper(profile), 89 : BrowsingDataAppCacheHelper(browser_context),
92 profile_(profile) { 90 browser_context_(browser_context) {
93 info_collection_ = new content::AppCacheInfoCollection; 91 info_collection_ = new content::AppCacheInfoCollection;
94 } 92 }
95 93
96 CannedBrowsingDataAppCacheHelper* CannedBrowsingDataAppCacheHelper::Clone() { 94 CannedBrowsingDataAppCacheHelper* CannedBrowsingDataAppCacheHelper::Clone() {
97 DCHECK_CURRENTLY_ON(BrowserThread::UI); 95 DCHECK_CURRENTLY_ON(BrowserThread::UI);
98 CannedBrowsingDataAppCacheHelper* clone = 96 CannedBrowsingDataAppCacheHelper* clone =
99 new CannedBrowsingDataAppCacheHelper(profile_); 97 new CannedBrowsingDataAppCacheHelper(browser_context_);
100 98
101 clone->info_collection_->infos_by_origin = info_collection_->infos_by_origin; 99 clone->info_collection_->infos_by_origin = info_collection_->infos_by_origin;
102 return clone; 100 return clone;
103 } 101 }
104 102
105 void CannedBrowsingDataAppCacheHelper::AddAppCache(const GURL& manifest_url) { 103 void CannedBrowsingDataAppCacheHelper::AddAppCache(const GURL& manifest_url) {
106 if (!BrowsingDataHelper::HasWebScheme(manifest_url)) 104 if (!BrowsingDataHelper::HasWebScheme(manifest_url))
107 return; // Ignore non-websafe schemes. 105 return; // Ignore non-websafe schemes.
108 106
109 OriginAppCacheInfoMap& origin_map = info_collection_->infos_by_origin; 107 OriginAppCacheInfoMap& origin_map = info_collection_->infos_by_origin;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 completion_callback.Run(); 149 completion_callback.Run();
152 } 150 }
153 151
154 void CannedBrowsingDataAppCacheHelper::DeleteAppCacheGroup( 152 void CannedBrowsingDataAppCacheHelper::DeleteAppCacheGroup(
155 const GURL& manifest_url) { 153 const GURL& manifest_url) {
156 info_collection_->infos_by_origin.erase(manifest_url.GetOrigin()); 154 info_collection_->infos_by_origin.erase(manifest_url.GetOrigin());
157 BrowsingDataAppCacheHelper::DeleteAppCacheGroup(manifest_url); 155 BrowsingDataAppCacheHelper::DeleteAppCacheGroup(manifest_url);
158 } 156 }
159 157
160 CannedBrowsingDataAppCacheHelper::~CannedBrowsingDataAppCacheHelper() {} 158 CannedBrowsingDataAppCacheHelper::~CannedBrowsingDataAppCacheHelper() {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698