blob: b27caf2bd382e40ea08630b0d2fd5b8e900db579 [file] [log] [blame]
// 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.
// This file is used by json_to_struct.py to generate prepopulated_engine.h/cc.
// Any time you modify this file regenerate the .h/.cc. See
// prepopulated_engines.json for details.
{
"type_name": "PrepopulatedEngine",
"headers": [
"components/search_engines/search_engine_type.h"
],
"schema": [
{ "field": "name", "type": "string16" },
{ "field": "keyword", "type": "string16" },
{ "field": "favicon_url", "type": "string" },
{ "field": "search_url", "type": "string" },
{
"field": "encoding",
"type": "string",
"default": "UTF-8",
"optional": true
},
// If omitted, this engine does not support suggestions.
{ "field": "suggest_url", "type": "string", "optional": true },
// If omitted, this engine does not support instant.
{ "field": "instant_url", "type": "string", "optional": true },
// If omitted, this engine does not support image search.
{ "field": "image_url", "type": "string", "optional": true },
// If omitted, this engine does not support rendering a new tab page.
{ "field": "new_tab_url", "type": "string", "optional": true },
// If omitted, this engine does not support contextual search.
{ "field": "contextual_search_url", "type": "string", "optional": true },
{ "field": "logo_url", "type": "string", "optional": true },
// The followings are post parameters for the corresponding search URL.
// If omitted, a GET request will be sent when using the corresponding
// search URL. Otherwise, a POST request will be sent.
// The string of post parameters consists of comma-separated name/value
// pairs, e.g.:
// "name1=value1,name2={template1},...".
// In each name/value pair, the equal sign('=') must be delimiter between
// name and value. In above example, the "value1" is the constant value for
// "name1", which is not replaceable. The {template1} is a replaceable value
// for name2, the actual value will be replaced with real search terms data.
{ "field": "search_url_post_params", "type": "string", "optional": true },
{ "field": "suggest_url_post_params", "type": "string", "optional": true },
{ "field": "instant_url_post_params", "type": "string", "optional": true },
{ "field": "image_url_post_params", "type": "string", "optional": true },
// A list of URL patterns that can be used, in addition to |search_url|,
// to extract search terms from a URL.
// If "search_url_post_params" is not empty, then all alternate URLs are
// sent using POST with using same post parameters as the search URL.
{
"field": "alternate_urls",
"type": "array",
"contents": { "type": "string" },
"optional": true
},
// A parameter that, if present in the query or ref parameters of a
// search_url or instant_url, causes Chrome to replace the URL with the
// search term. This can be {google:instantExtendedEnabledKey}.
{
"field": "search_terms_replacement_key",
"type": "string",
"optional": true
},
{
"field": "type",
"type": "enum",
"ctype": "SearchEngineType",
"default": "SEARCH_ENGINE_OTHER",
"optional": true
},
// Unique id for this prepopulate engine (corresponds to
// TemplateURL::prepopulate_id). This ID must be greater than zero and must
// remain the same for a particular site regardless of how the url changes;
// the ID is used when modifying engine data in subsequent versions, so that
// we can find the "old" entry to update even when the name or URL changes.
//
// This ID must be "unique" within one country's prepopulated data, but two
// entries can share an ID if they represent the "same" engine (e.g. Yahoo!
// US vs. Yahoo! UK) and will not appear in the same user-visible data set.
// This facilitates changes like adding more specific per-country data in
// the future; in such a case the localized engines will transparently
// replace the previous, non-localized versions. For engines where we need
// two instances to appear for one country (e.g. Bing Search U.S. English
// and Spanish), we must use two different unique IDs (and different
// keywords).
//
// See prepopulated_engines.json for the list of available IDs.
{ "field": "id", "type": "int" }
]
}