17d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch/*
27d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * Copyright 2010, The Android Open Source Project
37d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *
47d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * Redistribution and use in source and binary forms, with or without
57d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * modification, are permitted provided that the following conditions
67d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * are met:
77d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *  * Redistributions of source code must retain the above copyright
87d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *    notice, this list of conditions and the following disclaimer.
97d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *  * Redistributions in binary form must reproduce the above copyright
107d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *    notice, this list of conditions and the following disclaimer in the
117d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *    documentation and/or other materials provided with the distribution.
127d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch *
137d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
147d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
157d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
167d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
177d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
187d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
197d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
207d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
217d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
227d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
237d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
247d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch */
257d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
267d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#include "android/autofill/profile_android.h"
277d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
287d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch#include "chrome/browser/autofill/personal_data_manager.h"
297d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
30c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen// We only need the Profile constructor (but that is needed since
31c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen// ProfileImplAndroid is a subclass of Profile). To avoid compiling the file,
32c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen// the constructor is included below.
33c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen//
34c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen// Taken from chrome/browser/profiles/profile.cc
35c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian MonsenProfile::Profile()
36c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen    : restored_last_session_(false),
37c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen      accessibility_pause_level_(0) {
38c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen}
39c6f29d64d97c44a4a132966ad9538ab89303e9f5Kristian Monsen
407d214dfa174224b459660971e5b5cce2e06be02aBen MurdochProfileImplAndroid::ProfileImplAndroid(const FilePath& path)
417d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  : path_(path)
427d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch{
437d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
447d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
457d214dfa174224b459660971e5b5cce2e06be02aBen MurdochProfileImplAndroid::~ProfileImplAndroid()
467d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch{
477d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
487d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
497d214dfa174224b459660971e5b5cce2e06be02aBen MurdochProfile* ProfileImplAndroid::GetOriginalProfile()
507d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch{
517d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  return this;
527d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
537d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
547d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
557d214dfa174224b459660971e5b5cce2e06be02aBen MurdochPersonalDataManager* ProfileImplAndroid::GetPersonalDataManager()
567d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch{
577d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  if (!personal_data_) {
587d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch    personal_data_ = new PersonalDataManager();
597d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch    personal_data_->Init(this);
607d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  }
617d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
627d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch  return personal_data_.get();
637d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
647d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
657d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
667d214dfa174224b459660971e5b5cce2e06be02aBen MurdochPrefService* ProfileImplAndroid::GetPrefs() {
676e1a1d3242a4de2a633c62ba45948dd2d0620990Kristian Monsen  return NULL;
687d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
697d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
70cfb4826edae011aed657a813297687800ed85e17Kristian Monsennet::URLRequestContextGetter* ProfileImplAndroid::GetRequestContext() {
7140eae52c5e5dbf475a0cf368c9ccbb7f8a0653f4Ben Murdoch  return url_request_context_getter_.get();
727d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
737d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch
7440eae52c5e5dbf475a0cf368c9ccbb7f8a0653f4Ben MurdochProfile* Profile::CreateProfile(const FilePath& path) {
7540eae52c5e5dbf475a0cf368c9ccbb7f8a0653f4Ben Murdoch    return new ProfileImplAndroid(path);
767d214dfa174224b459660971e5b5cce2e06be02aBen Murdoch}
77