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

Unified Diff: content/public/browser/devtools_protocol_constants_generator.py

Issue 297803003: Add devtools protocol constants generator to chrome/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 7 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
« no previous file with comments | « content/browser/devtools/devtools_resources.gyp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/public/browser/devtools_protocol_constants_generator.py
diff --git a/content/browser/devtools/devtools_protocol_constants_generator.py b/content/public/browser/devtools_protocol_constants_generator.py
similarity index 81%
rename from content/browser/devtools/devtools_protocol_constants_generator.py
rename to content/public/browser/devtools_protocol_constants_generator.py
index 7339208d7e9ed383911f3a26c6eb6f9bb474b89e..19506a6c1d113b52437569073da3ba332f7158cc 100755
--- a/content/browser/devtools/devtools_protocol_constants_generator.py
+++ b/content/public/browser/devtools_protocol_constants_generator.py
@@ -7,23 +7,29 @@ import sys
import string
import json
+package = sys.argv[1]
+output_cc_path = sys.argv[2]
+output_h_path = sys.argv[3]
+blink_protocol_path = sys.argv[4]
+browser_protocol_path = sys.argv[5] if len(sys.argv) > 5 else None
+
template_h = string.Template("""\
// Copyright 2013 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.
-#ifndef CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_
-#define CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_
+#ifndef ${PACKAGE}_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_
+#define ${PACKAGE}_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_
// THIS FILE IS AUTOGENERATED. DO NOT EDIT.
// Generated by
-// content/browser/devtools/devtools_protocol_constants_generator.py from
+// content/public/browser/devtools_protocol_constants_generator.py from
// third_party/WebKit/Source/devtools/protocol.json and
-// content/browser/devtools/browser_protocol.json).
+// content/browser/devtools/browser_protocol.json
#include <string>
-namespace content {
+namespace $package {
namespace devtools {
extern const char kProtocolVersion[];
@@ -34,9 +40,9 @@ extern const char kResult[];
$contents
} // devtools
-} // content
+} // $package
-#endif // CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_
+#endif // ${PACKAGE}_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_
""")
template_cc = string.Template("""\
@@ -46,15 +52,15 @@ template_cc = string.Template("""\
// THIS FILE IS AUTOGENERATED. DO NOT EDIT.
// Generated by
-// content/browser/devtools/devtools_protocol_constants_generator.py from
+// content/public/browser/devtools_protocol_constants_generator.py from
// third_party/WebKit/Source/devtools/protocol.json and
-// content/browser/devtools/browser_protocol.json).
+// content/browser/devtools/browser_protocol.json
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
-#include "content/browser/devtools/devtools_protocol_constants.h"
+#include "$package/browser/devtools/devtools_protocol_constants.h"
-namespace content {
+namespace $package {
namespace devtools {
const char kProtocolVersion[] = "$major.$minor";
@@ -72,7 +78,7 @@ const char kResult[] = "result";
$contents
} // devtools
-} // content
+} // $package
""")
def Capitalize(s):
@@ -130,25 +136,31 @@ def FormatNamespace(title, tree, indent, format_string):
def CreateHeader(tree, output_file):
contents = FormatContents(tree, "", "extern const char {0}[];\n")
- output_file.write(template_h.substitute({"contents": contents}))
+ output_file.write(template_h.substitute({
+ "contents": contents,
+ "package": package,
+ "PACKAGE": package.upper()
+ }))
def CreateBody(tree, version, output_file):
contents = FormatContents(tree, "", "const char {0}[] = \"{1}\";\n")
output_file.write(template_cc.substitute({
"major": version["major"],
"minor": version["minor"],
- "contents": contents
+ "contents": contents,
+ "package": package
}))
-blink_protocol_data = open(sys.argv[1]).read()
-browser_protocol_data = open(sys.argv[2]).read()
-
+blink_protocol_data = open(blink_protocol_path).read()
blink_protocol = json.loads(blink_protocol_data)
-browser_protocol = json.loads(browser_protocol_data)
-
blink_version = blink_protocol["version"]
-domains = blink_protocol["domains"] + browser_protocol["domains"]
+domains = blink_protocol["domains"]
+
+if browser_protocol_path:
+ browser_protocol_data = open(browser_protocol_path).read()
+ browser_protocol = json.loads(browser_protocol_data)
+ domains = domains + browser_protocol["domains"]
namespace_tree = {}
@@ -192,8 +204,8 @@ while (references):
for (namespace_name, namespace) in namespace_tree.items():
namespace["kName"] = namespace_name
-with open(sys.argv[3], "w") as f:
+with open(output_cc_path, "w") as f:
CreateBody(namespace_tree, blink_version, f)
-with open(sys.argv[4], "w") as f:
+with open(output_h_path, "w") as f:
CreateHeader(namespace_tree, f)
« no previous file with comments | « content/browser/devtools/devtools_resources.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698