OLD | NEW |
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 <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 class SyncEngine::WorkerObserver : public SyncWorkerInterface::Observer { | 82 class SyncEngine::WorkerObserver : public SyncWorkerInterface::Observer { |
83 public: | 83 public: |
84 WorkerObserver(base::SequencedTaskRunner* ui_task_runner, | 84 WorkerObserver(base::SequencedTaskRunner* ui_task_runner, |
85 base::WeakPtr<SyncEngine> sync_engine) | 85 base::WeakPtr<SyncEngine> sync_engine) |
86 : ui_task_runner_(ui_task_runner), | 86 : ui_task_runner_(ui_task_runner), |
87 sync_engine_(sync_engine) { | 87 sync_engine_(sync_engine) { |
88 sequence_checker_.DetachFromSequence(); | 88 sequence_checker_.DetachFromSequence(); |
89 } | 89 } |
90 | 90 |
91 ~WorkerObserver() override { | 91 ~WorkerObserver() override { |
92 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 92 DCHECK(sequence_checker_.CalledOnValidSequence()); |
93 } | 93 } |
94 | 94 |
95 void OnPendingFileListUpdated(int item_count) override { | 95 void OnPendingFileListUpdated(int item_count) override { |
96 if (ui_task_runner_->RunsTasksOnCurrentThread()) { | 96 if (ui_task_runner_->RunsTasksOnCurrentThread()) { |
97 if (sync_engine_) | 97 if (sync_engine_) |
98 sync_engine_->OnPendingFileListUpdated(item_count); | 98 sync_engine_->OnPendingFileListUpdated(item_count); |
99 return; | 99 return; |
100 } | 100 } |
101 | 101 |
102 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 102 DCHECK(sequence_checker_.CalledOnValidSequence()); |
103 ui_task_runner_->PostTask( | 103 ui_task_runner_->PostTask( |
104 FROM_HERE, | 104 FROM_HERE, |
105 base::Bind(&SyncEngine::OnPendingFileListUpdated, | 105 base::Bind(&SyncEngine::OnPendingFileListUpdated, |
106 sync_engine_, | 106 sync_engine_, |
107 item_count)); | 107 item_count)); |
108 } | 108 } |
109 | 109 |
110 void OnFileStatusChanged(const storage::FileSystemURL& url, | 110 void OnFileStatusChanged(const storage::FileSystemURL& url, |
111 SyncFileType file_type, | 111 SyncFileType file_type, |
112 SyncFileStatus file_status, | 112 SyncFileStatus file_status, |
113 SyncAction sync_action, | 113 SyncAction sync_action, |
114 SyncDirection direction) override { | 114 SyncDirection direction) override { |
115 if (ui_task_runner_->RunsTasksOnCurrentThread()) { | 115 if (ui_task_runner_->RunsTasksOnCurrentThread()) { |
116 if (sync_engine_) | 116 if (sync_engine_) |
117 sync_engine_->OnFileStatusChanged( | 117 sync_engine_->OnFileStatusChanged( |
118 url, file_type, file_status, sync_action, direction); | 118 url, file_type, file_status, sync_action, direction); |
119 return; | 119 return; |
120 } | 120 } |
121 | 121 |
122 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 122 DCHECK(sequence_checker_.CalledOnValidSequence()); |
123 ui_task_runner_->PostTask( | 123 ui_task_runner_->PostTask( |
124 FROM_HERE, | 124 FROM_HERE, |
125 base::Bind(&SyncEngine::OnFileStatusChanged, | 125 base::Bind(&SyncEngine::OnFileStatusChanged, |
126 sync_engine_, | 126 sync_engine_, |
127 url, file_type, file_status, sync_action, direction)); | 127 url, file_type, file_status, sync_action, direction)); |
128 } | 128 } |
129 | 129 |
130 void UpdateServiceState(RemoteServiceState state, | 130 void UpdateServiceState(RemoteServiceState state, |
131 const std::string& description) override { | 131 const std::string& description) override { |
132 if (ui_task_runner_->RunsTasksOnCurrentThread()) { | 132 if (ui_task_runner_->RunsTasksOnCurrentThread()) { |
133 if (sync_engine_) | 133 if (sync_engine_) |
134 sync_engine_->UpdateServiceState(state, description); | 134 sync_engine_->UpdateServiceState(state, description); |
135 return; | 135 return; |
136 } | 136 } |
137 | 137 |
138 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 138 DCHECK(sequence_checker_.CalledOnValidSequence()); |
139 ui_task_runner_->PostTask( | 139 ui_task_runner_->PostTask( |
140 FROM_HERE, | 140 FROM_HERE, |
141 base::Bind(&SyncEngine::UpdateServiceState, | 141 base::Bind(&SyncEngine::UpdateServiceState, |
142 sync_engine_, state, description)); | 142 sync_engine_, state, description)); |
143 } | 143 } |
144 | 144 |
145 void DetachFromSequence() { | 145 void DetachFromSequence() { |
146 sequence_checker_.DetachFromSequence(); | 146 sequence_checker_.DetachFromSequence(); |
147 } | 147 } |
148 | 148 |
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
776 | 776 |
777 SyncStatusCallback SyncEngine::TrackCallback( | 777 SyncStatusCallback SyncEngine::TrackCallback( |
778 const SyncStatusCallback& callback) { | 778 const SyncStatusCallback& callback) { |
779 return callback_tracker_.Register( | 779 return callback_tracker_.Register( |
780 base::Bind(callback, SYNC_STATUS_ABORT), | 780 base::Bind(callback, SYNC_STATUS_ABORT), |
781 callback); | 781 callback); |
782 } | 782 } |
783 | 783 |
784 } // namespace drive_backend | 784 } // namespace drive_backend |
785 } // namespace sync_file_system | 785 } // namespace sync_file_system |
OLD | NEW |