blob: e1c6443b8172345934e3045f83726e0d1f50f971 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/web_view/internal/cwv_preferences_internal.h"
#include "components/prefs/pref_service.h"
#include "components/translate/core/browser/translate_pref_names.h"
#include "components/translate/core/browser/translate_prefs.h"
#include "ios/web_view/cwv_web_view_buildflags.h"
#include "ios/web_view/internal/pref_names.h"
#if BUILDFLAG(IOS_WEB_VIEW_ENABLE_AUTOFILL)
#include "components/autofill/core/common/autofill_prefs.h"
#include "components/password_manager/core/common/password_manager_pref_names.h"
#endif // BUILDFLAG(IOS_WEB_VIEW_ENABLE_AUTOFILL)
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
@implementation CWVPreferences {
PrefService* _prefService;
}
- (instancetype)initWithPrefService:(PrefService*)prefService {
self = [super init];
if (self) {
_prefService = prefService;
}
return self;
}
#pragma mark - Public Methods
- (void)setTranslationEnabled:(BOOL)enabled {
_prefService->SetBoolean(prefs::kOfferTranslateEnabled, enabled);
}
- (BOOL)isTranslationEnabled {
return _prefService->GetBoolean(prefs::kOfferTranslateEnabled);
}
- (void)resetTranslationSettings {
translate::TranslatePrefs translatePrefs(
_prefService, prefs::kAcceptLanguages,
/*preferred_languages_pref=*/nullptr);
translatePrefs.ResetToDefaults();
}
#if BUILDFLAG(IOS_WEB_VIEW_ENABLE_AUTOFILL)
#pragma mark - Autofill
- (void)setProfileAutofillEnabled:(BOOL)enabled {
autofill::prefs::SetProfileAutofillEnabled(_prefService, enabled);
}
- (BOOL)isProfileAutofillEnabled {
return autofill::prefs::IsProfileAutofillEnabled(_prefService);
}
- (void)setCreditCardAutofillEnabled:(BOOL)enabled {
autofill::prefs::SetCreditCardAutofillEnabled(_prefService, enabled);
}
- (BOOL)isCreditCardAutofillEnabled {
return autofill::prefs::IsCreditCardAutofillEnabled(_prefService);
}
- (void)setPasswordAutofillEnabled:(BOOL)enabled {
_prefService->SetBoolean(password_manager::prefs::kCredentialsEnableService,
enabled);
}
- (BOOL)isPasswordAutofillEnabled {
return _prefService->GetBoolean(
password_manager::prefs::kCredentialsEnableService);
}
#endif // BUILDFLAG(IOS_WEB_VIEW_ENABLE_AUTOFILL)
@end