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

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

Issue 2425553002: Remove FOR_EACH_OBSERVER macro usage in chrome/browser/sync_file_system (Closed)
Patch Set: Created 4 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_worker.h" 5 #include "chrome/browser/sync_file_system/drive_backend/sync_worker.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 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 DCHECK(sequence_checker_.CalledOnValidSequence()); 209 DCHECK(sequence_checker_.CalledOnValidSequence());
210 210
211 if (sync_enabled_ == enabled) 211 if (sync_enabled_ == enabled)
212 return; 212 return;
213 213
214 RemoteServiceState old_state = GetCurrentState(); 214 RemoteServiceState old_state = GetCurrentState();
215 sync_enabled_ = enabled; 215 sync_enabled_ = enabled;
216 if (old_state == GetCurrentState()) 216 if (old_state == GetCurrentState())
217 return; 217 return;
218 218
219 FOR_EACH_OBSERVER( 219 for (auto& observer : observers_) {
220 Observer, 220 observer.UpdateServiceState(
221 observers_, 221 GetCurrentState(), enabled ? "Sync is enabled" : "Sync is disabled");
222 UpdateServiceState( 222 }
223 GetCurrentState(),
224 enabled ? "Sync is enabled" : "Sync is disabled"));
225 } 223 }
226 224
227 void SyncWorker::PromoteDemotedChanges(const base::Closure& callback) { 225 void SyncWorker::PromoteDemotedChanges(const base::Closure& callback) {
228 DCHECK(sequence_checker_.CalledOnValidSequence()); 226 DCHECK(sequence_checker_.CalledOnValidSequence());
229 227
230 MetadataDatabase* metadata_db = GetMetadataDatabase(); 228 MetadataDatabase* metadata_db = GetMetadataDatabase();
231 if (metadata_db && metadata_db->HasDemotedDirtyTracker()) { 229 if (metadata_db && metadata_db->HasDemotedDirtyTracker()) {
232 metadata_db->PromoteDemotedTrackers(); 230 metadata_db->PromoteDemotedTrackers();
233 FOR_EACH_OBSERVER( 231 for (auto& observer : observers_)
234 Observer, 232 observer.OnPendingFileListUpdated(metadata_db->CountDirtyTracker());
235 observers_,
236 OnPendingFileListUpdated(metadata_db->CountDirtyTracker()));
237 } 233 }
238 callback.Run(); 234 callback.Run();
239 } 235 }
240 236
241 void SyncWorker::ApplyLocalChange(const FileChange& local_change, 237 void SyncWorker::ApplyLocalChange(const FileChange& local_change,
242 const base::FilePath& local_path, 238 const base::FilePath& local_path,
243 const SyncFileMetadata& local_metadata, 239 const SyncFileMetadata& local_metadata,
244 const storage::FileSystemURL& url, 240 const storage::FileSystemURL& url,
245 const SyncStatusCallback& callback) { 241 const SyncStatusCallback& callback) {
246 DCHECK(sequence_checker_.CalledOnValidSequence()); 242 DCHECK(sequence_checker_.CalledOnValidSequence());
(...skipping 28 matching lines...) Expand all
275 } 271 }
276 272
277 void SyncWorker::NotifyLastOperationStatus( 273 void SyncWorker::NotifyLastOperationStatus(
278 SyncStatusCode status, 274 SyncStatusCode status,
279 bool used_network) { 275 bool used_network) {
280 DCHECK(sequence_checker_.CalledOnValidSequence()); 276 DCHECK(sequence_checker_.CalledOnValidSequence());
281 277
282 UpdateServiceStateFromSyncStatusCode(status, used_network); 278 UpdateServiceStateFromSyncStatusCode(status, used_network);
283 279
284 if (GetMetadataDatabase()) { 280 if (GetMetadataDatabase()) {
285 FOR_EACH_OBSERVER( 281 for (auto& observer : observers_) {
286 Observer, observers_, 282 observer.OnPendingFileListUpdated(
287 OnPendingFileListUpdated(GetMetadataDatabase()->CountDirtyTracker())); 283 GetMetadataDatabase()->CountDirtyTracker());
284 }
288 } 285 }
289 } 286 }
290 287
291 void SyncWorker::RecordTaskLog(std::unique_ptr<TaskLogger::TaskLog> task_log) { 288 void SyncWorker::RecordTaskLog(std::unique_ptr<TaskLogger::TaskLog> task_log) {
292 DCHECK(sequence_checker_.CalledOnValidSequence()); 289 DCHECK(sequence_checker_.CalledOnValidSequence());
293 290
294 context_->GetUITaskRunner()->PostTask( 291 context_->GetUITaskRunner()->PostTask(
295 FROM_HERE, 292 FROM_HERE,
296 base::Bind(&TaskLogger::RecordLog, 293 base::Bind(&TaskLogger::RecordLog,
297 context_->GetTaskLogger(), 294 context_->GetTaskLogger(),
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 if (syncer->is_sync_root_deletion()) { 490 if (syncer->is_sync_root_deletion()) {
494 MetadataDatabase::ClearDatabase(context_->PassMetadataDatabase()); 491 MetadataDatabase::ClearDatabase(context_->PassMetadataDatabase());
495 PostInitializeTask(); 492 PostInitializeTask();
496 callback.Run(status, syncer->url()); 493 callback.Run(status, syncer->url());
497 return; 494 return;
498 } 495 }
499 496
500 if (status == SYNC_STATUS_OK) { 497 if (status == SYNC_STATUS_OK) {
501 if (syncer->sync_action() != SYNC_ACTION_NONE && 498 if (syncer->sync_action() != SYNC_ACTION_NONE &&
502 syncer->url().is_valid()) { 499 syncer->url().is_valid()) {
503 FOR_EACH_OBSERVER( 500 for (auto& observer : observers_) {
504 Observer, observers_, 501 observer.OnFileStatusChanged(
505 OnFileStatusChanged( 502 syncer->url(), syncer->file_type(), SYNC_FILE_STATUS_SYNCED,
506 syncer->url(), 503 syncer->sync_action(), SYNC_DIRECTION_REMOTE_TO_LOCAL);
507 syncer->file_type(), 504 }
508 SYNC_FILE_STATUS_SYNCED,
509 syncer->sync_action(),
510 SYNC_DIRECTION_REMOTE_TO_LOCAL));
511 } 505 }
512 506
513 if (syncer->sync_action() == SYNC_ACTION_DELETED && 507 if (syncer->sync_action() == SYNC_ACTION_DELETED &&
514 syncer->url().is_valid() && 508 syncer->url().is_valid() &&
515 storage::VirtualPath::IsRootPath(syncer->url().path())) { 509 storage::VirtualPath::IsRootPath(syncer->url().path())) {
516 RegisterOrigin(syncer->url().origin(), base::Bind(&EmptyStatusCallback)); 510 RegisterOrigin(syncer->url().origin(), base::Bind(&EmptyStatusCallback));
517 } 511 }
518 should_check_conflict_ = true; 512 should_check_conflict_ = true;
519 } 513 }
520 callback.Run(status, syncer->url()); 514 callback.Run(status, syncer->url());
521 } 515 }
522 516
523 void SyncWorker::DidApplyLocalChange(LocalToRemoteSyncer* syncer, 517 void SyncWorker::DidApplyLocalChange(LocalToRemoteSyncer* syncer,
524 const SyncStatusCallback& callback, 518 const SyncStatusCallback& callback,
525 SyncStatusCode status) { 519 SyncStatusCode status) {
526 DCHECK(sequence_checker_.CalledOnValidSequence()); 520 DCHECK(sequence_checker_.CalledOnValidSequence());
527 521
528 if ((status == SYNC_STATUS_OK || status == SYNC_STATUS_RETRY) && 522 if ((status == SYNC_STATUS_OK || status == SYNC_STATUS_RETRY) &&
529 syncer->url().is_valid() && 523 syncer->url().is_valid() &&
530 syncer->sync_action() != SYNC_ACTION_NONE) { 524 syncer->sync_action() != SYNC_ACTION_NONE) {
531 storage::FileSystemURL updated_url = syncer->url(); 525 storage::FileSystemURL updated_url = syncer->url();
532 if (!syncer->target_path().empty()) { 526 if (!syncer->target_path().empty()) {
533 updated_url = CreateSyncableFileSystemURL(syncer->url().origin(), 527 updated_url = CreateSyncableFileSystemURL(syncer->url().origin(),
534 syncer->target_path()); 528 syncer->target_path());
535 } 529 }
536 FOR_EACH_OBSERVER(Observer, observers_, 530 for (auto& observer : observers_) {
537 OnFileStatusChanged(updated_url, 531 observer.OnFileStatusChanged(
538 syncer->file_type(), 532 updated_url, syncer->file_type(), SYNC_FILE_STATUS_SYNCED,
539 SYNC_FILE_STATUS_SYNCED, 533 syncer->sync_action(), SYNC_DIRECTION_LOCAL_TO_REMOTE);
540 syncer->sync_action(), 534 }
541 SYNC_DIRECTION_LOCAL_TO_REMOTE));
542 } 535 }
543 536
544 if (status == SYNC_STATUS_UNKNOWN_ORIGIN && syncer->url().is_valid()) { 537 if (status == SYNC_STATUS_UNKNOWN_ORIGIN && syncer->url().is_valid()) {
545 RegisterOrigin(syncer->url().origin(), 538 RegisterOrigin(syncer->url().origin(),
546 base::Bind(&EmptyStatusCallback)); 539 base::Bind(&EmptyStatusCallback));
547 } 540 }
548 541
549 if (syncer->needs_remote_change_listing() && 542 if (syncer->needs_remote_change_listing() &&
550 !listing_remote_changes_) { 543 !listing_remote_changes_) {
551 task_manager_->ScheduleSyncTask( 544 task_manager_->ScheduleSyncTask(
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 RemoteServiceState old_state = GetCurrentState(); 666 RemoteServiceState old_state = GetCurrentState();
674 service_state_ = state; 667 service_state_ = state;
675 668
676 if (old_state == GetCurrentState()) 669 if (old_state == GetCurrentState())
677 return; 670 return;
678 671
679 util::Log(logging::LOG_VERBOSE, FROM_HERE, 672 util::Log(logging::LOG_VERBOSE, FROM_HERE,
680 "Service state changed: %d->%d: %s", 673 "Service state changed: %d->%d: %s",
681 old_state, GetCurrentState(), description.c_str()); 674 old_state, GetCurrentState(), description.c_str());
682 675
683 FOR_EACH_OBSERVER( 676 for (auto& observer : observers_)
684 Observer, observers_, 677 observer.UpdateServiceState(GetCurrentState(), description);
685 UpdateServiceState(GetCurrentState(), description));
686 } 678 }
687 679
688 void SyncWorker::CallOnIdleForTesting(const base::Closure& callback) { 680 void SyncWorker::CallOnIdleForTesting(const base::Closure& callback) {
689 if (task_manager_->ScheduleTaskIfIdle( 681 if (task_manager_->ScheduleTaskIfIdle(
690 FROM_HERE, 682 FROM_HERE,
691 base::Bind(&InvokeIdleCallback, callback), 683 base::Bind(&InvokeIdleCallback, callback),
692 base::Bind(&EmptyStatusCallback))) 684 base::Bind(&EmptyStatusCallback)))
693 return; 685 return;
694 call_on_idle_callback_ = base::Bind( 686 call_on_idle_callback_ = base::Bind(
695 &SyncWorker::CallOnIdleForTesting, 687 &SyncWorker::CallOnIdleForTesting,
(...skipping 11 matching lines...) Expand all
707 return context_->GetDriveUploader(); 699 return context_->GetDriveUploader();
708 } 700 }
709 701
710 MetadataDatabase* SyncWorker::GetMetadataDatabase() { 702 MetadataDatabase* SyncWorker::GetMetadataDatabase() {
711 DCHECK(sequence_checker_.CalledOnValidSequence()); 703 DCHECK(sequence_checker_.CalledOnValidSequence());
712 return context_->GetMetadataDatabase(); 704 return context_->GetMetadataDatabase();
713 } 705 }
714 706
715 } // namespace drive_backend 707 } // namespace drive_backend
716 } // namespace sync_file_system 708 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698