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

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

Issue 9419033: Move creation of BrowserContext objects that live in content to content, instead of depending on th… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Fix memory leaks in tests Created 8 years, 10 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 | Annotate | Revision Log
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_file_system_helper.h" 5 #include "chrome/browser/browsing_data_file_system_helper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop.h" 11 #include "base/message_loop.h"
12 #include "base/string_util.h" 12 #include "base/string_util.h"
13 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
14 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
15 #include "content/public/browser/browser_thread.h" 15 #include "content/public/browser/browser_thread.h"
16 #include "webkit/fileapi/file_system_context.h" 16 #include "webkit/fileapi/file_system_context.h"
17 #include "webkit/fileapi/file_system_quota_util.h" 17 #include "webkit/fileapi/file_system_quota_util.h"
18 #include "webkit/fileapi/file_system_types.h" 18 #include "webkit/fileapi/file_system_types.h"
19 #include "webkit/fileapi/sandbox_mount_point_provider.h" 19 #include "webkit/fileapi/sandbox_mount_point_provider.h"
20 20
21 using content::BrowserContext;
21 using content::BrowserThread; 22 using content::BrowserThread;
22 23
23 namespace { 24 namespace {
24 25
25 // An implementation of the BrowsingDataFileSystemHelper interface that pulls 26 // An implementation of the BrowsingDataFileSystemHelper interface that pulls
26 // data from a given |profile| and returns a list of FileSystemInfo items to a 27 // data from a given |profile| and returns a list of FileSystemInfo items to a
27 // client. 28 // client.
28 class BrowsingDataFileSystemHelperImpl : public BrowsingDataFileSystemHelper { 29 class BrowsingDataFileSystemHelperImpl : public BrowsingDataFileSystemHelper {
29 public: 30 public:
30 // BrowsingDataFileSystemHelper implementation 31 // BrowsingDataFileSystemHelper implementation
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 BrowserThread::PostTask( 107 BrowserThread::PostTask(
107 BrowserThread::FILE, FROM_HERE, 108 BrowserThread::FILE, FROM_HERE,
108 base::Bind( 109 base::Bind(
109 &BrowsingDataFileSystemHelperImpl::DeleteFileSystemOriginInFileThread, 110 &BrowsingDataFileSystemHelperImpl::DeleteFileSystemOriginInFileThread,
110 this, origin)); 111 this, origin));
111 } 112 }
112 113
113 void BrowsingDataFileSystemHelperImpl::FetchFileSystemInfoInFileThread() { 114 void BrowsingDataFileSystemHelperImpl::FetchFileSystemInfoInFileThread() {
114 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 115 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
115 scoped_ptr<fileapi::SandboxMountPointProvider::OriginEnumerator> 116 scoped_ptr<fileapi::SandboxMountPointProvider::OriginEnumerator>
116 origin_enumerator(profile_->GetFileSystemContext()-> 117 origin_enumerator(BrowserContext::GetFileSystemContext(profile_)->
117 sandbox_provider()->CreateOriginEnumerator()); 118 sandbox_provider()->CreateOriginEnumerator());
118 119
119 // We don't own this pointer; it's a magic singleton generated by the 120 // We don't own this pointer; it's a magic singleton generated by the
120 // profile's FileSystemContext. Deleting it would be a bad idea. 121 // profile's FileSystemContext. Deleting it would be a bad idea.
121 fileapi::FileSystemQuotaUtil* quota_util = profile_-> 122 fileapi::FileSystemQuotaUtil* quota_util =
122 GetFileSystemContext()->GetQuotaUtil(fileapi::kFileSystemTypeTemporary); 123 BrowserContext::GetFileSystemContext(profile_)->GetQuotaUtil(
124 fileapi::kFileSystemTypeTemporary);
123 125
124 GURL current; 126 GURL current;
125 while (!(current = origin_enumerator->Next()).is_empty()) { 127 while (!(current = origin_enumerator->Next()).is_empty()) {
126 if (current.SchemeIs(chrome::kExtensionScheme)) { 128 if (current.SchemeIs(chrome::kExtensionScheme)) {
127 // Extension state is not considered browsing data. 129 // Extension state is not considered browsing data.
128 continue; 130 continue;
129 } 131 }
130 // We can call these synchronous methods as we've already verified that 132 // We can call these synchronous methods as we've already verified that
131 // we're running on the FILE thread. 133 // we're running on the FILE thread.
132 int64 persistent_usage = quota_util->GetOriginUsageOnFileThread(current, 134 int64 persistent_usage = quota_util->GetOriginUsageOnFileThread(current,
(...skipping 24 matching lines...) Expand all
157 if (!completion_callback_.is_null()) { 159 if (!completion_callback_.is_null()) {
158 completion_callback_.Run(file_system_info_); 160 completion_callback_.Run(file_system_info_);
159 completion_callback_.Reset(); 161 completion_callback_.Reset();
160 } 162 }
161 is_fetching_ = false; 163 is_fetching_ = false;
162 } 164 }
163 165
164 void BrowsingDataFileSystemHelperImpl::DeleteFileSystemOriginInFileThread( 166 void BrowsingDataFileSystemHelperImpl::DeleteFileSystemOriginInFileThread(
165 const GURL& origin) { 167 const GURL& origin) {
166 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 168 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
167 profile_->GetFileSystemContext()->DeleteDataForOriginOnFileThread(origin); 169 BrowserContext::GetFileSystemContext(profile_)->
170 DeleteDataForOriginOnFileThread(origin);
168 } 171 }
169 172
170 } // namespace 173 } // namespace
171 174
172 BrowsingDataFileSystemHelper::FileSystemInfo::FileSystemInfo( 175 BrowsingDataFileSystemHelper::FileSystemInfo::FileSystemInfo(
173 const GURL& origin, 176 const GURL& origin,
174 bool has_persistent, 177 bool has_persistent,
175 bool has_temporary, 178 bool has_temporary,
176 int64 usage_persistent, 179 int64 usage_persistent,
177 int64 usage_temporary) 180 int64 usage_temporary)
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 completion_callback_.Run(file_system_info_); 278 completion_callback_.Run(file_system_info_);
276 completion_callback_.Reset(); 279 completion_callback_.Reset();
277 } 280 }
278 is_fetching_ = false; 281 is_fetching_ = false;
279 } 282 }
280 283
281 void CannedBrowsingDataFileSystemHelper::CancelNotification() { 284 void CannedBrowsingDataFileSystemHelper::CancelNotification() {
282 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 285 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
283 completion_callback_.Reset(); 286 completion_callback_.Reset();
284 } 287 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698