Index: chrome/browser/sync/engine/syncapi.cc |
=================================================================== |
--- chrome/browser/sync/engine/syncapi.cc (revision 27087) |
+++ chrome/browser/sync/engine/syncapi.cc (working copy) |
@@ -53,6 +53,7 @@ |
using browser_sync::SyncerEvent; |
using browser_sync::SyncerStatus; |
using browser_sync::SyncerThread; |
+using browser_sync::SyncerThreadFactory; |
using browser_sync::UserSettings; |
using browser_sync::TalkMediator; |
using browser_sync::TalkMediatorImpl; |
@@ -873,7 +874,7 @@ |
scoped_ptr<SyncAPIServerConnectionManager> connection_manager_; |
// The thread that runs the Syncer. Needs to be explicitly Start()ed. |
- scoped_ptr<SyncerThread> syncer_thread_; |
+ scoped_refptr<SyncerThread> syncer_thread_; |
// Notification (xmpp) handler. |
scoped_ptr<TalkMediator> talk_mediator_; |
@@ -1063,11 +1064,11 @@ |
// on the Syncer side, and |model_safe_worker| on the API client side. |
ModelSafeWorkerBridge* worker = new ModelSafeWorkerBridge(model_safe_worker); |
- syncer_thread_.reset(new SyncerThread(&command_channel_, |
- dir_manager(), |
- connection_manager(), |
- &allstatus_, |
- worker)); |
+ syncer_thread_ = SyncerThreadFactory::Create(&command_channel_, |
+ dir_manager(), |
+ connection_manager(), |
+ &allstatus_, |
+ worker); |
syncer_thread()->WatchTalkMediator(talk_mediator()); |
allstatus()->WatchSyncerThread(syncer_thread()); |