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

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

Issue 881203003: Suppress sequence checks in SyncFileSystem on the shutdown phase (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: +param comment Created 5 years, 10 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_engine_context.h" 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/sequenced_task_runner.h" 10 #include "base/sequenced_task_runner.h"
11 #include "base/single_thread_task_runner.h" 11 #include "base/single_thread_task_runner.h"
12 #include "chrome/browser/drive/drive_service_interface.h" 12 #include "chrome/browser/drive/drive_service_interface.h"
13 #include "chrome/browser/drive/drive_uploader.h" 13 #include "chrome/browser/drive/drive_uploader.h"
14 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" 14 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
15 #include "chrome/browser/sync_file_system/remote_change_processor.h" 15 #include "chrome/browser/sync_file_system/remote_change_processor.h"
16 #include "chrome/browser/sync_file_system/task_logger.h" 16 #include "chrome/browser/sync_file_system/task_logger.h"
17 17
18 namespace sync_file_system { 18 namespace sync_file_system {
19 namespace drive_backend { 19 namespace drive_backend {
20 20
21 SyncEngineContext::SyncEngineContext( 21 SyncEngineContext::SyncEngineContext(
22 scoped_ptr<drive::DriveServiceInterface> drive_service, 22 scoped_ptr<drive::DriveServiceInterface> drive_service,
23 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, 23 scoped_ptr<drive::DriveUploaderInterface> drive_uploader,
24 TaskLogger* task_logger, 24 TaskLogger* task_logger,
25 const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner, 25 const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner,
26 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner) 26 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner,
27 const scoped_refptr<base::SequencedWorkerPool>& worker_pool)
27 : drive_service_(drive_service.Pass()), 28 : drive_service_(drive_service.Pass()),
28 drive_uploader_(drive_uploader.Pass()), 29 drive_uploader_(drive_uploader.Pass()),
29 task_logger_(task_logger ? task_logger->AsWeakPtr() 30 task_logger_(task_logger ? task_logger->AsWeakPtr()
30 : base::WeakPtr<TaskLogger>()), 31 : base::WeakPtr<TaskLogger>()),
31 remote_change_processor_(nullptr), 32 remote_change_processor_(nullptr),
32 ui_task_runner_(ui_task_runner), 33 ui_task_runner_(ui_task_runner),
33 worker_task_runner_(worker_task_runner) { 34 worker_task_runner_(worker_task_runner),
35 worker_pool_(worker_pool) {
34 sequence_checker_.DetachFromSequence(); 36 sequence_checker_.DetachFromSequence();
35 } 37 }
36 38
37 SyncEngineContext::~SyncEngineContext() { 39 SyncEngineContext::~SyncEngineContext() {
38 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 40 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
39 } 41 }
40 42
41 drive::DriveServiceInterface* SyncEngineContext::GetDriveService() { 43 drive::DriveServiceInterface* SyncEngineContext::GetDriveService() {
42 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 44 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
43 return drive_service_.get(); 45 return drive_service_.get();
(...skipping 27 matching lines...) Expand all
71 base::SingleThreadTaskRunner* SyncEngineContext::GetUITaskRunner() { 73 base::SingleThreadTaskRunner* SyncEngineContext::GetUITaskRunner() {
72 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 74 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
73 return ui_task_runner_.get(); 75 return ui_task_runner_.get();
74 } 76 }
75 77
76 base::SequencedTaskRunner* SyncEngineContext::GetWorkerTaskRunner() { 78 base::SequencedTaskRunner* SyncEngineContext::GetWorkerTaskRunner() {
77 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 79 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
78 return worker_task_runner_.get(); 80 return worker_task_runner_.get();
79 } 81 }
80 82
83 base::SequencedWorkerPool* SyncEngineContext::GetWorkerPool() {
84 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
85 return worker_pool_.get();
86 }
87
81 void SyncEngineContext::SetMetadataDatabase( 88 void SyncEngineContext::SetMetadataDatabase(
82 scoped_ptr<MetadataDatabase> metadata_database) { 89 scoped_ptr<MetadataDatabase> metadata_database) {
83 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 90 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
84 if (metadata_database) 91 if (metadata_database)
85 metadata_database_ = metadata_database.Pass(); 92 metadata_database_ = metadata_database.Pass();
86 } 93 }
87 94
88 void SyncEngineContext::SetRemoteChangeProcessor( 95 void SyncEngineContext::SetRemoteChangeProcessor(
89 RemoteChangeProcessor* remote_change_processor) { 96 RemoteChangeProcessor* remote_change_processor) {
90 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 97 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
91 DCHECK(remote_change_processor); 98 DCHECK(remote_change_processor);
92 remote_change_processor_ = remote_change_processor; 99 remote_change_processor_ = remote_change_processor;
93 } 100 }
94 101
95 void SyncEngineContext::DetachFromSequence() { 102 void SyncEngineContext::DetachFromSequence() {
96 sequence_checker_.DetachFromSequence(); 103 sequence_checker_.DetachFromSequence();
97 } 104 }
98 105
99 } // namespace drive_backend 106 } // namespace drive_backend
100 } // namespace sync_file_system 107 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698