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

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

Issue 318353002: [SyncFS] Create SyncWorkerInterface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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
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 <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/weak_ptr.h"
11 #include "base/threading/sequenced_worker_pool.h"
12 #include "base/values.h"
13 #include "chrome/browser/drive/drive_api_service.h"
14 #include "chrome/browser/drive/drive_notification_manager.h"
15 #include "chrome/browser/drive/drive_notification_manager_factory.h"
16 #include "chrome/browser/drive/drive_service_interface.h" 10 #include "chrome/browser/drive/drive_service_interface.h"
17 #include "chrome/browser/drive/drive_uploader.h"
18 #include "chrome/browser/extensions/extension_service.h" 11 #include "chrome/browser/extensions/extension_service.h"
19 #include "chrome/browser/profiles/profile.h"
20 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
21 #include "chrome/browser/signin/signin_manager_factory.h"
22 #include "chrome/browser/sync_file_system/drive_backend/callback_helper.h" 12 #include "chrome/browser/sync_file_system/drive_backend/callback_helper.h"
23 #include "chrome/browser/sync_file_system/drive_backend/conflict_resolver.h" 13 #include "chrome/browser/sync_file_system/drive_backend/conflict_resolver.h"
24 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants. h" 14 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants. h"
25 #include "chrome/browser/sync_file_system/drive_backend/list_changes_task.h" 15 #include "chrome/browser/sync_file_system/drive_backend/list_changes_task.h"
26 #include "chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h " 16 #include "chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h "
27 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" 17 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
28 #include "chrome/browser/sync_file_system/drive_backend/register_app_task.h" 18 #include "chrome/browser/sync_file_system/drive_backend/register_app_task.h"
29 #include "chrome/browser/sync_file_system/drive_backend/remote_change_processor_ on_worker.h" 19 #include "chrome/browser/sync_file_system/drive_backend/remote_change_processor_ on_worker.h"
30 #include "chrome/browser/sync_file_system/drive_backend/remote_change_processor_ wrapper.h"
31 #include "chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.h " 20 #include "chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.h "
32 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" 21 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h"
33 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer. h" 22 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer. h"
34 #include "chrome/browser/sync_file_system/drive_backend/sync_task.h" 23 #include "chrome/browser/sync_file_system/drive_backend/sync_task.h"
35 #include "chrome/browser/sync_file_system/drive_backend/uninstall_app_task.h" 24 #include "chrome/browser/sync_file_system/drive_backend/uninstall_app_task.h"
36 #include "chrome/browser/sync_file_system/file_status_observer.h"
37 #include "chrome/browser/sync_file_system/logger.h" 25 #include "chrome/browser/sync_file_system/logger.h"
38 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" 26 #include "chrome/browser/sync_file_system/syncable_file_system_util.h"
39 #include "components/signin/core/browser/profile_oauth2_token_service.h"
40 #include "components/signin/core/browser/signin_manager.h"
41 #include "content/public/browser/browser_thread.h"
42 #include "extensions/browser/extension_system.h"
43 #include "extensions/browser/extension_system_provider.h"
44 #include "extensions/browser/extensions_browser_client.h"
45 #include "extensions/common/extension.h"
46 #include "google_apis/drive/drive_api_url_generator.h"
47 #include "google_apis/drive/gdata_wapi_url_generator.h"
48 #include "webkit/common/blob/scoped_file.h"
49 #include "webkit/common/fileapi/file_system_util.h" 27 #include "webkit/common/fileapi/file_system_util.h"
50 28
51 namespace sync_file_system { 29 namespace sync_file_system {
52 30
53 class RemoteChangeProcessor; 31 class RemoteChangeProcessor;
54 32
55 namespace drive_backend { 33 namespace drive_backend {
56 34
57 namespace { 35 namespace {
58 36
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 MetadataDatabase* metadata_db = GetMetadataDatabase(); 260 MetadataDatabase* metadata_db = GetMetadataDatabase();
283 if (metadata_db && metadata_db->HasLowPriorityDirtyTracker()) { 261 if (metadata_db && metadata_db->HasLowPriorityDirtyTracker()) {
284 metadata_db->PromoteLowerPriorityTrackersToNormal(); 262 metadata_db->PromoteLowerPriorityTrackersToNormal();
285 FOR_EACH_OBSERVER( 263 FOR_EACH_OBSERVER(
286 Observer, 264 Observer,
287 observers_, 265 observers_,
288 OnPendingFileListUpdated(metadata_db->CountDirtyTracker())); 266 OnPendingFileListUpdated(metadata_db->CountDirtyTracker()));
289 } 267 }
290 } 268 }
291 269
292 SyncStatusCode SyncWorker::SetDefaultConflictResolutionPolicy(
293 ConflictResolutionPolicy policy) {
294 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
295
296 default_conflict_resolution_policy_ = policy;
297 return SYNC_STATUS_OK;
298 }
299
300 SyncStatusCode SyncWorker::SetConflictResolutionPolicy(
301 const GURL& origin,
302 ConflictResolutionPolicy policy) {
303 NOTIMPLEMENTED();
304 default_conflict_resolution_policy_ = policy;
305 return SYNC_STATUS_OK;
306 }
307
308 ConflictResolutionPolicy SyncWorker::GetDefaultConflictResolutionPolicy()
309 const {
310 return default_conflict_resolution_policy_;
311 }
312
313 ConflictResolutionPolicy SyncWorker::GetConflictResolutionPolicy(
314 const GURL& origin) const {
315 NOTIMPLEMENTED();
316 return default_conflict_resolution_policy_;
317 }
318
319 void SyncWorker::ApplyLocalChange( 270 void SyncWorker::ApplyLocalChange(
320 const FileChange& local_change, 271 const FileChange& local_change,
321 const base::FilePath& local_path, 272 const base::FilePath& local_path,
322 const SyncFileMetadata& local_metadata, 273 const SyncFileMetadata& local_metadata,
323 const fileapi::FileSystemURL& url, 274 const fileapi::FileSystemURL& url,
324 const SyncStatusCallback& callback) { 275 const SyncStatusCallback& callback) {
325 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 276 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
326 277
327 LocalToRemoteSyncer* syncer = new LocalToRemoteSyncer( 278 LocalToRemoteSyncer* syncer = new LocalToRemoteSyncer(
328 context_.get(), local_metadata, local_change, local_path, url); 279 context_.get(), local_metadata, local_change, local_path, url);
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 MetadataDatabase* SyncWorker::GetMetadataDatabase() { 393 MetadataDatabase* SyncWorker::GetMetadataDatabase() {
443 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 394 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
444 return context_->GetMetadataDatabase(); 395 return context_->GetMetadataDatabase();
445 } 396 }
446 397
447 SyncTaskManager* SyncWorker::GetSyncTaskManager() { 398 SyncTaskManager* SyncWorker::GetSyncTaskManager() {
448 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 399 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
449 return task_manager_.get(); 400 return task_manager_.get();
450 } 401 }
451 402
452 void SyncWorker::AddObserver(Observer* observer) {
453 observers_.AddObserver(observer);
454 }
455
456 void SyncWorker::DetachFromSequence() { 403 void SyncWorker::DetachFromSequence() {
457 context_->DetachFromSequence(); 404 context_->DetachFromSequence();
458 sequence_checker_.DetachFromSequence(); 405 sequence_checker_.DetachFromSequence();
459 } 406 }
460 407
408 void SyncWorker::AddObserver(Observer* observer) {
409 observers_.AddObserver(observer);
410 }
411
412 void SyncWorker::SetHasRefreshToken(bool has_refresh_token) {
413 has_refresh_token_ = has_refresh_token;
414 }
415
461 void SyncWorker::DoDisableApp(const std::string& app_id, 416 void SyncWorker::DoDisableApp(const std::string& app_id,
462 const SyncStatusCallback& callback) { 417 const SyncStatusCallback& callback) {
463 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 418 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
464 419
465 if (GetMetadataDatabase()) { 420 if (GetMetadataDatabase()) {
466 GetMetadataDatabase()->DisableApp(app_id, callback); 421 GetMetadataDatabase()->DisableApp(app_id, callback);
467 } else { 422 } else {
468 context_->GetUITaskRunner()->PostTask( 423 context_->GetUITaskRunner()->PostTask(
469 FROM_HERE, base::Bind(callback, SYNC_STATUS_OK)); 424 FROM_HERE, base::Bind(callback, SYNC_STATUS_OK));
470 } 425 }
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 "Service state changed: %d->%d: %s", 740 "Service state changed: %d->%d: %s",
786 old_state, GetCurrentState(), description.c_str()); 741 old_state, GetCurrentState(), description.c_str());
787 742
788 FOR_EACH_OBSERVER( 743 FOR_EACH_OBSERVER(
789 Observer, observers_, 744 Observer, observers_,
790 UpdateServiceState(GetCurrentState(), description)); 745 UpdateServiceState(GetCurrentState(), description));
791 } 746 }
792 747
793 } // namespace drive_backend 748 } // namespace drive_backend
794 } // namespace sync_file_system 749 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698