Index: content/browser/devtools/protocol/devtools_protocol_handler_generator.py |
diff --git a/content/browser/devtools/protocol/devtools_protocol_handler_generator.py b/content/browser/devtools/protocol/devtools_protocol_handler_generator.py |
index 3d3393f68f83f3e6eb261a9daf6d48f3b88e15b8..9138e2605e16889ff2ac368f0adb87cd249f429f 100755 |
--- a/content/browser/devtools/protocol/devtools_protocol_handler_generator.py |
+++ b/content/browser/devtools/protocol/devtools_protocol_handler_generator.py |
@@ -7,9 +7,10 @@ import sys |
import string |
import json |
-input_json_path = sys.argv[1] |
-output_cc_path = sys.argv[2] |
-output_h_path = sys.argv[3] |
+blink_protocol_path = sys.argv[1] |
+browser_protocol_path = sys.argv[2] |
+output_cc_path = sys.argv[3] |
+output_h_path = sys.argv[4] |
header = """\ |
// Copyright 2014 The Chromium Authors. All rights reserved. |
@@ -19,7 +20,8 @@ header = """\ |
// THIS FILE IS AUTOGENERATED. DO NOT EDIT. |
// Generated by |
// content/public/browser/devtools_protocol_handler_generator.py from |
-// third_party/WebKit/Source/devtools/protocol.json |
+// third_party/WebKit/Source/devtools/protocol.json and |
+// content/browser/devtools/browser_protocol.json |
""" |
template_h = string.Template(header + """\ |
@@ -427,13 +429,16 @@ def Uncamelcase(s): |
return result |
types = {} |
-json_api = json.loads(open(input_json_path, "r").read()) |
+blink_protocol = json.loads(open(blink_protocol_path, "r").read()) |
+browser_protocol = json.loads(open(browser_protocol_path, "r").read()) |
type_decls = [] |
type_impls = [] |
handler_methods = [] |
handler_method_impls = [] |
-for json_domain in json_api["domains"]: |
+all_domains = blink_protocol["domains"] + browser_protocol["domains"] |
+ |
+for json_domain in all_domains: |
if "types" in json_domain: |
for json_type in json_domain["types"]: |
types["%s.%s" % (json_domain["domain"], json_type["id"])] = json_type |
@@ -589,7 +594,7 @@ fields = [] |
includes = [] |
fields_init = [] |
-for json_domain in json_api["domains"]: |
+for json_domain in all_domains: |
domain_map = {} |
domain_map["Domain"] = json_domain["domain"] |
domain_map["domain"] = Uncamelcase(json_domain["domain"]) |
@@ -619,7 +624,6 @@ for json_domain in json_api["domains"]: |
param_map = command_map.copy() |
param_map["proto_param"] = json_param["name"] |
param_map["param"] = Uncamelcase(json_param["name"]) |
- |
ResolveType(json_param, param_map) |
if len(prep) == 0: |
prep.append(params_prep) |
@@ -659,7 +663,6 @@ for json_domain in json_api["domains"]: |
param_map = command_map.copy() |
param_map["proto_param"] = json_param["name"] |
param_map["param"] = Uncamelcase(json_param["name"]) |
- |
if json_param.get("optional"): |
# TODO(vkuzkokov) Implement Optional<T> for value types. |
raise Exception("Optional return values are not implemented") |
@@ -667,7 +670,6 @@ for json_domain in json_api["domains"]: |
prep.append(tmpl_prep_output.substitute(param_map)) |
args.append(param_map["arg_out"]) |
wrap.append(tmpl_wrap.substitute(param_map)) |
- |
args_str = "" |
if len(args) > 0: |
args_str = "\n " + ",\n ".join(args) |