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

Side by Side Diff: chrome/browser/browsing_data_local_storage_helper.cc

Issue 8393036: base::Bind: Convert BrowsingDataLocalStorageHelper::StartFetching. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fix. Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_local_storage_helper.h" 5 #include "chrome/browser/browsing_data_local_storage_helper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 30 matching lines...) Expand all
41 file_path(file_path), 41 file_path(file_path),
42 size(size), 42 size(size),
43 last_modified(last_modified) { 43 last_modified(last_modified) {
44 } 44 }
45 45
46 BrowsingDataLocalStorageHelper::LocalStorageInfo::~LocalStorageInfo() {} 46 BrowsingDataLocalStorageHelper::LocalStorageInfo::~LocalStorageInfo() {}
47 47
48 BrowsingDataLocalStorageHelper::BrowsingDataLocalStorageHelper( 48 BrowsingDataLocalStorageHelper::BrowsingDataLocalStorageHelper(
49 Profile* profile) 49 Profile* profile)
50 : profile_(profile), 50 : profile_(profile),
51 completion_callback_(NULL),
52 is_fetching_(false) { 51 is_fetching_(false) {
53 DCHECK(profile_); 52 DCHECK(profile_);
54 } 53 }
55 54
56 BrowsingDataLocalStorageHelper::~BrowsingDataLocalStorageHelper() { 55 BrowsingDataLocalStorageHelper::~BrowsingDataLocalStorageHelper() {
57 } 56 }
58 57
59 void BrowsingDataLocalStorageHelper::StartFetching( 58 void BrowsingDataLocalStorageHelper::StartFetching(
60 Callback1<const std::list<LocalStorageInfo>& >::Type* callback) { 59 const base::Callback<void(const std::list<LocalStorageInfo>&)>& callback) {
61 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 60 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
62 DCHECK(!is_fetching_); 61 DCHECK(!is_fetching_);
63 DCHECK(callback); 62 DCHECK_EQ(false, callback.is_null());
63
64 is_fetching_ = true; 64 is_fetching_ = true;
65 completion_callback_.reset(callback); 65 completion_callback_ = callback;
66 BrowserThread::PostTask( 66 BrowserThread::PostTask(
67 BrowserThread::WEBKIT, FROM_HERE, 67 BrowserThread::WEBKIT, FROM_HERE,
68 base::Bind( 68 base::Bind(
69 &BrowsingDataLocalStorageHelper::FetchLocalStorageInfoInWebKitThread, 69 &BrowsingDataLocalStorageHelper::FetchLocalStorageInfoInWebKitThread,
70 this)); 70 this));
71 } 71 }
72 72
73 void BrowsingDataLocalStorageHelper::CancelNotification() { 73 void BrowsingDataLocalStorageHelper::CancelNotification() {
74 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 74 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
75 completion_callback_.reset(NULL); 75 completion_callback_.Reset();
76 } 76 }
77 77
78 void BrowsingDataLocalStorageHelper::DeleteLocalStorageFile( 78 void BrowsingDataLocalStorageHelper::DeleteLocalStorageFile(
79 const FilePath& file_path) { 79 const FilePath& file_path) {
80 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 80 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
81 BrowserThread::PostTask( 81 BrowserThread::PostTask(
82 BrowserThread::WEBKIT, FROM_HERE, 82 BrowserThread::WEBKIT, FROM_HERE,
83 base::Bind( 83 base::Bind(
84 &BrowsingDataLocalStorageHelper::DeleteLocalStorageFileInWebKitThread, 84 &BrowsingDataLocalStorageHelper::DeleteLocalStorageFileInWebKitThread,
85 this, file_path)); 85 this, file_path));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 BrowserThread::PostTask( 121 BrowserThread::PostTask(
122 BrowserThread::UI, FROM_HERE, 122 BrowserThread::UI, FROM_HERE,
123 base::Bind(&BrowsingDataLocalStorageHelper::NotifyInUIThread, this)); 123 base::Bind(&BrowsingDataLocalStorageHelper::NotifyInUIThread, this));
124 } 124 }
125 125
126 void BrowsingDataLocalStorageHelper::NotifyInUIThread() { 126 void BrowsingDataLocalStorageHelper::NotifyInUIThread() {
127 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 127 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
128 DCHECK(is_fetching_); 128 DCHECK(is_fetching_);
129 // Note: completion_callback_ mutates only in the UI thread, so it's safe to 129 // Note: completion_callback_ mutates only in the UI thread, so it's safe to
130 // test it here. 130 // test it here.
131 if (completion_callback_ != NULL) { 131 if (!completion_callback_.is_null()) {
132 completion_callback_->Run(local_storage_info_); 132 completion_callback_.Run(local_storage_info_);
133 completion_callback_.reset(); 133 completion_callback_.Reset();
134 } 134 }
135 is_fetching_ = false; 135 is_fetching_ = false;
136 } 136 }
137 137
138 void BrowsingDataLocalStorageHelper::DeleteLocalStorageFileInWebKitThread( 138 void BrowsingDataLocalStorageHelper::DeleteLocalStorageFileInWebKitThread(
139 const FilePath& file_path) { 139 const FilePath& file_path) {
140 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT)); 140 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT));
141 profile_->GetWebKitContext()->dom_storage_context()->DeleteLocalStorageFile( 141 profile_->GetWebKitContext()->dom_storage_context()->DeleteLocalStorageFile(
142 file_path); 142 file_path);
143 } 143 }
(...skipping 27 matching lines...) Expand all
171 local_storage_info_.clear(); 171 local_storage_info_.clear();
172 pending_local_storage_info_.clear(); 172 pending_local_storage_info_.clear();
173 } 173 }
174 174
175 bool CannedBrowsingDataLocalStorageHelper::empty() const { 175 bool CannedBrowsingDataLocalStorageHelper::empty() const {
176 base::AutoLock auto_lock(lock_); 176 base::AutoLock auto_lock(lock_);
177 return local_storage_info_.empty() && pending_local_storage_info_.empty(); 177 return local_storage_info_.empty() && pending_local_storage_info_.empty();
178 } 178 }
179 179
180 void CannedBrowsingDataLocalStorageHelper::StartFetching( 180 void CannedBrowsingDataLocalStorageHelper::StartFetching(
181 Callback1<const std::list<LocalStorageInfo>& >::Type* callback) { 181 const base::Callback<void(const std::list<LocalStorageInfo>&)>& callback) {
182 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 182 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
183 DCHECK(!is_fetching_); 183 DCHECK(!is_fetching_);
184 DCHECK(callback); 184 DCHECK_EQ(false, callback.is_null());
185
185 is_fetching_ = true; 186 is_fetching_ = true;
186 completion_callback_.reset(callback); 187 completion_callback_ = callback;
187 BrowserThread::PostTask( 188 BrowserThread::PostTask(
188 BrowserThread::WEBKIT, FROM_HERE, 189 BrowserThread::WEBKIT, FROM_HERE,
189 base::Bind(&CannedBrowsingDataLocalStorageHelper:: 190 base::Bind(&CannedBrowsingDataLocalStorageHelper::
190 ConvertPendingInfoInWebKitThread, this)); 191 ConvertPendingInfoInWebKitThread, this));
191 } 192 }
192 193
193 CannedBrowsingDataLocalStorageHelper::~CannedBrowsingDataLocalStorageHelper() {} 194 CannedBrowsingDataLocalStorageHelper::~CannedBrowsingDataLocalStorageHelper() {}
194 195
195 void CannedBrowsingDataLocalStorageHelper::ConvertPendingInfoInWebKitThread() { 196 void CannedBrowsingDataLocalStorageHelper::ConvertPendingInfoInWebKitThread() {
196 base::AutoLock auto_lock(lock_); 197 base::AutoLock auto_lock(lock_);
(...skipping 27 matching lines...) Expand all
224 0, 225 0,
225 base::Time())); 226 base::Time()));
226 } 227 }
227 pending_local_storage_info_.clear(); 228 pending_local_storage_info_.clear();
228 229
229 BrowserThread::PostTask( 230 BrowserThread::PostTask(
230 BrowserThread::UI, FROM_HERE, 231 BrowserThread::UI, FROM_HERE,
231 base::Bind(&CannedBrowsingDataLocalStorageHelper::NotifyInUIThread, 232 base::Bind(&CannedBrowsingDataLocalStorageHelper::NotifyInUIThread,
232 this)); 233 this));
233 } 234 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data_local_storage_helper.h ('k') | chrome/browser/browsing_data_local_storage_helper_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698