1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// found in the LICENSE file.
4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/browser/profiles/profile.h"
6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/browser/signin/chrome_signin_client_factory.h"
7effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/browser/signin/fake_profile_oauth2_token_service_builder.h"
9effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// TODO(blundell): Should these be namespaced?
11effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochKeyedService* BuildFakeProfileOAuth2TokenService(
12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    content::BrowserContext* context) {
13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  Profile* profile = Profile::FromBrowserContext(context);
14effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  FakeProfileOAuth2TokenService* service = new FakeProfileOAuth2TokenService();
15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  service->Initialize(
16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      ChromeSigninClientFactory::GetInstance()->GetForProfile(profile));
17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return service;
18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
20effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochKeyedService* BuildAutoIssuingFakeProfileOAuth2TokenService(
21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    content::BrowserContext* context) {
22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  Profile* profile = Profile::FromBrowserContext(context);
23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  FakeProfileOAuth2TokenService* service = new FakeProfileOAuth2TokenService();
24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  service->set_auto_post_fetch_response_on_message_loop(true);
25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  service->Initialize(
26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      ChromeSigninClientFactory::GetInstance()->GetForProfile(profile));
27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return service;
28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
29