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

Unified Diff: chrome/browser/sync/test_profile_sync_service.h

Issue 15421011: Use OAuth2 token for sync (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/test_profile_sync_service.h
diff --git a/chrome/browser/sync/test_profile_sync_service.h b/chrome/browser/sync/test_profile_sync_service.h
index 00459d9f1ab4724706746a4b96e0ac24d28c968e..e061aa64d1a45152c2690e778f8a0c51ae459244 100644
--- a/chrome/browser/sync/test_profile_sync_service.h
+++ b/chrome/browser/sync/test_profile_sync_service.h
@@ -10,6 +10,9 @@
#include "base/callback.h"
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
+#include "chrome/browser/signin/oauth2_token_service.h"
+#include "chrome/browser/signin/profile_oauth2_token_service.h"
+#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
#include "chrome/browser/sync/glue/data_type_manager_impl.h"
#include "chrome/browser/sync/invalidations/invalidator_storage.h"
#include "chrome/browser/sync/profile_sync_components_factory_mock.h"
@@ -30,6 +33,20 @@ ACTION(ReturnNewDataTypeManager) {
namespace browser_sync {
+// MessageLoopRunner::Run() may be called multiple times recursively. Only first
tim (not reviewing) 2013/05/23 19:03:42 Hmm.. this kind of thing (nested Run() calls -- se
+// call will execute MessageLoop::current()->Run().
+class MessageLoopRunner {
+ public:
+ MessageLoopRunner();
+ ~MessageLoopRunner();
+
+ void Run();
+ void Quit();
+
+ private:
+ bool running_;
+};
+
class SyncBackendHostForProfileSyncTest : public SyncBackendHost {
public:
// |synchronous_init| causes initialization to block until the syncapi has
@@ -44,7 +61,8 @@ class SyncBackendHostForProfileSyncTest : public SyncBackendHost {
bool set_initial_sync_ended_on_init,
bool synchronous_init,
bool fail_initial_download,
- syncer::StorageOption storage_option);
+ syncer::StorageOption storage_option,
+ MessageLoopRunner* message_loop_runner);
virtual ~SyncBackendHostForProfileSyncTest();
MOCK_METHOD1(RequestNudge, void(const tracked_objects::Location&));
@@ -102,6 +120,7 @@ class SyncBackendHostForProfileSyncTest : public SyncBackendHost {
bool set_initial_sync_ended_on_init_;
bool synchronous_init_;
syncer::StorageOption storage_option_;
+ MessageLoopRunner* message_loop_runner_;
};
} // namespace browser_sync
@@ -119,6 +138,12 @@ class TestProfileSyncService : public ProfileSyncService {
virtual ~TestProfileSyncService();
+ virtual void RequestAccessToken(
+ bool invalidate_previous_token,
+ bool invoke_callback) OVERRIDE;
+ virtual void OnGetTokenFailure(const OAuth2TokenService::Request* request,
+ const GoogleServiceAuthError& error) OVERRIDE;
+
virtual void OnBackendInitialized(
const syncer::WeakHandle<syncer::JsBackend>& backend,
const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>&
@@ -177,6 +202,21 @@ class TestProfileSyncService : public ProfileSyncService {
bool fail_initial_download_;
syncer::StorageOption storage_option_;
+ browser_sync::MessageLoopRunner message_loop_runner_;
+};
+
+
+class FakeOAuth2TokenService : public ProfileOAuth2TokenService {
+ public:
+ explicit FakeOAuth2TokenService(net::URLRequestContextGetter* getter)
+ : ProfileOAuth2TokenService(getter) {}
+
+ virtual scoped_ptr<OAuth2TokenService::Request> StartRequest(
+ const OAuth2TokenService::ScopeSet& scopes,
+ OAuth2TokenService::Consumer* consumer);
+
+ static ProfileKeyedService* BuildTokenService(
+ content::BrowserContext* context);
};
#endif // CHROME_BROWSER_SYNC_TEST_PROFILE_SYNC_SERVICE_H_

Powered by Google App Engine
This is Rietveld 408576698