blob: e863e4aebe484faaa381f54586daedf982339c68 [file] [log] [blame]
// Copyright 2019 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/chrome/browser/search_engines/extension_search_engine_data_updater.h"
#include "base/strings/sys_string_conversions.h"
#include "components/search_engines/template_url_service.h"
#import "ios/chrome/browser/search_engines/search_engines_util.h"
#include "ios/chrome/common/app_group/app_group_constants.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
ExtensionSearchEngineDataUpdater::ExtensionSearchEngineDataUpdater(
TemplateURLService* urlService)
: templateURLService_(urlService) {
templateURLService_->AddObserver(this);
OnTemplateURLServiceChanged();
}
ExtensionSearchEngineDataUpdater::~ExtensionSearchEngineDataUpdater() {
templateURLService_->RemoveObserver(this);
}
void ExtensionSearchEngineDataUpdater::OnTemplateURLServiceChanged() {
NSUserDefaults* sharedDefaults = app_group::GetGroupUserDefaults();
BOOL supportsSearchByImage =
search_engines::SupportsSearchByImage(templateURLService_);
NSString* userDefaultsKey =
base::SysUTF8ToNSString(app_group::kChromeAppGroupSupportsSearchByImage);
[sharedDefaults setBool:supportsSearchByImage forKey:userDefaultsKey];
}