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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/metadata_database.cc

Issue 515093002: FileAPI/sync file system cleanups for scoped_refptr operator T* cleanup. (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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/sync_file_system/drive_backend/metadata_database.h" 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <stack> 8 #include <stack>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 } 517 }
518 } 518 }
519 519
520 } // namespace 520 } // namespace
521 521
522 struct MetadataDatabase::CreateParam { 522 struct MetadataDatabase::CreateParam {
523 scoped_refptr<base::SequencedTaskRunner> worker_task_runner; 523 scoped_refptr<base::SequencedTaskRunner> worker_task_runner;
524 base::FilePath database_path; 524 base::FilePath database_path;
525 leveldb::Env* env_override; 525 leveldb::Env* env_override;
526 526
527 CreateParam(base::SequencedTaskRunner* worker_task_runner, 527 CreateParam(
528 const base::FilePath& database_path, 528 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner,
529 leveldb::Env* env_override) 529 const base::FilePath& database_path,
530 leveldb::Env* env_override)
530 : worker_task_runner(worker_task_runner), 531 : worker_task_runner(worker_task_runner),
531 database_path(database_path), 532 database_path(database_path),
532 env_override(env_override) { 533 env_override(env_override) {}
533 }
534 }; 534 };
535 535
536 // static 536 // static
537 void MetadataDatabase::Create(base::SequencedTaskRunner* worker_task_runner, 537 void MetadataDatabase::Create(
538 const base::FilePath& database_path, 538 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner,
539 leveldb::Env* env_override, 539 const base::FilePath& database_path,
540 const CreateCallback& callback) { 540 leveldb::Env* env_override,
541 const CreateCallback& callback) {
541 worker_task_runner->PostTask(FROM_HERE, base::Bind( 542 worker_task_runner->PostTask(FROM_HERE, base::Bind(
542 &MetadataDatabase::CreateOnWorkerTaskRunner, 543 &MetadataDatabase::CreateOnWorkerTaskRunner,
543 base::Passed(make_scoped_ptr(new CreateParam( 544 base::Passed(make_scoped_ptr(new CreateParam(
544 worker_task_runner, 545 worker_task_runner,
545 database_path, 546 database_path,
546 env_override))), 547 env_override))),
547 callback)); 548 callback));
548 } 549 }
549 550
550 // static 551 // static
(...skipping 844 matching lines...) Expand 10 before | Expand all | Expand 10 after
1395 !CanClearDirty(*tracker)) 1396 !CanClearDirty(*tracker))
1396 continue; 1397 continue;
1397 tracker->set_dirty(false); 1398 tracker->set_dirty(false);
1398 index_->StoreFileTracker(tracker.Pass()); 1399 index_->StoreFileTracker(tracker.Pass());
1399 } 1400 }
1400 1401
1401 WriteToDatabase(callback); 1402 WriteToDatabase(callback);
1402 } 1403 }
1403 1404
1404 MetadataDatabase::MetadataDatabase( 1405 MetadataDatabase::MetadataDatabase(
1405 base::SequencedTaskRunner* worker_task_runner, 1406 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner,
1406 const base::FilePath& database_path, 1407 const base::FilePath& database_path,
1407 leveldb::Env* env_override) 1408 leveldb::Env* env_override)
1408 : worker_task_runner_(worker_task_runner), 1409 : worker_task_runner_(worker_task_runner),
1409 database_path_(database_path), 1410 database_path_(database_path),
1410 env_override_(env_override), 1411 env_override_(env_override),
1411 largest_known_change_id_(0), 1412 largest_known_change_id_(0),
1412 weak_ptr_factory_(this) { 1413 weak_ptr_factory_(this) {
1413 DCHECK(worker_task_runner); 1414 DCHECK(worker_task_runner.get());
1414 } 1415 }
1415 1416
1416 // static 1417 // static
1417 void MetadataDatabase::CreateOnWorkerTaskRunner( 1418 void MetadataDatabase::CreateOnWorkerTaskRunner(
1418 scoped_ptr<CreateParam> create_param, 1419 scoped_ptr<CreateParam> create_param,
1419 const CreateCallback& callback) { 1420 const CreateCallback& callback) {
1420 DCHECK(create_param->worker_task_runner->RunsTasksOnCurrentThread()); 1421 DCHECK(create_param->worker_task_runner->RunsTasksOnCurrentThread());
1421 1422
1422 scoped_ptr<MetadataDatabase> metadata_database( 1423 scoped_ptr<MetadataDatabase> metadata_database(
1423 new MetadataDatabase(create_param->worker_task_runner.get(), 1424 new MetadataDatabase(create_param->worker_task_runner,
1424 create_param->database_path, 1425 create_param->database_path,
1425 create_param->env_override)); 1426 create_param->env_override));
1426 SyncStatusCode status = metadata_database->Initialize(); 1427 SyncStatusCode status = metadata_database->Initialize();
1427 if (status != SYNC_STATUS_OK) 1428 if (status != SYNC_STATUS_OK)
1428 metadata_database.reset(); 1429 metadata_database.reset();
1429 1430
1430 metadata_database->DetachFromSequence(); 1431 metadata_database->DetachFromSequence();
1431 create_param->worker_task_runner->PostTask( 1432 create_param->worker_task_runner->PostTask(
1432 FROM_HERE, 1433 FROM_HERE,
1433 base::Bind( 1434 base::Bind(
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
1953 return false; 1954 return false;
1954 1955
1955 if (!parents.empty()) 1956 if (!parents.empty())
1956 return false; 1957 return false;
1957 1958
1958 return true; 1959 return true;
1959 } 1960 }
1960 1961
1961 } // namespace drive_backend 1962 } // namespace drive_backend
1962 } // namespace sync_file_system 1963 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698