declare references to C++ types in other files. This fixed up a problem where
references as part of required properties would cause compilation errors,
specifically for the use of tabs.InjectDetails from the webview API.
BUG=171726
Review URL: https://chromiumcodereview.appspot.com/11953121
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179232 0039d316-1c4b-4281-b951-d872f2087c98
support the full range of JSON/IDL features, improve the interface of generated
code, and improve generated code formatting, notably:
* Make "choices" generate a struct containing each possible type, rather than
multiple fields with different names plus and enum. This makes it possible
to embed choices inside containers - notably within arrays (as in bug).
It also improves optional choices detection.
* Remove the Any C++ type generated by "any", and model it as a base::Value.
* Make "additionalProperties" generated a std::map with the actual types as
values, rather than just a DictionaryValue forcing callers to extract types.
* Fix enum naming, it was unnecessarily including the namespace as a prefix.
R=yoz@chromium.org
BUG=162044
Review URL: https://codereview.chromium.org/11827026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177361 0039d316-1c4b-4281-b951-d872f2087c98
All JSON is now parsed using an OrderedDict, so the order of properties is preserved.
The order was also being messed up within the JSON Schema Compiler, because
lists were being converted to (unordered) dictionaries.
BUG=146649, 151867
Review URL: https://chromiumcodereview.appspot.com/11079010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168702 0039d316-1c4b-4281-b951-d872f2087c98
BUG=134573
TEST=In platform apps, you should be able to call all the same methods, etc.
via the new chrome.app.window namespace that you used to be able to with
chrome.appWindow.
Review URL: https://chromiumcodereview.appspot.com/10659021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147710 0039d316-1c4b-4281-b951-d872f2087c98
Modify ppapi/generators/idl_parser.py to
0: not require a file-level comment (but generate the same parse tree structure),
1: actually support ext_attrs (modifiers) for dictionaries, and
2: support [ext_attr=(symbols|values)].
Modify json_schema_compiler to
0: use "base::Value" and any_helper.ANY_CLASS instead of Value and Any in order to support ArrayBuffers named |value| or |any|,
1: actually test that namespaces and dictionaries are sorted correctly,
2: fix HGenerator._FieldDependencyOrder(),
3: support [inline_doc] on dictionaries and enums,
4: support descriptions on enums,
5: support documentation_permissions_required,
6: support [legalValues=(values...)].
Review URL: https://chromiumcodereview.appspot.com/10639020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146201 0039d316-1c4b-4281-b951-d872f2087c98