Componentize TemplateURLService

Move TemplateURLService, SearchHostToURLsMap, util.cc from chrome/browser/search_engines to components/search_engines
Move KeywordTable and KeywordWeDataService from chrome/browser/webdata to components/search_engines
Fix DEPS, OWNERS and gyp.
Replace HistoryDatabase in keyword_table.cc with URLDatabase.

BUG=386367
TEST=build and checkdeps
[email protected], [email protected], [email protected]
[email protected] as an owner of sync, [email protected] as an owner of sql

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=281350

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=281403

Review URL: https://codereview.chromium.org/367023002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281455 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/components/search_engines/template_url_service_client.h b/components/search_engines/template_url_service_client.h
new file mode 100644
index 0000000..9ab8068b
--- /dev/null
+++ b/components/search_engines/template_url_service_client.h
@@ -0,0 +1,36 @@
+// Copyright 2014 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.
+
+#ifndef COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
+#define COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
+
+#include "base/strings/string16.h"
+#include "components/search_engines/template_url_id.h"
+
+class GURL;
+class TemplateURLService;
+
+// This interface provides history related functionality required by
+// TemplateURLService.
+// TODO(hashimoto): Get rid of this once HistoryService gets componentized.
+class TemplateURLServiceClient {
+ public:
+  virtual ~TemplateURLServiceClient() {}
+
+  // Sets the pointer to the owner of this object.
+  virtual void SetOwner(TemplateURLService* owner) = 0;
+
+  // Deletes all search terms for the specified keyword.
+  virtual void DeleteAllSearchTermsForKeyword(TemplateURLID id) = 0;
+
+  // Sets the search terms for the specified url and keyword.
+  virtual void SetKeywordSearchTermsForURL(const GURL& url,
+                                           TemplateURLID id,
+                                           const base::string16& term) = 0;
+
+  // Adds the given URL to history as a keyword generated visit.
+  virtual void AddKeywordGeneratedVisit(const GURL& url) = 0;
+};
+
+#endif  // COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_