Chromium Code Reviews| Index: chrome/browser/search_engines/prepopulated_engines_schema.json |
| diff --git a/chrome/browser/search_engines/prepopulated_engines_schema.json b/chrome/browser/search_engines/prepopulated_engines_schema.json |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f8d6a6a50062517ec531d974db3c3471ccb559cd |
| --- /dev/null |
| +++ b/chrome/browser/search_engines/prepopulated_engines_schema.json |
| @@ -0,0 +1,57 @@ |
| +// Copyright (c) 2012 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": [ |
| + "chrome/browser/search_engines/search_engine_type.h" |
| + ], |
| + "schema": [ |
| + { "field": "name", "type": "string16" }, |
|
not at google - send to devlin
2012/11/12 18:38:13
Have you considered using JSON schema for this? Ch
beaudoin
2012/11/13 18:44:26
I considered it but decided against it because of
not at google - send to devlin
2012/11/13 20:28:07
I don't know about large overhead? It's just a mat
not at google - send to devlin
2012/11/13 20:34:56
Wild speculative thought: another option would be
|
| + { "field": "keyword", "type": "string16" }, |
| + // If omitted, there is no favicon. |
|
Peter Kasting
2012/11/12 22:46:36
Do any of our engines not have a favicon? If not
beaudoin
2012/11/13 18:44:26
Most engines in the "UMA-only engines" do not defi
Peter Kasting
2012/11/13 19:23:10
Hmmm. I'm torn between making them define favicon
beaudoin
2012/11/13 21:42:03
Added the missing favicons and made it mandatory.
|
| + { "field": "favicon_url", "type": "string" }, |
| + { "field": "search_url", "type": "string" }, |
| + { "field": "encoding", "type": "string", "default": "UTF-8" }, |
| + // If omitted, this engine does not support suggestions. |
| + { "field": "suggest_url", "type": "string" }, |
| + // If omitted, this engine does not support instant. |
| + { "field": "instant_url", "type": "string" }, |
| + // A list of URL patterns that can be used, in addition to |search_url|, |
| + // to extract search terms from a URL. |
| + { |
| + "field": "alternate_urls", |
| + "type": "array", |
| + "contents": { "type": "string" } |
| + }, |
| + { |
| + "field": "type", |
| + "type": "enum", |
| + "ctype": "SearchEngineType", |
| + "default": "SEARCH_ENGINE_OTHER" |
| + }, |
| + // 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" } |
| + ] |
| +} |