| Index: headless/lib/browser/devtools_api/client_api_generator.py
|
| diff --git a/headless/lib/browser/devtools_api/client_api_generator.py b/headless/lib/browser/devtools_api/client_api_generator.py
|
| index 6b9936d6aafe2488bcc4f5a84177bb1e8471c014..3763110c8b7d3335acdd334c0ff9e68dacd1198a 100644
|
| --- a/headless/lib/browser/devtools_api/client_api_generator.py
|
| +++ b/headless/lib/browser/devtools_api/client_api_generator.py
|
| @@ -120,6 +120,7 @@ def PatchFullQualifiedRefs(json_api):
|
| def CreateUserTypeDefinition(domain, type):
|
| namespace = CamelCaseToHackerStyle(domain['domain'])
|
| return {
|
| + 'js_type': '!chromium.DevTools.%s.%s' % (domain['domain'], type['id']),
|
| 'return_type': 'std::unique_ptr<headless::%s::%s>' % (
|
| namespace, type['id']),
|
| 'pass_type': 'std::unique_ptr<headless::%s::%s>' % (
|
| @@ -137,6 +138,7 @@ def CreateUserTypeDefinition(domain, type):
|
| def CreateEnumTypeDefinition(domain_name, type):
|
| namespace = CamelCaseToHackerStyle(domain_name)
|
| return {
|
| + 'js_type': '!chromium.DevTools.%s.%s' % (domain_name, type['id']),
|
| 'return_type': 'headless::%s::%s' % (namespace, type['id']),
|
| 'pass_type': 'headless::%s::%s' % (namespace, type['id']),
|
| 'to_raw_type': '%s',
|
| @@ -151,6 +153,7 @@ def CreateEnumTypeDefinition(domain_name, type):
|
|
|
| def CreateObjectTypeDefinition():
|
| return {
|
| + 'js_type': '%s',
|
| 'return_type': 'std::unique_ptr<base::DictionaryValue>',
|
| 'pass_type': 'std::unique_ptr<base::DictionaryValue>',
|
| 'to_raw_type': '*%s',
|
| @@ -166,6 +169,7 @@ def CreateObjectTypeDefinition():
|
| def WrapObjectTypeDefinition(type):
|
| id = type.get('id', 'base::Value')
|
| return {
|
| + 'js_type': '!Object',
|
| 'return_type': 'std::unique_ptr<%s>' % id,
|
| 'pass_type': 'std::unique_ptr<%s>' % id,
|
| 'to_raw_type': '*%s',
|
| @@ -180,6 +184,7 @@ def WrapObjectTypeDefinition(type):
|
|
|
| def CreateAnyTypeDefinition():
|
| return {
|
| + 'js_type': '*',
|
| 'return_type': 'std::unique_ptr<base::Value>',
|
| 'pass_type': 'std::unique_ptr<base::Value>',
|
| 'to_raw_type': '*%s',
|
| @@ -194,6 +199,7 @@ def CreateAnyTypeDefinition():
|
|
|
| def CreateStringTypeDefinition():
|
| return {
|
| + 'js_type': 'string',
|
| 'return_type': 'std::string',
|
| 'pass_type': 'const std::string&',
|
| 'to_pass_type': '%s',
|
| @@ -212,7 +218,13 @@ def CreatePrimitiveTypeDefinition(type):
|
| 'integer': 'int',
|
| 'boolean': 'bool',
|
| }
|
| + js_typedefs = {
|
| + 'number': 'number',
|
| + 'integer': 'number',
|
| + 'boolean': 'boolean',
|
| + }
|
| return {
|
| + 'js_type': js_typedefs[type],
|
| 'return_type': typedefs[type],
|
| 'pass_type': typedefs[type],
|
| 'to_pass_type': '%s',
|
| @@ -236,6 +248,7 @@ type_definitions['any'] = CreateAnyTypeDefinition()
|
|
|
| def WrapArrayDefinition(type):
|
| return {
|
| + 'js_type': '!Array.<%s>' % type['js_type'],
|
| 'return_type': 'std::vector<%s>' % type['type'],
|
| 'pass_type': 'std::vector<%s>' % type['type'],
|
| 'to_raw_type': '%s',
|
| @@ -470,6 +483,10 @@ def GenerateDomains(jinja_env, output_dirname, json_api):
|
| jinja_env, os.path.join(output_dirname, 'devtools', 'domains'), json_api,
|
| 'domain', ['cc', 'h'],
|
| lambda domain_name: domain_name)
|
| + GeneratePerDomain(
|
| + jinja_env, os.path.join(output_dirname, 'devtools_js'), json_api,
|
| + 'domain', ['js'],
|
| + lambda domain_name: domain_name)
|
|
|
|
|
| def GenerateTypes(jinja_env, output_dirname, json_api):
|
|
|