1 // Copyright 2014 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 CHROME_BROWSER_SEARCH_ENGINES_CHROME_TEMPLATE_URL_SERVICE_CLIENT_H_
6 #define CHROME_BROWSER_SEARCH_ENGINES_CHROME_TEMPLATE_URL_SERVICE_CLIENT_H_
8 #include "components/search_engines/template_url_service_client.h"
9 #include "content/public/browser/notification_observer.h"
10 #include "content/public/browser/notification_registrar.h"
15 // ChromeTemplateURLServiceClient provides keyword related history
16 // functionality for TemplateURLService.
17 class ChromeTemplateURLServiceClient
: public TemplateURLServiceClient
,
18 public content::NotificationObserver
{
20 explicit ChromeTemplateURLServiceClient(Profile
* profile
);
21 virtual ~ChromeTemplateURLServiceClient();
23 // TemplateURLServiceClient:
24 virtual void SetOwner(TemplateURLService
* owner
) OVERRIDE
;
25 virtual void DeleteAllSearchTermsForKeyword(
26 history::KeywordID keyword_Id
) OVERRIDE
;
27 virtual void SetKeywordSearchTermsForURL(const GURL
& url
,
29 const base::string16
& term
) OVERRIDE
;
30 virtual void AddKeywordGeneratedVisit(const GURL
& url
) OVERRIDE
;
31 virtual void RestoreExtensionInfoIfNecessary(
32 TemplateURL
* template_url
) OVERRIDE
;
34 // content::NotificationObserver:
35 virtual void Observe(int type
,
36 const content::NotificationSource
& source
,
37 const content::NotificationDetails
& details
) OVERRIDE
;
41 TemplateURLService
* owner_
;
42 content::NotificationRegistrar notification_registrar_
;
44 DISALLOW_COPY_AND_ASSIGN(ChromeTemplateURLServiceClient
);
47 #endif // CHROME_BROWSER_SEARCH_ENGINES_CHROME_TEMPLATE_URL_SERVICE_CLIENT_H_