Chromium Code Reviews| 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/glue/sync_backend_host_core.h" | 5 #include "chrome/browser/sync/glue/sync_backend_host_core.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
| 10 #include "chrome/browser/sync/glue/device_info.h" | 10 #include "chrome/browser/sync/glue/device_info.h" |
| (...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 466 // provide a callback for when it finishes. | 466 // provide a callback for when it finishes. |
| 467 synced_device_tracker_.reset( | 467 synced_device_tracker_.reset( |
| 468 new SyncedDeviceTracker(sync_manager_->GetUserShare(), | 468 new SyncedDeviceTracker(sync_manager_->GetUserShare(), |
| 469 sync_manager_->cache_guid())); | 469 sync_manager_->cache_guid())); |
| 470 synced_device_tracker_->InitLocalDeviceInfo( | 470 synced_device_tracker_->InitLocalDeviceInfo( |
| 471 base::Bind(&SyncBackendHostCore::DoFinishInitialProcessControlTypes, | 471 base::Bind(&SyncBackendHostCore::DoFinishInitialProcessControlTypes, |
| 472 weak_ptr_factory_.GetWeakPtr())); | 472 weak_ptr_factory_.GetWeakPtr())); |
| 473 } | 473 } |
| 474 | 474 |
| 475 void SyncBackendHostCore::DoFinishInitialProcessControlTypes() { | 475 void SyncBackendHostCore::DoFinishInitialProcessControlTypes() { |
| 476 DCHECK_EQ(base::MessageLoop::current(), sync_loop_); | |
| 477 | |
| 476 registrar_->ActivateDataType(syncer::DEVICE_INFO, | 478 registrar_->ActivateDataType(syncer::DEVICE_INFO, |
| 477 syncer::GROUP_PASSIVE, | 479 syncer::GROUP_PASSIVE, |
| 478 synced_device_tracker_.get(), | 480 synced_device_tracker_.get(), |
| 479 sync_manager_->GetUserShare()); | 481 sync_manager_->GetUserShare()); |
| 480 | 482 |
| 483 base::WeakPtr<syncer::SyncCore> sync_core = sync_manager_->GetSyncCore(); | |
| 484 | |
| 485 // De-reference the WeakPtr while we're here to signal to the debugging | |
| 486 // mechanisms that it belongs to the sync thread. This helps us DCHECK | |
| 487 // earlier if the pointer is misused. | |
| 488 sync_core.get(); | |
|
Nicolas Zea
2014/04/02 23:19:05
I don't think this is necessary. A weak pointer al
rlarocque
2014/04/03 01:03:46
IIRC, I added this statement because it helped me
Nicolas Zea
2014/04/03 17:52:15
Huh, I missed that. Fair enough then.
| |
| 489 | |
| 481 host_.Call( | 490 host_.Call( |
| 482 FROM_HERE, | 491 FROM_HERE, |
| 483 &SyncBackendHostImpl::HandleInitializationSuccessOnFrontendLoop, | 492 &SyncBackendHostImpl::HandleInitializationSuccessOnFrontendLoop, |
| 484 js_backend_, | 493 js_backend_, |
| 485 debug_info_listener_); | 494 debug_info_listener_, |
| 495 sync_core); | |
| 486 | 496 |
| 487 js_backend_.Reset(); | 497 js_backend_.Reset(); |
| 488 debug_info_listener_.Reset(); | 498 debug_info_listener_.Reset(); |
| 489 } | 499 } |
| 490 | 500 |
| 491 void SyncBackendHostCore::DoSetDecryptionPassphrase( | 501 void SyncBackendHostCore::DoSetDecryptionPassphrase( |
| 492 const std::string& passphrase) { | 502 const std::string& passphrase) { |
| 493 DCHECK_EQ(base::MessageLoop::current(), sync_loop_); | 503 DCHECK_EQ(base::MessageLoop::current(), sync_loop_); |
| 494 sync_manager_->GetEncryptionHandler()->SetDecryptionPassphrase( | 504 sync_manager_->GetEncryptionHandler()->SetDecryptionPassphrase( |
| 495 passphrase); | 505 passphrase); |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 630 this, &SyncBackendHostCore::SaveChanges); | 640 this, &SyncBackendHostCore::SaveChanges); |
| 631 } | 641 } |
| 632 | 642 |
| 633 void SyncBackendHostCore::SaveChanges() { | 643 void SyncBackendHostCore::SaveChanges() { |
| 634 DCHECK_EQ(base::MessageLoop::current(), sync_loop_); | 644 DCHECK_EQ(base::MessageLoop::current(), sync_loop_); |
| 635 sync_manager_->SaveChanges(); | 645 sync_manager_->SaveChanges(); |
| 636 } | 646 } |
| 637 | 647 |
| 638 } // namespace browser_sync | 648 } // namespace browser_sync |
| 639 | 649 |
| OLD | NEW |