• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
6 #define COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
7 
8 #include "base/strings/string16.h"
9 #include "components/search_engines/template_url_id.h"
10 
11 class GURL;
12 class TemplateURL;
13 class TemplateURLService;
14 
15 // This interface provides history related functionality required by
16 // TemplateURLService.
17 // TODO(hashimoto): Get rid of this once HistoryService gets componentized.
18 class TemplateURLServiceClient {
19  public:
~TemplateURLServiceClient()20   virtual ~TemplateURLServiceClient() {}
21 
22   // Sets the pointer to the owner of this object.
23   virtual void SetOwner(TemplateURLService* owner) = 0;
24 
25   // Deletes all search terms for the specified keyword.
26   virtual void DeleteAllSearchTermsForKeyword(TemplateURLID id) = 0;
27 
28   // Sets the search terms for the specified url and keyword.
29   virtual void SetKeywordSearchTermsForURL(const GURL& url,
30                                            TemplateURLID id,
31                                            const base::string16& term) = 0;
32 
33   // Adds the given URL to history as a keyword generated visit.
34   virtual void AddKeywordGeneratedVisit(const GURL& url) = 0;
35 
36   // Restores the extension info of a TemplateURL loaded from the database.
37   virtual void RestoreExtensionInfoIfNecessary(TemplateURL* template_url) = 0;
38 };
39 
40 #endif  // COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
41