1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef IOS_CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_IMPL_H_
6 #define IOS_CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_IMPL_H_
8 #include "base/macros.h"
9 #include "components/history/core/browser/history_service_observer.h"
10 #include "components/search_engines/template_url_service_client.h"
12 class TemplateURLService
;
20 // TemplateURLServiceClientImpl provides keyword related history functionality
21 // for TemplateURLService.
22 class TemplateURLServiceClientImpl
: public TemplateURLServiceClient
,
23 public history::HistoryServiceObserver
{
25 explicit TemplateURLServiceClientImpl(
26 history::HistoryService
* history_service
);
27 ~TemplateURLServiceClientImpl() override
;
30 // TemplateURLServiceClient:
31 void Shutdown() override
;
32 void SetOwner(TemplateURLService
* owner
) override
;
33 void DeleteAllSearchTermsForKeyword(history::KeywordID keyword_id
) override
;
34 void SetKeywordSearchTermsForURL(const GURL
& url
,
36 const base::string16
& term
) override
;
37 void AddKeywordGeneratedVisit(const GURL
& url
) override
;
38 void RestoreExtensionInfoIfNecessary(TemplateURL
* template_url
) override
;
40 // history::HistoryServiceObserver:
41 void OnURLVisited(history::HistoryService
* history_service
,
42 ui::PageTransition transition
,
43 const history::URLRow
& row
,
44 const history::RedirectList
& redirects
,
45 base::Time visit_time
) override
;
47 TemplateURLService
* owner_
;
48 history::HistoryService
* history_service_
;
50 DISALLOW_COPY_AND_ASSIGN(TemplateURLServiceClientImpl
);
55 #endif // IOS_CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_IMPL_H_