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

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

Issue 470403004: [SyncFS] Initialize SyncWorker when sync is enabled. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/sync_engine.h" 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 callback_tracker_.Register(abort_closure, callback); 569 callback_tracker_.Register(abort_closure, callback);
570 570
571 PostTaskAndReplyWithResult(worker_task_runner_.get(), 571 PostTaskAndReplyWithResult(worker_task_runner_.get(),
572 FROM_HERE, 572 FROM_HERE,
573 base::Bind(&SyncWorkerInterface::DumpDatabase, 573 base::Bind(&SyncWorkerInterface::DumpDatabase,
574 base::Unretained(sync_worker_.get())), 574 base::Unretained(sync_worker_.get())),
575 tracked_callback); 575 tracked_callback);
576 } 576 }
577 577
578 void SyncEngine::SetSyncEnabled(bool sync_enabled) { 578 void SyncEngine::SetSyncEnabled(bool sync_enabled) {
579 if (sync_enabled_ == sync_enabled)
580 return;
579 sync_enabled_ = sync_enabled; 581 sync_enabled_ = sync_enabled;
580 582
583 if (sync_enabled_) {
584 if (!sync_worker_)
585 Initialize();
586
587 // Have no login credential.
588 if (!sync_worker_)
589 return;
590
591 worker_task_runner_->PostTask(
592 FROM_HERE,
593 base::Bind(&SyncWorkerInterface::SetSyncEnabled,
594 base::Unretained(sync_worker_.get()),
595 sync_enabled_));
596 return;
597 }
598
581 if (!sync_worker_) 599 if (!sync_worker_)
582 return; 600 return;
583 601
602 // TODO(tzik): Consider removing SyncWorkerInterface::SetSyncEnabled and
603 // let SyncEngine handle the flag.
584 worker_task_runner_->PostTask( 604 worker_task_runner_->PostTask(
585 FROM_HERE, 605 FROM_HERE,
586 base::Bind(&SyncWorkerInterface::SetSyncEnabled, 606 base::Bind(&SyncWorkerInterface::SetSyncEnabled,
587 base::Unretained(sync_worker_.get()), 607 base::Unretained(sync_worker_.get()),
588 sync_enabled)); 608 sync_enabled_));
609 Reset();
589 } 610 }
590 611
591 void SyncEngine::PromoteDemotedChanges(const base::Closure& callback) { 612 void SyncEngine::PromoteDemotedChanges(const base::Closure& callback) {
592 if (!sync_worker_) { 613 if (!sync_worker_) {
593 callback.Run(); 614 callback.Run();
594 return; 615 return;
595 } 616 }
596 617
597 base::Closure relayed_callback = RelayCallbackToCurrentThread( 618 base::Closure relayed_callback = RelayCallbackToCurrentThread(
598 FROM_HERE, callback_tracker_.Register(callback, callback)); 619 FROM_HERE, callback_tracker_.Register(callback, callback));
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 803
783 SyncStatusCallback SyncEngine::TrackCallback( 804 SyncStatusCallback SyncEngine::TrackCallback(
784 const SyncStatusCallback& callback) { 805 const SyncStatusCallback& callback) {
785 return callback_tracker_.Register( 806 return callback_tracker_.Register(
786 base::Bind(callback, SYNC_STATUS_ABORT), 807 base::Bind(callback, SYNC_STATUS_ABORT),
787 callback); 808 callback);
788 } 809 }
789 810
790 } // namespace drive_backend 811 } // namespace drive_backend
791 } // namespace sync_file_system 812 } // namespace sync_file_system
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698