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

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

Issue 328063003: [SyncFS] Migrate SyncWorker::Observer to SyncWorkerInterface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/sync_worker.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 20 matching lines...) Expand all
31 #include "chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h " 31 #include "chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h "
32 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" 32 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
33 #include "chrome/browser/sync_file_system/drive_backend/register_app_task.h" 33 #include "chrome/browser/sync_file_system/drive_backend/register_app_task.h"
34 #include "chrome/browser/sync_file_system/drive_backend/remote_change_processor_ on_worker.h" 34 #include "chrome/browser/sync_file_system/drive_backend/remote_change_processor_ on_worker.h"
35 #include "chrome/browser/sync_file_system/drive_backend/remote_change_processor_ wrapper.h" 35 #include "chrome/browser/sync_file_system/drive_backend/remote_change_processor_ wrapper.h"
36 #include "chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.h " 36 #include "chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.h "
37 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" 37 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h"
38 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer. h" 38 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer. h"
39 #include "chrome/browser/sync_file_system/drive_backend/sync_task.h" 39 #include "chrome/browser/sync_file_system/drive_backend/sync_task.h"
40 #include "chrome/browser/sync_file_system/drive_backend/sync_worker.h" 40 #include "chrome/browser/sync_file_system/drive_backend/sync_worker.h"
41 #include "chrome/browser/sync_file_system/drive_backend/sync_worker_interface.h"
41 #include "chrome/browser/sync_file_system/drive_backend/uninstall_app_task.h" 42 #include "chrome/browser/sync_file_system/drive_backend/uninstall_app_task.h"
42 #include "chrome/browser/sync_file_system/file_status_observer.h" 43 #include "chrome/browser/sync_file_system/file_status_observer.h"
43 #include "chrome/browser/sync_file_system/logger.h" 44 #include "chrome/browser/sync_file_system/logger.h"
44 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" 45 #include "chrome/browser/sync_file_system/syncable_file_system_util.h"
45 #include "components/signin/core/browser/profile_oauth2_token_service.h" 46 #include "components/signin/core/browser/profile_oauth2_token_service.h"
46 #include "components/signin/core/browser/signin_manager.h" 47 #include "components/signin/core/browser/signin_manager.h"
47 #include "content/public/browser/browser_thread.h" 48 #include "content/public/browser/browser_thread.h"
48 #include "extensions/browser/extension_system.h" 49 #include "extensions/browser/extension_system.h"
49 #include "extensions/browser/extension_system_provider.h" 50 #include "extensions/browser/extension_system_provider.h"
50 #include "extensions/browser/extensions_browser_client.h" 51 #include "extensions/browser/extensions_browser_client.h"
51 #include "extensions/common/extension.h" 52 #include "extensions/common/extension.h"
52 #include "google_apis/drive/drive_api_url_generator.h" 53 #include "google_apis/drive/drive_api_url_generator.h"
53 #include "google_apis/drive/gdata_wapi_url_generator.h" 54 #include "google_apis/drive/gdata_wapi_url_generator.h"
54 #include "net/url_request/url_request_context_getter.h" 55 #include "net/url_request/url_request_context_getter.h"
55 #include "webkit/common/blob/scoped_file.h" 56 #include "webkit/common/blob/scoped_file.h"
56 #include "webkit/common/fileapi/file_system_util.h" 57 #include "webkit/common/fileapi/file_system_util.h"
57 58
58 namespace sync_file_system { 59 namespace sync_file_system {
59 60
60 class RemoteChangeProcessor; 61 class RemoteChangeProcessor;
61 62
62 namespace drive_backend { 63 namespace drive_backend {
63 64
64 class SyncEngine::WorkerObserver : public SyncWorker::Observer { 65 class SyncEngine::WorkerObserver : public SyncWorkerInterface::Observer {
65 public: 66 public:
66 WorkerObserver(base::SequencedTaskRunner* ui_task_runner, 67 WorkerObserver(base::SequencedTaskRunner* ui_task_runner,
67 base::WeakPtr<SyncEngine> sync_engine) 68 base::WeakPtr<SyncEngine> sync_engine)
68 : ui_task_runner_(ui_task_runner), 69 : ui_task_runner_(ui_task_runner),
69 sync_engine_(sync_engine) { 70 sync_engine_(sync_engine) {
70 sequence_checker_.DetachFromSequence(); 71 sequence_checker_.DetachFromSequence();
71 } 72 }
72 73
73 virtual ~WorkerObserver() { 74 virtual ~WorkerObserver() {
74 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 75 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 Reset(); 232 Reset();
232 } 233 }
233 234
234 void SyncEngine::Reset() { 235 void SyncEngine::Reset() {
235 if (notification_manager_) 236 if (notification_manager_)
236 notification_manager_->RemoveObserver(this); 237 notification_manager_->RemoveObserver(this);
237 if (drive_service_) 238 if (drive_service_)
238 drive_service_->RemoveObserver(this); 239 drive_service_->RemoveObserver(this);
239 net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this); 240 net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
240 241
242 DeleteSoon(FROM_HERE, worker_task_runner_, sync_worker_.Pass());
241 DeleteSoon(FROM_HERE, worker_task_runner_, worker_observer_.Pass()); 243 DeleteSoon(FROM_HERE, worker_task_runner_, worker_observer_.Pass());
242 DeleteSoon(FROM_HERE, worker_task_runner_, sync_worker_.Pass());
243 DeleteSoon(FROM_HERE, worker_task_runner_, 244 DeleteSoon(FROM_HERE, worker_task_runner_,
244 remote_change_processor_on_worker_.Pass()); 245 remote_change_processor_on_worker_.Pass());
245 246
246 drive_service_wrapper_.reset(); 247 drive_service_wrapper_.reset();
247 drive_service_.reset(); 248 drive_service_.reset();
248 drive_uploader_wrapper_.reset(); 249 drive_uploader_wrapper_.reset();
249 drive_uploader_.reset(); 250 drive_uploader_.reset();
250 remote_change_processor_wrapper_.reset(); 251 remote_change_processor_wrapper_.reset();
251 callback_tracker_.AbortAll(); 252 callback_tracker_.AbortAll();
252 } 253 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 worker_task_runner_, 311 worker_task_runner_,
311 file_task_runner_)); 312 file_task_runner_));
312 313
313 worker_observer_.reset( 314 worker_observer_.reset(
314 new WorkerObserver(ui_task_runner_, weak_ptr_factory_.GetWeakPtr())); 315 new WorkerObserver(ui_task_runner_, weak_ptr_factory_.GetWeakPtr()));
315 316
316 base::WeakPtr<ExtensionServiceInterface> extension_service_weak_ptr; 317 base::WeakPtr<ExtensionServiceInterface> extension_service_weak_ptr;
317 if (extension_service_) 318 if (extension_service_)
318 extension_service_weak_ptr = extension_service_->AsWeakPtr(); 319 extension_service_weak_ptr = extension_service_->AsWeakPtr();
319 320
320 scoped_ptr<SyncWorker> worker(new SyncWorker( 321 sync_worker_.reset(new SyncWorker(
321 sync_file_system_dir_, 322 sync_file_system_dir_,
322 extension_service_weak_ptr, 323 extension_service_weak_ptr,
323 sync_engine_context.Pass(), 324 sync_engine_context.Pass(),
324 env_override_)); 325 env_override_));
325 326 sync_worker_->AddObserver(worker_observer_.get());
326 worker->AddObserver(worker_observer_.get());
327 sync_worker_ = worker.PassAs<SyncWorkerInterface>();
328 327
329 if (remote_change_processor_) 328 if (remote_change_processor_)
330 SetRemoteChangeProcessor(remote_change_processor_); 329 SetRemoteChangeProcessor(remote_change_processor_);
331 330
332 worker_task_runner_->PostTask( 331 worker_task_runner_->PostTask(
333 FROM_HERE, 332 FROM_HERE,
334 base::Bind(&SyncWorkerInterface::Initialize, 333 base::Bind(&SyncWorkerInterface::Initialize,
335 base::Unretained(sync_worker_.get()))); 334 base::Unretained(sync_worker_.get())));
336 335
337 if (notification_manager_) 336 if (notification_manager_)
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 618
620 SyncStatusCallback SyncEngine::TrackCallback( 619 SyncStatusCallback SyncEngine::TrackCallback(
621 const SyncStatusCallback& callback) { 620 const SyncStatusCallback& callback) {
622 return callback_tracker_.Register( 621 return callback_tracker_.Register(
623 base::Bind(callback, SYNC_STATUS_ABORT), 622 base::Bind(callback, SYNC_STATUS_ABORT),
624 callback); 623 callback);
625 } 624 }
626 625
627 } // namespace drive_backend 626 } // namespace drive_backend
628 } // namespace sync_file_system 627 } // namespace sync_file_system
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/sync_worker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698