OLD | NEW |
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/sync_file_system/sync_file_system_service.h" | 5 #include "chrome/browser/sync_file_system/sync_file_system_service.h" |
6 | 6 |
| 7 #include <stddef.h> |
| 8 #include <stdint.h> |
| 9 |
7 #include <string> | 10 #include <string> |
8 | 11 |
9 #include "base/bind.h" | 12 #include "base/bind.h" |
10 #include "base/format_macros.h" | 13 #include "base/format_macros.h" |
11 #include "base/logging.h" | 14 #include "base/logging.h" |
| 15 #include "base/macros.h" |
12 #include "base/memory/ref_counted.h" | 16 #include "base/memory/ref_counted.h" |
13 #include "base/metrics/histogram.h" | 17 #include "base/metrics/histogram.h" |
14 #include "base/single_thread_task_runner.h" | 18 #include "base/single_thread_task_runner.h" |
15 #include "base/stl_util.h" | 19 #include "base/stl_util.h" |
16 #include "base/thread_task_runner_handle.h" | 20 #include "base/thread_task_runner_handle.h" |
17 #include "chrome/browser/extensions/api/sync_file_system/extension_sync_event_ob
server.h" | 21 #include "chrome/browser/extensions/api/sync_file_system/extension_sync_event_ob
server.h" |
18 #include "chrome/browser/extensions/api/sync_file_system/sync_file_system_api_he
lpers.h" | 22 #include "chrome/browser/extensions/api/sync_file_system/sync_file_system_api_he
lpers.h" |
19 #include "chrome/browser/profiles/profile.h" | 23 #include "chrome/browser/profiles/profile.h" |
20 #include "chrome/browser/sync/profile_sync_service_factory.h" | 24 #include "chrome/browser/sync/profile_sync_service_factory.h" |
21 #include "chrome/browser/sync_file_system/local/local_file_sync_service.h" | 25 #include "chrome/browser/sync_file_system/local/local_file_sync_service.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 1 /* max_parallel_task */), | 154 1 /* max_parallel_task */), |
151 factory_(this) {} | 155 factory_(this) {} |
152 | 156 |
153 void StartSync(const SyncStatusCallback& callback) override { | 157 void StartSync(const SyncStatusCallback& callback) override { |
154 GetSyncService()->local_service_->ProcessLocalChange( | 158 GetSyncService()->local_service_->ProcessLocalChange( |
155 base::Bind(&LocalSyncRunner::DidProcessLocalChange, | 159 base::Bind(&LocalSyncRunner::DidProcessLocalChange, |
156 factory_.GetWeakPtr(), callback)); | 160 factory_.GetWeakPtr(), callback)); |
157 } | 161 } |
158 | 162 |
159 // LocalFileSyncService::Observer overrides. | 163 // LocalFileSyncService::Observer overrides. |
160 void OnLocalChangeAvailable(int64 pending_changes) override { | 164 void OnLocalChangeAvailable(int64_t pending_changes) override { |
161 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 165 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
162 | 166 |
163 OnChangesUpdated(pending_changes); | 167 OnChangesUpdated(pending_changes); |
164 | 168 |
165 // Kick other sync runners just in case they're not running. | 169 // Kick other sync runners just in case they're not running. |
166 GetSyncService()->RunForEachSyncRunners(&SyncProcessRunner::Schedule); | 170 GetSyncService()->RunForEachSyncRunners(&SyncProcessRunner::Schedule); |
167 } | 171 } |
168 | 172 |
169 private: | 173 private: |
170 void DidProcessLocalChange( | 174 void DidProcessLocalChange( |
(...skipping 29 matching lines...) Expand all Loading... |
200 remote_service_->ProcessRemoteChange( | 204 remote_service_->ProcessRemoteChange( |
201 base::Bind(&RemoteSyncRunner::DidProcessRemoteChange, | 205 base::Bind(&RemoteSyncRunner::DidProcessRemoteChange, |
202 factory_.GetWeakPtr(), callback)); | 206 factory_.GetWeakPtr(), callback)); |
203 } | 207 } |
204 | 208 |
205 SyncServiceState GetServiceState() override { | 209 SyncServiceState GetServiceState() override { |
206 return RemoteStateToSyncServiceState(last_state_); | 210 return RemoteStateToSyncServiceState(last_state_); |
207 } | 211 } |
208 | 212 |
209 // RemoteFileSyncService::Observer overrides. | 213 // RemoteFileSyncService::Observer overrides. |
210 void OnRemoteChangeQueueUpdated(int64 pending_changes) override { | 214 void OnRemoteChangeQueueUpdated(int64_t pending_changes) override { |
211 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 215 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
212 | 216 |
213 OnChangesUpdated(pending_changes); | 217 OnChangesUpdated(pending_changes); |
214 | 218 |
215 // Kick other sync runners just in case they're not running. | 219 // Kick other sync runners just in case they're not running. |
216 GetSyncService()->RunForEachSyncRunners(&SyncProcessRunner::Schedule); | 220 GetSyncService()->RunForEachSyncRunners(&SyncProcessRunner::Schedule); |
217 } | 221 } |
218 | 222 |
219 void OnRemoteServiceStateUpdated(RemoteServiceState state, | 223 void OnRemoteServiceStateUpdated(RemoteServiceState state, |
220 const std::string& description) override { | 224 const std::string& description) override { |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 void SyncFileSystemService::OnSyncIdle() { | 362 void SyncFileSystemService::OnSyncIdle() { |
359 if (promoting_demoted_changes_) | 363 if (promoting_demoted_changes_) |
360 return; | 364 return; |
361 promoting_demoted_changes_ = true; | 365 promoting_demoted_changes_ = true; |
362 | 366 |
363 int* job_count = new int(1); | 367 int* job_count = new int(1); |
364 base::Closure promote_completion_callback = | 368 base::Closure promote_completion_callback = |
365 base::Bind(&SyncFileSystemService::OnPromotionCompleted, | 369 base::Bind(&SyncFileSystemService::OnPromotionCompleted, |
366 AsWeakPtr(), base::Owned(job_count)); | 370 AsWeakPtr(), base::Owned(job_count)); |
367 | 371 |
368 int64 remote_changes = 0; | 372 int64_t remote_changes = 0; |
369 for (size_t i = 0; i < remote_sync_runners_.size(); ++i) | 373 for (size_t i = 0; i < remote_sync_runners_.size(); ++i) |
370 remote_changes += remote_sync_runners_[i]->pending_changes(); | 374 remote_changes += remote_sync_runners_[i]->pending_changes(); |
371 if (remote_changes == 0) { | 375 if (remote_changes == 0) { |
372 ++*job_count; | 376 ++*job_count; |
373 local_service_->PromoteDemotedChanges(promote_completion_callback); | 377 local_service_->PromoteDemotedChanges(promote_completion_callback); |
374 } | 378 } |
375 | 379 |
376 int64 local_changes = 0; | 380 int64_t local_changes = 0; |
377 for (size_t i = 0; i < local_sync_runners_.size(); ++i) | 381 for (size_t i = 0; i < local_sync_runners_.size(); ++i) |
378 local_changes += local_sync_runners_[i]->pending_changes(); | 382 local_changes += local_sync_runners_[i]->pending_changes(); |
379 if (local_changes == 0) { | 383 if (local_changes == 0) { |
380 ++*job_count; | 384 ++*job_count; |
381 remote_service_->PromoteDemotedChanges(promote_completion_callback); | 385 remote_service_->PromoteDemotedChanges(promote_completion_callback); |
382 } | 386 } |
383 | 387 |
384 promote_completion_callback.Run(); | 388 promote_completion_callback.Run(); |
385 } | 389 } |
386 | 390 |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
758 local_sync_runners_.begin(); | 762 local_sync_runners_.begin(); |
759 iter != local_sync_runners_.end(); ++iter) | 763 iter != local_sync_runners_.end(); ++iter) |
760 ((*iter)->*method)(); | 764 ((*iter)->*method)(); |
761 for (ScopedVector<SyncProcessRunner>::iterator iter = | 765 for (ScopedVector<SyncProcessRunner>::iterator iter = |
762 remote_sync_runners_.begin(); | 766 remote_sync_runners_.begin(); |
763 iter != remote_sync_runners_.end(); ++iter) | 767 iter != remote_sync_runners_.end(); ++iter) |
764 ((*iter)->*method)(); | 768 ((*iter)->*method)(); |
765 } | 769 } |
766 | 770 |
767 } // namespace sync_file_system | 771 } // namespace sync_file_system |
OLD | NEW |