| Index: third_party/WebKit/Source/platform/inspector_protocol/CodeGenerator.py
|
| diff --git a/third_party/WebKit/Source/platform/inspector_protocol/CodeGenerator.py b/third_party/WebKit/Source/platform/inspector_protocol/CodeGenerator.py
|
| index 985236821316c6d0f68bae9a790dd2a6bd7fc7b8..9fd74a73481b3f762d2331e8a5f09f4f23fa9c55 100644
|
| --- a/third_party/WebKit/Source/platform/inspector_protocol/CodeGenerator.py
|
| +++ b/third_party/WebKit/Source/platform/inspector_protocol/CodeGenerator.py
|
| @@ -164,18 +164,18 @@ def calculate_exports(protocol):
|
| protocol.json_api["has_exports"] = True
|
|
|
|
|
| -def create_imported_type_definition(domain_name, type):
|
| +def create_imported_type_definition(domain_name, type, imported_namespace):
|
| # pylint: disable=W0622
|
| return {
|
| - "return_type": "std::unique_ptr<protocol::%s::API::%s>" % (domain_name, type["id"]),
|
| - "pass_type": "std::unique_ptr<protocol::%s::API::%s>" % (domain_name, type["id"]),
|
| + "return_type": "std::unique_ptr<%s::%s::API::%s>" % (imported_namespace, domain_name, type["id"]),
|
| + "pass_type": "std::unique_ptr<%s::%s::API::%s>" % (imported_namespace, domain_name, type["id"]),
|
| "to_raw_type": "%s.get()",
|
| "to_pass_type": "std::move(%s)",
|
| "to_rvalue": "std::move(%s)",
|
| - "type": "std::unique_ptr<protocol::%s::API::%s>" % (domain_name, type["id"]),
|
| - "raw_type": "protocol::%s::API::%s" % (domain_name, type["id"]),
|
| - "raw_pass_type": "protocol::%s::API::%s*" % (domain_name, type["id"]),
|
| - "raw_return_type": "protocol::%s::API::%s*" % (domain_name, type["id"]),
|
| + "type": "std::unique_ptr<%s::%s::API::%s>" % (imported_namespace, domain_name, type["id"]),
|
| + "raw_type": "%s::%s::API::%s" % (imported_namespace, domain_name, type["id"]),
|
| + "raw_pass_type": "%s::%s::API::%s*" % (imported_namespace, domain_name, type["id"]),
|
| + "raw_return_type": "%s::%s::API::%s*" % (imported_namespace, domain_name, type["id"]),
|
| }
|
|
|
|
|
| @@ -224,18 +224,18 @@ def create_any_type_definition():
|
| }
|
|
|
|
|
| -def create_string_type_definition(string_type):
|
| +def create_string_type_definition():
|
| # pylint: disable=W0622
|
| return {
|
| - "return_type": string_type,
|
| - "pass_type": ("const %s&" % string_type),
|
| + "return_type": "String",
|
| + "pass_type": "const String&",
|
| "to_pass_type": "%s",
|
| "to_raw_type": "%s",
|
| "to_rvalue": "%s",
|
| - "type": string_type,
|
| - "raw_type": string_type,
|
| - "raw_pass_type": ("const %s&" % string_type),
|
| - "raw_return_type": string_type,
|
| + "type": "String",
|
| + "raw_type": "String",
|
| + "raw_pass_type": "const String&",
|
| + "raw_return_type": "String",
|
| }
|
|
|
|
|
| @@ -287,7 +287,7 @@ def wrap_array_definition(type):
|
| }
|
|
|
|
|
| -def create_type_definitions(protocol, string_type):
|
| +def create_type_definitions(protocol, imported_namespace):
|
| protocol.type_definitions = {}
|
| protocol.type_definitions["number"] = create_primitive_type_definition("number")
|
| protocol.type_definitions["integer"] = create_primitive_type_definition("integer")
|
| @@ -295,20 +295,20 @@ def create_type_definitions(protocol, string_type):
|
| protocol.type_definitions["object"] = create_object_type_definition()
|
| protocol.type_definitions["any"] = create_any_type_definition()
|
| for domain in protocol.json_api["domains"]:
|
| - protocol.type_definitions[domain["domain"] + ".string"] = create_string_type_definition(string_type)
|
| + protocol.type_definitions[domain["domain"] + ".string"] = create_string_type_definition()
|
| if not ("types" in domain):
|
| continue
|
| for type in domain["types"]:
|
| type_name = domain["domain"] + "." + type["id"]
|
| if type["type"] == "object" and domain["domain"] in protocol.imported_domains:
|
| - protocol.type_definitions[type_name] = create_imported_type_definition(domain["domain"], type)
|
| + protocol.type_definitions[type_name] = create_imported_type_definition(domain["domain"], type, imported_namespace)
|
| elif type["type"] == "object":
|
| protocol.type_definitions[type_name] = create_user_type_definition(domain["domain"], type)
|
| elif type["type"] == "array":
|
| items_type = type["items"]["type"]
|
| protocol.type_definitions[type_name] = wrap_array_definition(protocol.type_definitions[items_type])
|
| elif type["type"] == domain["domain"] + ".string":
|
| - protocol.type_definitions[type_name] = create_string_type_definition(string_type)
|
| + protocol.type_definitions[type_name] = create_string_type_definition()
|
| else:
|
| protocol.type_definitions[type_name] = create_primitive_type_definition(type["type"])
|
|
|
| @@ -370,7 +370,7 @@ def main():
|
| protocol.imported_domains = read_protocol_file(config.imported.path, protocol.json_api) if config.imported else []
|
| patch_full_qualified_refs(protocol)
|
| calculate_exports(protocol)
|
| - create_type_definitions(protocol, config.string.class_name)
|
| + create_type_definitions(protocol, "::".join(config.imported.namespace) if config.imported else "")
|
|
|
| if not config.exported:
|
| for domain_json in protocol.json_api["domains"]:
|
| @@ -429,25 +429,20 @@ def main():
|
| # Note these should be sorted in the right order.
|
| # TODO(dgozman): sort them programmatically based on commented includes.
|
| lib_h_templates = [
|
| - "Allocator_h.template",
|
| - "Platform_h.template",
|
| "Collections_h.template",
|
| - "String16_h.template",
|
| "ErrorSupport_h.template",
|
| "Values_h.template",
|
| "Object_h.template",
|
| "ValueConversions_h.template",
|
| "Maybe_h.template",
|
| "Array_h.template",
|
| - "FrontendChannel_h.template",
|
| "BackendCallback_h.template",
|
| "DispatcherBase_h.template",
|
| "Parser_h.template",
|
| ]
|
|
|
| lib_cpp_templates = [
|
| - "InspectorProtocol_cpp.template",
|
| - "String16_cpp.template",
|
| + "Protocol_cpp.template",
|
| "ErrorSupport_cpp.template",
|
| "Values_cpp.template",
|
| "Object_cpp.template",
|
| @@ -455,6 +450,12 @@ def main():
|
| "Parser_cpp.template",
|
| ]
|
|
|
| + forward_h_templates = [
|
| + "Forward_h.template",
|
| + "Allocator_h.template",
|
| + "FrontendChannel_h.template",
|
| + ]
|
| +
|
| def generate_lib_file(file_name, template_files):
|
| parts = []
|
| for template_file in template_files:
|
| @@ -463,8 +464,9 @@ def main():
|
| parts.append(template.render(template_context))
|
| outputs[file_name] = "\n\n".join(parts)
|
|
|
| - generate_lib_file(os.path.join(config.lib.output, "InspectorProtocol.h"), lib_h_templates)
|
| - generate_lib_file(os.path.join(config.lib.output, "InspectorProtocol.cpp"), lib_cpp_templates)
|
| + generate_lib_file(os.path.join(config.lib.output, "Forward.h"), forward_h_templates)
|
| + generate_lib_file(os.path.join(config.lib.output, "Protocol.h"), lib_h_templates)
|
| + generate_lib_file(os.path.join(config.lib.output, "Protocol.cpp"), lib_cpp_templates)
|
|
|
| # Make gyp / make generatos happy, otherwise make rebuilds world.
|
| inputs_ts = max(map(os.path.getmtime, inputs))
|
|
|