// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_SEARCH_ENGINES_KEYWORD_TABLE_H_ #define COMPONENTS_SEARCH_ENGINES_KEYWORD_TABLE_H_ #include <stdint.h> #include <string> #include <utility> #include <vector> #include "base/compiler_specific.h" #include "base/gtest_prod_util.h" #include "components/search_engines/template_url_id.h" #include "components/webdata/common/web_database_table.h" struct TemplateURLData; class WebDatabase; namespace sql { class Statement; } // namespace sql // This class manages the |keywords| MetaTable within the SQLite database // passed to the constructor. It expects the following schema: // // Note: The database stores time in seconds, UTC. // // keywords Most of the columns mirror that of a field in // TemplateURLData. See that struct for more details. // id // short_name // keyword // favicon_url // url // safe_for_autoreplace This is set to false for any entry that was manually // added or edited by the user. // originating_url // date_created This column was added after we allowed keywords. // Keywords created before we started tracking // creation date have a value of 0 for this. // usage_count // input_encodings Semicolon separated list of supported input // encodings, may be empty. // suggest_url // prepopulate_id See TemplateURLData::prepopulate_id. // created_by_policy See TemplateURLData::created_by_policy. This was // added in version 26. // last_modified See TemplateURLData::last_modified. This was added // in version 38. // sync_guid See TemplateURLData::sync_guid. This was added in // version 39. // alternate_urls See TemplateURLData::alternate_urls. This was added // in version 47. // image_url See TemplateURLData::image_url. This was added in // version 52. // search_url_post_params See TemplateURLData::search_url_post_params. This // was added in version 52. // suggest_url_post_params See TemplateURLData::suggestions_url_post_params. // This was added in version 52. // image_url_post_params See TemplateURLData::image_url_post_params. This // was added in version 52. // new_tab_url See TemplateURLData::new_tab_url. This was added in // version 53. // last_visited See TemplateURLData::last_visited. This was added in // version 69. // created_from_play_api See TemplateURLData::created_from_play_api. This was // added in version 82. // is_active See TemplateURLData::is_active. This was added // in version 97. // starter_pack_id See TemplateURLData::starter_pack_id. This was added // in version 103. // enforced_by_policy See TemplateURLData::enforced_by_policy. This was // added in version 112. // featured_by_policy See TemplateURLData::featured_by_policy. This was // added in version 122. // // This class also manages some fields in the |meta| table: // // Default Search Provider ID The id of the default search provider. // Builtin Keyword Version The version of builtin keywords data. // Starter Pack Keyword Version The version of starter pack data. // Builtin Keyword Country The country associated with the builtin // keywords data, stored as a country ID. // Builtin Keyword Milestone The version number of Chrome milestone when // the keyword data has been last merged into // the database. Written between Chrome M122 // and M129. // class KeywordTable : public WebDatabaseTable { … }; #endif // COMPONENTS_SEARCH_ENGINES_KEYWORD_TABLE_H_