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

Side by Side Diff: chrome/browser/sync/profile_sync_auth_provider.cc

Issue 666733003: Standardize usage of virtual/override/final in chrome/browser/sync/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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/profile_sync_auth_provider.h" 5 #include "chrome/browser/sync/profile_sync_auth_provider.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
11 #include "components/signin/core/browser/profile_oauth2_token_service.h" 11 #include "components/signin/core/browser/profile_oauth2_token_service.h"
12 #include "google_apis/gaia/gaia_constants.h" 12 #include "google_apis/gaia/gaia_constants.h"
13 13
14 // This is thin proxy class for forwarding calls between sync and UI threads. 14 // This is thin proxy class for forwarding calls between sync and UI threads.
15 // The main purpose is to hide the fact that ProfileSyncAuthProvider and 15 // The main purpose is to hide the fact that ProfileSyncAuthProvider and
16 // SyncThreadProxy have independent lifetimes. If ProfileSyncAuthProvider is 16 // SyncThreadProxy have independent lifetimes. If ProfileSyncAuthProvider is
17 // destroyed first calls to RequestAccessToken will never complete. This is fine 17 // destroyed first calls to RequestAccessToken will never complete. This is fine
18 // since sync thread is not blocked and is in the process of shutdown anyway. 18 // since sync thread is not blocked and is in the process of shutdown anyway.
19 class ProfileSyncAuthProvider::SyncThreadProxy 19 class ProfileSyncAuthProvider::SyncThreadProxy
20 : public syncer::SyncAuthProvider, 20 : public syncer::SyncAuthProvider,
21 public base::NonThreadSafe { 21 public base::NonThreadSafe {
22 public: 22 public:
23 SyncThreadProxy( 23 SyncThreadProxy(
24 base::WeakPtr<ProfileSyncAuthProvider> provider_impl, 24 base::WeakPtr<ProfileSyncAuthProvider> provider_impl,
25 scoped_refptr<base::SingleThreadTaskRunner> provider_task_runner); 25 scoped_refptr<base::SingleThreadTaskRunner> provider_task_runner);
26 26
27 // syncer::SyncAuthProvider implementation. 27 // syncer::SyncAuthProvider implementation.
28 virtual void RequestAccessToken( 28 void RequestAccessToken(const RequestTokenCallback& callback) override;
29 const RequestTokenCallback& callback) override; 29 void InvalidateAccessToken(const std::string& token) override;
30 virtual void InvalidateAccessToken(const std::string& token) override;
31 30
32 private: 31 private:
33 base::WeakPtr<ProfileSyncAuthProvider> provider_impl_; 32 base::WeakPtr<ProfileSyncAuthProvider> provider_impl_;
34 scoped_refptr<base::SingleThreadTaskRunner> provider_task_runner_; 33 scoped_refptr<base::SingleThreadTaskRunner> provider_task_runner_;
35 34
36 DISALLOW_COPY_AND_ASSIGN(SyncThreadProxy); 35 DISALLOW_COPY_AND_ASSIGN(SyncThreadProxy);
37 }; 36 };
38 37
39 ProfileSyncAuthProvider::SyncThreadProxy::SyncThreadProxy( 38 ProfileSyncAuthProvider::SyncThreadProxy::SyncThreadProxy(
40 base::WeakPtr<ProfileSyncAuthProvider> provider_impl, 39 base::WeakPtr<ProfileSyncAuthProvider> provider_impl,
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 token_service_->InvalidateToken(account_id_, oauth2_scope_, token); 128 token_service_->InvalidateToken(account_id_, oauth2_scope_, token);
130 } 129 }
131 130
132 scoped_ptr<syncer::SyncAuthProvider> 131 scoped_ptr<syncer::SyncAuthProvider>
133 ProfileSyncAuthProvider::CreateProviderForSyncThread() { 132 ProfileSyncAuthProvider::CreateProviderForSyncThread() {
134 DCHECK(CalledOnValidThread()); 133 DCHECK(CalledOnValidThread());
135 scoped_ptr<syncer::SyncAuthProvider> auth_provider(new SyncThreadProxy( 134 scoped_ptr<syncer::SyncAuthProvider> auth_provider(new SyncThreadProxy(
136 weak_factory_.GetWeakPtr(), base::MessageLoopProxy::current())); 135 weak_factory_.GetWeakPtr(), base::MessageLoopProxy::current()));
137 return auth_provider.Pass(); 136 return auth_provider.Pass();
138 } 137 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_auth_provider.h ('k') | chrome/browser/sync/profile_sync_components_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698