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

Side by Side Diff: chrome/browser/chromeos/drive/file_system.cc

Issue 150113002: drive: Also lock SearchOperation when locking ChangeListLoader (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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/chromeos/drive/file_system.h" 5 #include "chrome/browser/chromeos/drive/file_system.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/platform_file.h" 9 #include "base/platform_file.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 242
243 base::PostTaskAndReplyWithResult( 243 base::PostTaskAndReplyWithResult(
244 blocking_task_runner_, 244 blocking_task_runner_,
245 FROM_HERE, 245 FROM_HERE,
246 base::Bind(&ResetOnBlockingPool, resource_metadata_, cache_), 246 base::Bind(&ResetOnBlockingPool, resource_metadata_, cache_),
247 callback); 247 callback);
248 } 248 }
249 249
250 void FileSystem::ResetComponents() { 250 void FileSystem::ResetComponents() {
251 file_system::OperationObserver* observer = this; 251 file_system::OperationObserver* observer = this;
252
253 loader_controller_.reset(new internal::LoaderController);
254 change_list_loader_.reset(new internal::ChangeListLoader(
255 blocking_task_runner_.get(),
256 resource_metadata_,
257 scheduler_,
258 drive_service_,
259 loader_controller_.get()));
260 change_list_loader_->AddObserver(this);
261
262 sync_client_.reset(new internal::SyncClient(blocking_task_runner_.get(),
263 observer,
264 scheduler_,
265 resource_metadata_,
266 cache_,
267 loader_controller_.get(),
268 temporary_file_directory_));
269
252 copy_operation_.reset( 270 copy_operation_.reset(
253 new file_system::CopyOperation( 271 new file_system::CopyOperation(
254 blocking_task_runner_.get(), 272 blocking_task_runner_.get(),
255 observer, 273 observer,
256 scheduler_, 274 scheduler_,
257 resource_metadata_, 275 resource_metadata_,
258 cache_, 276 cache_,
259 drive_service_->GetResourceIdCanonicalizer())); 277 drive_service_->GetResourceIdCanonicalizer()));
260 create_directory_operation_.reset(new file_system::CreateDirectoryOperation( 278 create_directory_operation_.reset(new file_system::CreateDirectoryOperation(
261 blocking_task_runner_.get(), observer, scheduler_, resource_metadata_)); 279 blocking_task_runner_.get(), observer, scheduler_, resource_metadata_));
(...skipping 29 matching lines...) Expand all
291 cache_, 309 cache_,
292 temporary_file_directory_)); 310 temporary_file_directory_));
293 download_operation_.reset( 311 download_operation_.reset(
294 new file_system::DownloadOperation(blocking_task_runner_.get(), 312 new file_system::DownloadOperation(blocking_task_runner_.get(),
295 observer, 313 observer,
296 scheduler_, 314 scheduler_,
297 resource_metadata_, 315 resource_metadata_,
298 cache_, 316 cache_,
299 temporary_file_directory_)); 317 temporary_file_directory_));
300 search_operation_.reset(new file_system::SearchOperation( 318 search_operation_.reset(new file_system::SearchOperation(
301 blocking_task_runner_.get(), scheduler_, resource_metadata_)); 319 blocking_task_runner_.get(), scheduler_, resource_metadata_,
320 loader_controller_.get()));
302 get_file_for_saving_operation_.reset( 321 get_file_for_saving_operation_.reset(
303 new file_system::GetFileForSavingOperation(blocking_task_runner_.get(), 322 new file_system::GetFileForSavingOperation(blocking_task_runner_.get(),
304 observer, 323 observer,
305 scheduler_, 324 scheduler_,
306 resource_metadata_, 325 resource_metadata_,
307 cache_, 326 cache_,
308 temporary_file_directory_)); 327 temporary_file_directory_));
309
310 change_list_loader_.reset(new internal::ChangeListLoader(
311 blocking_task_runner_.get(),
312 resource_metadata_,
313 scheduler_,
314 drive_service_));
315 change_list_loader_->AddObserver(this);
316
317 sync_client_.reset(new internal::SyncClient(blocking_task_runner_.get(),
318 observer,
319 scheduler_,
320 resource_metadata_,
321 cache_,
322 change_list_loader_.get(),
323 temporary_file_directory_));
324 } 328 }
325 329
326 void FileSystem::CheckForUpdates() { 330 void FileSystem::CheckForUpdates() {
327 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 331 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
328 DVLOG(1) << "CheckForUpdates"; 332 DVLOG(1) << "CheckForUpdates";
329 333
330 change_list_loader_->CheckForUpdates( 334 change_list_loader_->CheckForUpdates(
331 base::Bind(&FileSystem::OnUpdateChecked, weak_ptr_factory_.GetWeakPtr())); 335 base::Bind(&FileSystem::OnUpdateChecked, weak_ptr_factory_.GetWeakPtr()));
332 } 336 }
333 337
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 OpenMode open_mode, 910 OpenMode open_mode,
907 const std::string& mime_type, 911 const std::string& mime_type,
908 const OpenFileCallback& callback) { 912 const OpenFileCallback& callback) {
909 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 913 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
910 DCHECK(!callback.is_null()); 914 DCHECK(!callback.is_null());
911 915
912 open_file_operation_->OpenFile(file_path, open_mode, mime_type, callback); 916 open_file_operation_->OpenFile(file_path, open_mode, mime_type, callback);
913 } 917 }
914 918
915 } // namespace drive 919 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/file_system.h ('k') | chrome/browser/chromeos/drive/file_system/operation_test_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698