Chromium Code Reviews| Index: chrome/browser/chromeos/gdata/gdata_system_service.cc |
| diff --git a/chrome/browser/chromeos/gdata/gdata_system_service.cc b/chrome/browser/chromeos/gdata/gdata_system_service.cc |
| index cdf10bf572e98391cd9ebc0e212f36965206f5d5..72727dbb5e0f149f33cab5bec47599f9d6acb341 100644 |
| --- a/chrome/browser/chromeos/gdata/gdata_system_service.cc |
| +++ b/chrome/browser/chromeos/gdata/gdata_system_service.cc |
| @@ -39,7 +39,8 @@ const std::string* g_test_cache_root = NULL; |
| GDataSystemService::GDataSystemService(Profile* profile) |
| : profile_(profile), |
| - cache_(NULL) { |
| + cache_(NULL), |
| + ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| base::SequencedWorkerPool* blocking_pool = BrowserThread::GetBlockingPool(); |
| blocking_task_runner_ = blocking_pool->GetSequencedTaskRunner( |
| @@ -103,6 +104,24 @@ void GDataSystemService::Shutdown() { |
| documents_service_.reset(); |
| } |
| +void GDataSystemService::ClearCache() { |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| + |
| + RemoveDriveMountPoint(); |
| + docs_service()->CancelAll(); |
| + cache_->ClearAllOnUIThread( |
| + base::Bind(&GDataSystemService::AddBackDriveMountPoint, |
| + weak_ptr_factory_.GetWeakPtr())); |
| +} |
| + |
| +void GDataSystemService::AddBackDriveMountPoint( |
| + GDataFileError error, const FilePath& file_path) { |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| + |
| + // TODO(yoshiki): Notify to user when |error| != GDATA_FILE_OK. |
|
satorux1
2012/08/02 01:03:21
Hmm, would it be difficult to do this now?
yoshiki
2012/08/02 07:12:11
We need to think how to notify the failure to JS-s
|
| + AddDriveMountPoint(); |
| +} |
| + |
| void GDataSystemService::AddDriveMountPoint() { |
| if (!gdata::util::IsGDataAvailable(profile_)) |
| return; |