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