Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(845)

Unified Diff: third_party/WebKit/Source/devtools/scripts/generate_protocol_externs.py

Issue 2035653005: DevTools: split protocol.json into files per domain. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/scripts/generate_protocol_externs.py
diff --git a/third_party/WebKit/Source/devtools/scripts/generate_protocol_externs.py b/third_party/WebKit/Source/devtools/scripts/generate_protocol_externs.py
index fca2d6333f24a6ed1ecd3cacae55ec858e2bdabb..55a2a88a303eb87f1f25d8d96c10525d84a35659 100755
--- a/third_party/WebKit/Source/devtools/scripts/generate_protocol_externs.py
+++ b/third_party/WebKit/Source/devtools/scripts/generate_protocol_externs.py
@@ -27,7 +27,12 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+import os
import re
+try:
+ import json
+except ImportError:
+ import simplejson as json
type_traits = {
"any": "*",
@@ -88,13 +93,17 @@ def param_type(domain_name, param):
return "!! Type not found: " + type_id
-def generate_protocol_externs(output_path, input_path):
- input_file = open(input_path, "r")
+def load_schema(file, domains):
+ input_file = open(file, "r")
json_string = input_file.read()
- json_string = json_string.replace(": true", ": True")
- json_string = json_string.replace(": false", ": False")
- json_api = eval(json_string)["domains"]
+ parsed_json = json.loads(json_string)
+ domains.append(parsed_json["domains"])
+
+def generate_protocol_externs(output_path, file1, file2):
+ domains = []
+ load_schema(file1, domains)
+ load_schema(file2, domains)
output_file = open(output_path, "w")
output_file.write(
@@ -106,14 +115,14 @@ var Protocol = {};
Protocol.Error;
""")
- for domain in json_api:
+ for domain in domains:
domain_name = domain["domain"]
if "types" in domain:
for type in domain["types"]:
type_id = full_qualified_type_id(domain_name, type["id"])
ref_types[type_id] = "%sAgent.%s" % (domain_name, type["id"])
- for domain in json_api:
+ for domain in domains:
domain_name = domain["domain"]
promisified = domain_name in promisified_domains
@@ -210,7 +219,7 @@ Protocol.Error;
output_file.write("Protocol.Agents = function(agentsMap){this._agentsMap;};\n")
output_file.write("/**\n * @param {string} domain\n * @param {!Object} dispatcher\n */\n")
output_file.write("Protocol.Agents.prototype.registerDispatcher = function(domain, dispatcher){};\n")
- for domain in json_api:
+ for domain in domains:
domain_name = domain["domain"]
uppercase_length = 0
while uppercase_length < len(domain_name) and domain_name[uppercase_length].isupper():
« no previous file with comments | « third_party/WebKit/Source/devtools/scripts/compile_frontend.py ('k') | third_party/WebKit/Source/platform/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698