Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / components / signin / core / browser / test_signin_client.cc
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
3 // found in the LICENSE file.
4
5 #include "base/logging.h"
6 #include "components/signin/core/browser/test_signin_client.h"
7 #include "components/signin/core/browser/webdata/token_service_table.h"
8 #include "components/webdata/common/web_data_service_base.h"
9 #include "components/webdata/common/web_database_service.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 #if defined(OS_IOS)
13 #include "ios/public/test/fake_profile_oauth2_token_service_ios_provider.h"
14 #endif
15
16 TestSigninClient::TestSigninClient()
17     : request_context_(new net::TestURLRequestContextGetter(
18           base::MessageLoopProxy::current())) {
19   LoadDatabase();
20 }
21
22 TestSigninClient::~TestSigninClient() {}
23
24 PrefService* TestSigninClient::GetPrefs() { return NULL; }
25
26 scoped_refptr<TokenWebData> TestSigninClient::GetDatabase() {
27   return database_;
28 }
29
30 bool TestSigninClient::CanRevokeCredentials() { return true; }
31
32 net::URLRequestContextGetter* TestSigninClient::GetURLRequestContext() {
33   return request_context_;
34 }
35
36 std::string TestSigninClient::GetProductVersion() { return ""; }
37
38 void TestSigninClient::LoadDatabase() {
39   ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
40   base::FilePath path = temp_dir_.path().AppendASCII("TestWebDB");
41   scoped_refptr<WebDatabaseService> web_database =
42       new WebDatabaseService(path,
43                              base::MessageLoopProxy::current(),
44                              base::MessageLoopProxy::current());
45   web_database->AddTable(scoped_ptr<WebDatabaseTable>(new TokenServiceTable()));
46   web_database->LoadDatabase();
47   database_ = new TokenWebData(web_database,
48                                base::MessageLoopProxy::current(),
49                                base::MessageLoopProxy::current(),
50                                WebDataServiceBase::ProfileErrorCallback());
51   database_->Init();
52 }
53
54 bool TestSigninClient::ShouldMergeSigninCredentialsIntoCookieJar() {
55   return true;
56 }
57
58 void TestSigninClient::SetCookieChangedCallback(
59     const CookieChangedCallback& callback) {}
60
61 #if defined(OS_IOS)
62 ios::ProfileOAuth2TokenServiceIOSProvider* TestSigninClient::GetIOSProvider() {
63   return GetIOSProviderAsFake();
64 }
65
66 ios::FakeProfileOAuth2TokenServiceIOSProvider*
67 TestSigninClient::GetIOSProviderAsFake() {
68   if (!iosProvider_) {
69     iosProvider_.reset(new ios::FakeProfileOAuth2TokenServiceIOSProvider());
70   }
71   return iosProvider_.get();
72 }
73 #endif