// 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 }, // 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" } ] }