1234567891011121314151617181920212223242526272829303132333435 |
- // 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.
- #include "components/search/search_provider_observer.h"
- #include "components/search/search.h"
- SearchProviderObserver::SearchProviderObserver(TemplateURLService* service,
- base::RepeatingClosure callback)
- : service_(service),
- is_google_(search::DefaultSearchProviderIsGoogle(service_)),
- callback_(std::move(callback)) {
- if (service_) {
- service_observation_.Observe(service_.get());
- }
- }
- SearchProviderObserver::~SearchProviderObserver() = default;
- bool SearchProviderObserver::is_google() {
- return is_google_;
- }
- void SearchProviderObserver::OnTemplateURLServiceChanged() {
- DCHECK(service_);
- is_google_ = search::DefaultSearchProviderIsGoogle(service_);
- callback_.Run();
- }
- void SearchProviderObserver::OnTemplateURLServiceShuttingDown() {
- DCHECK(service_);
- DCHECK(service_observation_.IsObservingSource(service_.get()));
- service_observation_.Reset();
- service_ = nullptr;
- }
|