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

Side by Side Diff: components/sync/driver/glue/browser_thread_model_worker.cc

Issue 2489433002: [Sync] Move thread checking into the ModelSafeWorker interface. (Closed)
Patch Set: Improve/add comments. Created 4 years, 1 month 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 "components/sync/driver/glue/browser_thread_model_worker.h" 5 #include "components/sync/driver/glue/browser_thread_model_worker.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "base/synchronization/waitable_event.h" 10 #include "base/synchronization/waitable_event.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 return error; 43 return error;
44 } 44 }
45 work_done_or_abandoned.Wait(); 45 work_done_or_abandoned.Wait();
46 return error; 46 return error;
47 } 47 }
48 48
49 ModelSafeGroup BrowserThreadModelWorker::GetModelSafeGroup() { 49 ModelSafeGroup BrowserThreadModelWorker::GetModelSafeGroup() {
50 return group_; 50 return group_;
51 } 51 }
52 52
53 bool BrowserThreadModelWorker::IsOnModelThread() {
54 return runner_->BelongsToCurrentThread();
55 }
56
53 BrowserThreadModelWorker::~BrowserThreadModelWorker() {} 57 BrowserThreadModelWorker::~BrowserThreadModelWorker() {}
54 58
55 void BrowserThreadModelWorker::CallDoWorkAndSignalTask( 59 void BrowserThreadModelWorker::CallDoWorkAndSignalTask(
56 const WorkCallback& work, 60 const WorkCallback& work,
57 syncer::ScopedEventSignal scoped_event_signal, 61 syncer::ScopedEventSignal scoped_event_signal,
58 SyncerError* error) { 62 SyncerError* error) {
59 DCHECK(runner_->BelongsToCurrentThread()); 63 DCHECK(runner_->BelongsToCurrentThread());
60 if (!IsStopped()) 64 if (!IsStopped())
61 *error = work.Run(); 65 *error = work.Run();
62 // The event in |scoped_event_signal| is signaled at the end of this scope. 66 // The event in |scoped_event_signal| is signaled at the end of this scope.
63 } 67 }
64 68
65 } // namespace syncer 69 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698