diff options
| author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
|---|---|---|
| committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
| commit | 41386e9cb918eed93b3f13648cbef387e371e451 (patch) | |
| tree | a97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/inspector/scripts | |
| parent | e15dd966d523731101f70ccf768bba12435a0208 (diff) | |
| download | WebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz | |
webkitgtk-2.4.9webkitgtk-2.4.9
Diffstat (limited to 'Source/JavaScriptCore/inspector/scripts')
81 files changed, 2955 insertions, 21505 deletions
diff --git a/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py b/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py new file mode 100755 index 000000000..9c6195ff4 --- /dev/null +++ b/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py @@ -0,0 +1,2613 @@ +#!/usr/bin/env python +# Copyright (c) 2011 Google Inc. All rights reserved. +# Copyright (c) 2012 Intel Corporation. All rights reserved. +# Copyright (c) 2013 Apple Inc. All Rights Reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (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.path +import sys +import string +import optparse +import re +try: + import json +except ImportError: + import simplejson as json + +import CodeGeneratorInspectorStrings + + +DOMAIN_DEFINE_NAME_MAP = { + "Database": "SQL_DATABASE", + "IndexedDB": "INDEXED_DATABASE", +} + + +# Manually-filled map of type name replacements. +TYPE_NAME_FIX_MAP = { + "RGBA": "Rgba", # RGBA is reported to be conflicting with a define name in Windows CE. + "": "Empty", +} + + +TYPES_WITH_RUNTIME_CAST_SET = frozenset(["Runtime.RemoteObject", "Runtime.PropertyDescriptor", "Runtime.InternalPropertyDescriptor", + "Debugger.FunctionDetails", "Debugger.CallFrame", + "Canvas.TraceLog", "Canvas.ResourceInfo", "Canvas.ResourceState", + # This should be a temporary hack. TimelineEvent should be created via generated C++ API. + "Timeline.TimelineEvent"]) + +TYPES_WITH_OPEN_FIELD_LIST_SET = frozenset(["Timeline.TimelineEvent", + # InspectorStyleSheet not only creates this property but wants to read it and modify it. + "CSS.CSSProperty", + # InspectorResourceAgent needs to update mime-type. + "Network.Response"]) + +EXACTLY_INT_SUPPORTED = False + +INSPECTOR_TYPES_GENERATOR_CONFIG_MAP = { + "JavaScript": { + "prefix": "JS", + "typebuilder_dependency": "", + "export_macro": "JS_EXPORT_PRIVATE", + }, + "Web": { + "prefix": "Web", + "typebuilder_dependency": "#include <inspector/InspectorJSTypeBuilders.h>", + "export_macro": "", + }, +} + +cmdline_parser = optparse.OptionParser(usage="usage: %prog [options] <Inspector.json>") +cmdline_parser.add_option("--output_h_dir") +cmdline_parser.add_option("--output_cpp_dir") +cmdline_parser.add_option("--output_js_dir") +cmdline_parser.add_option("--output_type") # JavaScript, Web +cmdline_parser.add_option("--write_always", action="store_true") +cmdline_parser.add_option("--no_verification", action="store_true") + +try: + arg_options, arg_values = cmdline_parser.parse_args() + if (len(arg_values) < 1): + raise Exception("At least one plain argument expected") + + input_json_filename = arg_values[0] + dependency_json_filenames = arg_values[1:] + + output_header_dirname = arg_options.output_h_dir + output_cpp_dirname = arg_options.output_cpp_dir + output_js_dirname = arg_options.output_js_dir + output_type = arg_options.output_type + + write_always = arg_options.write_always + verification = not arg_options.no_verification + if not output_header_dirname: + raise Exception("Output .h directory must be specified") + if not output_cpp_dirname: + raise Exception("Output .cpp directory must be specified") + if not output_js_dirname: + raise Exception("Output .js directory must be specified") + if output_type not in INSPECTOR_TYPES_GENERATOR_CONFIG_MAP.keys(): + raise Exception("Unknown output type. Allowed types are: %s" % INSPECTOR_TYPES_GENERATOR_CONFIG_MAP.keys()) +except Exception: + # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html + exc = sys.exc_info()[1] + sys.stderr.write("Failed to parse command-line arguments: %s\n\n" % exc) + sys.stderr.write("Usage: <script> Inspector.json --output_h_dir <output_header_dir> --output_cpp_dir <output_cpp_dir> --output_js_dir <output_js_dir> [--write_always] [--no_verification]\n") + exit(1) + + +def dash_to_camelcase(word): + return ''.join(x.capitalize() or '-' for x in word.split('-')) + + +def fix_camel_case(name): + refined = re.sub(r'-(\w)', lambda pat: pat.group(1).upper(), name) + refined = to_title_case(refined) + return re.sub(r'(?i)HTML|XML|WML|API|GC|XHR|DOM|CSS', lambda pat: pat.group(0).upper(), refined) + + +def to_title_case(name): + return name[:1].upper() + name[1:] + + +class Capitalizer: + @staticmethod + def lower_camel_case_to_upper(str): + if len(str) > 0 and str[0].islower(): + str = str[0].upper() + str[1:] + return str + + @staticmethod + def upper_camel_case_to_lower(str): + pos = 0 + while pos < len(str) and str[pos].isupper(): + pos += 1 + if pos == 0: + return str + if pos == 1: + return str[0].lower() + str[1:] + if pos < len(str): + pos -= 1 + possible_abbreviation = str[0:pos] + if possible_abbreviation not in Capitalizer.ABBREVIATION: + raise Exception("Unknown abbreviation %s" % possible_abbreviation) + str = possible_abbreviation.lower() + str[pos:] + return str + + @staticmethod + def camel_case_to_capitalized_with_underscores(str): + if len(str) == 0: + return str + output = Capitalizer.split_camel_case_(str) + return "_".join(output).upper() + + @staticmethod + def split_camel_case_(str): + output = [] + pos_being = 0 + pos = 1 + has_oneletter = False + while pos < len(str): + if str[pos].isupper(): + output.append(str[pos_being:pos].upper()) + if pos - pos_being == 1: + has_oneletter = True + pos_being = pos + pos += 1 + output.append(str[pos_being:]) + if has_oneletter: + array_pos = 0 + while array_pos < len(output) - 1: + if len(output[array_pos]) == 1: + array_pos_end = array_pos + 1 + while array_pos_end < len(output) and len(output[array_pos_end]) == 1: + array_pos_end += 1 + if array_pos_end - array_pos > 1: + possible_abbreviation = "".join(output[array_pos:array_pos_end]) + if possible_abbreviation.upper() in Capitalizer.ABBREVIATION: + output[array_pos:array_pos_end] = [possible_abbreviation] + else: + array_pos = array_pos_end - 1 + array_pos += 1 + return output + + ABBREVIATION = frozenset(["XHR", "DOM", "CSS"]) + +VALIDATOR_IFDEF_NAME = "!ASSERT_DISABLED" + + +class DomainNameFixes: + @classmethod + def get_fixed_data(cls, domain_name): + field_name_res = Capitalizer.upper_camel_case_to_lower(domain_name) + "Agent" + + class Res(object): + skip_js_bind = domain_name in cls.skip_js_bind_domains + + @staticmethod + def get_guard(): + if domain_name in DOMAIN_DEFINE_NAME_MAP: + define_name = DOMAIN_DEFINE_NAME_MAP[domain_name] + + class Guard: + @staticmethod + def generate_open(output): + output.append("#if ENABLE(%s)\n" % define_name) + + @staticmethod + def generate_close(output): + output.append("#endif // ENABLE(%s)\n" % define_name) + + return Guard + + return Res + + skip_js_bind_domains = set(["DOMDebugger"]) + + +class RawTypes(object): + @staticmethod + def get(json_type): + if json_type == "boolean": + return RawTypes.Bool + elif json_type == "string": + return RawTypes.String + elif json_type == "array": + return RawTypes.Array + elif json_type == "object": + return RawTypes.Object + elif json_type == "integer": + return RawTypes.Int + elif json_type == "number": + return RawTypes.Number + elif json_type == "any": + return RawTypes.Any + else: + raise Exception("Unknown type: %s" % json_type) + + # For output parameter all values are passed by pointer except RefPtr-based types. + class OutputPassModel: + class ByPointer: + @staticmethod + def get_argument_prefix(): + return "&" + + @staticmethod + def get_parameter_type_suffix(): + return "*" + + class ByReference: + @staticmethod + def get_argument_prefix(): + return "" + + @staticmethod + def get_parameter_type_suffix(): + return "&" + + class BaseType(object): + need_internal_runtime_cast_ = False + + @classmethod + def request_raw_internal_runtime_cast(cls): + if not cls.need_internal_runtime_cast_: + cls.need_internal_runtime_cast_ = True + + @classmethod + def get_raw_validator_call_text(cls): + return "RuntimeCastHelper::assertType<Inspector::InspectorValue::Type%s>" % cls.get_validate_method_params().template_type + + class String(BaseType): + @staticmethod + def get_getter_name(): + return "String" + + get_setter_name = get_getter_name + + @staticmethod + def get_c_initializer(): + return "\"\"" + + @staticmethod + def get_js_bind_type(): + return "string" + + @staticmethod + def get_validate_method_params(): + class ValidateMethodParams: + template_type = "String" + return ValidateMethodParams + + @staticmethod + def get_output_pass_model(): + return RawTypes.OutputPassModel.ByPointer + + @staticmethod + def is_heavy_value(): + return True + + @staticmethod + def get_array_item_raw_c_type_text(): + return "String" + + @staticmethod + def get_raw_type_model(): + return TypeModel.String + + class Int(BaseType): + @staticmethod + def get_getter_name(): + return "Int" + + @staticmethod + def get_setter_name(): + return "Number" + + @staticmethod + def get_c_initializer(): + return "0" + + @staticmethod + def get_js_bind_type(): + return "number" + + @classmethod + def get_raw_validator_call_text(cls): + return "RuntimeCastHelper::assertInt" + + @staticmethod + def get_output_pass_model(): + return RawTypes.OutputPassModel.ByPointer + + @staticmethod + def is_heavy_value(): + return False + + @staticmethod + def get_array_item_raw_c_type_text(): + return "int" + + @staticmethod + def get_raw_type_model(): + return TypeModel.Int + + class Number(BaseType): + @staticmethod + def get_getter_name(): + return "Double" + + @staticmethod + def get_setter_name(): + return "Number" + + @staticmethod + def get_c_initializer(): + return "0" + + @staticmethod + def get_js_bind_type(): + return "number" + + @staticmethod + def get_validate_method_params(): + class ValidateMethodParams: + template_type = "Number" + return ValidateMethodParams + + @staticmethod + def get_output_pass_model(): + return RawTypes.OutputPassModel.ByPointer + + @staticmethod + def is_heavy_value(): + return False + + @staticmethod + def get_array_item_raw_c_type_text(): + return "double" + + @staticmethod + def get_raw_type_model(): + return TypeModel.Number + + class Bool(BaseType): + @staticmethod + def get_getter_name(): + return "Boolean" + + get_setter_name = get_getter_name + + @staticmethod + def get_c_initializer(): + return "false" + + @staticmethod + def get_js_bind_type(): + return "boolean" + + @staticmethod + def get_validate_method_params(): + class ValidateMethodParams: + template_type = "Boolean" + return ValidateMethodParams + + @staticmethod + def get_output_pass_model(): + return RawTypes.OutputPassModel.ByPointer + + @staticmethod + def is_heavy_value(): + return False + + @staticmethod + def get_array_item_raw_c_type_text(): + return "bool" + + @staticmethod + def get_raw_type_model(): + return TypeModel.Bool + + class Object(BaseType): + @staticmethod + def get_getter_name(): + return "Object" + + @staticmethod + def get_setter_name(): + return "Value" + + @staticmethod + def get_c_initializer(): + return "InspectorObject::create()" + + @staticmethod + def get_js_bind_type(): + return "object" + + @staticmethod + def get_output_argument_prefix(): + return "" + + @staticmethod + def get_validate_method_params(): + class ValidateMethodParams: + template_type = "Object" + return ValidateMethodParams + + @staticmethod + def get_output_pass_model(): + return RawTypes.OutputPassModel.ByReference + + @staticmethod + def is_heavy_value(): + return True + + @staticmethod + def get_array_item_raw_c_type_text(): + return "Inspector::InspectorObject" + + @staticmethod + def get_raw_type_model(): + return TypeModel.Object + + class Any(BaseType): + @staticmethod + def get_getter_name(): + return "Value" + + get_setter_name = get_getter_name + + @staticmethod + def get_c_initializer(): + raise Exception("Unsupported") + + @staticmethod + def get_js_bind_type(): + raise Exception("Unsupported") + + @staticmethod + def get_raw_validator_call_text(): + return "RuntimeCastHelper::assertAny" + + @staticmethod + def get_output_pass_model(): + return RawTypes.OutputPassModel.ByReference + + @staticmethod + def is_heavy_value(): + return True + + @staticmethod + def get_array_item_raw_c_type_text(): + return "Inspector::InspectorValue" + + @staticmethod + def get_raw_type_model(): + return TypeModel.Any + + class Array(BaseType): + @staticmethod + def get_getter_name(): + return "Array" + + @staticmethod + def get_setter_name(): + return "Value" + + @staticmethod + def get_c_initializer(): + return "InspectorArray::create()" + + @staticmethod + def get_js_bind_type(): + return "object" + + @staticmethod + def get_output_argument_prefix(): + return "" + + @staticmethod + def get_validate_method_params(): + class ValidateMethodParams: + template_type = "Array" + return ValidateMethodParams + + @staticmethod + def get_output_pass_model(): + return RawTypes.OutputPassModel.ByReference + + @staticmethod + def is_heavy_value(): + return True + + @staticmethod + def get_array_item_raw_c_type_text(): + return "Inspector::InspectorArray" + + @staticmethod + def get_raw_type_model(): + return TypeModel.Array + + +def replace_right_shift(input_str): + return input_str.replace(">>", "> >") + + +class CommandReturnPassModel: + class ByReference: + def __init__(self, var_type, set_condition): + self.var_type = var_type + self.set_condition = set_condition + + def get_return_var_type(self): + return self.var_type + + @staticmethod + def get_output_argument_prefix(): + return "" + + @staticmethod + def get_output_to_raw_expression(): + return "%s" + + def get_output_parameter_type(self): + return self.var_type + "&" + + def get_set_return_condition(self): + return self.set_condition + + class ByPointer: + def __init__(self, var_type): + self.var_type = var_type + + def get_return_var_type(self): + return self.var_type + + @staticmethod + def get_output_argument_prefix(): + return "&" + + @staticmethod + def get_output_to_raw_expression(): + return "%s" + + def get_output_parameter_type(self): + return self.var_type + "*" + + @staticmethod + def get_set_return_condition(): + return None + + class OptOutput: + def __init__(self, var_type): + self.var_type = var_type + + def get_return_var_type(self): + return "Inspector::TypeBuilder::OptOutput<%s>" % self.var_type + + @staticmethod + def get_output_argument_prefix(): + return "&" + + @staticmethod + def get_output_to_raw_expression(): + return "%s.getValue()" + + def get_output_parameter_type(self): + return "Inspector::TypeBuilder::OptOutput<%s>*" % self.var_type + + @staticmethod + def get_set_return_condition(): + return "%s.isAssigned()" + + +class TypeModel: + class RefPtrBased(object): + def __init__(self, class_name): + self.class_name = class_name + self.optional = False + + def get_optional(self): + result = TypeModel.RefPtrBased(self.class_name) + result.optional = True + return result + + def get_command_return_pass_model(self): + if self.optional: + set_condition = "%s" + else: + set_condition = None + return CommandReturnPassModel.ByReference(replace_right_shift("RefPtr<%s>" % self.class_name), set_condition) + + def get_input_param_type_text(self): + return replace_right_shift("PassRefPtr<%s>" % self.class_name) + + @staticmethod + def get_event_setter_expression_pattern(): + return "%s" + + class Enum(object): + def __init__(self, base_type_name): + self.type_name = base_type_name + "::Enum" + + def get_optional(base_self): + class EnumOptional: + @classmethod + def get_optional(cls): + return cls + + @staticmethod + def get_command_return_pass_model(): + return CommandReturnPassModel.OptOutput(base_self.type_name) + + @staticmethod + def get_input_param_type_text(): + return base_self.type_name + "*" + + @staticmethod + def get_event_setter_expression_pattern(): + raise Exception("TODO") + return EnumOptional + + def get_command_return_pass_model(self): + return CommandReturnPassModel.ByPointer(self.type_name) + + def get_input_param_type_text(self): + return self.type_name + + @staticmethod + def get_event_setter_expression_pattern(): + return "%s" + + class ValueType(object): + def __init__(self, type_name, is_heavy): + self.type_name = type_name + self.is_heavy = is_heavy + + def get_optional(self): + return self.ValueOptional(self) + + def get_command_return_pass_model(self): + return CommandReturnPassModel.ByPointer(self.type_name) + + def get_input_param_type_text(self): + if self.is_heavy: + return "const %s&" % self.type_name + else: + return self.type_name + + def get_opt_output_type_(self): + return self.type_name + + @staticmethod + def get_event_setter_expression_pattern(): + return "%s" + + class ValueOptional: + def __init__(self, base): + self.base = base + + def get_optional(self): + return self + + def get_command_return_pass_model(self): + return CommandReturnPassModel.OptOutput(self.base.get_opt_output_type_()) + + def get_input_param_type_text(self): + return "const %s* const" % self.base.type_name + + @staticmethod + def get_event_setter_expression_pattern(): + return "*%s" + + class ExactlyInt(ValueType): + def __init__(self): + TypeModel.ValueType.__init__(self, "int", False) + + def get_input_param_type_text(self): + return "Inspector::TypeBuilder::ExactlyInt" + + def get_opt_output_type_(self): + return "Inspector::TypeBuilder::ExactlyInt" + + @classmethod + def init_class(cls): + cls.Bool = cls.ValueType("bool", False) + if EXACTLY_INT_SUPPORTED: + cls.Int = cls.ExactlyInt() + else: + cls.Int = cls.ValueType("int", False) + cls.Number = cls.ValueType("double", False) + cls.String = cls.ValueType("String", True,) + cls.Object = cls.RefPtrBased("Inspector::InspectorObject") + cls.Array = cls.RefPtrBased("Inspector::InspectorArray") + cls.Any = cls.RefPtrBased("Inspector::InspectorValue") + +TypeModel.init_class() + + +# Collection of InspectorObject class methods that are likely to be overloaded in generated class. +# We must explicitly import all overloaded methods or they won't be available to user. +INSPECTOR_OBJECT_SETTER_NAMES = frozenset(["setValue", "setBoolean", "setNumber", "setString", "setValue", "setObject", "setArray"]) + + +def fix_type_name(json_name): + if json_name in TYPE_NAME_FIX_MAP: + fixed = TYPE_NAME_FIX_MAP[json_name] + + class Result(object): + class_name = fixed + + @staticmethod + def output_comment(writer): + writer.newline("// Type originally was named '%s'.\n" % json_name) + else: + + class Result(object): + class_name = json_name + + @staticmethod + def output_comment(writer): + pass + + return Result + + +class Writer: + def __init__(self, output, indent): + self.output = output + self.indent = indent + + def newline(self, str): + if (self.indent): + self.output.append(self.indent) + self.output.append(str) + + def append(self, str): + self.output.append(str) + + def newline_multiline(self, str): + parts = str.split('\n') + self.newline(parts[0]) + for p in parts[1:]: + self.output.append('\n') + if p: + self.newline(p) + + def append_multiline(self, str): + parts = str.split('\n') + self.append(parts[0]) + for p in parts[1:]: + self.output.append('\n') + if p: + self.newline(p) + + def get_indent(self): + return self.indent + + def get_indented(self, additional_indent): + return Writer(self.output, self.indent + additional_indent) + + def insert_writer(self, additional_indent): + new_output = [] + self.output.append(new_output) + return Writer(new_output, self.indent + additional_indent) + + +class EnumConstants: + map_ = {} + constants_ = [] + + @classmethod + def add_constant(cls, value): + if value in cls.map_: + return cls.map_[value] + else: + pos = len(cls.map_) + cls.map_[value] = pos + cls.constants_.append(value) + return pos + + @classmethod + def get_enum_constant_code(cls): + output = [] + for item in cls.constants_: + output.append(" \"" + item + "\"") + return ",\n".join(output) + "\n" + + +# Typebuilder code is generated in several passes: first typedefs, then other classes. +# Manual pass management is needed because we cannot have forward declarations for typedefs. +class TypeBuilderPass: + TYPEDEF = "typedef" + MAIN = "main" + + +class TypeBindings: + @staticmethod + def create_named_type_declaration(json_typable, context_domain_name, type_data): + json_type = type_data.get_json_type() + + class Helper: + is_ad_hoc = False + full_name_prefix_for_use = "Inspector::TypeBuilder::" + context_domain_name + "::" + full_name_prefix_for_impl = "Inspector::TypeBuilder::" + context_domain_name + "::" + + @staticmethod + def write_doc(writer): + if "description" in json_type: + writer.newline("/* ") + writer.append(json_type["description"]) + writer.append(" */\n") + + @staticmethod + def add_to_forward_listener(forward_listener): + forward_listener.add_type_data(type_data) + + + fixed_type_name = fix_type_name(json_type["id"]) + return TypeBindings.create_type_declaration_(json_typable, context_domain_name, fixed_type_name, Helper) + + @staticmethod + def create_ad_hoc_type_declaration(json_typable, context_domain_name, ad_hoc_type_context): + class Helper: + is_ad_hoc = True + full_name_prefix_for_use = ad_hoc_type_context.container_relative_name_prefix + full_name_prefix_for_impl = ad_hoc_type_context.container_full_name_prefix + + @staticmethod + def write_doc(writer): + pass + + @staticmethod + def add_to_forward_listener(forward_listener): + pass + fixed_type_name = ad_hoc_type_context.get_type_name_fix() + return TypeBindings.create_type_declaration_(json_typable, context_domain_name, fixed_type_name, Helper) + + @staticmethod + def create_type_declaration_(json_typable, context_domain_name, fixed_type_name, helper): + if json_typable["type"] == "string": + if "enum" in json_typable: + + class EnumBinding: + need_user_runtime_cast_ = False + need_internal_runtime_cast_ = False + + @classmethod + def resolve_inner(cls, resolve_context): + pass + + @classmethod + def request_user_runtime_cast(cls, request): + if request: + cls.need_user_runtime_cast_ = True + request.acknowledge() + + @classmethod + def request_internal_runtime_cast(cls): + cls.need_internal_runtime_cast_ = True + + @classmethod + def get_code_generator(enum_binding_cls): + #FIXME: generate ad-hoc enums too once we figure out how to better implement them in C++. + comment_out = helper.is_ad_hoc + + class CodeGenerator: + @staticmethod + def generate_type_builder(writer, generate_context): + enum = json_typable["enum"] + helper.write_doc(writer) + enum_name = fixed_type_name.class_name + fixed_type_name.output_comment(writer) + writer.newline("struct ") + writer.append(enum_name) + writer.append(" {\n") + writer.newline(" enum Enum {\n") + for enum_item in enum: + enum_pos = EnumConstants.add_constant(enum_item) + + item_c_name = fix_camel_case(enum_item) + if item_c_name in TYPE_NAME_FIX_MAP: + item_c_name = TYPE_NAME_FIX_MAP[item_c_name] + writer.newline(" ") + writer.append(item_c_name) + writer.append(" = ") + writer.append("%s" % enum_pos) + writer.append(",\n") + writer.newline(" };\n") + if enum_binding_cls.need_user_runtime_cast_: + raise Exception("Not yet implemented") + + if enum_binding_cls.need_internal_runtime_cast_: + writer.append("#if %s\n" % VALIDATOR_IFDEF_NAME) + writer.newline(" static void assertCorrectValue(Inspector::InspectorValue* value);\n") + writer.append("#endif // %s\n" % VALIDATOR_IFDEF_NAME) + + validator_writer = generate_context.validator_writer + + domain_fixes = DomainNameFixes.get_fixed_data(context_domain_name) + domain_guard = domain_fixes.get_guard() + if domain_guard: + domain_guard.generate_open(validator_writer) + + validator_writer.newline("void %s%s::assertCorrectValue(Inspector::InspectorValue* value)\n" % (helper.full_name_prefix_for_impl, enum_name)) + validator_writer.newline("{\n") + validator_writer.newline(" WTF::String s;\n") + validator_writer.newline(" bool cast_res = value->asString(&s);\n") + validator_writer.newline(" ASSERT(cast_res);\n") + if len(enum) > 0: + condition_list = [] + for enum_item in enum: + enum_pos = EnumConstants.add_constant(enum_item) + condition_list.append("s == \"%s\"" % enum_item) + validator_writer.newline(" ASSERT(%s);\n" % " || ".join(condition_list)) + validator_writer.newline("}\n") + + if domain_guard: + domain_guard.generate_close(validator_writer) + + validator_writer.newline("\n\n") + + writer.newline("}; // struct ") + writer.append(enum_name) + writer.append("\n") + + @staticmethod + def register_use(forward_listener): + pass + + @staticmethod + def get_generate_pass_id(): + return TypeBuilderPass.MAIN + + return CodeGenerator + + @classmethod + def get_validator_call_text(cls): + return helper.full_name_prefix_for_use + fixed_type_name.class_name + "::assertCorrectValue" + + @classmethod + def get_array_item_c_type_text(cls): + return helper.full_name_prefix_for_use + fixed_type_name.class_name + "::Enum" + + @staticmethod + def get_setter_value_expression_pattern(): + return "Inspector::TypeBuilder::get%sEnumConstantValue(%s)" + + @staticmethod + def reduce_to_raw_type(): + return RawTypes.String + + @staticmethod + def get_type_model(): + return TypeModel.Enum(helper.full_name_prefix_for_use + fixed_type_name.class_name) + + return EnumBinding + else: + if helper.is_ad_hoc: + + class PlainString: + @classmethod + def resolve_inner(cls, resolve_context): + pass + + @staticmethod + def request_user_runtime_cast(request): + raise Exception("Unsupported") + + @staticmethod + def request_internal_runtime_cast(): + pass + + @staticmethod + def get_code_generator(): + return None + + @classmethod + def get_validator_call_text(cls): + return RawTypes.String.get_raw_validator_call_text() + + @staticmethod + def reduce_to_raw_type(): + return RawTypes.String + + @staticmethod + def get_type_model(): + return TypeModel.String + + @staticmethod + def get_setter_value_expression_pattern(): + return None + + @classmethod + def get_array_item_c_type_text(cls): + return cls.reduce_to_raw_type().get_array_item_raw_c_type_text() + + return PlainString + + else: + + class TypedefString: + @classmethod + def resolve_inner(cls, resolve_context): + pass + + @staticmethod + def request_user_runtime_cast(request): + raise Exception("Unsupported") + + @staticmethod + def request_internal_runtime_cast(): + RawTypes.String.request_raw_internal_runtime_cast() + + @staticmethod + def get_code_generator(): + class CodeGenerator: + @staticmethod + def generate_type_builder(writer, generate_context): + helper.write_doc(writer) + fixed_type_name.output_comment(writer) + writer.newline("typedef String ") + writer.append(fixed_type_name.class_name) + writer.append(";\n\n") + + @staticmethod + def register_use(forward_listener): + pass + + @staticmethod + def get_generate_pass_id(): + return TypeBuilderPass.TYPEDEF + + return CodeGenerator + + @classmethod + def get_validator_call_text(cls): + return RawTypes.String.get_raw_validator_call_text() + + @staticmethod + def reduce_to_raw_type(): + return RawTypes.String + + @staticmethod + def get_type_model(): + return TypeModel.ValueType("%s%s" % (helper.full_name_prefix_for_use, fixed_type_name.class_name), True) + + @staticmethod + def get_setter_value_expression_pattern(): + return None + + @classmethod + def get_array_item_c_type_text(cls): + return "const %s%s&" % (helper.full_name_prefix_for_use, fixed_type_name.class_name) + + return TypedefString + + elif json_typable["type"] == "integer": + if helper.is_ad_hoc: + + class PlainInteger: + @classmethod + def resolve_inner(cls, resolve_context): + pass + + @staticmethod + def request_user_runtime_cast(request): + raise Exception("Unsupported") + + @staticmethod + def request_internal_runtime_cast(): + pass + + @staticmethod + def get_code_generator(): + return None + + @classmethod + def get_validator_call_text(cls): + return RawTypes.Int.get_raw_validator_call_text() + + @staticmethod + def reduce_to_raw_type(): + return RawTypes.Int + + @staticmethod + def get_type_model(): + return TypeModel.Int + + @staticmethod + def get_setter_value_expression_pattern(): + return None + + @classmethod + def get_array_item_c_type_text(cls): + return cls.reduce_to_raw_type().get_array_item_raw_c_type_text() + + return PlainInteger + + else: + + class TypedefInteger: + @classmethod + def resolve_inner(cls, resolve_context): + pass + + @staticmethod + def request_user_runtime_cast(request): + raise Exception("Unsupported") + + @staticmethod + def request_internal_runtime_cast(): + RawTypes.Int.request_raw_internal_runtime_cast() + + @staticmethod + def get_code_generator(): + class CodeGenerator: + @staticmethod + def generate_type_builder(writer, generate_context): + helper.write_doc(writer) + fixed_type_name.output_comment(writer) + writer.newline("typedef int ") + writer.append(fixed_type_name.class_name) + writer.append(";\n\n") + + @staticmethod + def register_use(forward_listener): + pass + + @staticmethod + def get_generate_pass_id(): + return TypeBuilderPass.TYPEDEF + + return CodeGenerator + + @classmethod + def get_validator_call_text(cls): + return RawTypes.Int.get_raw_validator_call_text() + + @staticmethod + def reduce_to_raw_type(): + return RawTypes.Int + + @staticmethod + def get_type_model(): + return TypeModel.Int + + @staticmethod + def get_setter_value_expression_pattern(): + return None + + @classmethod + def get_array_item_c_type_text(cls): + return helper.full_name_prefix_for_use + fixed_type_name.class_name + + return TypedefInteger + + elif json_typable["type"] == "object": + if "properties" in json_typable: + + class ClassBinding: + resolve_data_ = None + need_user_runtime_cast_ = False + need_internal_runtime_cast_ = False + + @classmethod + def resolve_inner(cls, resolve_context): + if cls.resolve_data_: + return + + properties = json_typable["properties"] + main = [] + optional = [] + + ad_hoc_type_list = [] + + for prop in properties: + prop_name = prop["name"] + ad_hoc_type_context = cls.AdHocTypeContextImpl(prop_name, fixed_type_name.class_name, resolve_context, ad_hoc_type_list, helper.full_name_prefix_for_impl) + binding = resolve_param_type(prop, context_domain_name, ad_hoc_type_context) + + code_generator = binding.get_code_generator() + if code_generator: + code_generator.register_use(resolve_context.forward_listener) + + class PropertyData: + param_type_binding = binding + p = prop + + if prop.get("optional"): + optional.append(PropertyData) + else: + main.append(PropertyData) + + class ResolveData: + main_properties = main + optional_properties = optional + ad_hoc_types = ad_hoc_type_list + + cls.resolve_data_ = ResolveData + + for ad_hoc in ad_hoc_type_list: + ad_hoc.resolve_inner(resolve_context) + + @classmethod + def request_user_runtime_cast(cls, request): + if not request: + return + cls.need_user_runtime_cast_ = True + request.acknowledge() + cls.request_internal_runtime_cast() + + @classmethod + def request_internal_runtime_cast(cls): + if cls.need_internal_runtime_cast_: + return + cls.need_internal_runtime_cast_ = True + for p in cls.resolve_data_.main_properties: + p.param_type_binding.request_internal_runtime_cast() + for p in cls.resolve_data_.optional_properties: + p.param_type_binding.request_internal_runtime_cast() + + @classmethod + def get_code_generator(class_binding_cls): + class CodeGenerator: + @classmethod + def generate_type_builder(cls, writer, generate_context): + resolve_data = class_binding_cls.resolve_data_ + helper.write_doc(writer) + class_name = fixed_type_name.class_name + + is_open_type = (context_domain_name + "." + class_name) in TYPES_WITH_OPEN_FIELD_LIST_SET + + fixed_type_name.output_comment(writer) + writer.newline("class ") + writer.append(class_name) + writer.append(" : public ") + if is_open_type: + writer.append("Inspector::InspectorObject") + else: + writer.append("Inspector::InspectorObjectBase") + writer.append(" {\n") + writer.newline("public:\n") + ad_hoc_type_writer = writer.insert_writer(" ") + + for ad_hoc_type in resolve_data.ad_hoc_types: + code_generator = ad_hoc_type.get_code_generator() + if code_generator: + code_generator.generate_type_builder(ad_hoc_type_writer, generate_context) + + writer.newline_multiline( +""" enum { + NoFieldsSet = 0, +""") + + state_enum_items = [] + if len(resolve_data.main_properties) > 0: + pos = 0 + for prop_data in resolve_data.main_properties: + item_name = Capitalizer.lower_camel_case_to_upper(prop_data.p["name"]) + "Set" + state_enum_items.append(item_name) + writer.newline(" %s = 1 << %s,\n" % (item_name, pos)) + pos += 1 + all_fields_set_value = "(" + (" | ".join(state_enum_items)) + ")" + else: + all_fields_set_value = "0" + + writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_1 + % (all_fields_set_value, class_name, class_name)) + + pos = 0 + for prop_data in resolve_data.main_properties: + prop_name = prop_data.p["name"] + + param_type_binding = prop_data.param_type_binding + param_raw_type = param_type_binding.reduce_to_raw_type() + + writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_2 + % (state_enum_items[pos], + Capitalizer.lower_camel_case_to_upper(prop_name), + param_type_binding.get_type_model().get_input_param_type_text(), + state_enum_items[pos], prop_name, + param_raw_type.get_setter_name(), prop_name, + format_setter_value_expression(param_type_binding, "value"), + state_enum_items[pos])) + + pos += 1 + + writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_3 + % (class_name, class_name, class_name, class_name, class_name)) + + writer.newline(" /*\n") + writer.newline(" * Synthetic constructor:\n") + writer.newline(" * RefPtr<%s> result = %s::create()" % (class_name, class_name)) + for prop_data in resolve_data.main_properties: + writer.append_multiline("\n * .set%s(...)" % Capitalizer.lower_camel_case_to_upper(prop_data.p["name"])) + writer.append_multiline(";\n */\n") + + writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_4) + + writer.newline(" typedef Inspector::TypeBuilder::StructItemTraits ItemTraits;\n") + + for prop_data in resolve_data.optional_properties: + prop_name = prop_data.p["name"] + param_type_binding = prop_data.param_type_binding + setter_name = "set%s" % Capitalizer.lower_camel_case_to_upper(prop_name) + + writer.append_multiline("\n void %s" % setter_name) + writer.append("(%s value)\n" % param_type_binding.get_type_model().get_input_param_type_text()) + writer.newline(" {\n") + writer.newline(" this->set%s(ASCIILiteral(\"%s\"), %s);\n" + % (param_type_binding.reduce_to_raw_type().get_setter_name(), prop_data.p["name"], + format_setter_value_expression(param_type_binding, "value"))) + writer.newline(" }\n") + + + if setter_name in INSPECTOR_OBJECT_SETTER_NAMES: + writer.newline(" using Inspector::InspectorObjectBase::%s;\n\n" % setter_name) + + if class_binding_cls.need_user_runtime_cast_: + writer.newline(" static PassRefPtr<%s> runtimeCast(PassRefPtr<Inspector::InspectorValue> value)\n" % class_name) + writer.newline(" {\n") + writer.newline(" RefPtr<Inspector::InspectorObject> object;\n") + writer.newline(" bool castRes = value->asObject(&object);\n") + writer.newline(" ASSERT_UNUSED(castRes, castRes);\n") + writer.append("#if %s\n" % VALIDATOR_IFDEF_NAME) + writer.newline(" assertCorrectValue(object.get());\n") + writer.append("#endif // %s\n" % VALIDATOR_IFDEF_NAME) + writer.newline(" COMPILE_ASSERT(sizeof(%s) == sizeof(Inspector::InspectorObjectBase), type_cast_problem);\n" % class_name) + writer.newline(" return static_cast<%s*>(static_cast<Inspector::InspectorObjectBase*>(object.get()));\n" % class_name) + writer.newline(" }\n") + writer.append("\n") + + if class_binding_cls.need_internal_runtime_cast_: + writer.append("#if %s\n" % VALIDATOR_IFDEF_NAME) + writer.newline(" static %s void assertCorrectValue(Inspector::InspectorValue* value);\n" % INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["export_macro"]) + writer.append("#endif // %s\n" % VALIDATOR_IFDEF_NAME) + + closed_field_set = (context_domain_name + "." + class_name) not in TYPES_WITH_OPEN_FIELD_LIST_SET + + validator_writer = generate_context.validator_writer + + domain_fixes = DomainNameFixes.get_fixed_data(context_domain_name) + domain_guard = domain_fixes.get_guard() + if domain_guard: + domain_guard.generate_open(validator_writer) + + validator_writer.newline("void %s%s::assertCorrectValue(Inspector::InspectorValue* value)\n" % (helper.full_name_prefix_for_impl, class_name)) + validator_writer.newline("{\n") + validator_writer.newline(" RefPtr<InspectorObject> object;\n") + validator_writer.newline(" bool castRes = value->asObject(&object);\n") + validator_writer.newline(" ASSERT_UNUSED(castRes, castRes);\n") + for prop_data in resolve_data.main_properties: + validator_writer.newline(" {\n") + it_name = "%sPos" % prop_data.p["name"] + validator_writer.newline(" InspectorObject::iterator %s;\n" % it_name) + validator_writer.newline(" %s = object->find(\"%s\");\n" % (it_name, prop_data.p["name"])) + validator_writer.newline(" ASSERT(%s != object->end());\n" % it_name) + validator_writer.newline(" %s(%s->value.get());\n" % (prop_data.param_type_binding.get_validator_call_text(), it_name)) + validator_writer.newline(" }\n") + + if closed_field_set: + validator_writer.newline(" int foundPropertiesCount = %s;\n" % len(resolve_data.main_properties)) + + for prop_data in resolve_data.optional_properties: + validator_writer.newline(" {\n") + it_name = "%sPos" % prop_data.p["name"] + validator_writer.newline(" InspectorObject::iterator %s;\n" % it_name) + validator_writer.newline(" %s = object->find(\"%s\");\n" % (it_name, prop_data.p["name"])) + validator_writer.newline(" if (%s != object->end()) {\n" % it_name) + validator_writer.newline(" %s(%s->value.get());\n" % (prop_data.param_type_binding.get_validator_call_text(), it_name)) + if closed_field_set: + validator_writer.newline(" ++foundPropertiesCount;\n") + validator_writer.newline(" }\n") + validator_writer.newline(" }\n") + + if closed_field_set: + validator_writer.newline(" if (foundPropertiesCount != object->size())\n") + validator_writer.newline(" FATAL(\"Unexpected properties in object: %s\\n\", object->toJSONString().ascii().data());\n") + validator_writer.newline("}\n") + + if domain_guard: + domain_guard.generate_close(validator_writer) + + validator_writer.newline("\n\n") + + if is_open_type: + cpp_writer = generate_context.cpp_writer + writer.append("\n") + writer.newline(" // Property names for type generated as open.\n") + for prop_data in resolve_data.main_properties + resolve_data.optional_properties: + prop_name = prop_data.p["name"] + prop_field_name = Capitalizer.lower_camel_case_to_upper(prop_name) + writer.newline(" static const char* %s;\n" % (prop_field_name)) + cpp_writer.newline("const char* %s%s::%s = \"%s\";\n" % (helper.full_name_prefix_for_impl, class_name, prop_field_name, prop_name)) + + + writer.newline("};\n\n") + + @staticmethod + def generate_forward_declaration(writer): + class_name = fixed_type_name.class_name + writer.newline("class ") + writer.append(class_name) + writer.append(";\n") + + @staticmethod + def register_use(forward_listener): + helper.add_to_forward_listener(forward_listener) + + @staticmethod + def get_generate_pass_id(): + return TypeBuilderPass.MAIN + + return CodeGenerator + + @staticmethod + def get_validator_call_text(): + return helper.full_name_prefix_for_use + fixed_type_name.class_name + "::assertCorrectValue" + + @classmethod + def get_array_item_c_type_text(cls): + return helper.full_name_prefix_for_use + fixed_type_name.class_name + + @staticmethod + def get_setter_value_expression_pattern(): + return None + + @staticmethod + def reduce_to_raw_type(): + return RawTypes.Object + + @staticmethod + def get_type_model(): + return TypeModel.RefPtrBased(helper.full_name_prefix_for_use + fixed_type_name.class_name) + + class AdHocTypeContextImpl: + def __init__(self, property_name, class_name, resolve_context, ad_hoc_type_list, parent_full_name_prefix): + self.property_name = property_name + self.class_name = class_name + self.resolve_context = resolve_context + self.ad_hoc_type_list = ad_hoc_type_list + self.container_full_name_prefix = parent_full_name_prefix + class_name + "::" + self.container_relative_name_prefix = "" + + def get_type_name_fix(self): + class NameFix: + class_name = Capitalizer.lower_camel_case_to_upper(self.property_name) + + @staticmethod + def output_comment(writer): + writer.newline("// Named after property name '%s' while generating %s.\n" % (self.property_name, self.class_name)) + + return NameFix + + def add_type(self, binding): + self.ad_hoc_type_list.append(binding) + + return ClassBinding + else: + + class PlainObjectBinding: + @classmethod + def resolve_inner(cls, resolve_context): + pass + + @staticmethod + def request_user_runtime_cast(request): + pass + + @staticmethod + def request_internal_runtime_cast(): + RawTypes.Object.request_raw_internal_runtime_cast() + + @staticmethod + def get_code_generator(): + pass + + @staticmethod + def get_validator_call_text(): + return "RuntimeCastHelper::assertType<InspectorValue::TypeObject>" + + @classmethod + def get_array_item_c_type_text(cls): + return cls.reduce_to_raw_type().get_array_item_raw_c_type_text() + + @staticmethod + def get_setter_value_expression_pattern(): + return None + + @staticmethod + def reduce_to_raw_type(): + return RawTypes.Object + + @staticmethod + def get_type_model(): + return TypeModel.Object + + return PlainObjectBinding + elif json_typable["type"] == "array": + if "items" in json_typable: + + ad_hoc_types = [] + + class AdHocTypeContext: + container_full_name_prefix = "<not yet defined>" + container_relative_name_prefix = "" + + @staticmethod + def get_type_name_fix(): + return fixed_type_name + + @staticmethod + def add_type(binding): + ad_hoc_types.append(binding) + + item_binding = resolve_param_type(json_typable["items"], context_domain_name, AdHocTypeContext) + + class ArrayBinding: + resolve_data_ = None + need_internal_runtime_cast_ = False + + @classmethod + def resolve_inner(cls, resolve_context): + if cls.resolve_data_: + return + + class ResolveData: + item_type_binding = item_binding + ad_hoc_type_list = ad_hoc_types + + cls.resolve_data_ = ResolveData + + for t in ad_hoc_types: + t.resolve_inner(resolve_context) + + @classmethod + def request_user_runtime_cast(cls, request): + raise Exception("Not implemented yet") + + @classmethod + def request_internal_runtime_cast(cls): + if cls.need_internal_runtime_cast_: + return + cls.need_internal_runtime_cast_ = True + cls.resolve_data_.item_type_binding.request_internal_runtime_cast() + + @classmethod + def get_code_generator(array_binding_cls): + + class CodeGenerator: + @staticmethod + def generate_type_builder(writer, generate_context): + ad_hoc_type_writer = writer + + resolve_data = array_binding_cls.resolve_data_ + + for ad_hoc_type in resolve_data.ad_hoc_type_list: + code_generator = ad_hoc_type.get_code_generator() + if code_generator: + code_generator.generate_type_builder(ad_hoc_type_writer, generate_context) + + @staticmethod + def generate_forward_declaration(writer): + pass + + @staticmethod + def register_use(forward_listener): + item_code_generator = item_binding.get_code_generator() + if item_code_generator: + item_code_generator.register_use(forward_listener) + + @staticmethod + def get_generate_pass_id(): + return TypeBuilderPass.MAIN + + return CodeGenerator + + @classmethod + def get_validator_call_text(cls): + return cls.get_array_item_c_type_text() + "::assertCorrectValue" + + @classmethod + def get_array_item_c_type_text(cls): + return replace_right_shift("Inspector::TypeBuilder::Array<%s>" % cls.resolve_data_.item_type_binding.get_array_item_c_type_text()) + + @staticmethod + def get_setter_value_expression_pattern(): + return None + + @staticmethod + def reduce_to_raw_type(): + return RawTypes.Array + + @classmethod + def get_type_model(cls): + return TypeModel.RefPtrBased(cls.get_array_item_c_type_text()) + + return ArrayBinding + else: + # Fall-through to raw type. + pass + + raw_type = RawTypes.get(json_typable["type"]) + + return RawTypeBinding(raw_type) + + +class RawTypeBinding: + def __init__(self, raw_type): + self.raw_type_ = raw_type + + def resolve_inner(self, resolve_context): + pass + + def request_user_runtime_cast(self, request): + raise Exception("Unsupported") + + def request_internal_runtime_cast(self): + self.raw_type_.request_raw_internal_runtime_cast() + + def get_code_generator(self): + return None + + def get_validator_call_text(self): + return self.raw_type_.get_raw_validator_call_text() + + def get_array_item_c_type_text(self): + return self.raw_type_.get_array_item_raw_c_type_text() + + def get_setter_value_expression_pattern(self): + return None + + def reduce_to_raw_type(self): + return self.raw_type_ + + def get_type_model(self): + return self.raw_type_.get_raw_type_model() + + +class TypeData(object): + def __init__(self, json_type, json_domain, domain_data): + self.json_type_ = json_type + self.json_domain_ = json_domain + self.domain_data_ = domain_data + + if "type" not in json_type: + raise Exception("Unknown type") + + json_type_name = json_type["type"] + self.raw_type_ = RawTypes.get(json_type_name) + self.binding_being_resolved_ = False + self.binding_ = None + + def get_raw_type(self): + return self.raw_type_ + + def get_binding(self): + if not self.binding_: + if self.binding_being_resolved_: + raise Exception("Type %s is already being resolved" % self.json_type_["type"]) + # Resolve only lazily, because resolving one named type may require resolving some other named type. + self.binding_being_resolved_ = True + try: + self.binding_ = TypeBindings.create_named_type_declaration(self.json_type_, self.json_domain_["domain"], self) + finally: + self.binding_being_resolved_ = False + + return self.binding_ + + def get_json_type(self): + return self.json_type_ + + def get_name(self): + return self.json_type_["id"] + + def get_domain_name(self): + return self.json_domain_["domain"] + + +class DomainData: + def __init__(self, json_domain): + self.json_domain = json_domain + self.types_ = [] + + def add_type(self, type_data): + self.types_.append(type_data) + + def name(self): + return self.json_domain["domain"] + + def types(self): + return self.types_ + + +class TypeMap: + def __init__(self, api, dependency_api): + self.map_ = {} + self.domains_ = [] + self.domains_to_generate_ = [] + for json_domain in api["domains"]: + self.add_domain(json_domain, True) + for json_domain in dependency_api["domains"]: + self.add_domain(json_domain, False) + + def add_domain(self, json_domain, should_generate): + domain_name = json_domain["domain"] + + domain_map = {} + self.map_[domain_name] = domain_map + + domain_data = DomainData(json_domain) + self.domains_.append(domain_data) + + if should_generate: + # FIXME: The order of types should not matter. The generated code should work regardless of the order of types. + if domain_name == "Page": + self.domains_to_generate_.insert(0, domain_data) + else: + self.domains_to_generate_.append(domain_data) + + if "types" in json_domain: + for json_type in json_domain["types"]: + type_name = json_type["id"] + type_data = TypeData(json_type, json_domain, domain_data) + domain_map[type_name] = type_data + domain_data.add_type(type_data) + + def domains(self): + return self.domains_ + + def domains_to_generate(self): + return self.domains_to_generate_ + + def get(self, domain_name, type_name): + return self.map_[domain_name][type_name] + + +def resolve_param_type(json_parameter, scope_domain_name, ad_hoc_type_context): + if "$ref" in json_parameter: + json_ref = json_parameter["$ref"] + type_data = get_ref_data(json_ref, scope_domain_name) + return type_data.get_binding() + elif "type" in json_parameter: + result = TypeBindings.create_ad_hoc_type_declaration(json_parameter, scope_domain_name, ad_hoc_type_context) + ad_hoc_type_context.add_type(result) + return result + else: + raise Exception("Unknown type") + + +def resolve_param_raw_type(json_parameter, scope_domain_name): + if "$ref" in json_parameter: + json_ref = json_parameter["$ref"] + type_data = get_ref_data(json_ref, scope_domain_name) + return type_data.get_raw_type() + elif "type" in json_parameter: + json_type = json_parameter["type"] + return RawTypes.get(json_type) + else: + raise Exception("Unknown type") + + +def get_ref_data(json_ref, scope_domain_name): + dot_pos = json_ref.find(".") + if dot_pos == -1: + domain_name = scope_domain_name + type_name = json_ref + else: + domain_name = json_ref[:dot_pos] + type_name = json_ref[dot_pos + 1:] + + return type_map.get(domain_name, type_name) + + +input_file = open(input_json_filename, "r") +json_string = input_file.read() +json_api = json.loads(json_string) +input_file.close() +if not "domains" in json_api: + json_api = {"domains": [json_api]} + +dependency_api = {"domains": []} +for dependency_json_filename in dependency_json_filenames: + dependency_input_file = open(dependency_json_filename, "r") + dependency_json_string = dependency_input_file.read() + dependency_json_api = json.loads(dependency_json_string) + dependency_input_file.close() + if not "domains" in dependency_json_api: + dependency_json_api = {"domains": [dependency_json_api]} + dependency_api["domains"] += dependency_json_api["domains"] + + +class Templates: + def get_this_script_path_(absolute_path): + absolute_path = os.path.abspath(absolute_path) + components = [] + + def fill_recursive(path_part, depth): + if depth <= 0 or path_part == '/': + return + fill_recursive(os.path.dirname(path_part), depth - 1) + components.append(os.path.basename(path_part)) + + # Typical path is /Source/WebCore/inspector/CodeGeneratorInspector.py + # Let's take 4 components from the real path then. + fill_recursive(absolute_path, 4) + + return "/".join(components) + + file_header_ = ("// File is generated by %s\n\n" % get_this_script_path_(sys.argv[0]) + +"""// Copyright (c) 2013 Apple Inc. All Rights Reserved. +// Copyright (c) 2011 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. +""") + + frontend_domain_class = string.Template(CodeGeneratorInspectorStrings.frontend_domain_class) + backend_dispatcher_constructor = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_constructor) + backend_dispatcher_dispatch_method = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_dispatch_method) + backend_dispatcher_dispatch_method_simple = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_dispatch_method_simple) + backend_method = string.Template(CodeGeneratorInspectorStrings.backend_method) + frontend_method = string.Template(CodeGeneratorInspectorStrings.frontend_method) + callback_method = string.Template(CodeGeneratorInspectorStrings.callback_method) + frontend_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.frontend_h) + backend_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_h) + backend_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_cpp) + frontend_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.frontend_cpp) + typebuilder_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.typebuilder_h) + typebuilder_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.typebuilder_cpp) + backend_js = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_js) + param_container_access_code = CodeGeneratorInspectorStrings.param_container_access_code + + + + + +type_map = TypeMap(json_api, dependency_api) + + +class NeedRuntimeCastRequest: + def __init__(self): + self.ack_ = None + + def acknowledge(self): + self.ack_ = True + + def is_acknowledged(self): + return self.ack_ + + +def resolve_all_types(): + runtime_cast_generate_requests = {} + for type_name in TYPES_WITH_RUNTIME_CAST_SET: + runtime_cast_generate_requests[type_name] = NeedRuntimeCastRequest() + + class ForwardListener: + type_data_set = set() + already_declared_set = set() + + @classmethod + def add_type_data(cls, type_data): + if type_data not in cls.already_declared_set: + cls.type_data_set.add(type_data) + + class ResolveContext: + forward_listener = ForwardListener + + for domain_data in type_map.domains(): + for type_data in domain_data.types(): + binding = type_data.get_binding() + binding.resolve_inner(ResolveContext) + # Do not generate forwards for this type any longer. + ForwardListener.already_declared_set.add(type_data) + + for domain_data in type_map.domains(): + for type_data in domain_data.types(): + full_type_name = "%s.%s" % (type_data.get_domain_name(), type_data.get_name()) + request = runtime_cast_generate_requests.pop(full_type_name, None) + binding = type_data.get_binding() + if request: + binding.request_user_runtime_cast(request) + + if request and not request.is_acknowledged(): + raise Exception("Failed to generate runtimeCast in " + full_type_name) + + # FIXME: This assumes all the domains are processed at once. Change this verification + # to only verify runtime casts for the domains being generated. + # if verification: + # for full_type_name in runtime_cast_generate_requests: + # raise Exception("Failed to generate runtimeCast. Type " + full_type_name + " not found") + + return ForwardListener + + +global_forward_listener = resolve_all_types() + + +def get_annotated_type_text(raw_type, annotated_type): + if annotated_type != raw_type: + return "/*%s*/ %s" % (annotated_type, raw_type) + else: + return raw_type + + +def format_setter_value_expression(param_type_binding, value_ref): + pattern = param_type_binding.get_setter_value_expression_pattern() + if pattern: + return pattern % (INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["prefix"], value_ref) + else: + return value_ref + + +class Generator: + frontend_domain_class_lines = [] + + backend_method_implementation_list = [] + frontend_method_list = [] + backend_js_domain_initializer_list = [] + + backend_handler_interface_list = [] + backend_handler_implementation_list = [] + backend_dispatcher_interface_list = [] + type_builder_fragments = [] + type_builder_forwards = [] + validator_impl_list = [] + type_builder_impl_list = [] + + + @staticmethod + def go(): + Generator.process_types(type_map) + + first_cycle_guardable_list_list = [ + Generator.backend_method_implementation_list, + Generator.backend_handler_interface_list, + Generator.backend_handler_implementation_list, + Generator.backend_dispatcher_interface_list] + + for json_domain in json_api["domains"]: + domain_name = json_domain["domain"] + domain_name_lower = domain_name.lower() + + domain_fixes = DomainNameFixes.get_fixed_data(domain_name) + + domain_guard = domain_fixes.get_guard() + + if domain_guard: + for l in first_cycle_guardable_list_list: + domain_guard.generate_open(l) + + frontend_method_declaration_lines = [] + + if ("commands" in json_domain or "events" in json_domain): + Generator.backend_js_domain_initializer_list.append("// %s.\n" % domain_name) + if not domain_fixes.skip_js_bind: + Generator.backend_js_domain_initializer_list.append("InspectorBackend.register%sDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, \"%s\");\n" % (domain_name, domain_name)) + + if "types" in json_domain: + for json_type in json_domain["types"]: + if "type" in json_type and json_type["type"] == "string" and "enum" in json_type: + enum_name = "%s.%s" % (domain_name, json_type["id"]) + Generator.process_enum(json_type, enum_name) + elif json_type["type"] == "object": + if "properties" in json_type: + for json_property in json_type["properties"]: + if "type" in json_property and json_property["type"] == "string" and "enum" in json_property: + enum_name = "%s.%s%s" % (domain_name, json_type["id"], to_title_case(json_property["name"])) + Generator.process_enum(json_property, enum_name) + + if "events" in json_domain: + if domain_guard: + domain_guard.generate_open(Generator.frontend_method_list) + domain_guard.generate_open(Generator.frontend_domain_class_lines) + + for json_event in json_domain["events"]: + Generator.process_event(json_event, domain_name, frontend_method_declaration_lines) + + Generator.frontend_domain_class_lines.append(Templates.frontend_domain_class.substitute(None, + exportMacro=INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["export_macro"], + domainClassName="Inspector%sFrontendDispatcher" % domain_name, + frontendDomainMethodDeclarations="".join(flatten_list(frontend_method_declaration_lines)))) + + if domain_guard: + domain_guard.generate_close(Generator.frontend_method_list) + domain_guard.generate_close(Generator.frontend_domain_class_lines) + + dispatcher_name = "Inspector" + Capitalizer.lower_camel_case_to_upper(domain_name) + "BackendDispatcher" + agent_interface_name = dispatcher_name + "Handler" + + if "commands" in json_domain: + Generator.backend_dispatcher_interface_list.append("class %s %s final : public Inspector::InspectorSupplementalBackendDispatcher {\n" % (INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["export_macro"], dispatcher_name)) + Generator.backend_dispatcher_interface_list.append("public:\n") + Generator.backend_dispatcher_interface_list.append(" static PassRefPtr<%s> create(Inspector::InspectorBackendDispatcher*, %s*);\n" % (dispatcher_name, agent_interface_name)) + Generator.backend_dispatcher_interface_list.append(" virtual void dispatch(long callId, const String& method, PassRefPtr<Inspector::InspectorObject> message) override;\n") + Generator.backend_dispatcher_interface_list.append("private:\n") + + Generator.backend_handler_interface_list.append("class %s %s {\n" % (INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["export_macro"], agent_interface_name)) + Generator.backend_handler_interface_list.append("public:\n") + + backend_method_count = len(Generator.backend_method_implementation_list) + + dispatcher_if_chain = [] + dispatcher_commands_list = [] + for json_command in json_domain["commands"]: + Generator.process_command(json_command, domain_name, agent_interface_name, dispatcher_name, dispatcher_if_chain, dispatcher_commands_list) + + Generator.backend_handler_interface_list.append("protected:\n") + Generator.backend_handler_interface_list.append(" virtual ~%s();\n" % agent_interface_name) + Generator.backend_handler_interface_list.append("};\n\n") + + Generator.backend_handler_implementation_list.append("%s::~%s() { }\n" % (agent_interface_name, agent_interface_name)) + + Generator.backend_dispatcher_interface_list.append("private:\n") + Generator.backend_dispatcher_interface_list.append(" %s(Inspector::InspectorBackendDispatcher*, %s*);\n" % (dispatcher_name, agent_interface_name)) + Generator.backend_dispatcher_interface_list.append(" %s* m_agent;\n" % agent_interface_name) + Generator.backend_dispatcher_interface_list.append("};\n\n") + + Generator.backend_method_implementation_list.insert(backend_method_count, Templates.backend_dispatcher_constructor.substitute(None, + domainName=domain_name, + dispatcherName=dispatcher_name, + agentName=agent_interface_name)) + + if len(json_domain["commands"]) <= 5: + Generator.backend_method_implementation_list.insert(backend_method_count + 1, Templates.backend_dispatcher_dispatch_method_simple.substitute(None, + domainName=domain_name, + dispatcherName=dispatcher_name, + ifChain="\n".join(dispatcher_if_chain))) + else: + Generator.backend_method_implementation_list.insert(backend_method_count + 1, Templates.backend_dispatcher_dispatch_method.substitute(None, + domainName=domain_name, + dispatcherName=dispatcher_name, + dispatcherCommands="\n".join(dispatcher_commands_list))) + + if domain_guard: + for l in reversed(first_cycle_guardable_list_list): + domain_guard.generate_close(l) + Generator.backend_js_domain_initializer_list.append("\n") + + @staticmethod + def process_enum(json_enum, enum_name): + enum_members = [] + for member in json_enum["enum"]: + enum_members.append("%s: \"%s\"" % (fix_camel_case(member), member)) + + Generator.backend_js_domain_initializer_list.append("InspectorBackend.registerEnum(\"%s\", {%s});\n" % ( + enum_name, ", ".join(enum_members))) + + @staticmethod + def process_event(json_event, domain_name, frontend_method_declaration_lines): + event_name = json_event["name"] + + ad_hoc_type_output = [] + frontend_method_declaration_lines.append(ad_hoc_type_output) + ad_hoc_type_writer = Writer(ad_hoc_type_output, " ") + + decl_parameter_list = [] + + json_parameters = json_event.get("parameters") + Generator.generate_send_method(json_parameters, event_name, domain_name, ad_hoc_type_writer, + decl_parameter_list, + Generator.EventMethodStructTemplate, + Generator.frontend_method_list, Templates.frontend_method, {"eventName": event_name}) + + backend_js_event_param_list = [] + if json_parameters: + for parameter in json_parameters: + parameter_name = parameter["name"] + backend_js_event_param_list.append("\"%s\"" % parameter_name) + + frontend_method_declaration_lines.append( + " void %s(%s);\n" % (event_name, ", ".join(decl_parameter_list))) + + Generator.backend_js_domain_initializer_list.append("InspectorBackend.registerEvent(\"%s.%s\", [%s]);\n" % ( + domain_name, event_name, ", ".join(backend_js_event_param_list))) + + class EventMethodStructTemplate: + @staticmethod + def append_prolog(line_list): + line_list.append(" RefPtr<InspectorObject> paramsObject = InspectorObject::create();\n") + + @staticmethod + def append_epilog(line_list): + line_list.append(" jsonMessage->setObject(ASCIILiteral(\"params\"), paramsObject);\n") + + container_name = "paramsObject" + + @staticmethod + def process_command(json_command, domain_name, agent_interface_name, dispatcher_name, dispatcher_if_chain, dispatcher_commands_list): + json_command_name = json_command["name"] + + ad_hoc_type_output = [] + Generator.backend_handler_interface_list.append(ad_hoc_type_output) + ad_hoc_type_writer = Writer(ad_hoc_type_output, " ") + + Generator.backend_dispatcher_interface_list.append(" void %s(long callId, const Inspector::InspectorObject& message);\n" % json_command_name) + + Generator.backend_handler_interface_list.append(" virtual void %s(ErrorString*" % json_command_name) + + if not dispatcher_if_chain: + dispatcher_if_chain.append(" if (method == \"%s\")" % json_command_name) + else: + dispatcher_if_chain.append(" else if (method == \"%s\")" % json_command_name) + dispatcher_if_chain.append(" %s(callId, *message.get());" % json_command_name) + dispatcher_commands_list.append(" { \"%s\", &%s::%s }," % (json_command_name, dispatcher_name, json_command_name)) + + method_in_params_handling = [] + method_dispatch_handling = [] + method_out_params_handling = [] + method_ending_handling = [] + method_request_message_param_name = "" + agent_call_param_list = [] + js_parameters_text = "" + if "parameters" in json_command: + json_params = json_command["parameters"] + method_request_message_param_name = " message" + method_in_params_handling.append(" RefPtr<InspectorArray> protocolErrors = InspectorArray::create();\n") + method_in_params_handling.append(" RefPtr<InspectorObject> paramsContainer = message.getObject(ASCIILiteral(\"params\"));\n") + method_in_params_handling.append(" InspectorObject* paramsContainerPtr = paramsContainer.get();\n") + method_in_params_handling.append(" InspectorArray* protocolErrorsPtr = protocolErrors.get();\n") + js_param_list = [] + + for json_parameter in json_params: + json_param_name = json_parameter["name"] + param_raw_type = resolve_param_raw_type(json_parameter, domain_name) + + getter_name = param_raw_type.get_getter_name() + + optional = json_parameter.get("optional") + + non_optional_type_model = param_raw_type.get_raw_type_model() + if optional: + type_model = non_optional_type_model.get_optional() + else: + type_model = non_optional_type_model + + if optional: + code = (" bool %s_valueFound = false;\n" + " %s in_%s = InspectorBackendDispatcher::get%s(paramsContainerPtr, ASCIILiteral(\"%s\"), &%s_valueFound, protocolErrorsPtr);\n" % + (json_param_name, non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name, getter_name, json_param_name, json_param_name)) + param = ", %s_valueFound ? &in_%s : nullptr" % (json_param_name, json_param_name) + # FIXME: pass optional refptr-values as PassRefPtr + formal_param_type_pattern = "const %s*" + else: + code = (" %s in_%s = InspectorBackendDispatcher::get%s(paramsContainerPtr, ASCIILiteral(\"%s\"), nullptr, protocolErrorsPtr);\n" % + (non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name, getter_name, json_param_name)) + param = ", in_%s" % json_param_name + # FIXME: pass not-optional refptr-values as NonNullPassRefPtr + if param_raw_type.is_heavy_value(): + formal_param_type_pattern = "const %s&" + else: + formal_param_type_pattern = "%s" + + method_in_params_handling.append(code) + agent_call_param_list.append(param) + Generator.backend_handler_interface_list.append(", %s in_%s" % (formal_param_type_pattern % non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name)) + + js_bind_type = param_raw_type.get_js_bind_type() + js_param_text = "{\"name\": \"%s\", \"type\": \"%s\", \"optional\": %s}" % ( + json_param_name, + js_bind_type, + ("true" if ("optional" in json_parameter and json_parameter["optional"]) else "false")) + + js_param_list.append(js_param_text) + + method_in_params_handling.append(" if (protocolErrors->length()) {\n") + method_in_params_handling.append(" String errorMessage = String::format(\"Some arguments of method '%%s' can't be processed\", \"%s.%s\");\n" % (domain_name, json_command_name)) + method_in_params_handling.append(" m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());\n") + method_in_params_handling.append(" return;\n") + method_in_params_handling.append(" }\n") + method_in_params_handling.append("\n") + + js_parameters_text = ", ".join(js_param_list) + + method_dispatch_handling.append(" ErrorString error;\n") + method_dispatch_handling.append(" RefPtr<InspectorObject> result = InspectorObject::create();\n") + + if json_command.get("async") == True: + callback_name = Capitalizer.lower_camel_case_to_upper(json_command_name) + "Callback" + + callback_output = [] + callback_writer = Writer(callback_output, ad_hoc_type_writer.get_indent()) + + decl_parameter_list = [] + Generator.generate_send_method(json_command.get("returns"), json_command_name, domain_name, ad_hoc_type_writer, + decl_parameter_list, + Generator.CallbackMethodStructTemplate, + Generator.backend_method_implementation_list, Templates.callback_method, + {"callbackName": callback_name, "handlerName": agent_interface_name}) + + callback_writer.newline("class " + callback_name + " : public Inspector::InspectorBackendDispatcher::CallbackBase {\n") + callback_writer.newline("public:\n") + callback_writer.newline(" " + callback_name + "(PassRefPtr<Inspector::InspectorBackendDispatcher>, int id);\n") + callback_writer.newline(" void sendSuccess(" + ", ".join(decl_parameter_list) + ");\n") + callback_writer.newline("};\n") + + ad_hoc_type_output.append(callback_output) + + method_dispatch_handling.append(" RefPtr<%s::%s> callback = adoptRef(new %s::%s(m_backendDispatcher,callId));\n" % (agent_interface_name, callback_name, agent_interface_name, callback_name)) + method_ending_handling.append(" if (error.length()) {\n") + method_ending_handling.append(" callback->disable();\n") + method_ending_handling.append(" m_backendDispatcher->reportProtocolError(&callId, Inspector::InspectorBackendDispatcher::ServerError, error);\n") + method_ending_handling.append(" return;\n") + method_ending_handling.append(" }") + + agent_call_param_list.append(", callback") + Generator.backend_handler_interface_list.append(", PassRefPtr<%s> callback" % callback_name) + elif "returns" in json_command: + has_multiple_returns = len(json_command["returns"]) > 1 + if has_multiple_returns: + method_out_params_handling.append(" if (!error.length()) {\n") + else: + method_out_params_handling.append(" if (!error.length())\n") + + for json_return in json_command["returns"]: + + json_return_name = json_return["name"] + + optional = bool(json_return.get("optional")) + + return_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_return, json_command_name, domain_name, ad_hoc_type_writer, agent_interface_name + "::") + + raw_type = return_type_binding.reduce_to_raw_type() + setter_type = raw_type.get_setter_name() + initializer = raw_type.get_c_initializer() + + type_model = return_type_binding.get_type_model() + if optional: + type_model = type_model.get_optional() + + code = " %s out_%s;\n" % (type_model.get_command_return_pass_model().get_return_var_type(), json_return_name) + param = ", %sout_%s" % (type_model.get_command_return_pass_model().get_output_argument_prefix(), json_return_name) + var_name = "out_%s" % json_return_name + setter_argument = type_model.get_command_return_pass_model().get_output_to_raw_expression() % var_name + if return_type_binding.get_setter_value_expression_pattern(): + setter_argument = return_type_binding.get_setter_value_expression_pattern() % (INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["prefix"], setter_argument) + + cook = " result->set%s(ASCIILiteral(\"%s\"), %s);\n" % (setter_type, json_return_name, setter_argument) + + set_condition_pattern = type_model.get_command_return_pass_model().get_set_return_condition() + if set_condition_pattern: + cook = (" if (%s)\n " % (set_condition_pattern % var_name)) + cook + annotated_type = type_model.get_command_return_pass_model().get_output_parameter_type() + + param_name = "out_%s" % json_return_name + if optional: + param_name = "opt_" + param_name + + Generator.backend_handler_interface_list.append(", %s %s" % (annotated_type, param_name)) + method_out_params_handling.append(cook) + method_dispatch_handling.append(code) + + agent_call_param_list.append(param) + + if has_multiple_returns: + method_out_params_handling.append(" }\n") + method_out_params_handling.append("\n") + + method_dispatch_handling.append(" m_agent->%s(&error%s);\n" % (json_command_name, "".join(agent_call_param_list))) + method_dispatch_handling.append("\n") + + if not method_ending_handling: + method_ending_handling.append(" m_backendDispatcher->sendResponse(callId, result.release(), error);") + + backend_js_reply_param_list = [] + if "returns" in json_command: + for json_return in json_command["returns"]: + json_return_name = json_return["name"] + backend_js_reply_param_list.append("\"%s\"" % json_return_name) + + js_reply_list = "[%s]" % ", ".join(backend_js_reply_param_list) + + Generator.backend_method_implementation_list.append(Templates.backend_method.substitute(None, + dispatcherName=dispatcher_name, + methodName=json_command_name, + requestMessageObject=method_request_message_param_name, + methodInParametersHandling="".join(method_in_params_handling), + methodDispatchHandling="".join(method_dispatch_handling), + methodOutParametersHandling="".join(method_out_params_handling), + methodEndingHandling="".join(method_ending_handling))) + + Generator.backend_js_domain_initializer_list.append("InspectorBackend.registerCommand(\"%s.%s\", [%s], %s);\n" % (domain_name, json_command_name, js_parameters_text, js_reply_list)) + Generator.backend_handler_interface_list.append(") = 0;\n") + + class CallbackMethodStructTemplate: + @staticmethod + def append_prolog(line_list): + pass + + @staticmethod + def append_epilog(line_list): + pass + + container_name = "jsonMessage" + + # Generates common code for event sending and callback response data sending. + @staticmethod + def generate_send_method(parameters, event_name, domain_name, ad_hoc_type_writer, decl_parameter_list, + method_struct_template, + generator_method_list, method_template, template_params): + method_line_list = [] + if parameters: + method_struct_template.append_prolog(method_line_list) + for json_parameter in parameters: + parameter_name = json_parameter["name"] + + param_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_parameter, event_name, domain_name, ad_hoc_type_writer, "") + + raw_type = param_type_binding.reduce_to_raw_type() + raw_type_binding = RawTypeBinding(raw_type) + + optional = bool(json_parameter.get("optional")) + + setter_type = raw_type.get_setter_name() + + type_model = param_type_binding.get_type_model() + raw_type_model = raw_type_binding.get_type_model() + if optional: + type_model = type_model.get_optional() + raw_type_model = raw_type_model.get_optional() + + annotated_type = type_model.get_input_param_type_text() + mode_type_binding = param_type_binding + + decl_parameter_list.append("%s %s" % (annotated_type, parameter_name)) + + setter_argument = raw_type_model.get_event_setter_expression_pattern() % parameter_name + if mode_type_binding.get_setter_value_expression_pattern(): + setter_argument = mode_type_binding.get_setter_value_expression_pattern() % (INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["prefix"], setter_argument) + + setter_code = " %s->set%s(ASCIILiteral(\"%s\"), %s);\n" % (method_struct_template.container_name, setter_type, parameter_name, setter_argument) + if optional: + setter_code = (" if (%s)\n " % parameter_name) + setter_code + method_line_list.append(setter_code) + + method_struct_template.append_epilog(method_line_list) + + generator_method_list.append(method_template.substitute(None, + domainName=domain_name, + parameters=", ".join(decl_parameter_list), + code="".join(method_line_list), **template_params)) + + @staticmethod + def resolve_type_and_generate_ad_hoc(json_param, method_name, domain_name, ad_hoc_type_writer, container_relative_name_prefix_param): + param_name = json_param["name"] + ad_hoc_type_list = [] + + class AdHocTypeContext: + container_full_name_prefix = "<not yet defined>" + container_relative_name_prefix = container_relative_name_prefix_param + + @staticmethod + def get_type_name_fix(): + class NameFix: + class_name = Capitalizer.lower_camel_case_to_upper(param_name) + + @staticmethod + def output_comment(writer): + writer.newline("// Named after parameter '%s' while generating command/event %s.\n" % (param_name, method_name)) + + return NameFix + + @staticmethod + def add_type(binding): + ad_hoc_type_list.append(binding) + + type_binding = resolve_param_type(json_param, domain_name, AdHocTypeContext) + + class InterfaceForwardListener: + @staticmethod + def add_type_data(type_data): + pass + + class InterfaceResolveContext: + forward_listener = InterfaceForwardListener + + for type in ad_hoc_type_list: + type.resolve_inner(InterfaceResolveContext) + + class InterfaceGenerateContext: + validator_writer = "not supported in InterfaceGenerateContext" + cpp_writer = validator_writer + + for type in ad_hoc_type_list: + generator = type.get_code_generator() + if generator: + generator.generate_type_builder(ad_hoc_type_writer, InterfaceGenerateContext) + + return type_binding + + @staticmethod + def process_types(type_map): + output = Generator.type_builder_fragments + + class GenerateContext: + validator_writer = Writer(Generator.validator_impl_list, "") + cpp_writer = Writer(Generator.type_builder_impl_list, "") + + def generate_all_domains_code(out, type_data_callback): + writer = Writer(out, "") + for domain_data in type_map.domains_to_generate(): + domain_fixes = DomainNameFixes.get_fixed_data(domain_data.name()) + domain_guard = domain_fixes.get_guard() + + namespace_declared = [] + + def namespace_lazy_generator(): + if not namespace_declared: + if domain_guard: + domain_guard.generate_open(out) + writer.newline("namespace ") + writer.append(domain_data.name()) + writer.append(" {\n") + # What is a better way to change value from outer scope? + namespace_declared.append(True) + return writer + + for type_data in domain_data.types(): + type_data_callback(type_data, namespace_lazy_generator) + + if namespace_declared: + writer.append("} // ") + writer.append(domain_data.name()) + writer.append("\n\n") + + if domain_guard: + domain_guard.generate_close(out) + + def create_type_builder_caller(generate_pass_id): + def call_type_builder(type_data, writer_getter): + code_generator = type_data.get_binding().get_code_generator() + if code_generator and generate_pass_id == code_generator.get_generate_pass_id(): + writer = writer_getter() + + code_generator.generate_type_builder(writer, GenerateContext) + return call_type_builder + + generate_all_domains_code(output, create_type_builder_caller(TypeBuilderPass.MAIN)) + + Generator.type_builder_forwards.append("// Forward declarations.\n") + + def generate_forward_callback(type_data, writer_getter): + if type_data in global_forward_listener.type_data_set: + binding = type_data.get_binding() + binding.get_code_generator().generate_forward_declaration(writer_getter()) + generate_all_domains_code(Generator.type_builder_forwards, generate_forward_callback) + + Generator.type_builder_forwards.append("// End of forward declarations.\n\n") + + Generator.type_builder_forwards.append("// Typedefs.\n") + + generate_all_domains_code(Generator.type_builder_forwards, create_type_builder_caller(TypeBuilderPass.TYPEDEF)) + + Generator.type_builder_forwards.append("// End of typedefs.\n\n") + + +def flatten_list(input): + res = [] + + def fill_recursive(l): + for item in l: + if isinstance(item, list): + fill_recursive(item) + else: + res.append(item) + fill_recursive(input) + return res + + +# A writer that only updates file if it actually changed to better support incremental build. +class SmartOutput: + def __init__(self, file_name): + self.file_name_ = file_name + self.output_ = "" + + def write(self, text): + self.output_ += text + + def close(self): + text_changed = True + self.output_ = self.output_.rstrip() + "\n" + + try: + read_file = open(self.file_name_, "r") + old_text = read_file.read() + read_file.close() + text_changed = old_text != self.output_ + except: + # Ignore, just overwrite by default + pass + + if text_changed or write_always: + out_file = open(self.file_name_, "w") + out_file.write(self.output_) + out_file.close() + + +Generator.go() + +output_file_name_prefix = INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["prefix"] + +backend_h_file = SmartOutput(output_header_dirname + ("/Inspector%sBackendDispatchers.h" % output_file_name_prefix)) +backend_cpp_file = SmartOutput(output_cpp_dirname + ("/Inspector%sBackendDispatchers.cpp" % output_file_name_prefix)) + +frontend_h_file = SmartOutput(output_header_dirname + ("/Inspector%sFrontendDispatchers.h" % output_file_name_prefix)) +frontend_cpp_file = SmartOutput(output_cpp_dirname + ("/Inspector%sFrontendDispatchers.cpp" % output_file_name_prefix)) + +typebuilder_h_file = SmartOutput(output_header_dirname + ("/Inspector%sTypeBuilders.h" % output_file_name_prefix)) +typebuilder_cpp_file = SmartOutput(output_cpp_dirname + ("/Inspector%sTypeBuilders.cpp" % output_file_name_prefix)) + +backend_js_file = SmartOutput(output_js_dirname + ("/Inspector%sBackendCommands.js" % output_file_name_prefix)) + + +backend_h_file.write(Templates.backend_h.substitute(None, + outputFileNamePrefix=output_file_name_prefix, + handlerInterfaces="".join(flatten_list(Generator.backend_handler_interface_list)), + dispatcherInterfaces="".join(flatten_list(Generator.backend_dispatcher_interface_list)))) + +backend_cpp_file.write(Templates.backend_cpp.substitute(None, + outputFileNamePrefix=output_file_name_prefix, + handlerImplementations="".join(flatten_list(Generator.backend_handler_implementation_list)), + methods="\n".join(Generator.backend_method_implementation_list))) + +frontend_h_file.write(Templates.frontend_h.substitute(None, + outputFileNamePrefix=output_file_name_prefix, + domainClassList="".join(Generator.frontend_domain_class_lines))) + +frontend_cpp_file.write(Templates.frontend_cpp.substitute(None, + outputFileNamePrefix=output_file_name_prefix, + methods="\n".join(Generator.frontend_method_list))) + +typebuilder_h_file.write(Templates.typebuilder_h.substitute(None, + outputFileNamePrefix=output_file_name_prefix, + typeBuilderDependencies=INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["typebuilder_dependency"], + exportMacro=INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type]["export_macro"], + typeBuilders="".join(flatten_list(Generator.type_builder_fragments)), + forwards="".join(Generator.type_builder_forwards), + validatorIfdefName=VALIDATOR_IFDEF_NAME)) + +typebuilder_cpp_file.write(Templates.typebuilder_cpp.substitute(None, + outputFileNamePrefix=output_file_name_prefix, + enumConstantValues=EnumConstants.get_enum_constant_code(), + implCode="".join(flatten_list(Generator.type_builder_impl_list)), + validatorCode="".join(flatten_list(Generator.validator_impl_list)), + validatorIfdefName=VALIDATOR_IFDEF_NAME)) + +backend_js_file.write(Templates.backend_js.substitute(None, + domainInitializers="".join(Generator.backend_js_domain_initializer_list))) + +backend_h_file.close() +backend_cpp_file.close() + +frontend_h_file.close() +frontend_cpp_file.close() + +typebuilder_h_file.close() +typebuilder_cpp_file.close() + +backend_js_file.close() diff --git a/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspectorStrings.py b/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspectorStrings.py new file mode 100644 index 000000000..8de2cb0fa --- /dev/null +++ b/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspectorStrings.py @@ -0,0 +1,342 @@ +# Copyright (c) 2013 Google Inc. All rights reserved. +# Copyright (c) 2013 Apple Inc. All Rights Reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# This file contains string resources for CodeGeneratorInspector. +# Its syntax is a Python syntax subset, suitable for manual parsing. + +frontend_domain_class = ( +"""class ${exportMacro} ${domainClassName} { +public: + ${domainClassName}(InspectorFrontendChannel* inspectorFrontendChannel) : m_inspectorFrontendChannel(inspectorFrontendChannel) { } +${frontendDomainMethodDeclarations}private: + InspectorFrontendChannel* m_inspectorFrontendChannel; +}; + +""") + +backend_dispatcher_constructor = ( +"""PassRefPtr<${dispatcherName}> ${dispatcherName}::create(InspectorBackendDispatcher* backendDispatcher, ${agentName}* agent) +{ + return adoptRef(new ${dispatcherName}(backendDispatcher, agent)); +} + +${dispatcherName}::${dispatcherName}(InspectorBackendDispatcher* backendDispatcher, ${agentName}* agent) + : InspectorSupplementalBackendDispatcher(backendDispatcher) + , m_agent(agent) +{ + m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("${domainName}"), this); +} +""") + +backend_dispatcher_dispatch_method_simple = ( +"""void ${dispatcherName}::dispatch(long callId, const String& method, PassRefPtr<InspectorObject> message) +{ + Ref<${dispatcherName}> protect(*this); + +${ifChain} + else + m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::MethodNotFound, String("'") + "${domainName}" + '.' + method + "' was not found"); +} +""") + +backend_dispatcher_dispatch_method = ( +"""void ${dispatcherName}::dispatch(long callId, const String& method, PassRefPtr<InspectorObject> message) +{ + Ref<${dispatcherName}> protect(*this); + + typedef void (${dispatcherName}::*CallHandler)(long callId, const Inspector::InspectorObject& message); + typedef HashMap<String, CallHandler> DispatchMap; + DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, ()); + if (dispatchMap.isEmpty()) { + static const struct MethodTable { + const char* name; + CallHandler handler; + } commands[] = { +${dispatcherCommands} + }; + size_t length = WTF_ARRAY_LENGTH(commands); + for (size_t i = 0; i < length; ++i) + dispatchMap.add(commands[i].name, commands[i].handler); + } + + HashMap<String, CallHandler>::iterator it = dispatchMap.find(method); + if (it == dispatchMap.end()) { + m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::MethodNotFound, String("'") + "${domainName}" + '.' + method + "' was not found"); + return; + } + + ((*this).*it->value)(callId, *message.get()); +} +""") + +backend_method = ( +"""void ${dispatcherName}::${methodName}(long callId, const InspectorObject&${requestMessageObject}) +{ +${methodInParametersHandling}${methodDispatchHandling}${methodOutParametersHandling}${methodEndingHandling} +} +""") + +frontend_method = ("""void Inspector${domainName}FrontendDispatcher::${eventName}(${parameters}) +{ + RefPtr<InspectorObject> jsonMessage = InspectorObject::create(); + jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("${domainName}.${eventName}")); +${code} + m_inspectorFrontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); +} +""") + +callback_method = ( +"""${handlerName}::${callbackName}::${callbackName}(PassRefPtr<InspectorBackendDispatcher> backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { } + +void ${handlerName}::${callbackName}::sendSuccess(${parameters}) +{ + RefPtr<InspectorObject> jsonMessage = InspectorObject::create(); +${code} sendIfActive(jsonMessage, ErrorString()); +} +""") + +frontend_h = ( +"""#ifndef Inspector${outputFileNamePrefix}FrontendDispatchers_h +#define Inspector${outputFileNamePrefix}FrontendDispatchers_h + +#include "Inspector${outputFileNamePrefix}TypeBuilders.h" +#include <inspector/InspectorFrontendChannel.h> +#include <inspector/InspectorValues.h> +#include <wtf/PassRefPtr.h> +#include <wtf/text/WTFString.h> + +namespace Inspector { + +#if ENABLE(INSPECTOR) + +${domainClassList} + +#endif // ENABLE(INSPECTOR) + +} // namespace Inspector + +#endif // !defined(Inspector${outputFileNamePrefix}FrontendDispatchers_h) +""") + +backend_h = ( +"""#ifndef Inspector${outputFileNamePrefix}BackendDispatchers_h +#define Inspector${outputFileNamePrefix}BackendDispatchers_h + +#include "Inspector${outputFileNamePrefix}TypeBuilders.h" +#include <inspector/InspectorBackendDispatcher.h> +#include <wtf/PassRefPtr.h> +#include <wtf/text/WTFString.h> + +namespace Inspector { + +typedef String ErrorString; + +${handlerInterfaces} + +${dispatcherInterfaces} +} // namespace Inspector + +#endif // !defined(Inspector${outputFileNamePrefix}BackendDispatchers_h) +""") + +backend_cpp = ( +""" +#include "config.h" +#include "Inspector${outputFileNamePrefix}BackendDispatchers.h" + +#if ENABLE(INSPECTOR) + +#include <inspector/InspectorFrontendChannel.h> +#include <inspector/InspectorValues.h> +#include <wtf/text/CString.h> +#include <wtf/text/WTFString.h> + +namespace Inspector { + +${handlerImplementations} + +${methods} +} // namespace Inspector + +#endif // ENABLE(INSPECTOR) +""") + +frontend_cpp = ( +""" + +#include "config.h" +#include "Inspector${outputFileNamePrefix}FrontendDispatchers.h" + +#if ENABLE(INSPECTOR) + +#include <wtf/text/CString.h> +#include <wtf/text/WTFString.h> + +namespace Inspector { + +${methods} + +} // namespace Inspector + +#endif // ENABLE(INSPECTOR) +""") + +typebuilder_h = ( +""" +#ifndef Inspector${outputFileNamePrefix}TypeBuilders_h +#define Inspector${outputFileNamePrefix}TypeBuilders_h + +#if ENABLE(INSPECTOR) + +#include <inspector/InspectorTypeBuilder.h> +${typeBuilderDependencies} +#include <wtf/Assertions.h> +#include <wtf/PassRefPtr.h> + +namespace Inspector { + +namespace TypeBuilder { + +${forwards} + +${exportMacro} String get${outputFileNamePrefix}EnumConstantValue(int code); + +${typeBuilders} +} // namespace TypeBuilder + +} // namespace Inspector + +#endif // ENABLE(INSPECTOR) + +#endif // !defined(Inspector${outputFileNamePrefix}TypeBuilders_h) + +""") + +typebuilder_cpp = ( +""" + +#include "config.h" +#include "Inspector${outputFileNamePrefix}TypeBuilders.h" + +#if ENABLE(INSPECTOR) + +#include <wtf/text/CString.h> + +namespace Inspector { + +namespace TypeBuilder { + +static const char* const enum_constant_values[] = { +${enumConstantValues}}; + +String get${outputFileNamePrefix}EnumConstantValue(int code) { + return enum_constant_values[code]; +} + +} // namespace TypeBuilder + +${implCode} + +#if ${validatorIfdefName} + +${validatorCode} + +#endif // ${validatorIfdefName} + +} // namespace Inspector + +#endif // ENABLE(INSPECTOR) +""") + +backend_js = ( +""" + +${domainInitializers} +""") + +param_container_access_code = """ + RefPtr<InspectorObject> paramsContainer = message.getObject("params"); + InspectorObject* paramsContainerPtr = paramsContainer.get(); + InspectorArray* protocolErrorsPtr = protocolErrors.get(); +""" + +class_binding_builder_part_1 = ( +""" AllFieldsSet = %s + }; + + template<int STATE> + class Builder { + private: + RefPtr<Inspector::InspectorObject> m_result; + + template<int STEP> Builder<STATE | STEP>& castState() + { + return *reinterpret_cast<Builder<STATE | STEP>*>(this); + } + + Builder(PassRefPtr</*%s*/Inspector::InspectorObject> ptr) + { + COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); + m_result = ptr; + } + friend class %s; + public: +""") + +class_binding_builder_part_2 = (""" + Builder<STATE | %s>& set%s(%s value) + { + COMPILE_ASSERT(!(STATE & %s), property_%s_already_set); + m_result->set%s(ASCIILiteral("%s"), %s); + return castState<%s>(); + } +""") + +class_binding_builder_part_3 = (""" + operator RefPtr<%s>& () + { + COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); + COMPILE_ASSERT(sizeof(%s) == sizeof(Inspector::InspectorObject), cannot_cast); + return *reinterpret_cast<RefPtr<%s>*>(&m_result); + } + + PassRefPtr<%s> release() + { + return RefPtr<%s>(*this).release(); + } + }; + +""") + +class_binding_builder_part_4 = ( +""" static Builder<NoFieldsSet> create() + { + return Builder<NoFieldsSet>(Inspector::InspectorObject::create()); + } +""") diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/__init__.py b/Source/JavaScriptCore/inspector/scripts/codegen/__init__.py deleted file mode 100644 index 6077fa97a..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -# Required for Python to search this directory for module files - -from models import * -from generator import * -from cpp_generator import * -from objc_generator import * - -from generate_cpp_alternate_backend_dispatcher_header import * -from generate_cpp_backend_dispatcher_header import * -from generate_cpp_backend_dispatcher_implementation import * -from generate_cpp_frontend_dispatcher_header import * -from generate_cpp_frontend_dispatcher_implementation import * -from generate_cpp_protocol_types_header import * -from generate_cpp_protocol_types_implementation import * -from generate_js_backend_commands import * -from generate_objc_backend_dispatcher_header import * -from generate_objc_backend_dispatcher_implementation import * -from generate_objc_configuration_header import * -from generate_objc_configuration_implementation import * -from generate_objc_conversion_helpers import * -from generate_objc_frontend_dispatcher_implementation import * -from generate_objc_header import * -from generate_objc_internal_header import * -from generate_objc_protocol_types_implementation import * diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py b/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py deleted file mode 100644 index edd330da4..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py +++ /dev/null @@ -1,314 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import os.path -import re - -from generator import ucfirst -from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks - -log = logging.getLogger('global') - -_PRIMITIVE_TO_CPP_NAME_MAP = { - 'boolean': 'bool', - 'integer': 'int', - 'number': 'double', - 'string': 'String', - 'object': 'Inspector::InspectorObject', - 'array': 'Inspector::InspectorArray', - 'any': 'Inspector::InspectorValue' -} - -# This class contains extra static methods used for generation, but does -# not participate in any inheritance hierarchy. File generators should -# extend the generic "Generator" class instead. -class CppGenerator: - - # Miscellaneous text manipulation routines. - @staticmethod - def cpp_getter_method_for_type(_type): - if isinstance(_type, ObjectType): - return 'getObject' - if isinstance(_type, ArrayType): - return 'getArray' - if isinstance(_type, PrimitiveType): - if _type.raw_name() is 'integer': - return 'getInteger' - elif _type.raw_name() is 'number': - return 'getDouble' - elif _type.raw_name() is 'any': - return 'getValue' - else: - return 'get' + ucfirst(_type.raw_name()) - if isinstance(_type, AliasedType): - return CppGenerator.cpp_getter_method_for_type(_type.aliased_type) - if isinstance(_type, EnumType): - return CppGenerator.cpp_getter_method_for_type(_type.primitive_type) - - @staticmethod - def cpp_setter_method_for_type(_type): - if isinstance(_type, ObjectType): - return 'setObject' - if isinstance(_type, ArrayType): - return 'setArray' - if isinstance(_type, PrimitiveType): - if _type.raw_name() is 'integer': - return 'setInteger' - elif _type.raw_name() is 'number': - return 'setDouble' - elif _type.raw_name() is 'any': - return 'setValue' - else: - return 'set' + ucfirst(_type.raw_name()) - if isinstance(_type, AliasedType): - return CppGenerator.cpp_setter_method_for_type(_type.aliased_type) - if isinstance(_type, EnumType): - return CppGenerator.cpp_setter_method_for_type(_type.primitive_type) - - # Generate type representations for various situations. - @staticmethod - def cpp_protocol_type_for_type(_type): - if isinstance(_type, ObjectType) and len(_type.members) == 0: - return 'Inspector::InspectorObject' - if isinstance(_type, ArrayType): - if _type.raw_name() is None: # Otherwise, fall through and use typedef'd name. - return 'Inspector::Protocol::Array<%s>' % CppGenerator.cpp_protocol_type_for_type(_type.element_type) - if isinstance(_type, (ObjectType, AliasedType, EnumType, ArrayType)): - return 'Inspector::Protocol::%s::%s' % (_type.type_domain().domain_name, _type.raw_name()) - if isinstance(_type, PrimitiveType): - return CppGenerator.cpp_name_for_primitive_type(_type) - - @staticmethod - def cpp_protocol_type_for_type_member(type_member, object_declaration): - if isinstance(type_member.type, EnumType) and type_member.type.is_anonymous: - return '::'.join([CppGenerator.cpp_protocol_type_for_type(object_declaration.type), ucfirst(type_member.member_name)]) - else: - return CppGenerator.cpp_protocol_type_for_type(type_member.type) - - @staticmethod - def cpp_type_for_unchecked_formal_in_parameter(parameter): - _type = parameter.type - if isinstance(_type, AliasedType): - _type = _type.aliased_type # Fall through to enum or primitive. - - if isinstance(_type, EnumType): - _type = _type.primitive_type # Fall through to primitive. - - # This handles the 'any' type and objects with defined properties. - if isinstance(_type, ObjectType) or _type.qualified_name() is 'object': - cpp_name = 'Inspector::InspectorObject' - if parameter.is_optional: - return 'const %s*' % cpp_name - else: - return 'const %s&' % cpp_name - if isinstance(_type, ArrayType): - cpp_name = 'Inspector::InspectorArray' - if parameter.is_optional: - return 'const %s*' % cpp_name - else: - return 'const %s&' % cpp_name - if isinstance(_type, PrimitiveType): - cpp_name = CppGenerator.cpp_name_for_primitive_type(_type) - if parameter.is_optional: - return 'const %s*' % cpp_name - elif _type.raw_name() in ['string']: - return 'const %s&' % cpp_name - else: - return cpp_name - - return "unknown_unchecked_formal_in_parameter_type" - - @staticmethod - def cpp_type_for_checked_formal_event_parameter(parameter): - return CppGenerator.cpp_type_for_type_with_name(parameter.type, parameter.parameter_name, parameter.is_optional) - - @staticmethod - def cpp_type_for_type_member(member): - return CppGenerator.cpp_type_for_type_with_name(member.type, member.member_name, False) - - @staticmethod - def cpp_type_for_type_with_name(_type, type_name, is_optional): - if isinstance(_type, (ArrayType, ObjectType)): - return 'RefPtr<%s>' % CppGenerator.cpp_protocol_type_for_type(_type) - if isinstance(_type, AliasedType): - builder_type = CppGenerator.cpp_protocol_type_for_type(_type) - if is_optional: - return 'const %s* const' % builder_type - elif _type.aliased_type.qualified_name() in ['integer', 'number']: - return CppGenerator.cpp_name_for_primitive_type(_type.aliased_type) - elif _type.aliased_type.qualified_name() in ['string']: - return 'const %s&' % builder_type - else: - return builder_type - if isinstance(_type, PrimitiveType): - cpp_name = CppGenerator.cpp_name_for_primitive_type(_type) - if _type.qualified_name() in ['object']: - return 'RefPtr<Inspector::InspectorObject>' - elif _type.qualified_name() in ['any']: - return 'RefPtr<Inspector::InspectorValue>' - elif is_optional: - return 'const %s* const' % cpp_name - elif _type.qualified_name() in ['string']: - return 'const %s&' % cpp_name - else: - return cpp_name - if isinstance(_type, EnumType): - if _type.is_anonymous: - enum_type_name = ucfirst(type_name) - else: - enum_type_name = 'Inspector::Protocol::%s::%s' % (_type.type_domain().domain_name, _type.raw_name()) - - if is_optional: - return '%s*' % enum_type_name - else: - return '%s' % enum_type_name - - @staticmethod - def cpp_type_for_formal_out_parameter(parameter): - _type = parameter.type - - if isinstance(_type, AliasedType): - _type = _type.aliased_type # Fall through. - - if isinstance(_type, (ObjectType, ArrayType)): - return 'RefPtr<%s>&' % CppGenerator.cpp_protocol_type_for_type(_type) - if isinstance(_type, PrimitiveType): - cpp_name = CppGenerator.cpp_name_for_primitive_type(_type) - if parameter.is_optional: - return "Inspector::Protocol::OptOutput<%s>*" % cpp_name - else: - return '%s*' % cpp_name - if isinstance(_type, EnumType): - if _type.is_anonymous: - return '%sBackendDispatcherHandler::%s*' % (_type.type_domain().domain_name, ucfirst(parameter.parameter_name)) - else: - return 'Inspector::Protocol::%s::%s*' % (_type.type_domain().domain_name, _type.raw_name()) - - raise ValueError("unknown formal out parameter type.") - - # FIXME: this is only slightly different from out parameters; they could be unified. - @staticmethod - def cpp_type_for_formal_async_parameter(parameter): - _type = parameter.type - if isinstance(_type, AliasedType): - _type = _type.aliased_type # Fall through. - - if isinstance(_type, EnumType): - _type = _type.primitive_type # Fall through. - - if isinstance(_type, (ObjectType, ArrayType)): - return 'RefPtr<%s>&&' % CppGenerator.cpp_protocol_type_for_type(_type) - if isinstance(_type, PrimitiveType): - cpp_name = CppGenerator.cpp_name_for_primitive_type(_type) - if parameter.is_optional: - return "Inspector::Protocol::OptOutput<%s>*" % cpp_name - elif _type.qualified_name() in ['integer', 'number']: - return CppGenerator.cpp_name_for_primitive_type(_type) - elif _type.qualified_name() in ['string']: - return 'const %s&' % cpp_name - else: - return cpp_name - - raise ValueError("Unknown formal async parameter type.") - - # In-parameters don't use builder types, because they could be passed - # "open types" that are manually constructed out of InspectorObjects. - - # FIXME: Only parameters that are actually open types should need non-builder parameter types. - @staticmethod - def cpp_type_for_stack_in_parameter(parameter): - _type = parameter.type - if isinstance(_type, AliasedType): - _type = _type.aliased_type # Fall through. - - if isinstance(_type, EnumType): - _type = _type.primitive_type # Fall through. - - if isinstance(_type, ObjectType): - return "RefPtr<Inspector::InspectorObject>" - if isinstance(_type, ArrayType): - return "RefPtr<Inspector::InspectorArray>" - if isinstance(_type, PrimitiveType): - cpp_name = CppGenerator.cpp_name_for_primitive_type(_type) - if _type.qualified_name() in ['any', 'object']: - return "RefPtr<%s>" % CppGenerator.cpp_name_for_primitive_type(_type) - elif parameter.is_optional and _type.qualified_name() not in ['boolean', 'string', 'integer']: - return "Inspector::Protocol::OptOutput<%s>" % cpp_name - else: - return cpp_name - - @staticmethod - def cpp_type_for_stack_out_parameter(parameter): - _type = parameter.type - if isinstance(_type, (ArrayType, ObjectType)): - return 'RefPtr<%s>' % CppGenerator.cpp_protocol_type_for_type(_type) - if isinstance(_type, AliasedType): - builder_type = CppGenerator.cpp_protocol_type_for_type(_type) - if parameter.is_optional: - return "Inspector::Protocol::OptOutput<%s>" % builder_type - return '%s' % builder_type - if isinstance(_type, PrimitiveType): - cpp_name = CppGenerator.cpp_name_for_primitive_type(_type) - if parameter.is_optional: - return "Inspector::Protocol::OptOutput<%s>" % cpp_name - else: - return cpp_name - if isinstance(_type, EnumType): - if _type.is_anonymous: - return '%sBackendDispatcherHandler::%s' % (_type.type_domain().domain_name, ucfirst(parameter.parameter_name)) - else: - return 'Inspector::Protocol::%s::%s' % (_type.type_domain().domain_name, _type.raw_name()) - - @staticmethod - def cpp_assertion_method_for_type_member(type_member, object_declaration): - - def assertion_method_for_type(_type): - return 'BindingTraits<%s>::assertValueHasExpectedType' % CppGenerator.cpp_protocol_type_for_type(_type) - - if isinstance(type_member.type, AliasedType): - return assertion_method_for_type(type_member.type.aliased_type) - if isinstance(type_member.type, EnumType) and type_member.type.is_anonymous: - return 'BindingTraits<%s>::assertValueHasExpectedType' % CppGenerator.cpp_protocol_type_for_type_member(type_member, object_declaration) - - return assertion_method_for_type(type_member.type) - - @staticmethod - def cpp_name_for_primitive_type(_type): - return _PRIMITIVE_TO_CPP_NAME_MAP.get(_type.raw_name()) - - # Decide whether certain helpers are necessary in a situation. - @staticmethod - def should_use_wrapper_for_return_type(_type): - return not isinstance(_type, (ArrayType, ObjectType)) - - @staticmethod - def should_use_references_for_type(_type): - return isinstance(_type, (ArrayType, ObjectType)) or (isinstance(_type, (PrimitiveType)) and _type.qualified_name() in ["any", "object"]) - - @staticmethod - def should_pass_by_copy_for_return_type(_type): - return isinstance(_type, (ArrayType, ObjectType)) or (isinstance(_type, (PrimitiveType)) and _type.qualified_name() == "object") diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py b/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py deleted file mode 100755 index 05f353097..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py +++ /dev/null @@ -1,263 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -# THE POSSIBILITY OF SUCH DAMAGE. - -# Generator templates, which can be filled with string.Template. -# Following are classes that fill the templates from the typechecked model. - -class CppGeneratorTemplates: - - HeaderPrelude = ( - """#ifndef ${headerGuardString} -#define ${headerGuardString} - -${includes} - -namespace Inspector { - -${typedefs}""") - - HeaderPostlude = ( - """} // namespace Inspector - -#endif // !defined(${headerGuardString})""") - - ImplementationPrelude = ( - """#include "config.h" -#include ${primaryInclude} - -${secondaryIncludes} - -namespace Inspector {""") - - ImplementationPostlude = ( - """} // namespace Inspector -""") - - AlternateDispatchersHeaderPrelude = ( - """#ifndef ${headerGuardString} -#define ${headerGuardString} - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -${includes} - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; -""") - - AlternateDispatchersHeaderPostlude = ( - """} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(${headerGuardString})""") - - AlternateBackendDispatcherHeaderDomainHandlerInterfaceDeclaration = ( - """class Alternate${domainName}BackendDispatcher : public AlternateBackendDispatcher { -public: - virtual ~Alternate${domainName}BackendDispatcher() { } -${commandDeclarations} -};""") - - BackendDispatcherHeaderDomainHandlerDeclaration = ( - """${classAndExportMacro} ${domainName}BackendDispatcherHandler { -public: -${commandDeclarations} -protected: - virtual ~${domainName}BackendDispatcherHandler(); -};""") - - BackendDispatcherHeaderDomainDispatcherDeclaration = ( - """${classAndExportMacro} ${domainName}BackendDispatcher final : public SupplementalBackendDispatcher { -public: - static Ref<${domainName}BackendDispatcher> create(BackendDispatcher*, ${domainName}BackendDispatcherHandler*); - virtual void dispatch(long callId, const String& method, Ref<InspectorObject>&& message) override; -${commandDeclarations} -private: - ${domainName}BackendDispatcher(BackendDispatcher&, ${domainName}BackendDispatcherHandler*); - ${domainName}BackendDispatcherHandler* m_agent; -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -public: - void setAlternateDispatcher(Alternate${domainName}BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; } -private: - Alternate${domainName}BackendDispatcher* m_alternateDispatcher; -#endif -};""") - - BackendDispatcherHeaderAsyncCommandDeclaration = ( - """ ${classAndExportMacro} ${callbackName} : public BackendDispatcher::CallbackBase { - public: - ${callbackName}(Ref<BackendDispatcher>&&, int id); - void sendSuccess(${outParameters}); - }; - virtual void ${commandName}(${inParameters}) = 0;""") - - BackendDispatcherImplementationSmallSwitch = ( - """void ${domainName}BackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message) -{ - Ref<${domainName}BackendDispatcher> protect(*this); - -${dispatchCases} - else - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::MethodNotFound, makeString('\\'', "${domainName}", '.', method, "' was not found")); -}""") - - BackendDispatcherImplementationLargeSwitch = ( -"""void ${domainName}BackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message) -{ - Ref<${domainName}BackendDispatcher> protect(*this); - - typedef void (${domainName}BackendDispatcher::*CallHandler)(long callId, const InspectorObject& message); - typedef HashMap<String, CallHandler> DispatchMap; - DEPRECATED_DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, ()); - if (dispatchMap.isEmpty()) { - static const struct MethodTable { - const char* name; - CallHandler handler; - } commands[] = { -${dispatchCases} - }; - size_t length = WTF_ARRAY_LENGTH(commands); - for (size_t i = 0; i < length; ++i) - dispatchMap.add(commands[i].name, commands[i].handler); - } - - HashMap<String, CallHandler>::iterator it = dispatchMap.find(method); - if (it == dispatchMap.end()) { - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::MethodNotFound, makeString('\\'', "${domainName}", '.', method, "' was not found")); - return; - } - - ((*this).*it->value)(callId, message.get()); -}""") - - BackendDispatcherImplementationDomainConstructor = ( - """Ref<${domainName}BackendDispatcher> ${domainName}BackendDispatcher::create(BackendDispatcher* backendDispatcher, ${domainName}BackendDispatcherHandler* agent) -{ - return adoptRef(*new ${domainName}BackendDispatcher(*backendDispatcher, agent)); -} - -${domainName}BackendDispatcher::${domainName}BackendDispatcher(BackendDispatcher& backendDispatcher, ${domainName}BackendDispatcherHandler* agent) - : SupplementalBackendDispatcher(backendDispatcher) - , m_agent(agent) -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - , m_alternateDispatcher(nullptr) -#endif -{ - m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("${domainName}"), this); -}""") - - BackendDispatcherImplementationPrepareCommandArguments = ( -""" auto protocolErrors = Inspector::Protocol::Array<String>::create(); - RefPtr<InspectorObject> paramsContainer; - message.getObject(ASCIILiteral("params"), paramsContainer); -${inParameterDeclarations} - if (protocolErrors->length()) { - String errorMessage = String::format("Some arguments of method \'%s\' can't be processed", "${domainName}.${commandName}"); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors)); - return; - } -""") - - BackendDispatcherImplementationAsyncCommand = ( -"""${domainName}BackendDispatcherHandler::${callbackName}::${callbackName}(Ref<BackendDispatcher>&& backendDispatcher, int id) : BackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { } - -void ${domainName}BackendDispatcherHandler::${callbackName}::sendSuccess(${formalParameters}) -{ - Ref<InspectorObject> jsonMessage = InspectorObject::create(); -${outParameterAssignments} - sendIfActive(WTF::move(jsonMessage), ErrorString()); -}""") - - FrontendDispatcherDomainDispatcherDeclaration = ( -"""${classAndExportMacro} ${domainName}FrontendDispatcher { -public: - ${domainName}FrontendDispatcher(FrontendChannel* frontendChannel) : m_frontendChannel(frontendChannel) { } -${eventDeclarations} -private: - FrontendChannel* m_frontendChannel; -};""") - - ProtocolObjectBuilderDeclarationPrelude = ( -""" template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*${objectType}*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class ${objectType}; - public:""") - - ProtocolObjectBuilderDeclarationPostlude = ( -""" - Ref<${objectType}> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(${objectType}) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<${objectType}>*>(&result)); - } - }; - - /* - * Synthetic constructor: -${constructorExample} - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - }""") - - ProtocolObjectRuntimeCast = ( -"""RefPtr<${objectType}> BindingTraits<${objectType}>::runtimeCast(RefPtr<InspectorValue>&& value) -{ - RefPtr<InspectorObject> result; - bool castSucceeded = value->asObject(result); - ASSERT_UNUSED(castSucceeded, castSucceeded); -#if !ASSERT_DISABLED - BindingTraits<${objectType}>::assertValueHasExpectedType(result.get()); -#endif // !ASSERT_DISABLED - COMPILE_ASSERT(sizeof(${objectType}) == sizeof(InspectorObjectBase), type_cast_problem); - return static_cast<${objectType}*>(static_cast<InspectorObjectBase*>(result.get())); -} -""") diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py deleted file mode 100755 index d4a8d5afe..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -import re -from string import Template - -from cpp_generator import CppGenerator -from cpp_generator_templates import CppGeneratorTemplates as CppTemplates -from generator import Generator - -log = logging.getLogger('global') - - -class CppAlternateBackendDispatcherHeaderGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return 'InspectorAlternateBackendDispatchers.h' - - def generate_output(self): - headers = [ - '"InspectorProtocolTypes.h"', - '<JavaScriptCore/InspectorBackendDispatcher.h>', - ] - - header_args = { - 'headerGuardString': re.sub('\W+', '_', self.output_filename()), - 'includes': '\n'.join(['#include ' + header for header in headers]), - } - - domains = self.domains_to_generate() - sections = [] - sections.append(self.generate_license()) - sections.append(Template(CppTemplates.AlternateDispatchersHeaderPrelude).substitute(None, **header_args)) - sections.append('\n'.join(filter(None, map(self._generate_handler_declarations_for_domain, domains)))) - sections.append(Template(CppTemplates.AlternateDispatchersHeaderPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def _generate_handler_declarations_for_domain(self, domain): - if not domain.commands: - return '' - - command_declarations = [] - for command in domain.commands: - command_declarations.append(self._generate_handler_declaration_for_command(command)) - - handler_args = { - 'domainName': domain.domain_name, - 'commandDeclarations': '\n'.join(command_declarations), - } - - return self.wrap_with_guard_for_domain(domain, Template(CppTemplates.AlternateBackendDispatcherHeaderDomainHandlerInterfaceDeclaration).substitute(None, **handler_args)) - - def _generate_handler_declaration_for_command(self, command): - lines = [] - parameters = ['long callId'] - for _parameter in command.call_parameters: - parameters.append('%s in_%s' % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), _parameter.parameter_name)) - - command_args = { - 'commandName': command.command_name, - 'parameters': ', '.join(parameters), - } - lines.append(' virtual void %(commandName)s(%(parameters)s) = 0;' % command_args) - return '\n'.join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py deleted file mode 100755 index 54bdb3e91..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import re -import string -from string import Template - -from cpp_generator import CppGenerator -from cpp_generator_templates import CppGeneratorTemplates as CppTemplates -from generator import Generator, ucfirst -from models import EnumType - -log = logging.getLogger('global') - - -class CppBackendDispatcherHeaderGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return "InspectorBackendDispatchers.h" - - def domains_to_generate(self): - return filter(lambda domain: len(domain.commands) > 0, Generator.domains_to_generate(self)) - - def generate_output(self): - headers = [ - '"InspectorProtocolObjects.h"', - '<inspector/InspectorBackendDispatcher.h>', - '<wtf/text/WTFString.h>'] - - typedefs = [('String', 'ErrorString')] - - header_args = { - 'headerGuardString': re.sub('\W+', '_', self.output_filename()), - 'includes': '\n'.join(['#include ' + header for header in headers]), - 'typedefs': '\n'.join(['typedef %s %s;' % typedef for typedef in typedefs]), - } - - domains = self.domains_to_generate() - - sections = [] - sections.append(self.generate_license()) - sections.append(Template(CppTemplates.HeaderPrelude).substitute(None, **header_args)) - sections.append(self._generate_alternate_handler_forward_declarations_for_domains(domains)) - sections.extend(map(self._generate_handler_declarations_for_domain, domains)) - sections.extend(map(self._generate_dispatcher_declarations_for_domain, domains)) - sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args)) - return "\n\n".join(sections) - - # Private methods. - - def _generate_alternate_handler_forward_declarations_for_domains(self, domains): - if not domains: - return '' - - lines = [] - lines.append('#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)') - for domain in domains: - lines.append(self.wrap_with_guard_for_domain(domain, 'class Alternate%sBackendDispatcher;' % domain.domain_name)) - lines.append('#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)') - return '\n'.join(lines) - - def _generate_handler_declarations_for_domain(self, domain): - classComponents = ['class'] - exportMacro = self.model().framework.setting('export_macro', None) - if exportMacro is not None: - classComponents.append(exportMacro) - - used_enum_names = set() - - command_declarations = [] - for command in domain.commands: - command_declarations.append(self._generate_handler_declaration_for_command(command, used_enum_names)) - - handler_args = { - 'classAndExportMacro': " ".join(classComponents), - 'domainName': domain.domain_name, - 'commandDeclarations': "\n".join(command_declarations) - } - - return self.wrap_with_guard_for_domain(domain, Template(CppTemplates.BackendDispatcherHeaderDomainHandlerDeclaration).substitute(None, **handler_args)) - - def _generate_anonymous_enum_for_parameter(self, parameter, command): - enum_args = { - 'parameterName': parameter.parameter_name, - 'commandName': command.command_name - } - - lines = [] - lines.append(' // Named after parameter \'%(parameterName)s\' while generating command/event %(commandName)s.' % enum_args) - lines.append(' enum class %s {' % ucfirst(parameter.parameter_name)) - for enum_value in parameter.type.enum_values(): - lines.append(' %s = %d,' % (Generator.stylized_name_for_enum_value(enum_value), self.encoding_for_enum_value(enum_value))) - lines.append(' }; // enum class %s' % ucfirst(parameter.parameter_name)) - return '\n'.join(lines) - - def _generate_handler_declaration_for_command(self, command, used_enum_names): - if command.is_async: - return self._generate_async_handler_declaration_for_command(command) - - lines = [] - parameters = ['ErrorString&'] - for _parameter in command.call_parameters: - parameter_name = 'in_' + _parameter.parameter_name - if _parameter.is_optional: - parameter_name = 'opt_' + parameter_name - - parameters.append("%s %s" % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), parameter_name)) - - if isinstance(_parameter.type, EnumType) and _parameter.parameter_name not in used_enum_names: - lines.append(self._generate_anonymous_enum_for_parameter(_parameter, command)) - used_enum_names.add(_parameter.parameter_name) - - for _parameter in command.return_parameters: - parameter_name = 'out_' + _parameter.parameter_name - if _parameter.is_optional: - parameter_name = 'opt_' + parameter_name - parameters.append("%s %s" % (CppGenerator.cpp_type_for_formal_out_parameter(_parameter), parameter_name)) - - if isinstance(_parameter.type, EnumType) and _parameter.parameter_name not in used_enum_names: - lines.append(self._generate_anonymous_enum_for_parameter(_parameter, command)) - used_enum_names.add(_parameter.parameter_name) - - command_args = { - 'commandName': command.command_name, - 'parameters': ", ".join(parameters) - } - lines.append(' virtual void %(commandName)s(%(parameters)s) = 0;' % command_args) - return '\n'.join(lines) - - def _generate_async_handler_declaration_for_command(self, command): - callbackName = "%sCallback" % ucfirst(command.command_name) - - in_parameters = ['ErrorString&'] - for _parameter in command.call_parameters: - parameter_name = 'in_' + _parameter.parameter_name - if _parameter.is_optional: - parameter_name = 'opt_' + parameter_name - - in_parameters.append("%s %s" % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), parameter_name)) - in_parameters.append("Ref<%s>&& callback" % callbackName) - - out_parameters = [] - for _parameter in command.return_parameters: - out_parameters.append("%s %s" % (CppGenerator.cpp_type_for_formal_async_parameter(_parameter), _parameter.parameter_name)) - - class_components = ['class'] - export_macro = self.model().framework.setting('export_macro', None) - if export_macro: - class_components.append(export_macro) - - command_args = { - 'classAndExportMacro': ' '.join(class_components), - 'callbackName': callbackName, - 'commandName': command.command_name, - 'inParameters': ", ".join(in_parameters), - 'outParameters': ", ".join(out_parameters), - } - - return Template(CppTemplates.BackendDispatcherHeaderAsyncCommandDeclaration).substitute(None, **command_args) - - def _generate_dispatcher_declarations_for_domain(self, domain): - classComponents = ['class'] - exportMacro = self.model().framework.setting('export_macro', None) - if exportMacro is not None: - classComponents.append(exportMacro) - - declarations = [] - if len(domain.commands) > 0: - declarations.append('private:') - declarations.extend(map(self._generate_dispatcher_declaration_for_command, domain.commands)) - - handler_args = { - 'classAndExportMacro': " ".join(classComponents), - 'domainName': domain.domain_name, - 'commandDeclarations': "\n".join(declarations) - } - - return self.wrap_with_guard_for_domain(domain, Template(CppTemplates.BackendDispatcherHeaderDomainDispatcherDeclaration).substitute(None, **handler_args)) - - def _generate_dispatcher_declaration_for_command(self, command): - return " void %s(long callId, const InspectorObject& message);" % command.command_name diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py deleted file mode 100755 index 350f0854c..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py +++ /dev/null @@ -1,310 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from cpp_generator import CppGenerator -from cpp_generator_templates import CppGeneratorTemplates as CppTemplates -from generator import Generator, ucfirst -from models import ObjectType, ArrayType - -log = logging.getLogger('global') - - -class CppBackendDispatcherImplementationGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return "InspectorBackendDispatchers.cpp" - - def domains_to_generate(self): - return filter(lambda domain: len(domain.commands) > 0, Generator.domains_to_generate(self)) - - def generate_output(self): - secondary_headers = [ - '<inspector/InspectorFrontendChannel.h>', - '<inspector/InspectorValues.h>', - '<wtf/text/CString.h>'] - - secondary_includes = ['#include %s' % header for header in secondary_headers] - secondary_includes.append('') - secondary_includes.append('#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)') - secondary_includes.append('#include "InspectorAlternateBackendDispatchers.h"') - secondary_includes.append('#endif') - - header_args = { - 'primaryInclude': '"InspectorBackendDispatchers.h"', - 'secondaryIncludes': '\n'.join(secondary_includes), - } - - sections = [] - sections.append(self.generate_license()) - sections.append(Template(CppTemplates.ImplementationPrelude).substitute(None, **header_args)) - sections.append("\n".join(map(self._generate_handler_class_destructor_for_domain, self.domains_to_generate()))) - sections.extend(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate())) - sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args)) - return "\n\n".join(sections) - - # Private methods. - - def _generate_handler_class_destructor_for_domain(self, domain): - destructor_args = { - 'domainName': domain.domain_name - } - destructor = '%(domainName)sBackendDispatcherHandler::~%(domainName)sBackendDispatcherHandler() { }' % destructor_args - return self.wrap_with_guard_for_domain(domain, destructor) - - def _generate_dispatcher_implementations_for_domain(self, domain): - implementations = [] - - constructor_args = { - 'domainName': domain.domain_name, - } - implementations.append(Template(CppTemplates.BackendDispatcherImplementationDomainConstructor).substitute(None, **constructor_args)) - - if len(domain.commands) <= 5: - implementations.append(self._generate_small_dispatcher_switch_implementation_for_domain(domain)) - else: - implementations.append(self._generate_large_dispatcher_switch_implementation_for_domain(domain)) - - for command in domain.commands: - if command.is_async: - implementations.append(self._generate_async_dispatcher_class_for_domain(command, domain)) - implementations.append(self._generate_dispatcher_implementation_for_command(command, domain)) - - return self.wrap_with_guard_for_domain(domain, '\n\n'.join(implementations)) - - def _generate_small_dispatcher_switch_implementation_for_domain(self, domain): - cases = [] - cases.append(' if (method == "%s")' % domain.commands[0].command_name) - cases.append(' %s(callId, message);' % domain.commands[0].command_name) - for command in domain.commands[1:]: - cases.append(' else if (method == "%s")' % command.command_name) - cases.append(' %s(callId, message);' % command.command_name) - - switch_args = { - 'domainName': domain.domain_name, - 'dispatchCases': "\n".join(cases) - } - - return Template(CppTemplates.BackendDispatcherImplementationSmallSwitch).substitute(None, **switch_args) - - def _generate_large_dispatcher_switch_implementation_for_domain(self, domain): - cases = [] - for command in domain.commands: - args = { - 'domainName': domain.domain_name, - 'commandName': command.command_name - } - cases.append(' { "%(commandName)s", &%(domainName)sBackendDispatcher::%(commandName)s },' % args) - - switch_args = { - 'domainName': domain.domain_name, - 'dispatchCases': "\n".join(cases) - } - - return Template(CppTemplates.BackendDispatcherImplementationLargeSwitch).substitute(None, **switch_args) - - def _generate_async_dispatcher_class_for_domain(self, command, domain): - out_parameter_assignments = [] - formal_parameters = [] - - for parameter in command.return_parameters: - param_args = { - 'keyedSetMethod': CppGenerator.cpp_setter_method_for_type(parameter.type), - 'parameterKey': parameter.parameter_name, - 'parameterName': parameter.parameter_name, - 'parameterType': CppGenerator.cpp_type_for_stack_in_parameter(parameter), - } - - formal_parameters.append('%s %s' % (CppGenerator.cpp_type_for_formal_async_parameter(parameter), parameter.parameter_name)) - - if parameter.is_optional: - if CppGenerator.should_use_wrapper_for_return_type(parameter.type): - out_parameter_assignments.append(' if (%(parameterName)s.isAssigned())' % param_args) - out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), %(parameterName)s.getValue());' % param_args) - else: - out_parameter_assignments.append(' if (%(parameterName)s)' % param_args) - out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), %(parameterName)s);' % param_args) - elif parameter.type.is_enum(): - out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), Inspector::Protocol::getEnumConstantValue(%(parameterName)s));' % param_args) - else: - out_parameter_assignments.append(' jsonMessage->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), %(parameterName)s);' % param_args) - - async_args = { - 'domainName': domain.domain_name, - 'callbackName': ucfirst(command.command_name) + 'Callback', - 'formalParameters': ", ".join(formal_parameters), - 'outParameterAssignments': "\n".join(out_parameter_assignments) - } - return Template(CppTemplates.BackendDispatcherImplementationAsyncCommand).substitute(None, **async_args) - - def _generate_dispatcher_implementation_for_command(self, command, domain): - in_parameter_declarations = [] - out_parameter_declarations = [] - out_parameter_assignments = [] - alternate_dispatcher_method_parameters = ['callId'] - method_parameters = ['error'] - - for parameter in command.call_parameters: - parameter_name = 'in_' + parameter.parameter_name - if parameter.is_optional: - parameter_name = 'opt_' + parameter_name - - out_success_argument = 'nullptr' - if parameter.is_optional: - out_success_argument = '&%s_valueFound' % parameter_name - in_parameter_declarations.append(' bool %s_valueFound = false;' % parameter_name) - - # Now add appropriate operators. - parameter_expression = parameter_name - - if CppGenerator.should_use_references_for_type(parameter.type): - if parameter.is_optional: - parameter_expression = '%s.get()' % parameter_expression - else: - # This assumes that we have already proved the object is non-null. - # If a required property is missing, InspectorBackend::getObject will - # append a protocol error, and the method dispatcher will return without - # invoking the backend method (and dereferencing the object). - parameter_expression = '*%s' % parameter_expression - elif parameter.is_optional: - parameter_expression = '&%s' % parameter_expression - - param_args = { - 'parameterType': CppGenerator.cpp_type_for_stack_in_parameter(parameter), - 'parameterKey': parameter.parameter_name, - 'parameterName': parameter_name, - 'parameterExpression': parameter_expression, - 'keyedGetMethod': CppGenerator.cpp_getter_method_for_type(parameter.type), - 'successOutParam': out_success_argument - } - - in_parameter_declarations.append(' %(parameterType)s %(parameterName)s = BackendDispatcher::%(keyedGetMethod)s(paramsContainer.get(), ASCIILiteral("%(parameterKey)s"), %(successOutParam)s, protocolErrors.get());' % param_args) - - if parameter.is_optional: - optional_in_parameter_string = '%(parameterName)s_valueFound ? %(parameterExpression)s : nullptr' % param_args - alternate_dispatcher_method_parameters.append(optional_in_parameter_string) - method_parameters.append(optional_in_parameter_string) - else: - alternate_dispatcher_method_parameters.append(parameter_expression) - method_parameters.append(parameter_expression) - - if command.is_async: - async_args = { - 'domainName': domain.domain_name, - 'callbackName': ucfirst(command.command_name) + 'Callback' - } - - out_parameter_assignments.append(' callback->disable();') - out_parameter_assignments.append(' m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::ServerError, error);') - out_parameter_assignments.append(' return;') - method_parameters.append('callback.copyRef()') - - else: - for parameter in command.return_parameters: - param_args = { - 'parameterType': CppGenerator.cpp_type_for_stack_out_parameter(parameter), - 'parameterKey': parameter.parameter_name, - 'parameterName': parameter.parameter_name, - 'keyedSetMethod': CppGenerator.cpp_setter_method_for_type(parameter.type), - - } - - out_parameter_declarations.append(' %(parameterType)s out_%(parameterName)s;' % param_args) - if parameter.is_optional: - if CppGenerator.should_use_wrapper_for_return_type(parameter.type): - out_parameter_assignments.append(' if (out_%(parameterName)s.isAssigned())' % param_args) - out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), out_%(parameterName)s.getValue());' % param_args) - else: - out_parameter_assignments.append(' if (out_%(parameterName)s)' % param_args) - out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), out_%(parameterName)s);' % param_args) - elif parameter.type.is_enum(): - out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), Inspector::Protocol::getEnumConstantValue(out_%(parameterName)s));' % param_args) - else: - out_parameter_assignments.append(' result->%(keyedSetMethod)s(ASCIILiteral("%(parameterKey)s"), out_%(parameterName)s);' % param_args) - - if CppGenerator.should_pass_by_copy_for_return_type(parameter.type): - method_parameters.append('out_' + parameter.parameter_name) - else: - method_parameters.append('&out_' + parameter.parameter_name) - - command_args = { - 'domainName': domain.domain_name, - 'callbackName': '%sCallback' % ucfirst(command.command_name), - 'commandName': command.command_name, - 'inParameterDeclarations': '\n'.join(in_parameter_declarations), - 'invocationParameters': ', '.join(method_parameters), - 'alternateInvocationParameters': ', '.join(alternate_dispatcher_method_parameters), - } - - lines = [] - if len(command.call_parameters) == 0: - lines.append('void %(domainName)sBackendDispatcher::%(commandName)s(long callId, const InspectorObject&)' % command_args) - else: - lines.append('void %(domainName)sBackendDispatcher::%(commandName)s(long callId, const InspectorObject& message)' % command_args) - lines.append('{') - - if len(command.call_parameters) > 0: - lines.append(Template(CppTemplates.BackendDispatcherImplementationPrepareCommandArguments).substitute(None, **command_args)) - - lines.append('#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)') - lines.append(' if (m_alternateDispatcher) {') - lines.append(' m_alternateDispatcher->%(commandName)s(%(alternateInvocationParameters)s);' % command_args) - lines.append(' return;') - lines.append(' }') - lines.append('#endif') - lines.append('') - - lines.append(' ErrorString error;') - lines.append(' Ref<InspectorObject> result = InspectorObject::create();') - if command.is_async: - lines.append(' Ref<%(domainName)sBackendDispatcherHandler::%(callbackName)s> callback = adoptRef(*new %(domainName)sBackendDispatcherHandler::%(callbackName)s(m_backendDispatcher.copyRef(), callId));' % command_args) - if len(command.return_parameters) > 0: - lines.extend(out_parameter_declarations) - lines.append(' m_agent->%(commandName)s(%(invocationParameters)s);' % command_args) - lines.append('') - if command.is_async: - lines.append(' if (error.length()) {') - lines.extend(out_parameter_assignments) - lines.append(' }') - elif len(command.return_parameters) > 1: - lines.append(' if (!error.length()) {') - lines.extend(out_parameter_assignments) - lines.append(' }') - elif len(command.return_parameters) == 1: - lines.append(' if (!error.length())') - lines.extend(out_parameter_assignments) - lines.append('') - - if not command.is_async: - lines.append(' m_backendDispatcher->sendResponse(callId, WTF::move(result), error);') - lines.append('}') - return "\n".join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py deleted file mode 100755 index ff09ab39b..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import re -import string -from string import Template - -from cpp_generator import CppGenerator -from cpp_generator_templates import CppGeneratorTemplates as CppTemplates -from generator import Generator, ucfirst -from models import EnumType - -log = logging.getLogger('global') - - -class CppFrontendDispatcherHeaderGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return "InspectorFrontendDispatchers.h" - - def domains_to_generate(self): - return filter(lambda domain: len(domain.events) > 0, Generator.domains_to_generate(self)) - - def generate_output(self): - headers = [ - '"InspectorProtocolObjects.h"', - '<inspector/InspectorFrontendChannel.h>', - '<inspector/InspectorValues.h>', - '<wtf/text/WTFString.h>'] - - header_args = { - 'headerGuardString': re.sub('\W+', '_', self.output_filename()), - 'includes': '\n'.join(['#include ' + header for header in headers]), - 'typedefs': '', - } - - sections = [] - sections.append(self.generate_license()) - sections.append(Template(CppTemplates.HeaderPrelude).substitute(None, **header_args)) - sections.extend(map(self._generate_dispatcher_declarations_for_domain, self.domains_to_generate())) - sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args)) - return "\n\n".join(sections) - - # Private methods. - - def _generate_anonymous_enum_for_parameter(self, parameter, event): - enum_args = { - 'parameterName': parameter.parameter_name, - 'eventName': event.event_name - } - - lines = [] - lines.append(' // Named after parameter \'%(parameterName)s\' while generating command/event %(eventName)s.' % enum_args) - lines.append(' enum class %s {' % ucfirst(parameter.parameter_name)) - for enum_value in parameter.type.enum_values(): - lines.append(' %s = %d,' % (Generator.stylized_name_for_enum_value(enum_value), self.encoding_for_enum_value(enum_value))) - lines.append(' }; // enum class %s' % ucfirst(parameter.parameter_name)) - return "\n".join(lines) - - def _generate_dispatcher_declarations_for_domain(self, domain): - classComponents = ['class'] - exportMacro = self.model().framework.setting('export_macro', None) - if exportMacro is not None: - classComponents.append(exportMacro) - - used_enum_names = set([]) - - event_declarations = [] - for event in domain.events: - event_declarations.append(self._generate_dispatcher_declaration_for_event(event, domain, used_enum_names)) - - handler_args = { - 'classAndExportMacro': " ".join(classComponents), - 'domainName': domain.domain_name, - 'eventDeclarations': "\n".join(event_declarations) - } - - return self.wrap_with_guard_for_domain(domain, Template(CppTemplates.FrontendDispatcherDomainDispatcherDeclaration).substitute(None, **handler_args)) - - def _generate_dispatcher_declaration_for_event(self, event, domain, used_enum_names): - formal_parameters = [] - lines = [] - for parameter in event.event_parameters: - formal_parameters.append('%s %s' % (CppGenerator.cpp_type_for_checked_formal_event_parameter(parameter), parameter.parameter_name)) - if isinstance(parameter.type, EnumType) and parameter.parameter_name not in used_enum_names: - lines.append(self._generate_anonymous_enum_for_parameter(parameter, event)) - used_enum_names.add(parameter.parameter_name) - - lines.append(" void %s(%s);" % (event.event_name, ", ".join(formal_parameters))) - return "\n".join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py deleted file mode 100755 index 798157a06..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from cpp_generator import CppGenerator -from cpp_generator_templates import CppGeneratorTemplates as CppTemplates -from generator import Generator, ucfirst -from models import ObjectType, ArrayType - -log = logging.getLogger('global') - - -class CppFrontendDispatcherImplementationGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return "InspectorFrontendDispatchers.cpp" - - def domains_to_generate(self): - return filter(lambda domain: len(domain.events) > 0, Generator.domains_to_generate(self)) - - def generate_output(self): - secondary_headers = ['<wtf/text/CString.h>'] - - header_args = { - 'primaryInclude': '"InspectorFrontendDispatchers.h"', - 'secondaryIncludes': "\n".join(['#include %s' % header for header in secondary_headers]), - } - - sections = [] - sections.append(self.generate_license()) - sections.append(Template(CppTemplates.ImplementationPrelude).substitute(None, **header_args)) - sections.extend(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate())) - sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args)) - return "\n\n".join(sections) - - # Private methods. - - def _generate_dispatcher_implementations_for_domain(self, domain): - implementations = [] - for event in domain.events: - implementations.append(self._generate_dispatcher_implementation_for_event(event, domain)) - - return self.wrap_with_guard_for_domain(domain, '\n\n'.join(implementations)) - - def _generate_dispatcher_implementation_for_event(self, event, domain): - lines = [] - parameter_assignments = [] - formal_parameters = [] - - for parameter in event.event_parameters: - - parameter_value = parameter.parameter_name - if parameter.is_optional and not CppGenerator.should_pass_by_copy_for_return_type(parameter.type): - parameter_value = '*' + parameter_value - if parameter.type.is_enum(): - parameter_value = 'Inspector::Protocol::getEnumConstantValue(%s)' % parameter_value - - parameter_args = { - 'parameterType': CppGenerator.cpp_type_for_stack_out_parameter(parameter), - 'parameterName': parameter.parameter_name, - 'parameterValue': parameter_value, - 'keyedSetMethod': CppGenerator.cpp_setter_method_for_type(parameter.type), - } - - if parameter.is_optional: - parameter_assignments.append(' if (%(parameterName)s)' % parameter_args) - parameter_assignments.append(' paramsObject->%(keyedSetMethod)s(ASCIILiteral("%(parameterName)s"), %(parameterValue)s);' % parameter_args) - else: - parameter_assignments.append(' paramsObject->%(keyedSetMethod)s(ASCIILiteral("%(parameterName)s"), %(parameterValue)s);' % parameter_args) - - formal_parameters.append('%s %s' % (CppGenerator.cpp_type_for_checked_formal_event_parameter(parameter), parameter.parameter_name)) - - event_args = { - 'domainName': domain.domain_name, - 'eventName': event.event_name, - 'formalParameters': ", ".join(formal_parameters) - } - - lines.append('void %(domainName)sFrontendDispatcher::%(eventName)s(%(formalParameters)s)' % event_args) - lines.append('{') - lines.append(' Ref<InspectorObject> jsonMessage = InspectorObject::create();') - lines.append(' jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("%(domainName)s.%(eventName)s"));' % event_args) - - if len(parameter_assignments) > 0: - lines.append(' Ref<InspectorObject> paramsObject = InspectorObject::create();') - lines.extend(parameter_assignments) - lines.append(' jsonMessage->setObject(ASCIILiteral("params"), WTF::move(paramsObject));') - - lines.append('') - lines.append(' m_frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString());') - lines.append('}') - return "\n".join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py deleted file mode 100755 index b07b0b9c7..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py +++ /dev/null @@ -1,352 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import re -import string -from string import Template - -from cpp_generator import CppGenerator -from cpp_generator_templates import CppGeneratorTemplates as CppTemplates -from generator import Generator, ucfirst -from models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks - -log = logging.getLogger('global') - - -class CppProtocolTypesHeaderGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return "InspectorProtocolObjects.h" - - def generate_output(self): - domains = self.domains_to_generate() - self.calculate_types_requiring_shape_assertions(domains) - - headers = set([ - '<inspector/InspectorProtocolTypes.h>', - '<wtf/Assertions.h>', - ]) - - export_macro = self.model().framework.setting('export_macro', None) - - header_args = { - 'headerGuardString': re.sub('\W+', '_', self.output_filename()), - 'includes': '\n'.join(['#include ' + header for header in sorted(headers)]), - 'typedefs': '', - } - - return_type = 'String' - return_type_with_export_macro = [return_type] - if export_macro is not None: - return_type_with_export_macro[:0] = [export_macro] - - sections = [] - sections.append(self.generate_license()) - sections.append(Template(CppTemplates.HeaderPrelude).substitute(None, **header_args)) - sections.append('namespace Protocol {') - sections.append(self._generate_forward_declarations(domains)) - sections.append(self._generate_typedefs(domains)) - sections.append('%s getEnumConstantValue(int code);' % ' '.join(return_type_with_export_macro)) - sections.append('\n'.join([ - 'template<typename T> %s getEnumConstantValue(T enumValue)' % return_type, - '{', - ' return getEnumConstantValue(static_cast<int>(enumValue));', - '}'])) - - builder_sections = map(self._generate_builders_for_domain, domains) - sections.extend(filter(lambda section: len(section) > 0, builder_sections)) - sections.append(self._generate_forward_declarations_for_binding_traits()) - sections.append('} // namespace Protocol') - sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args)) - return "\n\n".join(sections) - - # Private methods. - - # FIXME: move builders out of classes, uncomment forward declaration - - def _generate_forward_declarations(self, domains): - sections = [] - - for domain in domains: - declaration_types = [decl.type for decl in domain.type_declarations] - object_types = filter(lambda _type: isinstance(_type, ObjectType), declaration_types) - enum_types = filter(lambda _type: isinstance(_type, EnumType), declaration_types) - if len(object_types) + len(enum_types) == 0: - continue - - domain_lines = [] - domain_lines.append('namespace %s {' % domain.domain_name) - - object_type_names = [_type.raw_name() for _type in object_types] - enum_type_names = [_type.raw_name() for _type in enum_types] - - # Forward-declare all classes so the type builders won't break if rearranged. - domain_lines.extend('class %s;' % name for name in sorted(object_type_names)) - domain_lines.extend('enum class %s;' % name for name in sorted(enum_type_names)) - domain_lines.append('} // %s' % domain.domain_name) - sections.append(self.wrap_with_guard_for_domain(domain, '\n'.join(domain_lines))) - - if len(sections) == 0: - return '' - else: - return """// Forward declarations. -%s -// End of forward declarations. -""" % '\n\n'.join(sections) - - def _generate_typedefs(self, domains): - sections = map(self._generate_typedefs_for_domain, domains) - sections = filter(lambda text: len(text) > 0, sections) - - if len(sections) == 0: - return '' - else: - return """// Typedefs. -%s -// End of typedefs.""" % '\n\n'.join(sections) - - def _generate_typedefs_for_domain(self, domain): - primitive_declarations = filter(lambda decl: isinstance(decl.type, AliasedType), domain.type_declarations) - array_declarations = filter(lambda decl: isinstance(decl.type, ArrayType), domain.type_declarations) - if len(primitive_declarations) == 0 and len(array_declarations) == 0: - return '' - - sections = [] - for declaration in primitive_declarations: - primitive_name = CppGenerator.cpp_name_for_primitive_type(declaration.type.aliased_type) - typedef_lines = [] - if len(declaration.description) > 0: - typedef_lines.append('/* %s */' % declaration.description) - typedef_lines.append('typedef %s %s;' % (primitive_name, declaration.type_name)) - sections.append('\n'.join(typedef_lines)) - - for declaration in array_declarations: - element_type = CppGenerator.cpp_protocol_type_for_type(declaration.type.element_type) - typedef_lines = [] - if len(declaration.description) > 0: - typedef_lines.append('/* %s */' % declaration.description) - typedef_lines.append('typedef Inspector::Protocol::Array<%s> %s;' % (element_type, declaration.type_name)) - sections.append('\n'.join(typedef_lines)) - - lines = [] - lines.append('namespace %s {' % domain.domain_name) - lines.append('\n'.join(sections)) - lines.append('} // %s' % domain.domain_name) - return self.wrap_with_guard_for_domain(domain, '\n'.join(lines)) - - def _generate_builders_for_domain(self, domain): - sections = [] - - for type_declaration in domain.type_declarations: - if isinstance(type_declaration.type, EnumType): - sections.append(self._generate_struct_for_enum_declaration(type_declaration)) - elif isinstance(type_declaration.type, ObjectType): - sections.append(self._generate_class_for_object_declaration(type_declaration, domain)) - - sections = filter(lambda section: len(section) > 0, sections) - if len(sections) == 0: - return '' - - lines = [] - lines.append('namespace %s {' % domain.domain_name) - lines.append('\n'.join(sections)) - lines.append('} // %s' % domain.domain_name) - return self.wrap_with_guard_for_domain(domain, '\n'.join(lines)) - - def _generate_class_for_object_declaration(self, type_declaration, domain): - if len(type_declaration.type_members) == 0: - return '' - - enum_members = filter(lambda member: isinstance(member.type, EnumType) and member.type.is_anonymous, type_declaration.type_members) - required_members = filter(lambda member: not member.is_optional, type_declaration.type_members) - optional_members = filter(lambda member: member.is_optional, type_declaration.type_members) - object_name = type_declaration.type_name - - lines = [] - if len(type_declaration.description) > 0: - lines.append('/* %s */' % type_declaration.description) - base_class = 'Inspector::InspectorObject' - if not Generator.type_has_open_fields(type_declaration.type): - base_class = base_class + 'Base' - lines.append('class %s : public %s {' % (object_name, base_class)) - lines.append('public:') - for enum_member in enum_members: - lines.append(' // Named after property name \'%s\' while generating %s.' % (enum_member.member_name, object_name)) - lines.append(self._generate_struct_for_anonymous_enum_member(enum_member)) - lines.append(self._generate_builder_state_enum(type_declaration)) - - constructor_example = [] - constructor_example.append(' * Ref<%s> result = %s::create()' % (object_name, object_name)) - for member in required_members: - constructor_example.append(' * .set%s(...)' % ucfirst(member.member_name)) - constructor_example.append(' * .release()') - - builder_args = { - 'objectType': object_name, - 'constructorExample': '\n'.join(constructor_example) + ';', - } - - lines.append(Template(CppTemplates.ProtocolObjectBuilderDeclarationPrelude).substitute(None, **builder_args)) - for type_member in required_members: - lines.append(self._generate_builder_setter_for_member(type_member, domain)) - lines.append(Template(CppTemplates.ProtocolObjectBuilderDeclarationPostlude).substitute(None, **builder_args)) - for member in optional_members: - lines.append(self._generate_unchecked_setter_for_member(member, domain)) - - if Generator.type_has_open_fields(type_declaration.type): - lines.append('') - lines.append(' // Property names for type generated as open.') - for type_member in type_declaration.type_members: - export_macro = self.model().framework.setting('export_macro', None) - lines.append(' %s static const char* %s;' % (export_macro, ucfirst(type_member.member_name))) - - lines.append('};') - lines.append('') - return '\n'.join(lines) - - def _generate_struct_for_enum_declaration(self, enum_declaration): - lines = [] - lines.append('/* %s */' % enum_declaration.description) - lines.extend(self._generate_struct_for_enum_type(enum_declaration.type_name, enum_declaration.type)) - return '\n'.join(lines) - - def _generate_struct_for_anonymous_enum_member(self, enum_member): - def apply_indentation(line): - if line.startswith(('#', '/*', '*/', '//')) or len(line) is 0: - return line - else: - return ' ' + line - - indented_lines = map(apply_indentation, self._generate_struct_for_enum_type(enum_member.member_name, enum_member.type)) - return '\n'.join(indented_lines) - - def _generate_struct_for_enum_type(self, enum_name, enum_type): - lines = [] - enum_name = ucfirst(enum_name) - lines.append('enum class %s {' % enum_name) - for enum_value in enum_type.enum_values(): - lines.append(' %s = %s,' % (Generator.stylized_name_for_enum_value(enum_value), self.encoding_for_enum_value(enum_value))) - lines.append('}; // enum class %s' % enum_name) - return lines # The caller may want to adjust indentation, so don't join these lines. - - def _generate_builder_state_enum(self, type_declaration): - lines = [] - required_members = filter(lambda member: not member.is_optional, type_declaration.type_members) - enum_values = [] - - lines.append(' enum {') - lines.append(' NoFieldsSet = 0,') - for i in range(len(required_members)): - enum_value = "%sSet" % ucfirst(required_members[i].member_name) - enum_values.append(enum_value) - lines.append(' %s = 1 << %d,' % (enum_value, i)) - if len(enum_values) > 0: - lines.append(' AllFieldsSet = (%s)' % ' | '.join(enum_values)) - else: - lines.append(' AllFieldsSet = 0') - lines.append(' };') - lines.append('') - return '\n'.join(lines) - - def _generate_builder_setter_for_member(self, type_member, domain): - setter_args = { - 'camelName': ucfirst(type_member.member_name), - 'keyedSet': CppGenerator.cpp_setter_method_for_type(type_member.type), - 'name': type_member.member_name, - 'parameterType': CppGenerator.cpp_type_for_type_member(type_member) - } - - lines = [] - lines.append('') - lines.append(' Builder<STATE | %(camelName)sSet>& set%(camelName)s(%(parameterType)s value)' % setter_args) - lines.append(' {') - lines.append(' COMPILE_ASSERT(!(STATE & %(camelName)sSet), property_%(name)s_already_set);' % setter_args) - - if isinstance(type_member.type, EnumType): - lines.append(' m_result->%(keyedSet)s(ASCIILiteral("%(name)s"), Inspector::Protocol::getEnumConstantValue(static_cast<int>(value)));' % setter_args) - else: - lines.append(' m_result->%(keyedSet)s(ASCIILiteral("%(name)s"), value);' % setter_args) - lines.append(' return castState<%(camelName)sSet>();' % setter_args) - lines.append(' }') - return '\n'.join(lines) - - def _generate_unchecked_setter_for_member(self, type_member, domain): - setter_args = { - 'camelName': ucfirst(type_member.member_name), - 'keyedSet': CppGenerator.cpp_setter_method_for_type(type_member.type), - 'name': type_member.member_name, - 'parameterType': CppGenerator.cpp_type_for_type_member(type_member) - } - - lines = [] - lines.append('') - lines.append(' void set%(camelName)s(%(parameterType)s value)' % setter_args) - lines.append(' {') - if isinstance(type_member.type, EnumType): - lines.append(' InspectorObjectBase::%(keyedSet)s(ASCIILiteral("%(name)s"), Inspector::Protocol::getEnumConstantValue(static_cast<int>(value)));' % setter_args) - elif CppGenerator.should_use_references_for_type(type_member.type): - lines.append(' InspectorObjectBase::%(keyedSet)s(ASCIILiteral("%(name)s"), WTF::move(value));' % setter_args) - else: - lines.append(' InspectorObjectBase::%(keyedSet)s(ASCIILiteral("%(name)s"), value);' % setter_args) - lines.append(' }') - return '\n'.join(lines) - - def _generate_forward_declarations_for_binding_traits(self): - # A list of (builder_type, needs_runtime_cast) - type_arguments = [] - - for domain in self.domains_to_generate(): - declarations_to_generate = filter(lambda decl: self.type_needs_shape_assertions(decl.type), domain.type_declarations) - - for type_declaration in declarations_to_generate: - for type_member in type_declaration.type_members: - if isinstance(type_member.type, EnumType): - type_arguments.append((CppGenerator.cpp_protocol_type_for_type_member(type_member, type_declaration), False)) - - if isinstance(type_declaration.type, ObjectType): - type_arguments.append((CppGenerator.cpp_protocol_type_for_type(type_declaration.type), Generator.type_needs_runtime_casts(type_declaration.type))) - - struct_keywords = ['struct'] - function_keywords = ['static void'] - export_macro = self.model().framework.setting('export_macro', None) - if export_macro is not None: - struct_keywords.append(export_macro) - #function_keywords[1:1] = [export_macro] - - lines = [] - for argument in type_arguments: - lines.append('template<> %s BindingTraits<%s> {' % (' '.join(struct_keywords), argument[0])) - if argument[1]: - lines.append('static RefPtr<%s> runtimeCast(RefPtr<Inspector::InspectorValue>&& value);' % argument[0]) - lines.append('#if !ASSERT_DISABLED') - lines.append('%s assertValueHasExpectedType(Inspector::InspectorValue*);' % ' '.join(function_keywords)) - lines.append('#endif // !ASSERT_DISABLED') - lines.append('};') - return '\n'.join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py deleted file mode 100755 index 2c263b504..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from cpp_generator import CppGenerator -from cpp_generator_templates import CppGeneratorTemplates as CppTemplates -from generator import Generator, ucfirst -from models import AliasedType, ArrayType, EnumType, ObjectType - -log = logging.getLogger('global') - - -class CppProtocolTypesImplementationGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return "InspectorProtocolObjects.cpp" - - def generate_output(self): - domains = self.domains_to_generate() - self.calculate_types_requiring_shape_assertions(domains) - - secondary_headers = ['<wtf/text/CString.h>'] - - header_args = { - 'primaryInclude': '"InspectorProtocolObjects.h"', - 'secondaryIncludes': "\n".join(['#include %s' % header for header in secondary_headers]), - } - - sections = [] - sections.append(self.generate_license()) - sections.append(Template(CppTemplates.ImplementationPrelude).substitute(None, **header_args)) - sections.append('namespace Protocol {') - sections.append(self._generate_enum_mapping()) - sections.append(self._generate_open_field_names()) - builder_sections = map(self._generate_builders_for_domain, domains) - sections.extend(filter(lambda section: len(section) > 0, builder_sections)) - sections.append('} // namespace Protocol') - sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args)) - - return "\n\n".join(sections) - - # Private methods. - - def _generate_enum_mapping(self): - lines = [] - lines.append('static const char* const enum_constant_values[] = {') - lines.extend([' "%s",' % enum_value for enum_value in self.assigned_enum_values()]) - lines.append('};') - lines.append('') - lines.append('String getEnumConstantValue(int code) {') - lines.append(' return enum_constant_values[code];') - lines.append('}') - return '\n'.join(lines) - - def _generate_open_field_names(self): - lines = [] - for domain in self.domains_to_generate(): - for type_declaration in filter(lambda decl: Generator.type_has_open_fields(decl.type), domain.type_declarations): - for type_member in sorted(type_declaration.type_members, key=lambda member: member.member_name): - field_name = '::'.join(['Inspector', 'Protocol', domain.domain_name, ucfirst(type_declaration.type_name), ucfirst(type_member.member_name)]) - lines.append('const char* %s = "%s";' % (field_name, type_member.member_name)) - - return '\n'.join(lines) - - def _generate_builders_for_domain(self, domain): - sections = [] - declarations_to_generate = filter(lambda decl: self.type_needs_shape_assertions(decl.type), domain.type_declarations) - - for type_declaration in declarations_to_generate: - for type_member in type_declaration.type_members: - if isinstance(type_member.type, EnumType): - sections.append(self._generate_assertion_for_enum(type_member, type_declaration)) - - if isinstance(type_declaration.type, ObjectType): - sections.append(self._generate_assertion_for_object_declaration(type_declaration)) - if Generator.type_needs_runtime_casts(type_declaration.type): - sections.append(self._generate_runtime_cast_for_object_declaration(type_declaration)) - - return '\n\n'.join(sections) - - def _generate_runtime_cast_for_object_declaration(self, object_declaration): - args = { - 'objectType': CppGenerator.cpp_protocol_type_for_type(object_declaration.type) - } - return Template(CppTemplates.ProtocolObjectRuntimeCast).substitute(None, **args) - - def _generate_assertion_for_object_declaration(self, object_declaration): - required_members = filter(lambda member: not member.is_optional, object_declaration.type_members) - optional_members = filter(lambda member: member.is_optional, object_declaration.type_members) - should_count_properties = not Generator.type_has_open_fields(object_declaration.type) - lines = [] - - lines.append('#if !ASSERT_DISABLED') - lines.append('void BindingTraits<%s>::assertValueHasExpectedType(Inspector::InspectorValue* value)' % (CppGenerator.cpp_protocol_type_for_type(object_declaration.type))) - lines.append("""{ - ASSERT_ARG(value, value); - RefPtr<InspectorObject> object; - bool castSucceeded = value->asObject(object); - ASSERT_UNUSED(castSucceeded, castSucceeded);""") - for type_member in required_members: - args = { - 'memberName': type_member.member_name, - 'assertMethod': CppGenerator.cpp_assertion_method_for_type_member(type_member, object_declaration) - } - - lines.append(""" { - InspectorObject::iterator %(memberName)sPos = object->find(ASCIILiteral("%(memberName)s")); - ASSERT(%(memberName)sPos != object->end()); - %(assertMethod)s(%(memberName)sPos->value.get()); - }""" % args) - - if should_count_properties: - lines.append('') - lines.append(' int foundPropertiesCount = %s;' % len(required_members)) - - for type_member in optional_members: - args = { - 'memberName': type_member.member_name, - 'assertMethod': CppGenerator.cpp_assertion_method_for_type_member(type_member, object_declaration) - } - - lines.append(""" { - InspectorObject::iterator %(memberName)sPos = object->find(ASCIILiteral("%(memberName)s")); - if (%(memberName)sPos != object->end()) { - %(assertMethod)s(%(memberName)sPos->value.get());""" % args) - - if should_count_properties: - lines.append(' ++foundPropertiesCount;') - lines.append(' }') - lines.append(' }') - - if should_count_properties: - lines.append(' if (foundPropertiesCount != object->size())') - lines.append(' FATAL("Unexpected properties in object: %s\\n", object->toJSONString().ascii().data());') - lines.append('}') - lines.append('#endif // !ASSERT_DISABLED') - return '\n'.join(lines) - - def _generate_assertion_for_enum(self, enum_member, object_declaration): - lines = [] - lines.append('#if !ASSERT_DISABLED') - lines.append('void %s(Inspector::InspectorValue* value)' % CppGenerator.cpp_assertion_method_for_type_member(enum_member, object_declaration)) - lines.append('{') - lines.append(' ASSERT_ARG(value, value);') - lines.append(' String result;') - lines.append(' bool castSucceeded = value->asString(result);') - lines.append(' ASSERT(castSucceeded);') - - assert_condition = ' || '.join(['result == "%s"' % enum_value for enum_value in enum_member.type.enum_values()]) - lines.append(' ASSERT(%s);' % assert_condition) - lines.append('}') - lines.append('#endif // !ASSERT_DISABLED') - - return '\n'.join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py deleted file mode 100755 index 3392c7845..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from generator import Generator, ucfirst -from generator_templates import GeneratorTemplates as Templates -from models import EnumType - -log = logging.getLogger('global') - - -class JSBackendCommandsGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return "InspectorBackendCommands.js" - - def domains_to_generate(self): - def should_generate_domain(domain): - domain_enum_types = filter(lambda declaration: isinstance(declaration.type, EnumType), domain.type_declarations) - return len(domain.commands) > 0 or len(domain.events) > 0 or len(domain_enum_types) > 0 - - return filter(should_generate_domain, Generator.domains_to_generate(self)) - - def generate_output(self): - sections = [] - sections.append(self.generate_license()) - sections.extend(map(self.generate_domain, self.domains_to_generate())) - return "\n\n".join(sections) - - def generate_domain(self, domain): - lines = [] - args = { - 'domain': domain.domain_name - } - - lines.append('// %(domain)s.' % args) - - has_async_commands = any(map(lambda command: command.is_async, domain.commands)) - if len(domain.events) > 0 or has_async_commands: - lines.append('InspectorBackend.register%(domain)sDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "%(domain)s");' % args) - - for declaration in domain.type_declarations: - if declaration.type.is_enum(): - enum_args = { - 'domain': domain.domain_name, - 'enumName': declaration.type_name, - 'enumMap': ", ".join(['%s: "%s"' % (Generator.stylized_name_for_enum_value(enum_value), enum_value) for enum_value in declaration.type.enum_values()]) - } - lines.append('InspectorBackend.registerEnum("%(domain)s.%(enumName)s", {%(enumMap)s});' % enum_args) - - def is_anonymous_enum_member(type_member): - return isinstance(type_member.type, EnumType) and type_member.type.is_anonymous - - for _member in filter(is_anonymous_enum_member, declaration.type_members): - enum_args = { - 'domain': domain.domain_name, - 'enumName': '%s%s' % (declaration.type_name, ucfirst(_member.member_name)), - 'enumMap': ", ".join(['%s: "%s"' % (Generator.stylized_name_for_enum_value(enum_value), enum_value) for enum_value in _member.type.enum_values()]) - } - lines.append('InspectorBackend.registerEnum("%(domain)s.%(enumName)s", {%(enumMap)s});' % enum_args) - - def is_anonymous_enum_param(param): - return isinstance(param.type, EnumType) and param.type.is_anonymous - - for event in domain.events: - for param in filter(is_anonymous_enum_param, event.event_parameters): - enum_args = { - 'domain': domain.domain_name, - 'enumName': '%s%s' % (ucfirst(event.event_name), ucfirst(param.parameter_name)), - 'enumMap': ", ".join(['%s: "%s"' % (Generator.stylized_name_for_enum_value(enum_value), enum_value) for enum_value in param.type.enum_values()]) - } - lines.append('InspectorBackend.registerEnum("%(domain)s.%(enumName)s", {%(enumMap)s});' % enum_args) - - event_args = { - 'domain': domain.domain_name, - 'eventName': event.event_name, - 'params': ", ".join(['"%s"' % parameter.parameter_name for parameter in event.event_parameters]) - } - lines.append('InspectorBackend.registerEvent("%(domain)s.%(eventName)s", [%(params)s]);' % event_args) - - for command in domain.commands: - def generate_parameter_object(parameter): - optional_string = "true" if parameter.is_optional else "false" - pairs = [] - pairs.append('"name": "%s"' % parameter.parameter_name) - pairs.append('"type": "%s"' % Generator.js_name_for_parameter_type(parameter.type)) - pairs.append('"optional": %s' % optional_string) - return "{%s}" % ", ".join(pairs) - - command_args = { - 'domain': domain.domain_name, - 'commandName': command.command_name, - 'callParams': ", ".join([generate_parameter_object(parameter) for parameter in command.call_parameters]), - 'returnParams': ", ".join(['"%s"' % parameter.parameter_name for parameter in command.return_parameters]), - } - lines.append('InspectorBackend.registerCommand("%(domain)s.%(commandName)s", [%(callParams)s], [%(returnParams)s]);' % command_args) - - if domain.commands or domain.events: - activate_args = { - 'domain': domain.domain_name, - 'availability': domain.availability, - } - if domain.availability: - lines.append('InspectorBackend.activateDomain("%(domain)s", "%(availability)s");' % activate_args) - else: - lines.append('InspectorBackend.activateDomain("%(domain)s");' % activate_args) - - return "\n".join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py deleted file mode 100755 index 29b38e887..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -import re -from string import Template - -from cpp_generator import CppGenerator -from generator import Generator -from models import Frameworks -from objc_generator import ObjCGenerator -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -class ObjCBackendDispatcherHeaderGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%sBackendDispatchers.h' % ObjCGenerator.OBJC_PREFIX - - def domains_to_generate(self): - return filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), Generator.domains_to_generate(self)) - - def generate_output(self): - headers = [ - '<JavaScriptCore/InspectorAlternateBackendDispatchers.h>', - '<wtf/RetainPtr.h>', - ] - - header_args = { - 'headerGuardString': re.sub('\W+', '_', self.output_filename()), - 'includes': '\n'.join(['#include ' + header for header in headers]), - 'forwardDeclarations': self._generate_objc_forward_declarations(), - } - - domains = self.domains_to_generate() - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.BackendDispatcherHeaderPrelude).substitute(None, **header_args)) - sections.extend(map(self._generate_objc_handler_declarations_for_domain, domains)) - sections.append(Template(ObjCTemplates.BackendDispatcherHeaderPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def _generate_objc_forward_declarations(self): - lines = [] - for domain in self.domains_to_generate(): - if domain.commands: - lines.append('@protocol %s%sDomainHandler;' % (ObjCGenerator.OBJC_PREFIX, domain.domain_name)) - return '\n'.join(lines) - - def _generate_objc_handler_declarations_for_domain(self, domain): - if not domain.commands: - return '' - - command_declarations = [] - for command in domain.commands: - command_declarations.append(self._generate_objc_handler_declaration_for_command(command)) - - handler_args = { - 'domainName': domain.domain_name, - 'commandDeclarations': '\n'.join(command_declarations), - 'objcPrefix': ObjCGenerator.OBJC_PREFIX, - } - - return self.wrap_with_guard_for_domain(domain, Template(ObjCTemplates.BackendDispatcherHeaderDomainHandlerObjCDeclaration).substitute(None, **handler_args)) - - def _generate_objc_handler_declaration_for_command(self, command): - lines = [] - parameters = ['long callId'] - for _parameter in command.call_parameters: - parameters.append('%s in_%s' % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), _parameter.parameter_name)) - - command_args = { - 'commandName': command.command_name, - 'parameters': ', '.join(parameters), - } - lines.append(' virtual void %(commandName)s(%(parameters)s) override;' % command_args) - return '\n'.join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py deleted file mode 100755 index 27bdd4a9b..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -import re -from string import Template - -from cpp_generator import CppGenerator -from generator import Generator -from models import PrimitiveType, EnumType, AliasedType, Frameworks -from objc_generator import ObjCTypeCategory, ObjCGenerator, join_type_and_name -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -class ObjCConfigurationImplementationGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%sBackendDispatchers.mm' % ObjCGenerator.OBJC_PREFIX - - def domains_to_generate(self): - return filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), Generator.domains_to_generate(self)) - - def generate_output(self): - secondary_headers = [ - '"%sInternal.h"' % ObjCGenerator.OBJC_PREFIX, - '"%sEnumConversionHelpers.h"' % ObjCGenerator.OBJC_PREFIX, - '<JavaScriptCore/InspectorFrontendChannel.h>', - '<JavaScriptCore/InspectorValues.h>', - ] - - header_args = { - 'primaryInclude': '"%sBackendDispatchers.h"' % ObjCGenerator.OBJC_PREFIX, - 'secondaryIncludes': '\n'.join(['#include %s' % header for header in secondary_headers]), - } - - domains = self.domains_to_generate() - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.BackendDispatcherImplementationPrelude).substitute(None, **header_args)) - sections.extend(map(self._generate_handler_implementation_for_domain, domains)) - sections.append(Template(ObjCTemplates.BackendDispatcherImplementationPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def _generate_handler_implementation_for_domain(self, domain): - if not domain.commands: - return '' - - command_declarations = [] - for command in domain.commands: - command_declarations.append(self._generate_handler_implementation_for_command(domain, command)) - - return '\n'.join(command_declarations) - - def _generate_handler_implementation_for_command(self, domain, command): - lines = [] - parameters = ['long callId'] - for parameter in command.call_parameters: - parameters.append('%s in_%s' % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(parameter), parameter.parameter_name)) - - command_args = { - 'domainName': domain.domain_name, - 'commandName': command.command_name, - 'parameters': ', '.join(parameters), - 'successCallback': self._generate_success_block_for_command(domain, command), - 'conversions': self._generate_conversions_for_command(domain, command), - 'invocation': self._generate_invocation_for_command(domain, command), - } - - return self.wrap_with_guard_for_domain(domain, Template(ObjCTemplates.BackendDispatcherHeaderDomainHandlerImplementation).substitute(None, **command_args)) - - def _generate_success_block_for_command(self, domain, command): - lines = [] - - if command.return_parameters: - success_block_parameters = [] - for parameter in command.return_parameters: - objc_type = ObjCGenerator.objc_type_for_param(domain, command.command_name, parameter) - var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) - success_block_parameters.append(join_type_and_name(objc_type, var_name)) - lines.append(' id successCallback = ^(%s) {' % ', '.join(success_block_parameters)) - else: - lines.append(' id successCallback = ^{') - - if command.return_parameters: - lines.append(' Ref<InspectorObject> resultObject = InspectorObject::create();') - - required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters) - for parameter in required_pointer_parameters: - var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) - lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(%s, @"%s");' % (var_name, var_name)) - objc_array_class = ObjCGenerator.objc_class_for_array_type(parameter.type) - if objc_array_class and objc_array_class.startswith(ObjCGenerator.OBJC_PREFIX): - lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(%s, [%s class]);' % (var_name, objc_array_class)) - - optional_pointer_parameters = filter(lambda parameter: parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters) - for parameter in optional_pointer_parameters: - var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) - lines.append(' THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(%s, @"%s");' % (var_name, var_name)) - objc_array_class = ObjCGenerator.objc_class_for_array_type(parameter.type) - if objc_array_class and objc_array_class.startswith(ObjCGenerator.OBJC_PREFIX): - lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE_IN_OPTIONAL_ARRAY(%s, [%s class]);' % (var_name, objc_array_class)) - - for parameter in command.return_parameters: - keyed_set_method = CppGenerator.cpp_setter_method_for_type(parameter.type) - var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) - var_expression = '*%s' % var_name if parameter.is_optional else var_name - export_expression = ObjCGenerator.objc_protocol_export_expression_for_variable(parameter.type, var_expression) - if not parameter.is_optional: - lines.append(' resultObject->%s(ASCIILiteral("%s"), %s);' % (keyed_set_method, parameter.parameter_name, export_expression)) - else: - lines.append(' if (%s)' % var_name) - lines.append(' resultObject->%s(ASCIILiteral("%s"), %s);' % (keyed_set_method, parameter.parameter_name, export_expression)) - lines.append(' backendDispatcher()->sendResponse(callId, WTF::move(resultObject), String());') - else: - lines.append(' backendDispatcher()->sendResponse(callId, InspectorObject::create(), String());') - - lines.append(' };') - return '\n'.join(lines) - - def _generate_conversions_for_command(self, domain, command): - lines = [] - if command.call_parameters: - lines.append('') - - def in_param_expression(param_name, parameter): - _type = parameter.type - if isinstance(_type, AliasedType): - _type = _type.aliased_type # Fall through to enum or primitive. - if isinstance(_type, EnumType): - _type = _type.primitive_type # Fall through to primitive. - if isinstance(_type, PrimitiveType): - if _type.raw_name() in ['array', 'any', 'object']: - return '&%s' % param_name if not parameter.is_optional else param_name - return '*%s' % param_name if parameter.is_optional else param_name - return '&%s' % param_name if not parameter.is_optional else param_name - - for parameter in command.call_parameters: - in_param_name = 'in_%s' % parameter.parameter_name - objc_in_param_name = 'o_%s' % in_param_name - objc_type = ObjCGenerator.objc_type_for_param(domain, command.command_name, parameter, False) - param_expression = in_param_expression(in_param_name, parameter) - import_expression = ObjCGenerator.objc_protocol_import_expression_for_parameter(param_expression, domain, command.command_name, parameter) - if not parameter.is_optional: - lines.append(' %s = %s;' % (join_type_and_name(objc_type, objc_in_param_name), import_expression)) - else: - lines.append(' %s;' % join_type_and_name(objc_type, objc_in_param_name)) - lines.append(' if (%s)' % in_param_name) - lines.append(' %s = %s;' % (objc_in_param_name, import_expression)) - - if lines: - lines.append('') - return '\n'.join(lines) - - def _generate_invocation_for_command(self, domain, command): - pairs = [] - pairs.append('WithErrorCallback:errorCallback') - pairs.append('successCallback:successCallback') - for parameter in command.call_parameters: - in_param_name = 'in_%s' % parameter.parameter_name - objc_in_param_name = 'o_%s' % in_param_name - if not parameter.is_optional: - pairs.append('%s:%s' % (parameter.parameter_name, objc_in_param_name)) - else: - optional_expression = '(%s ? &%s : nil)' % (in_param_name, objc_in_param_name) - pairs.append('%s:%s' % (parameter.parameter_name, optional_expression)) - return ' [m_delegate %s%s];' % (command.command_name, ' '.join(pairs)) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py deleted file mode 100755 index 2002227d9..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from generator import Generator -from objc_generator import ObjCGenerator -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -class ObjCConfigurationHeaderGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%sConfiguration.h' % ObjCGenerator.OBJC_PREFIX - - def generate_output(self): - headers = [ - '"%s.h"' % ObjCGenerator.OBJC_PREFIX, - ] - - header_args = { - 'includes': '\n'.join(['#import ' + header for header in headers]), - } - - self._command_filter = ObjCGenerator.should_generate_domain_command_handler_filter(self.model()) - self._event_filter = ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()) - - domains = self.domains_to_generate() - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.GenericHeaderPrelude).substitute(None, **header_args)) - sections.append(self._generate_configuration_interface_for_domains(domains)) - sections.append(Template(ObjCTemplates.GenericHeaderPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def _generate_configuration_interface_for_domains(self, domains): - lines = [] - lines.append('__attribute__((visibility ("default")))') - lines.append('@interface RWIProtocolConfiguration : NSObject') - for domain in domains: - lines.extend(self._generate_properties_for_domain(domain)) - lines.append('@end') - return '\n'.join(lines) - - def _generate_properties_for_domain(self, domain): - property_args = { - 'objcPrefix': ObjCGenerator.OBJC_PREFIX, - 'domainName': domain.domain_name, - 'variableNamePrefix': ObjCGenerator.variable_name_prefix_for_domain(domain), - } - - lines = [] - if domain.commands and self._command_filter(domain): - lines.append(Template(ObjCTemplates.ConfigurationCommandProperty).substitute(None, **property_args)) - if domain.events and self._event_filter(domain): - lines.append(Template(ObjCTemplates.ConfigurationEventProperty).substitute(None, **property_args)) - return lines diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_implementation.py deleted file mode 100755 index 53205cb9d..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_implementation.py +++ /dev/null @@ -1,150 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from generator import Generator -from objc_generator import ObjCGenerator -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -class ObjCBackendDispatcherImplementationGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%sConfiguration.mm' % ObjCGenerator.OBJC_PREFIX - - def generate_output(self): - secondary_headers = [ - '"%sInternal.h"' % ObjCGenerator.OBJC_PREFIX, - '"%sBackendDispatchers.h"' % ObjCGenerator.OBJC_PREFIX, - '<JavaScriptCore/AlternateDispatchableAgent.h>', - '<JavaScriptCore/AugmentableInspectorController.h>', - '<JavaScriptCore/InspectorAlternateBackendDispatchers.h>', - '<JavaScriptCore/InspectorBackendDispatchers.h>', - ] - - header_args = { - 'primaryInclude': '"%sConfiguration.h"' % ObjCGenerator.OBJC_PREFIX, - 'secondaryIncludes': '\n'.join(['#import %s' % header for header in secondary_headers]), - } - - self._command_filter = ObjCGenerator.should_generate_domain_command_handler_filter(self.model()) - self._event_filter = ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()) - - domains = self.domains_to_generate() - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.ImplementationPrelude).substitute(None, **header_args)) - sections.append(self._generate_configuration_implementation_for_domains(domains)) - sections.append(Template(ObjCTemplates.ImplementationPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def _generate_configuration_implementation_for_domains(self, domains): - lines = [] - lines.append('@implementation RWIProtocolConfiguration') - lines.append('{') - lines.append(' AugmentableInspectorController* _controller;') - lines.extend(self._generate_ivars(domains)) - lines.append('}') - lines.append('') - lines.append('- (instancetype)initWithController:(AugmentableInspectorController*)controller') - lines.append('{') - lines.append(' self = [super init];') - lines.append(' if (!self)') - lines.append(' return nil;') - lines.append(' ASSERT(controller);') - lines.append(' _controller = controller;') - lines.append(' return self;') - lines.append('}') - lines.append('') - lines.extend(self._generate_dealloc(domains)) - lines.append('') - for domain in domains: - if domain.commands and self._command_filter(domain): - lines.append(self._generate_handler_setter_for_domain(domain)) - lines.append('') - if domain.events and self._event_filter(domain): - lines.append(self._generate_event_dispatcher_getter_for_domain(domain)) - lines.append('') - lines.append('@end') - return '\n'.join(lines) - - def _generate_ivars(self, domains): - lines = [] - for domain in domains: - if domain.commands and self._command_filter(domain): - objc_class_name = '%s%sDomainHandler' % (ObjCGenerator.OBJC_PREFIX, domain.domain_name) - ivar_name = '_%sHandler' % ObjCGenerator.variable_name_prefix_for_domain(domain) - lines.append(' id<%s> %s;' % (objc_class_name, ivar_name)) - if domain.events and self._event_filter(domain): - objc_class_name = '%s%sDomainEventDispatcher' % (ObjCGenerator.OBJC_PREFIX, domain.domain_name) - ivar_name = '_%sEventDispatcher' % ObjCGenerator.variable_name_prefix_for_domain(domain) - lines.append(' %s *%s;' % (objc_class_name, ivar_name)) - return lines - - def _generate_dealloc(self, domains): - lines = [] - lines.append('- (void)dealloc') - lines.append('{') - for domain in domains: - if domain.commands and self._command_filter(domain): - lines.append(' [_%sHandler release];' % ObjCGenerator.variable_name_prefix_for_domain(domain)) - if domain.events and self._event_filter(domain): - lines.append(' [_%sEventDispatcher release];' % ObjCGenerator.variable_name_prefix_for_domain(domain)) - lines.append(' [super dealloc];') - lines.append('}') - return lines - - def _generate_handler_setter_for_domain(self, domain): - setter_args = { - 'objcPrefix': ObjCGenerator.OBJC_PREFIX, - 'domainName': domain.domain_name, - 'variableNamePrefix': ObjCGenerator.variable_name_prefix_for_domain(domain), - } - return Template(ObjCTemplates.ConfigurationCommandPropertyImplementation).substitute(None, **setter_args) - - def _generate_event_dispatcher_getter_for_domain(self, domain): - getter_args = { - 'objcPrefix': ObjCGenerator.OBJC_PREFIX, - 'domainName': domain.domain_name, - 'variableNamePrefix': ObjCGenerator.variable_name_prefix_for_domain(domain), - } - return Template(ObjCTemplates.ConfigurationGetterImplementation).substitute(None, **getter_args) - - def _variable_name_prefix_for_domain(self, domain): - domain_name = domain.domain_name - if domain_name.startswith('DOM'): - return 'dom' + domain_name[3:] - if domain_name.startswith('CSS'): - return 'css' + domain_name[3:] - return domain_name[:1].lower() + domain_name[1:] diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_conversion_helpers.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_conversion_helpers.py deleted file mode 100755 index c31e991e3..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_conversion_helpers.py +++ /dev/null @@ -1,155 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from generator import Generator -from models import EnumType -from objc_generator import ObjCGenerator -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -def add_newline(lines): - if lines and lines[-1] == '': - return - lines.append('') - - -class ObjCConversionHelpersGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%sEnumConversionHelpers.h' % ObjCGenerator.OBJC_PREFIX - - def domains_to_generate(self): - return filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), Generator.domains_to_generate(self)) - - def generate_output(self): - headers = [ - '"%sArrayConversionHelpers.h"' % ObjCGenerator.OBJC_PREFIX, - ] - - header_args = { - 'includes': '\n'.join(['#import ' + header for header in headers]), - } - - domains = self.domains_to_generate() - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.ConversionHelpersPrelude).substitute(None, **header_args)) - sections.append(Template(ObjCTemplates.ConversionHelpersStandard).substitute(None)) - sections.extend(map(self._generate_enum_conversion_functions, domains)) - sections.append(Template(ObjCTemplates.ConversionHelpersPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def _generate_enum_conversion_functions(self, domain): - lines = [] - - # Type enums and member enums. - for declaration in domain.type_declarations: - if isinstance(declaration.type, EnumType): - add_newline(lines) - lines.append(self._generate_anonymous_enum_conversion_for_declaration(domain, declaration)) - else: - for member in declaration.type_members: - if (isinstance(member.type, EnumType) and member.type.is_anonymous): - add_newline(lines) - lines.append(self._generate_anonymous_enum_conversion_for_member(domain, declaration, member)) - - # Anonymous command enums. - for command in domain.commands: - for parameter in command.call_parameters: - if (isinstance(parameter.type, EnumType) and parameter.type.is_anonymous): - add_newline(lines) - lines.append(self._generate_anonymous_enum_conversion_for_parameter(domain, command.command_name, parameter)) - for parameter in command.return_parameters: - if (isinstance(parameter.type, EnumType) and parameter.type.is_anonymous): - add_newline(lines) - lines.append(self._generate_anonymous_enum_conversion_for_parameter(domain, command.command_name, parameter)) - - # Anonymous event enums. - for event in domain.events: - for parameter in event.event_parameters: - if (isinstance(parameter.type, EnumType) and parameter.type.is_anonymous): - add_newline(lines) - lines.append(self._generate_anonymous_enum_conversion_for_parameter(domain, event.event_name, parameter)) - - return '\n'.join(lines) - - def _generate_anonymous_enum_conversion_for_declaration(self, domain, declaration): - objc_enum_name = ObjCGenerator.objc_enum_name_for_anonymous_enum_declaration(declaration) - enum_values = declaration.type.enum_values() - lines = [] - lines.append(self._generate_enum_objc_to_protocol_string(objc_enum_name, enum_values)) - lines.append(self._generate_enum_from_protocol_string(objc_enum_name, enum_values)) - return '\n\n'.join(lines) - - def _generate_anonymous_enum_conversion_for_member(self, domain, declaration, member): - objc_enum_name = ObjCGenerator.objc_enum_name_for_anonymous_enum_member(declaration, member) - enum_values = member.type.enum_values() - lines = [] - lines.append(self._generate_enum_objc_to_protocol_string(objc_enum_name, enum_values)) - lines.append(self._generate_enum_from_protocol_string(objc_enum_name, enum_values)) - return '\n\n'.join(lines) - - def _generate_anonymous_enum_conversion_for_parameter(self, domain, event_or_command_name, parameter): - objc_enum_name = ObjCGenerator.objc_enum_name_for_anonymous_enum_parameter(domain, event_or_command_name, parameter) - enum_values = parameter.type.enum_values() - lines = [] - lines.append(self._generate_enum_objc_to_protocol_string(objc_enum_name, enum_values)) - lines.append(self._generate_enum_from_protocol_string(objc_enum_name, enum_values)) - return '\n\n'.join(lines) - - def _generate_enum_objc_to_protocol_string(self, objc_enum_name, enum_values): - lines = [] - lines.append('inline String toProtocolString(%s value)' % objc_enum_name) - lines.append('{') - lines.append(' switch(value) {') - for enum_value in enum_values: - lines.append(' case %s%s:' % (objc_enum_name, Generator.stylized_name_for_enum_value(enum_value))) - lines.append(' return ASCIILiteral("%s");' % enum_value) - lines.append(' }') - lines.append('}') - return '\n'.join(lines) - - def _generate_enum_from_protocol_string(self, objc_enum_name, enum_values): - lines = [] - lines.append('template<>') - lines.append('inline %s fromProtocolString(const String& value)' % objc_enum_name) - lines.append('{') - for enum_value in enum_values: - lines.append(' if (value == "%s")' % enum_value) - lines.append(' return %s%s;' % (objc_enum_name, Generator.stylized_name_for_enum_value(enum_value))) - lines.append(' ASSERT_NOT_REACHED();') - lines.append(' return %s%s;' % (objc_enum_name, Generator.stylized_name_for_enum_value(enum_values[0]))) - lines.append('}') - return '\n'.join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py deleted file mode 100755 index fb2de4f61..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py +++ /dev/null @@ -1,157 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from cpp_generator import CppGenerator -from generator import Generator, ucfirst -from objc_generator import ObjCGenerator -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -class ObjCFrontendDispatcherImplementationGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%sEventDispatchers.mm' % ObjCGenerator.OBJC_PREFIX - - def domains_to_generate(self): - return filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), Generator.domains_to_generate(self)) - - def generate_output(self): - secondary_headers = [ - '"%sEnumConversionHelpers.h"' % ObjCGenerator.OBJC_PREFIX, - '<JavaScriptCore/InspectorFrontendChannel.h>', - '<JavaScriptCore/InspectorValues.h>', - ] - - header_args = { - 'primaryInclude': '"%sInternal.h"' % ObjCGenerator.OBJC_PREFIX, - 'secondaryIncludes': '\n'.join(['#import %s' % header for header in secondary_headers]), - } - - domains = self.domains_to_generate() - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.ImplementationPrelude).substitute(None, **header_args)) - sections.extend(map(self._generate_event_dispatcher_implementations, domains)) - sections.append(Template(ObjCTemplates.ImplementationPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def _generate_event_dispatcher_implementations(self, domain): - if not domain.events: - return '' - - lines = [] - objc_name = '%s%sDomainEventDispatcher' % (ObjCGenerator.OBJC_PREFIX, domain.domain_name) - lines.append('@implementation %s' % objc_name) - lines.append('{') - lines.append(' AugmentableInspectorController* _controller;') - lines.append('}') - lines.append('') - lines.append('- (instancetype)initWithController:(AugmentableInspectorController*)controller;') - lines.append('{') - lines.append(' self = [super init];') - lines.append(' if (!self)') - lines.append(' return nil;') - lines.append(' ASSERT(controller);') - lines.append(' _controller = controller;') - lines.append(' return self;') - lines.append('}') - lines.append('') - for event in domain.events: - lines.append(self._generate_event(domain, event)) - lines.append('') - lines.append('@end') - return '\n'.join(lines) - - def _generate_event(self, domain, event): - lines = [] - lines.append(self._generate_event_signature(domain, event)) - lines.append('{') - lines.append(' FrontendChannel* frontendChannel = _controller->frontendChannel();') - lines.append(' if (!frontendChannel)') - lines.append(' return;') - lines.append('') - - required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), event.event_parameters) - for parameter in required_pointer_parameters: - var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) - lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(%s, @"%s");' % (var_name, var_name)) - objc_array_class = ObjCGenerator.objc_class_for_array_type(parameter.type) - if objc_array_class and objc_array_class.startswith(ObjCGenerator.OBJC_PREFIX): - lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(%s, [%s class]);' % (var_name, objc_array_class)) - - optional_pointer_parameters = filter(lambda parameter: parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), event.event_parameters) - for parameter in optional_pointer_parameters: - var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) - lines.append(' THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(%s, @"%s");' % (var_name, var_name)) - objc_array_class = ObjCGenerator.objc_class_for_array_type(parameter.type) - if objc_array_class and objc_array_class.startswith(ObjCGenerator.OBJC_PREFIX): - lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE_IN_OPTIONAL_ARRAY(%s, [%s class]);' % (var_name, objc_array_class)) - - if required_pointer_parameters or optional_pointer_parameters: - lines.append('') - - lines.append(' Ref<InspectorObject> jsonMessage = InspectorObject::create();') - lines.append(' jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("%s.%s"));' % (domain.domain_name, event.event_name)) - if event.event_parameters: - lines.extend(self._generate_event_out_parameters(domain, event)) - lines.append(' frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString());') - lines.append('}') - return '\n'.join(lines) - - def _generate_event_signature(self, domain, event): - if not event.event_parameters: - return '- (void)%s' % event.event_name - pairs = [] - for parameter in event.event_parameters: - param_name = parameter.parameter_name - pairs.append('%s:(%s)%s' % (param_name, ObjCGenerator.objc_type_for_param(domain, event.event_name, parameter), param_name)) - pairs[0] = ucfirst(pairs[0]) - return '- (void)%sWith%s' % (event.event_name, ' '.join(pairs)) - - def _generate_event_out_parameters(self, domain, event): - lines = [] - lines.append(' Ref<InspectorObject> paramsObject = InspectorObject::create();') - for parameter in event.event_parameters: - keyed_set_method = CppGenerator.cpp_setter_method_for_type(parameter.type) - var_name = parameter.parameter_name - safe_var_name = '(*%s)' % var_name if parameter.is_optional else var_name - export_expression = ObjCGenerator.objc_protocol_export_expression_for_variable(parameter.type, safe_var_name) - if not parameter.is_optional: - lines.append(' paramsObject->%s(ASCIILiteral("%s"), %s);' % (keyed_set_method, parameter.parameter_name, export_expression)) - else: - lines.append(' if (%s)' % (parameter.parameter_name)) - lines.append(' paramsObject->%s(ASCIILiteral("%s"), %s);' % (keyed_set_method, parameter.parameter_name, export_expression)) - lines.append(' jsonMessage->setObject(ASCIILiteral("params"), WTF::move(paramsObject));') - return lines diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py deleted file mode 100755 index 1d3751f35..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py +++ /dev/null @@ -1,229 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from generator import Generator, ucfirst -from models import ObjectType, EnumType -from objc_generator import ObjCGenerator, join_type_and_name -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -def add_newline(lines): - if lines and lines[-1] == '': - return - lines.append('') - - -class ObjCHeaderGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%s.h' % ObjCGenerator.OBJC_PREFIX - - def generate_output(self): - headers = set([ - '<WebInspector/RWIProtocolJSONObject.h>', - ]) - - header_args = { - 'includes': '\n'.join(['#import ' + header for header in sorted(headers)]), - } - - domains = self.domains_to_generate() - type_domains = filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), domains) - command_domains = filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), domains) - event_domains = filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), domains) - - # FIXME: <https://webkit.org/b/138222> Web Inspector: Reduce unnecessary enums/types generated in ObjC Protocol Interfaces - # Currently we generate enums/types for all types in the type_domains. For the built-in - # JSC domains (Debugger, Runtime) this produces extra unused types. We only need to - # generate these types if they are referenced by the command_domains or event_domains. - - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.HeaderPrelude).substitute(None, **header_args)) - sections.append('\n'.join(filter(None, map(self._generate_forward_declarations, type_domains)))) - sections.append('\n'.join(filter(None, map(self._generate_enums, type_domains)))) - sections.append('\n'.join(filter(None, map(self._generate_types, type_domains)))) - sections.append('\n\n'.join(filter(None, map(self._generate_command_protocols, command_domains)))) - sections.append('\n\n'.join(filter(None, map(self._generate_event_interfaces, event_domains)))) - sections.append(Template(ObjCTemplates.HeaderPostlude).substitute(None)) - return '\n\n'.join(sections) - - def _generate_forward_declarations(self, domain): - lines = [] - for declaration in domain.type_declarations: - if (isinstance(declaration.type, ObjectType)): - objc_name = ObjCGenerator.objc_name_for_type(declaration.type) - lines.append('@class %s;' % objc_name) - return '\n'.join(lines) - - def _generate_enums(self, domain): - lines = [] - - # Type enums and member enums. - for declaration in domain.type_declarations: - if isinstance(declaration.type, EnumType): - add_newline(lines) - lines.append(self._generate_anonymous_enum_for_declaration(domain, declaration)) - else: - for member in declaration.type_members: - if isinstance(member.type, EnumType) and member.type.is_anonymous: - add_newline(lines) - lines.append(self._generate_anonymous_enum_for_member(domain, declaration, member)) - - # Anonymous command enums. - for command in domain.commands: - for parameter in command.call_parameters: - if isinstance(parameter.type, EnumType) and parameter.type.is_anonymous: - add_newline(lines) - lines.append(self._generate_anonymous_enum_for_parameter(domain, command.command_name, parameter)) - for parameter in command.return_parameters: - if isinstance(parameter.type, EnumType) and parameter.type.is_anonymous: - add_newline(lines) - lines.append(self._generate_anonymous_enum_for_parameter(domain, command.command_name, parameter)) - - # Anonymous event enums. - for event in domain.events: - for parameter in event.event_parameters: - if isinstance(parameter.type, EnumType) and parameter.type.is_anonymous: - add_newline(lines) - lines.append(self._generate_anonymous_enum_for_parameter(domain, event.event_name, parameter)) - - return '\n'.join(lines) - - def _generate_types(self, domain): - lines = [] - # Type interfaces. - for declaration in domain.type_declarations: - if isinstance(declaration.type, ObjectType): - add_newline(lines) - lines.append(self._generate_type_interface(domain, declaration)) - return '\n'.join(lines) - - def _generate_anonymous_enum_for_declaration(self, domain, declaration): - objc_enum_name = ObjCGenerator.objc_enum_name_for_anonymous_enum_declaration(declaration) - return self._generate_enum(objc_enum_name, declaration.type.enum_values()) - - def _generate_anonymous_enum_for_member(self, domain, declaration, member): - objc_enum_name = ObjCGenerator.objc_enum_name_for_anonymous_enum_member(declaration, member) - return self._generate_enum(objc_enum_name, member.type.enum_values()) - - def _generate_anonymous_enum_for_parameter(self, domain, event_or_command_name, parameter): - objc_enum_name = ObjCGenerator.objc_enum_name_for_anonymous_enum_parameter(domain, event_or_command_name, parameter) - return self._generate_enum(objc_enum_name, parameter.type.enum_values()) - - def _generate_enum(self, enum_name, enum_values): - lines = [] - lines.append('typedef NS_ENUM(NSInteger, %s) {' % enum_name) - for enum_value in enum_values: - lines.append(' %s%s,' % (enum_name, Generator.stylized_name_for_enum_value(enum_value))) - lines.append('};') - return '\n'.join(lines) - - def _generate_type_interface(self, domain, declaration): - lines = [] - objc_name = ObjCGenerator.objc_name_for_type(declaration.type) - lines.append('__attribute__((visibility ("default")))') - lines.append('@interface %s : %s' % (objc_name, ObjCGenerator.OBJC_JSON_OBJECT_BASE)) - required_members = filter(lambda member: not member.is_optional, declaration.type_members) - optional_members = filter(lambda member: member.is_optional, declaration.type_members) - if required_members: - lines.append(self._generate_init_method_for_required_members(domain, declaration, required_members)) - for member in required_members: - lines.append('/* required */ ' + self._generate_member_property(declaration, member)) - for member in optional_members: - lines.append('/* optional */ ' + self._generate_member_property(declaration, member)) - lines.append('@end') - return '\n'.join(lines) - - def _generate_init_method_for_required_members(self, domain, declaration, required_members): - pairs = [] - for member in required_members: - objc_type = ObjCGenerator.objc_type_for_member(declaration, member) - var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name) - pairs.append('%s:(%s)%s' % (var_name, objc_type, var_name)) - pairs[0] = ucfirst(pairs[0]) - return '- (instancetype)initWith%s;' % ' '.join(pairs) - - def _generate_member_property(self, declaration, member): - accessor_type = ObjCGenerator.objc_accessor_type_for_member(member) - objc_type = ObjCGenerator.objc_type_for_member(declaration, member) - return '@property (nonatomic, %s) %s;' % (accessor_type, join_type_and_name(objc_type, ObjCGenerator.identifier_to_objc_identifier(member.member_name))) - - def _generate_command_protocols(self, domain): - lines = [] - if domain.commands: - objc_name = '%s%sDomainHandler' % (ObjCGenerator.OBJC_PREFIX, domain.domain_name) - lines.append('@protocol %s <NSObject>' % objc_name) - lines.append('@required') - for command in domain.commands: - lines.append(self._generate_single_command_protocol(domain, command)) - lines.append('@end') - return '\n'.join(lines) - - def _generate_single_command_protocol(self, domain, command): - pairs = [] - pairs.append('ErrorCallback:(void(^)(NSString *error))errorCallback') - pairs.append('successCallback:(%s)successCallback' % self._callback_block_for_command(domain, command)) - for parameter in command.call_parameters: - param_name = parameter.parameter_name - pairs.append('%s:(%s)%s' % (param_name, ObjCGenerator.objc_type_for_param(domain, command.command_name, parameter), param_name)) - return '- (void)%sWith%s;' % (command.command_name, ' '.join(pairs)) - - def _callback_block_for_command(self, domain, command): - pairs = [] - for parameter in command.return_parameters: - pairs.append(join_type_and_name(ObjCGenerator.objc_type_for_param(domain, command.command_name, parameter), parameter.parameter_name)) - return 'void(^)(%s)' % ', '.join(pairs) - - def _generate_event_interfaces(self, domain): - lines = [] - if domain.events: - objc_name = '%s%sDomainEventDispatcher' % (ObjCGenerator.OBJC_PREFIX, domain.domain_name) - lines.append('__attribute__((visibility ("default")))') - lines.append('@interface %s : NSObject' % objc_name) - for event in domain.events: - lines.append(self._generate_single_event_interface(domain, event)) - lines.append('@end') - return '\n'.join(lines) - - def _generate_single_event_interface(self, domain, event): - if not event.event_parameters: - return '- (void)%s;' % event.event_name - pairs = [] - for parameter in event.event_parameters: - param_name = parameter.parameter_name - pairs.append('%s:(%s)%s' % (param_name, ObjCGenerator.objc_type_for_param(domain, event.event_name, parameter), param_name)) - pairs[0] = ucfirst(pairs[0]) - return '- (void)%sWith%s;' % (event.event_name, ' '.join(pairs)) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py deleted file mode 100755 index 2501ad324..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from generator import Generator, ucfirst -from objc_generator import ObjCGenerator -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -class ObjCInternalHeaderGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%sInternal.h' % ObjCGenerator.OBJC_PREFIX - - def generate_output(self): - headers = set([ - '"%s.h"' % ObjCGenerator.OBJC_PREFIX, - '"RWIProtocolJSONObjectInternal.h"', - '<JavaScriptCore/InspectorValues.h>', - '<JavaScriptCore/AugmentableInspectorController.h>', - ]) - - header_args = { - 'includes': '\n'.join(['#import ' + header for header in sorted(headers)]), - } - - domains = self.domains_to_generate() - event_domains = filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), domains) - - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.GenericHeaderPrelude).substitute(None, **header_args)) - sections.append('\n\n'.join(filter(None, map(self._generate_event_dispatcher_private_interfaces, event_domains)))) - sections.append(Template(ObjCTemplates.GenericHeaderPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def _generate_event_dispatcher_private_interfaces(self, domain): - lines = [] - if domain.events: - objc_name = '%s%sDomainEventDispatcher' % (ObjCGenerator.OBJC_PREFIX, domain.domain_name) - lines.append('@interface %s (Private)' % objc_name) - lines.append('- (instancetype)initWithController:(Inspector::AugmentableInspectorController*)controller;') - lines.append('@end') - return '\n'.join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py deleted file mode 100755 index 95b57f671..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import string -from string import Template - -from generator import Generator, ucfirst -from models import ObjectType -from objc_generator import ObjCGenerator -from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates - -log = logging.getLogger('global') - - -def add_newline(lines): - if lines and lines[-1] == '': - return - lines.append('') - - -class ObjCProtocolTypesImplementationGenerator(Generator): - def __init__(self, model, input_filepath): - Generator.__init__(self, model, input_filepath) - - def output_filename(self): - return '%sTypes.mm' % ObjCGenerator.OBJC_PREFIX - - def domains_to_generate(self): - return filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), Generator.domains_to_generate(self)) - - def generate_output(self): - secondary_headers = [ - '"%sEnumConversionHelpers.h"' % ObjCGenerator.OBJC_PREFIX, - '<JavaScriptCore/InspectorValues.h>', - '<wtf/Assertions.h>', - ] - - header_args = { - 'primaryInclude': '"%sInternal.h"' % ObjCGenerator.OBJC_PREFIX, - 'secondaryIncludes': '\n'.join(['#import %s' % header for header in secondary_headers]), - } - - domains = self.domains_to_generate() - sections = [] - sections.append(self.generate_license()) - sections.append(Template(ObjCTemplates.ImplementationPrelude).substitute(None, **header_args)) - sections.extend(map(self.generate_type_implementations, domains)) - sections.append(Template(ObjCTemplates.ImplementationPostlude).substitute(None, **header_args)) - return '\n\n'.join(sections) - - def generate_type_implementations(self, domain): - lines = [] - for declaration in domain.type_declarations: - if (isinstance(declaration.type, ObjectType)): - add_newline(lines) - lines.append(self.generate_type_implementation(domain, declaration)) - return '\n'.join(lines) - - def generate_type_implementation(self, domain, declaration): - lines = [] - lines.append('@implementation %s' % ObjCGenerator.objc_name_for_type(declaration.type)) - required_members = filter(lambda member: not member.is_optional, declaration.type_members) - if required_members: - lines.append('') - lines.append(self._generate_init_method_for_required_members(domain, declaration, required_members)) - for member in declaration.type_members: - lines.append('') - lines.append(self._generate_setter_for_member(domain, declaration, member)) - lines.append('') - lines.append(self._generate_getter_for_member(domain, declaration, member)) - lines.append('') - lines.append('@end') - return '\n'.join(lines) - - def _generate_init_method_for_required_members(self, domain, declaration, required_members): - pairs = [] - for member in required_members: - objc_type = ObjCGenerator.objc_type_for_member(declaration, member) - var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name) - pairs.append('%s:(%s)%s' % (var_name, objc_type, var_name)) - pairs[0] = ucfirst(pairs[0]) - lines = [] - lines.append('- (instancetype)initWith%s;' % ' '.join(pairs)) - lines.append('{') - lines.append(' self = [super init];') - lines.append(' if (!self)') - lines.append(' return nil;') - lines.append('') - - required_pointer_members = filter(lambda member: ObjCGenerator.is_type_objc_pointer_type(member.type), required_members) - if required_pointer_members: - for member in required_pointer_members: - var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name) - lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(%s, @"%s");' % (var_name, var_name)) - objc_array_class = ObjCGenerator.objc_class_for_array_type(member.type) - if objc_array_class and objc_array_class.startswith(ObjCGenerator.OBJC_PREFIX): - lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(%s, [%s class]);' % (var_name, objc_array_class)) - lines.append('') - - for member in required_members: - var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name) - lines.append(' self.%s = %s;' % (var_name, var_name)) - - lines.append('') - lines.append(' return self;') - lines.append('}') - return '\n'.join(lines) - - def _generate_setter_for_member(self, domain, declaration, member): - objc_type = ObjCGenerator.objc_type_for_member(declaration, member) - var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name) - setter_method = ObjCGenerator.objc_setter_method_for_member(declaration, member) - conversion_expression = ObjCGenerator.objc_to_protocol_expression_for_member(declaration, member, var_name) - lines = [] - lines.append('- (void)set%s:(%s)%s' % (ucfirst(var_name), objc_type, var_name)) - lines.append('{') - objc_array_class = ObjCGenerator.objc_class_for_array_type(member.type) - if objc_array_class and objc_array_class.startswith(ObjCGenerator.OBJC_PREFIX): - lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(%s, [%s class]);' % (var_name, objc_array_class)) - lines.append(' [super %s:%s forKey:@"%s"];' % (setter_method, conversion_expression, member.member_name)) - lines.append('}') - return '\n'.join(lines) - - def _generate_getter_for_member(self, domain, declaration, member): - objc_type = ObjCGenerator.objc_type_for_member(declaration, member) - var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name) - getter_method = ObjCGenerator.objc_getter_method_for_member(declaration, member) - basic_expression = '[super %s:@"%s"]' % (getter_method, member.member_name) - conversion_expression = ObjCGenerator.protocol_to_objc_expression_for_member(declaration, member, basic_expression) - lines = [] - lines.append('- (%s)%s' % (objc_type, var_name)) - lines.append('{') - lines.append(' return %s;' % conversion_expression) - lines.append('}') - return '\n'.join(lines) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generator.py b/Source/JavaScriptCore/inspector/scripts/codegen/generator.py deleted file mode 100755 index a1923fe54..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generator.py +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import os.path -import re -from string import Template - -from generator_templates import GeneratorTemplates as Templates -from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks - -log = logging.getLogger('global') - - -def ucfirst(str): - return str[:1].upper() + str[1:] - -_ALWAYS_UPPERCASED_ENUM_VALUE_SUBSTRINGS = set(['API', 'CSS', 'DOM', 'HTML', 'XHR', 'XML']) - -# These objects are built manually by creating and setting InspectorValues. -# Before sending these over the protocol, their shapes are checked against the specification. -# So, any types referenced by these types require debug-only assertions that check values. -# Calculating necessary assertions is annoying, and adds a lot of complexity to the generator. - -# FIXME: This should be converted into a property in JSON. -_TYPES_NEEDING_RUNTIME_CASTS = set([ - "Runtime.RemoteObject", - "Runtime.PropertyDescriptor", - "Runtime.InternalPropertyDescriptor", - "Runtime.CollectionEntry", - "Debugger.FunctionDetails", - "Debugger.CallFrame", - "Canvas.TraceLog", - "Canvas.ResourceInfo", - "Canvas.ResourceState", - # This should be a temporary hack. TimelineEvent should be created via generated C++ API. - "Timeline.TimelineEvent", - # For testing purposes only. - "Test.TypeNeedingCast" -]) - -# FIXME: This should be converted into a property in JSON. -_TYPES_WITH_OPEN_FIELDS = set([ - "Timeline.TimelineEvent", - # InspectorStyleSheet not only creates this property but wants to read it and modify it. - "CSS.CSSProperty", - # InspectorResourceAgent needs to update mime-type. - "Network.Response", - # For testing purposes only. - "Test.OpenParameterBundle" -]) - - -class Generator: - def __init__(self, model, input_filepath): - self._model = model - self._input_filepath = input_filepath - - def model(self): - return self._model - - def generate_license(self): - return Template(Templates.CopyrightBlock).substitute(None, inputFilename=os.path.basename(self._input_filepath)) - - # These methods are overridden by subclasses. - def non_supplemental_domains(self): - return filter(lambda domain: not domain.is_supplemental, self.model().domains) - - def domains_to_generate(self): - return self.non_supplemental_domains() - - def generate_output(self): - pass - - def output_filename(self): - pass - - def encoding_for_enum_value(self, enum_value): - if not hasattr(self, "_assigned_enum_values"): - self._traverse_and_assign_enum_values() - - return self._enum_value_encodings[enum_value] - - def assigned_enum_values(self): - if not hasattr(self, "_assigned_enum_values"): - self._traverse_and_assign_enum_values() - - return self._assigned_enum_values[:] # Slice. - - @staticmethod - def type_needs_runtime_casts(_type): - return _type.qualified_name() in _TYPES_NEEDING_RUNTIME_CASTS - - @staticmethod - def type_has_open_fields(_type): - return _type.qualified_name() in _TYPES_WITH_OPEN_FIELDS - - def type_needs_shape_assertions(self, _type): - if not hasattr(self, "_types_needing_shape_assertions"): - self.calculate_types_requiring_shape_assertions(self.model().domains) - - return _type in self._types_needing_shape_assertions - - # To restrict the domains over which we compute types needing assertions, call this method - # before generating any output with the desired domains parameter. The computed - # set of types will not be automatically regenerated on subsequent calls to - # Generator.types_needing_shape_assertions(). - def calculate_types_requiring_shape_assertions(self, domains): - domain_names = map(lambda domain: domain.domain_name, domains) - log.debug("> Calculating types that need shape assertions (eligible domains: %s)" % ", ".join(domain_names)) - - # Mutates the passed-in set; this simplifies checks to prevent infinite recursion. - def gather_transitively_referenced_types(_type, gathered_types): - if _type in gathered_types: - return - - if isinstance(_type, ObjectType): - log.debug("> Adding type %s to list of types needing shape assertions." % _type.qualified_name()) - gathered_types.add(_type) - for type_member in _type.members: - gather_transitively_referenced_types(type_member.type, gathered_types) - elif isinstance(_type, EnumType): - log.debug("> Adding type %s to list of types needing shape assertions." % _type.qualified_name()) - gathered_types.add(_type) - elif isinstance(_type, AliasedType): - gather_transitively_referenced_types(_type.aliased_type, gathered_types) - elif isinstance(_type, ArrayType): - gather_transitively_referenced_types(_type.element_type, gathered_types) - - found_types = set() - for domain in domains: - for declaration in domain.type_declarations: - if declaration.type.qualified_name() in _TYPES_NEEDING_RUNTIME_CASTS: - log.debug("> Gathering types referenced by %s to generate shape assertions." % declaration.type.qualified_name()) - gather_transitively_referenced_types(declaration.type, found_types) - - self._types_needing_shape_assertions = found_types - - # Private helper instance methods. - def _traverse_and_assign_enum_values(self): - self._enum_value_encodings = {} - self._assigned_enum_values = [] - all_types = [] - - domains = self.non_supplemental_domains() - - for domain in domains: - for type_declaration in domain.type_declarations: - all_types.append(type_declaration.type) - for type_member in type_declaration.type_members: - all_types.append(type_member.type) - - for domain in domains: - for event in domain.events: - all_types.extend([parameter.type for parameter in event.event_parameters]) - - for domain in domains: - for command in domain.commands: - all_types.extend([parameter.type for parameter in command.call_parameters]) - all_types.extend([parameter.type for parameter in command.return_parameters]) - - for _type in all_types: - if not isinstance(_type, EnumType): - continue - map(self._assign_encoding_for_enum_value, _type.enum_values()) - - def _assign_encoding_for_enum_value(self, enum_value): - if enum_value in self._enum_value_encodings: - return - - self._enum_value_encodings[enum_value] = len(self._assigned_enum_values) - self._assigned_enum_values.append(enum_value) - - # Miscellaneous text manipulation routines. - def wrap_with_guard_for_domain(self, domain, text): - if self.model().framework is Frameworks.WebInspector: - return text - guard = domain.feature_guard - if guard: - return Generator.wrap_with_guard(guard, text) - return text - - @staticmethod - def wrap_with_guard(guard, text): - return '\n'.join([ - '#if %s' % guard, - text, - '#endif // %s' % guard, - ]) - - @staticmethod - def stylized_name_for_enum_value(enum_value): - regex = '(%s)' % "|".join(_ALWAYS_UPPERCASED_ENUM_VALUE_SUBSTRINGS) - - def replaceCallback(match): - return match.group(1).upper() - - # Split on hyphen, introduce camelcase, and force uppercasing of acronyms. - subwords = map(ucfirst, enum_value.split('-')) - return re.sub(re.compile(regex, re.IGNORECASE), replaceCallback, "".join(subwords)) - - @staticmethod - def js_name_for_parameter_type(_type): - _type = _type - if isinstance(_type, AliasedType): - _type = _type.aliased_type # Fall through. - if isinstance(_type, EnumType): - _type = _type.primitive_type # Fall through. - - if isinstance(_type, (ArrayType, ObjectType)): - return 'object' - if isinstance(_type, PrimitiveType): - if _type.qualified_name() in ['object', 'any']: - return 'object' - elif _type.qualified_name() in ['integer', 'number']: - return 'number' - else: - return _type.qualified_name() diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generator_templates.py b/Source/JavaScriptCore/inspector/scripts/codegen/generator_templates.py deleted file mode 100644 index f2e330a72..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/generator_templates.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -# THE POSSIBILITY OF SUCH DAMAGE. - -# Generator templates, which can be filled with string.Template. -# Following are classes that fill the templates from the typechecked model. - - -class GeneratorTemplates: - CopyrightBlock = ( - """/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from ${inputFilename} -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py""") diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/models.py b/Source/JavaScriptCore/inspector/scripts/codegen/models.py deleted file mode 100755 index 2dabdc0ca..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/models.py +++ /dev/null @@ -1,591 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -import collections - -log = logging.getLogger('global') - - -def ucfirst(str): - return str[:1].upper() + str[1:] - - -def find_duplicates(l): - return [key for key, count in collections.Counter(l).items() if count > 1] - - -_FRAMEWORK_CONFIG_MAP = { - "Global": { - }, - "JavaScriptCore": { - "export_macro": "JS_EXPORT_PRIVATE" - }, - "WebInspector": { - }, - # Used for code generator tests. - "Test": { - } -} - - -class ParseException(Exception): - pass - - -class TypecheckException(Exception): - pass - - -class Framework: - def __init__(self, name): - self._settings = _FRAMEWORK_CONFIG_MAP[name] - self.name = name - - def setting(self, key, default=''): - return self._settings.get(key, default) - - @staticmethod - def fromString(frameworkString): - if frameworkString == "Global": - return Frameworks.Global - - if frameworkString == "JavaScriptCore": - return Frameworks.JavaScriptCore - - if frameworkString == "WebInspector": - return Frameworks.WebInspector - - if frameworkString == "Test": - return Frameworks.Test - - raise ParseException("Unknown framework: %s" % frameworkString) - - -class Frameworks: - Global = Framework("Global") - JavaScriptCore = Framework("JavaScriptCore") - WebInspector = Framework("WebInspector") - Test = Framework("Test") - - -class TypeReference: - def __init__(self, type_kind, referenced_type_name, enum_values, array_items): - self.type_kind = type_kind - self.referenced_type_name = referenced_type_name - self.enum_values = enum_values - if array_items is None: - self.array_type_ref = None - else: - self.array_type_ref = TypeReference(array_items.get('type'), array_items.get('$ref'), array_items.get('enum'), array_items.get('items')) - - if type_kind is not None and referenced_type_name is not None: - raise ParseException("Type reference cannot have both 'type' and '$ref' keys.") - - if type_kind == "array" and array_items is None: - raise ParseException("Type reference with type 'array' must have key 'items' to define array element type.") - - if enum_values is not None and len(enum_values) == 0: - raise ParseException("Type reference with enum values must have at least one enum value.") - - def referenced_name(self): - if self.referenced_type_name is not None: - return self.referenced_type_name - else: - return self.type_kind # integer, string, number, boolean, enum, object, array - - -class Type: - def __init__(self): - pass - - def __eq__(self, other): - return self.qualified_name() == other.qualified_name() - - def __hash__(self): - return self.qualified_name().__hash__() - - def raw_name(self): - return self._name - - # These methods should be overridden by subclasses. - def is_enum(self): - return False - - def type_domain(self): - pass - - def qualified_name(self): - pass - - # This is used to resolve nested types after instances are created. - def resolve_type_references(self, protocol): - pass - - -class PrimitiveType(Type): - def __init__(self, name): - self._name = name - - def __repr__(self): - return 'PrimitiveType[%s]' % self.qualified_name() - - def type_domain(self): - return None - - def qualified_name(self): - return self.raw_name() - - -class AliasedType(Type): - def __init__(self, name, domain, aliased_type_ref): - self._name = name - self._domain = domain - self._aliased_type_ref = aliased_type_ref - self.aliased_type = None - - def __repr__(self): - if self.aliased_type is not None: - return 'AliasedType[%s -> %r]' % (self.qualified_name(), self.aliased_type) - else: - return 'AliasedType[%s -> (unresolved)]' % self.qualified_name() - - def is_enum(self): - return self.aliased_type.is_enum() - - def type_domain(self): - return self._domain - - def qualified_name(self): - return ".".join([self.type_domain().domain_name, self.raw_name()]) - - def resolve_type_references(self, protocol): - if self.aliased_type is not None: - return - - self.aliased_type = protocol.lookup_type_reference(self._aliased_type_ref, self.type_domain()) - log.debug("< Resolved type reference for aliased type in %s: %s" % (self.qualified_name(), self.aliased_type.qualified_name())) - - -class EnumType(Type): - def __init__(self, name, domain, values, primitive_type_ref, is_anonymous=False): - self._name = name - self._domain = domain - self._values = values - self._primitive_type_ref = primitive_type_ref - self.primitive_type = None - self.is_anonymous = is_anonymous - - def __repr__(self): - return 'EnumType[value_type=%s; values=%s]' % (self.qualified_name(), ', '.join(map(str, self.enum_values()))) - - def is_enum(self): - return True - - def type_domain(self): - return self._domain - - def enum_values(self): - return self._values - - def qualified_name(self): - return ".".join([self.type_domain().domain_name, self.raw_name()]) - - def resolve_type_references(self, protocol): - if self.primitive_type is not None: - return - - self.primitive_type = protocol.lookup_type_reference(self._primitive_type_ref, Domains.GLOBAL) - log.debug("< Resolved type reference for enum type in %s: %s" % (self.qualified_name(), self.primitive_type.qualified_name())) - log.debug("<< enum values: %s" % self.enum_values()) - - -class ArrayType(Type): - def __init__(self, name, element_type_ref, domain): - self._name = name - self._domain = domain - self._element_type_ref = element_type_ref - self.element_type = None - - def __repr__(self): - if self.element_type is not None: - return 'ArrayType[element_type=%r]' % self.element_type - else: - return 'ArrayType[element_type=(unresolved)]' - - def type_domain(self): - return self._domain - - def qualified_name(self): - return ".".join(["array", self.element_type.qualified_name()]) - - def resolve_type_references(self, protocol): - if self.element_type is not None: - return - - self.element_type = protocol.lookup_type_reference(self._element_type_ref, self.type_domain()) - log.debug("< Resolved type reference for element type in %s: %s" % (self.qualified_name(), self.element_type.qualified_name())) - - -class ObjectType(Type): - def __init__(self, name, domain, members): - self._name = name - self._domain = domain - self.members = members - - def __repr__(self): - return 'ObjectType[%s]' % self.qualified_name() - - def type_domain(self): - return self._domain - - def qualified_name(self): - return ".".join([self.type_domain().domain_name, self.raw_name()]) - - -def check_for_required_properties(props, obj, what): - for prop in props: - if prop not in obj: - raise ParseException("When parsing %s, required property missing: %s" % (what, prop)) - - -class Protocol: - def __init__(self, framework_name): - self.domains = [] - self.types_by_name = {} - self.framework = Framework.fromString(framework_name) - - def parse_specification(self, json, isSupplemental): - log.debug("parse toplevel") - - if isinstance(json, dict) and 'domains' in json: - json = json['domains'] - if not isinstance(json, list): - json = [json] - - for domain in json: - self.parse_domain(domain, isSupplemental) - - def parse_domain(self, json, isSupplemental): - check_for_required_properties(['domain'], json, "domain") - log.debug("parse domain " + json['domain']) - - types = [] - commands = [] - events = [] - - if 'types' in json: - if not isinstance(json['types'], list): - raise ParseException("Malformed domain specification: types is not an array") - types.extend([self.parse_type_declaration(declaration) for declaration in json['types']]) - - if 'commands' in json: - if not isinstance(json['commands'], list): - raise ParseException("Malformed domain specification: commands is not an array") - commands.extend([self.parse_command(command) for command in json['commands']]) - - if 'events' in json: - if not isinstance(json['events'], list): - raise ParseException("Malformed domain specification: events is not an array") - events.extend([self.parse_event(event) for event in json['events']]) - - if 'availability' in json: - if not commands and not events: - raise ParseException("Malformed domain specification: availability should only be included if there are commands or events.") - allowed_activation_strings = set(['web']) - if json['availability'] not in allowed_activation_strings: - raise ParseException('Malformed domain specification: availability is an unsupported string. Was: "%s", Allowed values: %s' % (json['availability'], ', '.join(allowed_activation_strings))) - - self.domains.append(Domain(json['domain'], json.get('description', ''), json.get('featureGuard'), json.get('availability'), isSupplemental, types, commands, events)) - - def parse_type_declaration(self, json): - check_for_required_properties(['id', 'type'], json, "type") - log.debug("parse type %s" % json['id']) - - type_members = [] - - if 'properties' in json: - if not isinstance(json['properties'], list): - raise ParseException("Malformed type specification: properties is not an array") - type_members.extend([self.parse_type_member(member) for member in json['properties']]) - - duplicate_names = find_duplicates([member.member_name for member in type_members]) - if len(duplicate_names) > 0: - raise ParseException("Malformed domain specification: type declaration for %s has duplicate member names" % json['id']) - - type_ref = TypeReference(json['type'], json.get('$ref'), json.get('enum'), json.get('items')) - return TypeDeclaration(json['id'], type_ref, json.get("description", ""), type_members) - - def parse_type_member(self, json): - check_for_required_properties(['name'], json, "type member") - log.debug("parse type member %s" % json['name']) - - type_ref = TypeReference(json.get('type'), json.get('$ref'), json.get('enum'), json.get('items')) - return TypeMember(json['name'], type_ref, json.get('optional', False), json.get('description', "")) - - def parse_command(self, json): - check_for_required_properties(['name'], json, "command") - log.debug("parse command %s" % json['name']) - - call_parameters = [] - return_parameters = [] - - if 'parameters' in json: - if not isinstance(json['parameters'], list): - raise ParseException("Malformed command specification: parameters is not an array") - call_parameters.extend([self.parse_call_or_return_parameter(parameter) for parameter in json['parameters']]) - - duplicate_names = find_duplicates([param.parameter_name for param in call_parameters]) - if len(duplicate_names) > 0: - raise ParseException("Malformed domain specification: call parameter list for command %s has duplicate parameter names" % json['name']) - - if 'returns' in json: - if not isinstance(json['returns'], list): - raise ParseException("Malformed command specification: returns is not an array") - return_parameters.extend([self.parse_call_or_return_parameter(parameter) for parameter in json['returns']]) - - duplicate_names = find_duplicates([param.parameter_name for param in return_parameters]) - if len(duplicate_names) > 0: - raise ParseException("Malformed domain specification: return parameter list for command %s has duplicate parameter names" % json['name']) - - return Command(json['name'], call_parameters, return_parameters, json.get('description', ""), json.get('async', False)) - - def parse_event(self, json): - check_for_required_properties(['name'], json, "event") - log.debug("parse event %s" % json['name']) - - event_parameters = [] - - if 'parameters' in json: - if not isinstance(json['parameters'], list): - raise ParseException("Malformed event specification: parameters is not an array") - event_parameters.extend([self.parse_call_or_return_parameter(parameter) for parameter in json['parameters']]) - - duplicate_names = find_duplicates([param.parameter_name for param in event_parameters]) - if len(duplicate_names) > 0: - raise ParseException("Malformed domain specification: parameter list for event %s has duplicate parameter names" % json['name']) - - return Event(json['name'], event_parameters, json.get('description', "")) - - def parse_call_or_return_parameter(self, json): - check_for_required_properties(['name'], json, "parameter") - log.debug("parse parameter %s" % json['name']) - - type_ref = TypeReference(json.get('type'), json.get('$ref'), json.get('enum'), json.get('items')) - return Parameter(json['name'], type_ref, json.get('optional', False), json.get('description', "")) - - def resolve_types(self): - qualified_declared_type_names = set(['boolean', 'string', 'integer', 'number', 'enum', 'array', 'object', 'any']) - - self.types_by_name['string'] = PrimitiveType('string') - for _primitive_type in ['boolean', 'integer', 'number']: - self.types_by_name[_primitive_type] = PrimitiveType(_primitive_type) - for _object_type in ['any', 'object']: - self.types_by_name[_object_type] = PrimitiveType(_object_type) - - # Gather qualified type names from type declarations in each domain. - for domain in self.domains: - for declaration in domain.type_declarations: - # Basic sanity checking. - if declaration.type_ref.referenced_type_name is not None: - raise TypecheckException("Type declarations must name a base type, not a type reference.") - - # Find duplicate qualified type names. - qualified_type_name = ".".join([domain.domain_name, declaration.type_name]) - if qualified_type_name in qualified_declared_type_names: - raise TypecheckException("Duplicate type declaration: %s" % qualified_type_name) - - qualified_declared_type_names.add(qualified_type_name) - - type_instance = None - - kind = declaration.type_ref.type_kind - if declaration.type_ref.enum_values is not None: - primitive_type_ref = TypeReference(declaration.type_ref.type_kind, None, None, None) - type_instance = EnumType(declaration.type_name, domain, declaration.type_ref.enum_values, primitive_type_ref) - elif kind == "array": - type_instance = ArrayType(declaration.type_name, declaration.type_ref.array_type_ref, domain) - elif kind == "object": - type_instance = ObjectType(declaration.type_name, domain, declaration.type_members) - else: - type_instance = AliasedType(declaration.type_name, domain, declaration.type_ref) - - log.debug("< Created fresh type %r for declaration %s" % (type_instance, qualified_type_name)) - self.types_by_name[qualified_type_name] = type_instance - - # Resolve all type references recursively. - for domain in self.domains: - domain.resolve_type_references(self) - - def lookup_type_for_declaration(self, declaration, domain): - # This will only match a type defined in the same domain, where prefixes aren't required. - qualified_name = ".".join([domain.domain_name, declaration.type_name]) - if qualified_name in self.types_by_name: - found_type = self.types_by_name[qualified_name] - found_type.resolve_type_references(self) - return found_type - - raise TypecheckException("Lookup failed for type declaration: %s (referenced from domain: %s)" % (declaration.type_name, domain.domain_name)) - - def lookup_type_reference(self, type_ref, domain): - # If reference is to an anonymous array type, create a fresh instance. - if type_ref.type_kind == "array": - type_instance = ArrayType(None, type_ref.array_type_ref, domain) - type_instance.resolve_type_references(self) - log.debug("< Created fresh type instance for anonymous array type: %s" % type_instance.qualified_name()) - return type_instance - - # If reference is to an anonymous enum type, create a fresh instance. - if type_ref.enum_values is not None: - # We need to create a type reference without enum values as the enum's nested type. - primitive_type_ref = TypeReference(type_ref.type_kind, None, None, None) - type_instance = EnumType("(anonymous)", domain, type_ref.enum_values, primitive_type_ref, True) - type_instance.resolve_type_references(self) - log.debug("< Created fresh type instance for anonymous enum type: %s" % type_instance.qualified_name()) - return type_instance - - # This will match when referencing a type defined in the same domain, where prefixes aren't required. - qualified_name = ".".join([domain.domain_name, type_ref.referenced_name()]) - if qualified_name in self.types_by_name: - found_type = self.types_by_name[qualified_name] - found_type.resolve_type_references(self) - log.debug("< Lookup succeeded for unqualified type: %s" % found_type.qualified_name()) - return found_type - - # This will match primitive types and fully-qualified types from a different domain. - if type_ref.referenced_name() in self.types_by_name: - found_type = self.types_by_name[type_ref.referenced_name()] - found_type.resolve_type_references(self) - log.debug("< Lookup succeeded for primitive or qualified type: %s" % found_type.qualified_name()) - return found_type - - raise TypecheckException("Lookup failed for type reference: %s (referenced from domain: %s)" % (type_ref.referenced_name(), domain.domain_name)) - - -class Domain: - def __init__(self, domain_name, description, feature_guard, availability, isSupplemental, type_declarations, commands, events): - self.domain_name = domain_name - self.description = description - self.feature_guard = feature_guard - self.availability = availability - self.is_supplemental = isSupplemental - self.type_declarations = type_declarations - self.commands = commands - self.events = events - - def resolve_type_references(self, protocol): - log.debug("> Resolving type declarations for domain: %s" % self.domain_name) - for declaration in self.type_declarations: - declaration.resolve_type_references(protocol, self) - - log.debug("> Resolving types in commands for domain: %s" % self.domain_name) - for command in self.commands: - command.resolve_type_references(protocol, self) - - log.debug("> Resolving types in events for domain: %s" % self.domain_name) - for event in self.events: - event.resolve_type_references(protocol, self) - - -class Domains: - GLOBAL = Domain("", "The global domain, in which primitive types are implicitly declared.", None, None, True, [], [], []) - - -class TypeDeclaration: - def __init__(self, type_name, type_ref, description, type_members): - self.type_name = type_name - self.type_ref = type_ref - self.description = description - self.type_members = type_members - - if self.type_name != ucfirst(self.type_name): - raise ParseException("Types must begin with an uppercase character.") - - def resolve_type_references(self, protocol, domain): - log.debug(">> Resolving type references for type declaration: %s" % self.type_name) - self.type = protocol.lookup_type_for_declaration(self, domain) - for member in self.type_members: - member.resolve_type_references(protocol, domain) - - -class TypeMember: - def __init__(self, member_name, type_ref, is_optional, description): - self.member_name = member_name - self.type_ref = type_ref - self.is_optional = is_optional - self.description = description - - if self.is_optional not in [True, False]: - raise ParseException("The 'optional' flag for a type member must be a boolean literal.") - - def resolve_type_references(self, protocol, domain): - log.debug(">>> Resolving type references for type member: %s" % self.member_name) - self.type = protocol.lookup_type_reference(self.type_ref, domain) - - -class Parameter: - def __init__(self, parameter_name, type_ref, is_optional, description): - self.parameter_name = parameter_name - self.type_ref = type_ref - self.is_optional = is_optional - self.description = description - - if self.is_optional not in [True, False]: - raise ParseException("The 'optional' flag for a parameter must be a boolean literal.") - - def resolve_type_references(self, protocol, domain): - log.debug(">>> Resolving type references for parameter: %s" % self.parameter_name) - self.type = protocol.lookup_type_reference(self.type_ref, domain) - - -class Command: - def __init__(self, command_name, call_parameters, return_parameters, description, is_async): - self.command_name = command_name - self.call_parameters = call_parameters - self.return_parameters = return_parameters - self.description = description - self.is_async = is_async - - def resolve_type_references(self, protocol, domain): - log.debug(">> Resolving type references for call parameters in command: %s" % self.command_name) - for parameter in self.call_parameters: - parameter.resolve_type_references(protocol, domain) - - log.debug(">> Resolving type references for return parameters in command: %s" % self.command_name) - for parameter in self.return_parameters: - parameter.resolve_type_references(protocol, domain) - - -class Event: - def __init__(self, event_name, event_parameters, description): - self.event_name = event_name - self.event_parameters = event_parameters - self.description = description - - def resolve_type_references(self, protocol, domain): - log.debug(">> Resolving type references for parameters in event: %s" % self.event_name) - for parameter in self.event_parameters: - parameter.resolve_type_references(protocol, domain) diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py b/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py deleted file mode 100755 index f6dd03cb5..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py +++ /dev/null @@ -1,523 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (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 logging -from generator import Generator, ucfirst -from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks - -log = logging.getLogger('global') - - -def join_type_and_name(type_str, name_str): - if type_str.endswith('*'): - return type_str + name_str - return type_str + ' ' + name_str - - -def strip_block_comment_markers(str): - return str.replace('/*', '').replace('*/', '') - - -def remove_duplicate_from_str(str, possible_duplicate): - return str.replace(possible_duplicate + possible_duplicate, possible_duplicate) - - -_OBJC_IDENTIFIER_RENAME_MAP = { - 'this': 'thisObject', # Debugger.CallFrame.this - 'description': 'stringRepresentation', # Runtime.RemoteObject.description - 'id': 'identifier', # Page.Frame.id, Runtime.ExecutionContextDescription.id, Debugger.BreakpointAction.id -} - -_OBJC_IDENTIFIER_REVERSE_RENAME_MAP = dict((v, k) for k, v in _OBJC_IDENTIFIER_RENAME_MAP.iteritems()) - - -class ObjCTypeCategory: - Simple = 0 - String = 1 - Object = 2 - Array = 3 - - @staticmethod - def category_for_type(_type): - if (isinstance(_type, PrimitiveType)): - if _type.raw_name() is 'string': - return ObjCTypeCategory.String - if _type.raw_name() in ['object', 'any']: - return ObjCTypeCategory.Object - if _type.raw_name() is 'array': - return ObjCTypeCategory.Array - return ObjCTypeCategory.Simple - if (isinstance(_type, ObjectType)): - return ObjCTypeCategory.Object - if (isinstance(_type, ArrayType)): - return ObjCTypeCategory.Array - if (isinstance(_type, AliasedType)): - return ObjCTypeCategory.category_for_type(_type.aliased_type) - if (isinstance(_type, EnumType)): - return ObjCTypeCategory.category_for_type(_type.primitive_type) - return None - - - -# This class contains extra static methods used for generation, but does -# not participate in any inheritance hierarchy. File generators should -# extend the generic "Generator" class instead. -class ObjCGenerator: - OBJC_PREFIX = 'RWIProtocol' - OBJC_JSON_OBJECT_BASE = '%sJSONObject' % OBJC_PREFIX - - # Adjust identifier names that collide with ObjC keywords. - - @staticmethod - def identifier_to_objc_identifier(name): - return _OBJC_IDENTIFIER_RENAME_MAP.get(name, name) - - @staticmethod - def objc_identifier_to_identifier(name): - return _OBJC_IDENTIFIER_REVERSE_RENAME_MAP.get(name, name) - - # Generate ObjC types, command handlers, and event dispatchers for a subset of domains. - - DOMAINS_TO_GENERATE = ['CSS', 'DOM', 'DOMStorage', 'Network', 'Page', 'GenericTypes'] - - @staticmethod - def should_generate_domain_types_filter(model): - def should_generate_domain_types(domain): - if model.framework is Frameworks.Test: - return True - whitelist = set(ObjCGenerator.DOMAINS_TO_GENERATE) - whitelist.update(set(['Console', 'Debugger', 'Runtime'])) - return domain.domain_name in whitelist - return should_generate_domain_types - - @staticmethod - def should_generate_domain_command_handler_filter(model): - def should_generate_domain_command_handler(domain): - if model.framework is Frameworks.Test: - return True - whitelist = set(ObjCGenerator.DOMAINS_TO_GENERATE) - return domain.domain_name in whitelist - return should_generate_domain_command_handler - - @staticmethod - def should_generate_domain_event_dispatcher_filter(model): - def should_generate_domain_event_dispatcher(domain): - if model.framework is Frameworks.Test: - return True - whitelist = set(ObjCGenerator.DOMAINS_TO_GENERATE) - whitelist.add('Console') - return domain.domain_name in whitelist - return should_generate_domain_event_dispatcher - - # ObjC enum and type names. - - @staticmethod - def objc_name_for_type(type): - name = type.qualified_name().replace('.', '') - name = remove_duplicate_from_str(name, type.type_domain().domain_name) - return '%s%s' % (ObjCGenerator.OBJC_PREFIX, name) - - @staticmethod - def objc_enum_name_for_anonymous_enum_declaration(declaration): - domain_name = declaration.type.type_domain().domain_name - name = '%s%s' % (domain_name, declaration.type.raw_name()) - name = remove_duplicate_from_str(name, domain_name) - return '%s%s' % (ObjCGenerator.OBJC_PREFIX, name) - - @staticmethod - def objc_enum_name_for_anonymous_enum_member(declaration, member): - domain_name = member.type.type_domain().domain_name - name = '%s%s%s' % (domain_name, declaration.type.raw_name(), ucfirst(member.member_name)) - name = remove_duplicate_from_str(name, domain_name) - return '%s%s' % (ObjCGenerator.OBJC_PREFIX, name) - - @staticmethod - def objc_enum_name_for_anonymous_enum_parameter(domain, event_or_command_name, parameter): - domain_name = domain.domain_name - name = '%s%s%s' % (domain_name, ucfirst(event_or_command_name), ucfirst(parameter.parameter_name)) - name = remove_duplicate_from_str(name, domain_name) - return '%s%s' % (ObjCGenerator.OBJC_PREFIX, name) - - @staticmethod - def objc_enum_name_for_non_anonymous_enum(_type): - domain_name = _type.type_domain().domain_name - name = _type.qualified_name().replace('.', '') - name = remove_duplicate_from_str(name, domain_name) - return '%s%s' % (ObjCGenerator.OBJC_PREFIX, name) - - # Miscellaneous name handling. - - @staticmethod - def variable_name_prefix_for_domain(domain): - domain_name = domain.domain_name - if domain_name.startswith('DOM'): - return 'dom' + domain_name[3:] - if domain_name.startswith('CSS'): - return 'css' + domain_name[3:] - return domain_name[:1].lower() + domain_name[1:] - - # Type basics. - - @staticmethod - def objc_accessor_type_for_raw_name(raw_name): - if raw_name in ['string', 'array']: - return 'copy' - if raw_name in ['integer', 'number', 'boolean']: - return 'assign' - if raw_name in ['any', 'object']: - return 'retain' - return None - - @staticmethod - def objc_type_for_raw_name(raw_name): - if raw_name is 'string': - return 'NSString *' - if raw_name is 'array': - return 'NSArray *' - if raw_name is 'integer': - return 'int' - if raw_name is 'number': - return 'double' - if raw_name is 'boolean': - return 'BOOL' - if raw_name in ['any', 'object']: - return '%s *' % ObjCGenerator.OBJC_JSON_OBJECT_BASE - return None - - @staticmethod - def objc_class_for_raw_name(raw_name): - if raw_name is 'string': - return 'NSString' - if raw_name is 'array': - return 'NSArray' - if raw_name in ['integer', 'number', 'boolean']: - return 'NSNumber' - if raw_name in ['any', 'object']: - return ObjCGenerator.OBJC_JSON_OBJECT_BASE - return None - - # FIXME: Can these protocol_type functions be removed in favor of C++ generators functions? - - @staticmethod - def protocol_type_for_raw_name(raw_name): - if raw_name is 'string': - return 'String' - if raw_name is 'integer': - return 'int' - if raw_name is 'number': - return 'double' - if raw_name is 'boolean': - return 'bool' - if raw_name in ['any', 'object']: - return 'InspectorObject' - return None - - @staticmethod - def protocol_type_for_type(_type): - if (isinstance(_type, AliasedType)): - _type = _type.aliased_type - if (isinstance(_type, PrimitiveType)): - return ObjCGenerator.protocol_type_for_raw_name(_type.raw_name()) - if (isinstance(_type, EnumType)): - return ObjCGenerator.protocol_type_for_type(_type.primitive_type) - if (isinstance(_type, ObjectType)): - return 'Inspector::Protocol::%s::%s' % (_type.type_domain().domain_name, _type.raw_name()) - if (isinstance(_type, ArrayType)): - sub_type = ObjCGenerator.protocol_type_for_type(_type.element_type) - return 'Inspector::Protocol::Array<%s>' % sub_type - return None - - @staticmethod - def is_type_objc_pointer_type(_type): - if (isinstance(_type, AliasedType)): - _type = _type.aliased_type - if (isinstance(_type, PrimitiveType)): - return _type.raw_name() in ['string', 'array', 'any', 'object'] - if (isinstance(_type, EnumType)): - return False - if (isinstance(_type, ObjectType)): - return True - if (isinstance(_type, ArrayType)): - return True - return None - - @staticmethod - def objc_class_for_type(_type): - if (isinstance(_type, AliasedType)): - _type = _type.aliased_type - if (isinstance(_type, PrimitiveType)): - return ObjCGenerator.objc_class_for_raw_name(_type.raw_name()) - if (isinstance(_type, EnumType)): - return ObjCGenerator.objc_class_for_raw_name(_type.primitive_type.raw_name()) - if (isinstance(_type, ObjectType)): - return ObjCGenerator.objc_name_for_type(_type) - if (isinstance(_type, ArrayType)): - sub_type = strip_block_comment_markers(ObjCGenerator.objc_class_for_type(_type.element_type)) - return 'NSArray/*<%s>*/' % sub_type - return None - - @staticmethod - def objc_class_for_array_type(_type): - if isinstance(_type, AliasedType): - _type = _type.aliased_type - if isinstance(_type, ArrayType): - return ObjCGenerator.objc_class_for_type(_type.element_type) - return None - - @staticmethod - def objc_accessor_type_for_member(member): - return ObjCGenerator.objc_accessor_type_for_member_internal(member.type) - - @staticmethod - def objc_accessor_type_for_member_internal(_type): - if (isinstance(_type, AliasedType)): - _type = _type.aliased_type - if (isinstance(_type, PrimitiveType)): - return ObjCGenerator.objc_accessor_type_for_raw_name(_type.raw_name()) - if (isinstance(_type, EnumType)): - return 'assign' - if (isinstance(_type, ObjectType)): - return 'retain' - if (isinstance(_type, ArrayType)): - return 'copy' - return None - - @staticmethod - def objc_type_for_member(declaration, member): - return ObjCGenerator.objc_type_for_member_internal(member.type, declaration, member) - - @staticmethod - def objc_type_for_member_internal(_type, declaration, member): - if (isinstance(_type, AliasedType)): - _type = _type.aliased_type - if (isinstance(_type, PrimitiveType)): - return ObjCGenerator.objc_type_for_raw_name(_type.raw_name()) - if (isinstance(_type, EnumType)): - if (_type.is_anonymous): - return ObjCGenerator.objc_enum_name_for_anonymous_enum_member(declaration, member) - return ObjCGenerator.objc_enum_name_for_non_anonymous_enum(_type) - if (isinstance(_type, ObjectType)): - return ObjCGenerator.objc_name_for_type(_type) + ' *' - if (isinstance(_type, ArrayType)): - sub_type = strip_block_comment_markers(ObjCGenerator.objc_class_for_type(_type.element_type)) - return 'NSArray/*<%s>*/ *' % sub_type - return None - - @staticmethod - def objc_type_for_param(domain, event_or_command_name, parameter, respect_optional=True): - objc_type = ObjCGenerator.objc_type_for_param_internal(parameter.type, domain, event_or_command_name, parameter) - if respect_optional and parameter.is_optional: - if objc_type.endswith('*'): - return objc_type + '*' - return objc_type + ' *' - return objc_type - - @staticmethod - def objc_type_for_param_internal(_type, domain, event_or_command_name, parameter): - if (isinstance(_type, AliasedType)): - _type = _type.aliased_type - if (isinstance(_type, PrimitiveType)): - return ObjCGenerator.objc_type_for_raw_name(_type.raw_name()) - if (isinstance(_type, EnumType)): - if _type.is_anonymous: - return ObjCGenerator.objc_enum_name_for_anonymous_enum_parameter(domain, event_or_command_name, parameter) - return ObjCGenerator.objc_enum_name_for_non_anonymous_enum(_type) - if (isinstance(_type, ObjectType)): - return ObjCGenerator.objc_name_for_type(_type) + ' *' - if (isinstance(_type, ArrayType)): - sub_type = strip_block_comment_markers(ObjCGenerator.objc_class_for_type(_type.element_type)) - return 'NSArray/*<%s>*/ *' % sub_type - return None - - # ObjC <-> Protocol conversion for commands and events. - # - convert a command call parameter received from Protocol to ObjC for handler - # - convert a command return parameter in callback block from ObjC to Protocol to send - # - convert an event parameter from ObjC API to Protocol to send - - @staticmethod - def objc_protocol_export_expression_for_variable(var_type, var_name): - category = ObjCTypeCategory.category_for_type(var_type) - if category in [ObjCTypeCategory.Simple, ObjCTypeCategory.String]: - if isinstance(var_type, EnumType): - return 'toProtocolString(%s)' % var_name - return var_name - if category is ObjCTypeCategory.Object: - return '[%s toInspectorObject]' % var_name - if category is ObjCTypeCategory.Array: - protocol_type = ObjCGenerator.protocol_type_for_type(var_type.element_type) - objc_class = ObjCGenerator.objc_class_for_type(var_type.element_type) - if protocol_type == 'Inspector::Protocol::Array<String>': - return 'inspectorStringArrayArray(%s)' % var_name - if protocol_type is 'String' and objc_class is 'NSString': - return 'inspectorStringArray(%s)' % var_name - if protocol_type is 'int' and objc_class is 'NSNumber': - return 'inspectorIntegerArray(%s)' % var_name - if protocol_type is 'double' and objc_class is 'NSNumber': - return 'inspectorDoubleArray(%s)' % var_name - return 'inspectorObjectArray(%s)' % var_name - - @staticmethod - def objc_protocol_import_expression_for_member(name, declaration, member): - if isinstance(member.type, EnumType): - if member.type.is_anonymous: - return 'fromProtocolString<%s>(%s)' % (ObjCGenerator.objc_enum_name_for_anonymous_enum_member(declaration, member), name) - return 'fromProtocolString<%s>(%s)' % (ObjCGenerator.objc_enum_name_for_non_anonymous_enum(member.type), name) - return ObjCGenerator.objc_protocol_import_expression_for_variable(member.type, name) - - @staticmethod - def objc_protocol_import_expression_for_parameter(name, domain, event_or_command_name, parameter): - if isinstance(parameter.type, EnumType): - if parameter.type.is_anonymous: - return 'fromProtocolString<%s>(%s)' % (ObjCGenerator.objc_enum_name_for_anonymous_enum_parameter(domain, event_or_command_name, parameter), name) - return 'fromProtocolString<%s>(%s)' % (ObjCGenerator.objc_enum_name_for_non_anonymous_enum(parameter.type), name) - return ObjCGenerator.objc_protocol_import_expression_for_variable(parameter.type, name) - - @staticmethod - def objc_protocol_import_expression_for_variable(var_type, var_name): - category = ObjCTypeCategory.category_for_type(var_type) - if category in [ObjCTypeCategory.Simple, ObjCTypeCategory.String]: - return var_name - if category is ObjCTypeCategory.Object: - objc_class = ObjCGenerator.objc_class_for_type(var_type) - return '[[[%s alloc] initWithInspectorObject:%s] autorelease]' % (objc_class, var_name) - if category is ObjCTypeCategory.Array: - objc_class = ObjCGenerator.objc_class_for_type(var_type.element_type) - if objc_class is 'NSString': - return 'objcStringArray(%s)' % var_name - if objc_class is 'NSNumber': # FIXME: Integer or Double? - return 'objcIntegerArray(%s)' % var_name - return 'objcArray<%s>(%s)' % (objc_class, var_name) - - # ObjC <-> JSON object conversion for types getters/setters. - # - convert a member setter from ObjC API to JSON object setter - # - convert a member getter from JSON object to ObjC API - - @staticmethod - def objc_to_protocol_expression_for_member(declaration, member, sub_expression): - category = ObjCTypeCategory.category_for_type(member.type) - if category in [ObjCTypeCategory.Simple, ObjCTypeCategory.String]: - if isinstance(member.type, EnumType): - return 'toProtocolString(%s)' % sub_expression - return sub_expression - if category is ObjCTypeCategory.Object: - return sub_expression - if category is ObjCTypeCategory.Array: - objc_class = ObjCGenerator.objc_class_for_type(member.type.element_type) - if objc_class is 'NSString': - return 'inspectorStringArray(%s)' % sub_expression - if objc_class is 'NSNumber': - protocol_type = ObjCGenerator.protocol_type_for_type(member.type.element_type) - if protocol_type is 'double': - return 'inspectorDoubleArray(%s)' % sub_expression - return 'inspectorIntegerArray(%s)' % sub_expression - return 'inspectorObjectArray(%s)' % sub_expression - - @staticmethod - def protocol_to_objc_expression_for_member(declaration, member, sub_expression): - category = ObjCTypeCategory.category_for_type(member.type) - if category in [ObjCTypeCategory.Simple, ObjCTypeCategory.String]: - if isinstance(member.type, EnumType): - if member.type.is_anonymous: - return 'fromProtocolString<%s>(%s)' % (ObjCGenerator.objc_enum_name_for_anonymous_enum_member(declaration, member), sub_expression) - return 'fromProtocolString<%s>(%s)' % (ObjCGenerator.objc_enum_name_for_non_anonymous_enum(member.type), sub_expression) - return sub_expression - if category is ObjCTypeCategory.Object: - objc_type = ObjCGenerator.objc_type_for_member(declaration, member) - return '(%s)%s' % (objc_type, sub_expression) - if category is ObjCTypeCategory.Array: - protocol_type = ObjCGenerator.protocol_type_for_type(member.type.element_type) - objc_class = ObjCGenerator.objc_class_for_type(member.type.element_type) - if objc_class is 'NSString': - return 'objcStringArray(%s)' % sub_expression - if objc_class is 'NSNumber': - protocol_type = ObjCGenerator.protocol_type_for_type(member.type.element_type) - if protocol_type is 'double': - return 'objcDoubleArray(%s)' % sub_expression - return 'objcIntegerArray(%s)' % sub_expression - return 'objcArray<%s>(%s)' % (objc_class, sub_expression) - - # JSON object setter/getter selectors for types. - - @staticmethod - def objc_setter_method_for_member(declaration, member): - return ObjCGenerator.objc_setter_method_for_member_internal(member.type, declaration, member) - - @staticmethod - def objc_setter_method_for_member_internal(_type, declaration, member): - if (isinstance(_type, AliasedType)): - _type = _type.aliased_type - if (isinstance(_type, PrimitiveType)): - raw_name = _type.raw_name() - if raw_name is 'boolean': - return 'setBool' - if raw_name is 'integer': - return 'setInteger' - if raw_name is 'number': - return 'setDouble' - if raw_name is 'string': - return 'setString' - if raw_name in ['any', 'object']: - return 'setObject' - if raw_name is 'array': - return 'setInspectorArray' - return None - if (isinstance(_type, EnumType)): - return 'setString' - if (isinstance(_type, ObjectType)): - return 'setObject' - if (isinstance(_type, ArrayType)): - return 'setInspectorArray' - return None - - @staticmethod - def objc_getter_method_for_member(declaration, member): - return ObjCGenerator.objc_getter_method_for_member_internal(member.type, declaration, member) - - @staticmethod - def objc_getter_method_for_member_internal(_type, declaration, member): - if (isinstance(_type, AliasedType)): - _type = _type.aliased_type - if (isinstance(_type, PrimitiveType)): - raw_name = _type.raw_name() - if raw_name is 'boolean': - return 'boolForKey' - if raw_name is 'integer': - return 'integerForKey' - if raw_name is 'number': - return 'doubleForKey' - if raw_name is 'string': - return 'stringForKey' - if raw_name in ['any', 'object']: - return 'objectForKey' - if raw_name is 'array': - return 'inspectorArrayForKey' - return None - if (isinstance(_type, EnumType)): - return 'stringForKey' - if (isinstance(_type, ObjectType)): - return 'objectForKey' - if (isinstance(_type, ArrayType)): - return 'inspectorArrayForKey' - return None diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py b/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py deleted file mode 100755 index ef712b8db..000000000 --- a/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py +++ /dev/null @@ -1,155 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -# THE POSSIBILITY OF SUCH DAMAGE. - -# Generator templates, which can be filled with string.Template. -# Following are classes that fill the templates from the typechecked model. - -class ObjCGeneratorTemplates: - - HeaderPrelude = ( - """#import <Foundation/Foundation.h> - -${includes} -""") - - HeaderPostlude = ( - """""") - - ConversionHelpersPrelude = ( - """${includes} - -namespace Inspector {""") - - ConversionHelpersPostlude = ( - """} // namespace Inspector -""") - - GenericHeaderPrelude = ( - """${includes}""") - - GenericHeaderPostlude = ( - """""") - - ConversionHelpersStandard = ( - """template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value);""") - - BackendDispatcherHeaderPrelude = ( - """${includes} - -${forwardDeclarations} - -namespace Inspector { -""") - - BackendDispatcherHeaderPostlude = ( - """} // namespace Inspector -""") - - BackendDispatcherImplementationPrelude = ( - """#import "config.h" -#import ${primaryInclude} - -${secondaryIncludes} - -namespace Inspector {""") - - BackendDispatcherImplementationPostlude = ( - """} // namespace Inspector -""") - - ImplementationPrelude = ( - """#import "config.h" -#import ${primaryInclude} - -${secondaryIncludes} - -using namespace Inspector;""") - - ImplementationPostlude = ( - """""") - - BackendDispatcherHeaderDomainHandlerInterfaceDeclaration = ( - """class Alternate${domainName}BackendDispatcher : public AlternateBackendDispatcher { -public: - virtual ~Alternate${domainName}BackendDispatcher() { } -${commandDeclarations} -};""") - - BackendDispatcherHeaderDomainHandlerObjCDeclaration = ( - """class ObjCInspector${domainName}BackendDispatcher final : public Alternate${domainName}BackendDispatcher { -public: - ObjCInspector${domainName}BackendDispatcher(id<${objcPrefix}${domainName}DomainHandler> handler) { m_delegate = handler; } -${commandDeclarations} -private: - RetainPtr<id<${objcPrefix}${domainName}DomainHandler>> m_delegate; -};""") - - BackendDispatcherHeaderDomainHandlerImplementation = ( - """void ObjCInspector${domainName}BackendDispatcher::${commandName}(${parameters}) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - -${successCallback} -${conversions} -${invocation} -} -""") - - ConfigurationCommandProperty = ( - """@property (nonatomic, retain, setter=set${domainName}Handler:) id<${objcPrefix}${domainName}DomainHandler> ${variableNamePrefix}Handler;""") - - ConfigurationEventProperty = ( - """@property (nonatomic, readonly) ${objcPrefix}${domainName}DomainEventDispatcher *${variableNamePrefix}EventDispatcher;""") - - ConfigurationCommandPropertyImplementation = ( - """- (void)set${domainName}Handler:(id<${objcPrefix}${domainName}DomainHandler>)handler -{ - if (handler == _${variableNamePrefix}Handler) - return; - - [_${variableNamePrefix}Handler release]; - _${variableNamePrefix}Handler = [handler retain]; - - auto alternateDispatcher = std::make_unique<ObjCInspector${domainName}BackendDispatcher>(handler); - auto alternateAgent = std::make_unique<AlternateDispatchableAgent<${domainName}BackendDispatcher, Alternate${domainName}BackendDispatcher>>(ASCIILiteral("${domainName}"), WTF::move(alternateDispatcher)); - _controller->appendExtraAgent(WTF::move(alternateAgent)); -} - -- (id<${objcPrefix}${domainName}DomainHandler>)${variableNamePrefix}Handler -{ - return _${variableNamePrefix}Handler; -}""") - - ConfigurationGetterImplementation = ( - """- (${objcPrefix}${domainName}DomainEventDispatcher *)${variableNamePrefix}EventDispatcher -{ - if (!_${variableNamePrefix}EventDispatcher) - _${variableNamePrefix}EventDispatcher = [[${objcPrefix}${domainName}DomainEventDispatcher alloc] initWithController:_controller]; - return _${variableNamePrefix}EventDispatcher; -}""") diff --git a/Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py b/Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py index 53660318d..db163bfe4 100755 --- a/Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py +++ b/Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py @@ -66,4 +66,3 @@ for file in files: print(string.rstrip()) print("]}") - diff --git a/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py b/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py deleted file mode 100755 index a1987aa90..000000000 --- a/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py +++ /dev/null @@ -1,211 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (c) 2014 Apple Inc. All rights reserved. -# Copyright (c) 2014 University of Washington. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -# THE POSSIBILITY OF SUCH DAMAGE. - -# This script generates JS, Objective C, and C++ bindings for the inspector protocol. -# Generators for individual files are located in the codegen/ directory. - -import os.path -import re -import sys -import string -from string import Template -import optparse -import logging - -try: - import json -except ImportError: - import simplejson as json - -logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.ERROR) -log = logging.getLogger('global') - -try: - from codegen import * - -# When copying generator files to JavaScriptCore's private headers on Mac, -# the codegen/ module directory is flattened. So, import directly. -except ImportError, e: - # log.error(e) # Uncomment this to debug early import errors. - import models - from models import * - from generator import * - from cpp_generator import * - from objc_generator import * - - from generate_cpp_alternate_backend_dispatcher_header import * - from generate_cpp_backend_dispatcher_header import * - from generate_cpp_backend_dispatcher_implementation import * - from generate_cpp_frontend_dispatcher_header import * - from generate_cpp_frontend_dispatcher_implementation import * - from generate_cpp_protocol_types_header import * - from generate_cpp_protocol_types_implementation import * - from generate_js_backend_commands import * - from generate_objc_backend_dispatcher_header import * - from generate_objc_backend_dispatcher_implementation import * - from generate_objc_configuration_header import * - from generate_objc_configuration_implementation import * - from generate_objc_conversion_helpers import * - from generate_objc_frontend_dispatcher_implementation import * - from generate_objc_header import * - from generate_objc_internal_header import * - from generate_objc_protocol_types_implementation import * - - -# A writer that only updates file if it actually changed. -class IncrementalFileWriter: - def __init__(self, filepath, force_output): - self._filepath = filepath - self._output = "" - self.force_output = force_output - - def write(self, text): - self._output += text - - def close(self): - text_changed = True - self._output = self._output.rstrip() + "\n" - - try: - if self.force_output: - raise - - read_file = open(self._filepath, "r") - old_text = read_file.read() - read_file.close() - text_changed = old_text != self._output - except: - # Ignore, just overwrite by default - pass - - if text_changed or self.force_output: - out_file = open(self._filepath, "w") - out_file.write(self._output) - out_file.close() - - -def generate_from_specification(primary_specification_filepath=None, - supplemental_specification_filepaths=[], - concatenate_output=False, - output_dirpath=None, - force_output=False, - framework_name=""): - - def load_specification(protocol, filepath, isSupplemental=False): - try: - with open(filepath, "r") as input_file: - parsed_json = json.load(input_file) - protocol.parse_specification(parsed_json, isSupplemental) - except ValueError as e: - raise Exception("Error parsing valid JSON in file: " + filepath) - - protocol = models.Protocol(framework_name) - for specification in supplemental_specification_filepaths: - load_specification(protocol, specification, isSupplemental=True) - load_specification(protocol, primary_specification_filepath, isSupplemental=False) - - protocol.resolve_types() - - generators = [] - is_test = protocol.framework is Frameworks.Test - if is_test or protocol.framework is not Frameworks.WebInspector: - generators.append(CppAlternateBackendDispatcherHeaderGenerator(protocol, primary_specification_filepath)) - generators.append(JSBackendCommandsGenerator(protocol, primary_specification_filepath)) - generators.append(CppBackendDispatcherHeaderGenerator(protocol, primary_specification_filepath)) - generators.append(CppBackendDispatcherImplementationGenerator(protocol, primary_specification_filepath)) - generators.append(CppFrontendDispatcherHeaderGenerator(protocol, primary_specification_filepath)) - generators.append(CppFrontendDispatcherImplementationGenerator(protocol, primary_specification_filepath)) - generators.append(CppProtocolTypesHeaderGenerator(protocol, primary_specification_filepath)) - generators.append(CppProtocolTypesImplementationGenerator(protocol, primary_specification_filepath)) - if is_test or protocol.framework is Frameworks.WebInspector: - generators.append(ObjCBackendDispatcherHeaderGenerator(protocol, primary_specification_filepath)) - generators.append(ObjCBackendDispatcherImplementationGenerator(protocol, primary_specification_filepath)) - generators.append(ObjCConfigurationHeaderGenerator(protocol, primary_specification_filepath)) - generators.append(ObjCConfigurationImplementationGenerator(protocol, primary_specification_filepath)) - generators.append(ObjCConversionHelpersGenerator(protocol, primary_specification_filepath)) - generators.append(ObjCFrontendDispatcherImplementationGenerator(protocol, primary_specification_filepath)) - generators.append(ObjCHeaderGenerator(protocol, primary_specification_filepath)) - generators.append(ObjCProtocolTypesImplementationGenerator(protocol, primary_specification_filepath)) - generators.append(ObjCInternalHeaderGenerator(protocol, primary_specification_filepath)) - - single_output_file_contents = [] - - for generator in generators: - output = generator.generate_output() - if concatenate_output: - single_output_file_contents.append('### Begin File: %s' % generator.output_filename()) - single_output_file_contents.append(output) - single_output_file_contents.append('### End File: %s' % generator.output_filename()) - single_output_file_contents.append('') - else: - output_file = IncrementalFileWriter(os.path.join(output_dirpath, generator.output_filename()), force_output) - output_file.write(output) - output_file.close() - - if concatenate_output: - filename = os.path.join(os.path.basename(primary_specification_filepath) + '-result') - output_file = IncrementalFileWriter(os.path.join(output_dirpath, filename), force_output) - output_file.write('\n'.join(single_output_file_contents)) - output_file.close() - - -if __name__ == '__main__': - allowed_framework_names = ['JavaScriptCore', 'WebInspector', 'Test'] - cli_parser = optparse.OptionParser(usage="usage: %prog [options] PrimaryProtocol.json [SupplementalProtocol.json ...]") - cli_parser.add_option("-o", "--outputDir", help="Directory where generated files should be written.") - cli_parser.add_option("--framework", type="choice", choices=allowed_framework_names, help="The framework that the primary specification belongs to.") - cli_parser.add_option("--force", action="store_true", help="Force output of generated scripts, even if nothing changed.") - cli_parser.add_option("-v", "--debug", action="store_true", help="Log extra output for debugging the generator itself.") - cli_parser.add_option("-t", "--test", action="store_true", help="Enable test mode. Use unique output filenames created by prepending the input filename.") - - options = None - - arg_options, arg_values = cli_parser.parse_args() - if (len(arg_values) < 1): - raise ParseException("At least one plain argument expected") - - if not arg_options.outputDir: - raise ParseException("Missing output directory") - - if arg_options.debug: - log.setLevel(logging.DEBUG) - - options = { - 'primary_specification_filepath': arg_values[0], - 'supplemental_specification_filepaths': arg_values[1:], - 'output_dirpath': arg_options.outputDir, - 'concatenate_output': arg_options.test, - 'framework_name': arg_options.framework, - 'force_output': arg_options.force - } - - try: - generate_from_specification(**options) - except (ParseException, TypecheckException) as e: - if arg_options.test: - log.error(e.message) - else: - raise # Force the build to fail. diff --git a/Source/JavaScriptCore/inspector/scripts/tests/commands-with-async-attribute.json b/Source/JavaScriptCore/inspector/scripts/tests/commands-with-async-attribute.json deleted file mode 100644 index 11262e889..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/commands-with-async-attribute.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "domain": "Database", - "types": [ - { - "id": "DatabaseId", - "type": "integer", - "description": "Unique identifier of Database object." - }, - { - "id": "PrimaryColors", - "type": "string", - "enum": ["red", "green", "blue"] - }, - { - "id": "ColorList", - "type": "array", - "items": { "$ref": "PrimaryColors" } - }, - { - "id": "Error", - "type": "object", - "description": "Database error.", - "properties": [ - { "name": "message", "type": "string", "description": "Error message." }, - { "name": "code", "type": "integer", "description": "Error code." } - ] - } - ], - "commands": [ - { - "name": "executeSQLSyncOptionalReturnValues", - "parameters": [ - { "name": "databaseId", "$ref": "DatabaseId" }, - { "name": "query", "type": "string" } - ], - "returns": [ - { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } }, - { "name": "notes", "type": "string", "optional": true }, - { "name": "timestamp", "type": "number", "optional": true }, - { "name": "values", "type": "object", "optional": true }, - { "name": "payload", "type": "any", "optional": true }, - { "name": "databaseId", "$ref": "DatabaseId", "optional": true }, - { "name": "sqlError", "$ref": "Error", "optional": true }, - { "name": "screenColor", "$ref": "PrimaryColors", "optional": true }, - { "name": "alternateColors", "$ref": "ColorList", "optional": true }, - { "name": "printColor", "type": "string", "enum": ["cyan", "magenta", "yellow", "black"], "optional": true } - ] - }, - { - "name": "executeSQLAsyncOptionalReturnValues", - "async": true, - "parameters": [ - { "name": "databaseId", "$ref": "DatabaseId" }, - { "name": "query", "type": "string" } - ], - "returns": [ - { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } }, - { "name": "notes", "type": "string", "optional": true }, - { "name": "timestamp", "type": "number", "optional": true }, - { "name": "values", "type": "object", "optional": true }, - { "name": "payload", "type": "any", "optional": true }, - { "name": "databaseId", "$ref": "DatabaseId", "optional": true }, - { "name": "sqlError", "$ref": "Error", "optional": true }, - { "name": "screenColor", "$ref": "PrimaryColors", "optional": true }, - { "name": "alternateColors", "$ref": "ColorList", "optional": true }, - { "name": "printColor", "type": "string", "enum": ["cyan", "magenta", "yellow", "black"], "optional": true } - ] - }, - { - "name": "executeSQLSync", - "parameters": [ - { "name": "databaseId", "$ref": "DatabaseId" }, - { "name": "query", "type": "string" } - ], - "returns": [ - { "name": "columnNames", "type": "array", "items": { "type": "string" } }, - { "name": "notes", "type": "string" }, - { "name": "timestamp", "type": "number" }, - { "name": "values", "type": "object" }, - { "name": "payload", "type": "any" }, - { "name": "databaseId", "$ref": "DatabaseId" }, - { "name": "sqlError", "$ref": "Error" }, - { "name": "alternateColors", "$ref": "ColorList" }, - { "name": "screenColor", "$ref": "PrimaryColors" }, - { "name": "printColor", "type": "string", "enum": ["cyan", "magenta", "yellow", "black"] } - ] - }, - { - "name": "executeSQLAsync", - "async": true, - "parameters": [ - { "name": "databaseId", "$ref": "DatabaseId" }, - { "name": "query", "type": "string" } - ], - "returns": [ - { "name": "columnNames", "type": "array", "items": { "type": "string" } }, - { "name": "notes", "type": "string" }, - { "name": "timestamp", "type": "number" }, - { "name": "values", "type": "object" }, - { "name": "payload", "type": "any" }, - { "name": "databaseId", "$ref": "DatabaseId" }, - { "name": "sqlError", "$ref": "Error" }, - { "name": "screenColor", "$ref": "PrimaryColors" }, - { "name": "alternateColors", "$ref": "ColorList" }, - { "name": "printColor", "type": "string", "enum": ["cyan", "magenta", "yellow", "black"] } - ] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/commands-with-optional-call-return-parameters.json b/Source/JavaScriptCore/inspector/scripts/tests/commands-with-optional-call-return-parameters.json deleted file mode 100644 index 361d57d82..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/commands-with-optional-call-return-parameters.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "domain": "Database", - "types": [ - { - "id": "DatabaseId", - "type": "integer", - "description": "Unique identifier of Database object." - }, - { - "id": "PrimaryColors", - "type": "string", - "enum": ["red", "green", "blue"] - }, - { - "id": "ColorList", - "type": "array", - "items": { "$ref": "PrimaryColors" } - }, - { - "id": "Error", - "type": "object", - "description": "Database error.", - "properties": [ - { "name": "message", "type": "string", "description": "Error message." }, - { "name": "code", "type": "integer", "description": "Error code." } - ] - } - ], - "commands": [ - { - "name": "executeAllOptionalParameters", - "parameters": [ - { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } }, - { "name": "notes", "type": "string", "optional": true }, - { "name": "timestamp", "type": "number", "optional": true }, - { "name": "values", "type": "object", "optional": true }, - { "name": "payload", "type": "any", "optional": true }, - { "name": "databaseId", "$ref": "DatabaseId", "optional": true }, - { "name": "sqlError", "$ref": "Error", "optional": true }, - { "name": "screenColor", "$ref": "PrimaryColors", "optional": true }, - { "name": "alternateColors", "$ref": "ColorList", "optional": true }, - { "name": "printColor", "type": "string", "enum": ["cyan", "magenta", "yellow", "black"], "optional": true } - ], - "returns": [ - { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } }, - { "name": "notes", "type": "string", "optional": true }, - { "name": "timestamp", "type": "number", "optional": true }, - { "name": "values", "type": "object", "optional": true }, - { "name": "payload", "type": "any", "optional": true }, - { "name": "databaseId", "$ref": "DatabaseId", "optional": true }, - { "name": "sqlError", "$ref": "Error", "optional": true }, - { "name": "screenColor", "$ref": "PrimaryColors", "optional": true }, - { "name": "alternateColors", "$ref": "ColorList", "optional": true }, - { "name": "printColor", "type": "string", "enum": ["cyan", "magenta", "yellow", "black"], "optional": true } - ] - }, - { - "name": "executeNoOptionalParameters", - "parameters": [ - { "name": "columnNames", "type": "array", "items": { "type": "string" } }, - { "name": "notes", "type": "string" }, - { "name": "timestamp", "type": "number" }, - { "name": "values", "type": "object" }, - { "name": "payload", "type": "any" }, - { "name": "databaseId", "$ref": "DatabaseId" }, - { "name": "sqlError", "$ref": "Error" }, - { "name": "screenColor", "$ref": "PrimaryColors" }, - { "name": "alternateColors", "$ref": "ColorList" }, - { "name": "printColor", "type": "string", "enum": ["cyan", "magenta", "yellow", "black"] } - ], - "returns": [ - { "name": "columnNames", "type": "array", "items": { "type": "string" } }, - { "name": "notes", "type": "string" }, - { "name": "timestamp", "type": "number" }, - { "name": "values", "type": "object" }, - { "name": "payload", "type": "any" }, - { "name": "databaseId", "$ref": "DatabaseId" }, - { "name": "sqlError", "$ref": "Error" }, - { "name": "screenColor", "$ref": "PrimaryColors" }, - { "name": "alternateColors", "$ref": "ColorList" }, - { "name": "printColor", "type": "string", "enum": ["cyan", "magenta", "yellow", "black"] } - ] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/domains-with-varying-command-sizes.json b/Source/JavaScriptCore/inspector/scripts/tests/domains-with-varying-command-sizes.json deleted file mode 100644 index 94a8ecb17..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/domains-with-varying-command-sizes.json +++ /dev/null @@ -1,54 +0,0 @@ -[ -{ - "domain": "Network1", - "commands": [ - { - "name": "loadResource1", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - } - ] -}, -{ - "domain": "Network2", - "types": [ - { - "id": "LoaderId", - "type": "string", - "description": "Unique loader identifier." - } - ] -}, -{ - "domain": "Network3", - "commands": [ - { - "name": "loadResource1", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - }, - { - "name": "loadResource2", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - }, - { - "name": "loadResource3", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - }, - { - "name": "loadResource4", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - }, - { - "name": "loadResource5", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - }, - { - "name": "loadResource6", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - }, - { - "name": "loadResource7", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/enum-values.json b/Source/JavaScriptCore/inspector/scripts/tests/enum-values.json deleted file mode 100644 index cdad61df7..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/enum-values.json +++ /dev/null @@ -1,35 +0,0 @@ -{"domains":[ -{ - "domain": "TypeDomain", - "types": [ - { - "id": "TypeDomainEnum", - "type": "string", - "enum": ["shared", "red", "green", "blue"] - } - ] -}, -{ - "domain": "CommandDomain", - "commands": [ - { - "name": "commandWithEnumReturnValue", - "parameters": [], - "returns": [ - { "name": "returnValue", "type": "string", "enum": ["shared", "cyan", "magenta", "yellow"] } - ] - } - ] -}, -{ - "domain": "EventDomain", - "events": [ - { - "name": "eventWithEnumParameter", - "parameters": [ - { "name": "parameter", "type": "string", "enum": ["shared", "black", "white"] } - ] - } - ] -} -]} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/events-with-optional-parameters.json b/Source/JavaScriptCore/inspector/scripts/tests/events-with-optional-parameters.json deleted file mode 100644 index cabbf10b8..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/events-with-optional-parameters.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "domain": "Database", - "types": [ - { - "id": "DatabaseId", - "type": "string", - "description": "Unique identifier of Database object." - }, - { - "id": "PrimaryColors", - "type": "string", - "values": ["red", "green", "blue"] - }, - { - "id": "ColorList", - "type": "array", - "items": { "$ref": "PrimaryColors" } - }, - { - "id": "Error", - "type": "object", - "description": "Database error.", - "properties": [ - { "name": "message", "type": "string", "description": "Error message." }, - { "name": "code", "type": "integer", "description": "Error code." } - ] - } - ], - "events": [ - { - "name": "didExecuteOptionalParameters", - "parameters": [ - { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } }, - { "name": "notes", "type": "string", "optional": true }, - { "name": "timestamp", "type": "number", "optional": true }, - { "name": "values", "type": "object", "optional": true }, - { "name": "payload", "type": "any", "optional": true }, - { "name": "sqlError", "$ref": "Error", "optional": true }, - { "name": "screenColor", "$ref": "PrimaryColors", "optional": true }, - { "name": "alternateColors", "$ref": "ColorList", "optional": true }, - { "name": "printColor", "type": "string", "values": ["cyan", "magenta", "yellow", "black"], "optional": true } - ] - }, - { - "name": "didExecuteNoOptionalParameters", - "parameters": [ - { "name": "columnNames", "type": "array", "items": { "type": "string" } }, - { "name": "notes", "type": "string" }, - { "name": "timestamp", "type": "number" }, - { "name": "values", "type": "object" }, - { "name": "payload", "type": "any" }, - { "name": "sqlError", "$ref": "Error" }, - { "name": "screenColor", "$ref": "PrimaryColors" }, - { "name": "alternateColors", "$ref": "ColorList" }, - { "name": "printColor", "type": "string", "values": ["cyan", "magenta", "yellow", "black"] } - ] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result deleted file mode 100644 index 15d6a4d9e..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result +++ /dev/null @@ -1,1637 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - -class AlternateDatabaseBackendDispatcher : public AlternateBackendDispatcher { -public: - virtual ~AlternateDatabaseBackendDispatcher() { } - virtual void executeSQLSyncOptionalReturnValues(long callId, int in_databaseId, const String& in_query) = 0; - virtual void executeSQLAsyncOptionalReturnValues(long callId, int in_databaseId, const String& in_query) = 0; - virtual void executeSQLSync(long callId, int in_databaseId, const String& in_query) = 0; - virtual void executeSQLAsync(long callId, int in_databaseId, const String& in_query) = 0; -}; - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// Database. -InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "Database"); -InspectorBackend.registerEnum("Database.PrimaryColors", {Red: "red", Green: "green", Blue: "blue"}); -InspectorBackend.registerCommand("Database.executeSQLSyncOptionalReturnValues", [{"name": "databaseId", "type": "number", "optional": false}, {"name": "query", "type": "string", "optional": false}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]); -InspectorBackend.registerCommand("Database.executeSQLAsyncOptionalReturnValues", [{"name": "databaseId", "type": "number", "optional": false}, {"name": "query", "type": "string", "optional": false}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]); -InspectorBackend.registerCommand("Database.executeSQLSync", [{"name": "databaseId", "type": "number", "optional": false}, {"name": "query", "type": "string", "optional": false}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "alternateColors", "screenColor", "printColor"]); -InspectorBackend.registerCommand("Database.executeSQLAsync", [{"name": "databaseId", "type": "number", "optional": false}, {"name": "query", "type": "string", "optional": false}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]); -InspectorBackend.activateDomain("Database"); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -class AlternateDatabaseBackendDispatcher; -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -class DatabaseBackendDispatcherHandler { -public: - // Named after parameter 'screenColor' while generating command/event executeSQLSyncOptionalReturnValues. - enum class ScreenColor { - Red = 0, - Green = 1, - Blue = 2, - }; // enum class ScreenColor - // Named after parameter 'printColor' while generating command/event executeSQLSyncOptionalReturnValues. - enum class PrintColor { - Cyan = 3, - Magenta = 4, - Yellow = 5, - Black = 6, - }; // enum class PrintColor - virtual void executeSQLSyncOptionalReturnValues(ErrorString&, int in_databaseId, const String& in_query, RefPtr<Inspector::Protocol::Array<String>>& opt_out_columnNames, Inspector::Protocol::OptOutput<String>* opt_out_notes, Inspector::Protocol::OptOutput<double>* opt_out_timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* opt_out_values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* opt_out_payload, Inspector::Protocol::OptOutput<int>* opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0; - class ExecuteSQLAsyncOptionalReturnValuesCallback : public BackendDispatcher::CallbackBase { - public: - ExecuteSQLAsyncOptionalReturnValuesCallback(Ref<BackendDispatcher>&&, int id); - void sendSuccess(RefPtr<Inspector::Protocol::Array<String>>&& columnNames, Inspector::Protocol::OptOutput<String>* notes, Inspector::Protocol::OptOutput<double>* timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* payload, Inspector::Protocol::OptOutput<int>* databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, Inspector::Protocol::OptOutput<String>* screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, Inspector::Protocol::OptOutput<String>* printColor); - }; - virtual void executeSQLAsyncOptionalReturnValues(ErrorString&, int in_databaseId, const String& in_query, Ref<ExecuteSQLAsyncOptionalReturnValuesCallback>&& callback) = 0; - virtual void executeSQLSync(ErrorString&, int in_databaseId, const String& in_query, RefPtr<Inspector::Protocol::Array<String>>& out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, Inspector::Protocol::Database::PrimaryColors* out_screenColor, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0; - class ExecuteSQLAsyncCallback : public BackendDispatcher::CallbackBase { - public: - ExecuteSQLAsyncCallback(Ref<BackendDispatcher>&&, int id); - void sendSuccess(RefPtr<Inspector::Protocol::Array<String>>&& columnNames, const String& notes, double timestamp, Inspector::InspectorObject values, Inspector::InspectorValue payload, int databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, const String& screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, const String& printColor); - }; - virtual void executeSQLAsync(ErrorString&, int in_databaseId, const String& in_query, Ref<ExecuteSQLAsyncCallback>&& callback) = 0; -protected: - virtual ~DatabaseBackendDispatcherHandler(); -}; - -class DatabaseBackendDispatcher final : public SupplementalBackendDispatcher { -public: - static Ref<DatabaseBackendDispatcher> create(BackendDispatcher*, DatabaseBackendDispatcherHandler*); - virtual void dispatch(long callId, const String& method, Ref<InspectorObject>&& message) override; -private: - void executeSQLSyncOptionalReturnValues(long callId, const InspectorObject& message); - void executeSQLAsyncOptionalReturnValues(long callId, const InspectorObject& message); - void executeSQLSync(long callId, const InspectorObject& message); - void executeSQLAsync(long callId, const InspectorObject& message); -private: - DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*); - DatabaseBackendDispatcherHandler* m_agent; -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -public: - void setAlternateDispatcher(AlternateDatabaseBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; } -private: - AlternateDatabaseBackendDispatcher* m_alternateDispatcher; -#endif -}; - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - -DatabaseBackendDispatcherHandler::~DatabaseBackendDispatcherHandler() { } - -Ref<DatabaseBackendDispatcher> DatabaseBackendDispatcher::create(BackendDispatcher* backendDispatcher, DatabaseBackendDispatcherHandler* agent) -{ - return adoptRef(*new DatabaseBackendDispatcher(*backendDispatcher, agent)); -} - -DatabaseBackendDispatcher::DatabaseBackendDispatcher(BackendDispatcher& backendDispatcher, DatabaseBackendDispatcherHandler* agent) - : SupplementalBackendDispatcher(backendDispatcher) - , m_agent(agent) -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - , m_alternateDispatcher(nullptr) -#endif -{ - m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Database"), this); -} - -void DatabaseBackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message) -{ - Ref<DatabaseBackendDispatcher> protect(*this); - - if (method == "executeSQLSyncOptionalReturnValues") - executeSQLSyncOptionalReturnValues(callId, message); - else if (method == "executeSQLAsyncOptionalReturnValues") - executeSQLAsyncOptionalReturnValues(callId, message); - else if (method == "executeSQLSync") - executeSQLSync(callId, message); - else if (method == "executeSQLAsync") - executeSQLAsync(callId, message); - else - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::MethodNotFound, makeString('\'', "Database", '.', method, "' was not found")); -} - -void DatabaseBackendDispatcher::executeSQLSyncOptionalReturnValues(long callId, const InspectorObject& message) -{ - auto protocolErrors = Inspector::Protocol::Array<String>::create(); - RefPtr<InspectorObject> paramsContainer; - message.getObject(ASCIILiteral("params"), paramsContainer); - int in_databaseId = BackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), nullptr, protocolErrors.get()); - String in_query = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("query"), nullptr, protocolErrors.get()); - if (protocolErrors->length()) { - String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeSQLSyncOptionalReturnValues"); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors)); - return; - } - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->executeSQLSyncOptionalReturnValues(callId, in_databaseId, in_query); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - RefPtr<Inspector::Protocol::Array<String>> out_columnNames; - Inspector::Protocol::OptOutput<String> out_notes; - Inspector::Protocol::OptOutput<double> out_timestamp; - Inspector::Protocol::OptOutput<Inspector::InspectorObject> out_values; - Inspector::Protocol::OptOutput<Inspector::InspectorValue> out_payload; - Inspector::Protocol::OptOutput<Inspector::Protocol::Database::DatabaseId> out_databaseId; - RefPtr<Inspector::Protocol::Database::Error> out_sqlError; - Inspector::Protocol::Database::PrimaryColors out_screenColor; - RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors; - DatabaseBackendDispatcherHandler::PrintColor out_printColor; - m_agent->executeSQLSyncOptionalReturnValues(error, in_databaseId, in_query, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, out_alternateColors, &out_printColor); - - if (!error.length()) { - if (out_columnNames) - result->setArray(ASCIILiteral("columnNames"), out_columnNames); - if (out_notes.isAssigned()) - result->setString(ASCIILiteral("notes"), out_notes.getValue()); - if (out_timestamp.isAssigned()) - result->setDouble(ASCIILiteral("timestamp"), out_timestamp.getValue()); - if (out_values.isAssigned()) - result->setObject(ASCIILiteral("values"), out_values.getValue()); - if (out_payload.isAssigned()) - result->setValue(ASCIILiteral("payload"), out_payload.getValue()); - if (out_databaseId.isAssigned()) - result->setInteger(ASCIILiteral("databaseId"), out_databaseId.getValue()); - if (out_sqlError) - result->setObject(ASCIILiteral("sqlError"), out_sqlError); - if (out_screenColor.isAssigned()) - result->setString(ASCIILiteral("screenColor"), out_screenColor.getValue()); - if (out_alternateColors) - result->setArray(ASCIILiteral("alternateColors"), out_alternateColors); - if (out_printColor.isAssigned()) - result->setString(ASCIILiteral("printColor"), out_printColor.getValue()); - } - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::ExecuteSQLAsyncOptionalReturnValuesCallback(Ref<BackendDispatcher>&& backendDispatcher, int id) : BackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { } - -void DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::sendSuccess(RefPtr<Inspector::Protocol::Array<String>>&& columnNames, Inspector::Protocol::OptOutput<String>* notes, Inspector::Protocol::OptOutput<double>* timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* payload, Inspector::Protocol::OptOutput<int>* databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, Inspector::Protocol::OptOutput<String>* screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, Inspector::Protocol::OptOutput<String>* printColor) -{ - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - if (columnNames) - jsonMessage->setArray(ASCIILiteral("columnNames"), columnNames); - if (notes.isAssigned()) - jsonMessage->setString(ASCIILiteral("notes"), notes.getValue()); - if (timestamp.isAssigned()) - jsonMessage->setDouble(ASCIILiteral("timestamp"), timestamp.getValue()); - if (values.isAssigned()) - jsonMessage->setObject(ASCIILiteral("values"), values.getValue()); - if (payload.isAssigned()) - jsonMessage->setValue(ASCIILiteral("payload"), payload.getValue()); - if (databaseId.isAssigned()) - jsonMessage->setInteger(ASCIILiteral("databaseId"), databaseId.getValue()); - if (sqlError) - jsonMessage->setObject(ASCIILiteral("sqlError"), sqlError); - if (screenColor.isAssigned()) - jsonMessage->setString(ASCIILiteral("screenColor"), screenColor.getValue()); - if (alternateColors) - jsonMessage->setArray(ASCIILiteral("alternateColors"), alternateColors); - if (printColor.isAssigned()) - jsonMessage->setString(ASCIILiteral("printColor"), printColor.getValue()); - sendIfActive(WTF::move(jsonMessage), ErrorString()); -} - -void DatabaseBackendDispatcher::executeSQLAsyncOptionalReturnValues(long callId, const InspectorObject& message) -{ - auto protocolErrors = Inspector::Protocol::Array<String>::create(); - RefPtr<InspectorObject> paramsContainer; - message.getObject(ASCIILiteral("params"), paramsContainer); - int in_databaseId = BackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), nullptr, protocolErrors.get()); - String in_query = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("query"), nullptr, protocolErrors.get()); - if (protocolErrors->length()) { - String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeSQLAsyncOptionalReturnValues"); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors)); - return; - } - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->executeSQLAsyncOptionalReturnValues(callId, in_databaseId, in_query); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - Ref<DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback> callback = adoptRef(*new DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback(m_backendDispatcher.copyRef(), callId)); - m_agent->executeSQLAsyncOptionalReturnValues(error, in_databaseId, in_query, callback.copyRef()); - - if (error.length()) { - callback->disable(); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::ServerError, error); - return; - } -} - -void DatabaseBackendDispatcher::executeSQLSync(long callId, const InspectorObject& message) -{ - auto protocolErrors = Inspector::Protocol::Array<String>::create(); - RefPtr<InspectorObject> paramsContainer; - message.getObject(ASCIILiteral("params"), paramsContainer); - int in_databaseId = BackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), nullptr, protocolErrors.get()); - String in_query = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("query"), nullptr, protocolErrors.get()); - if (protocolErrors->length()) { - String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeSQLSync"); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors)); - return; - } - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->executeSQLSync(callId, in_databaseId, in_query); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - RefPtr<Inspector::Protocol::Array<String>> out_columnNames; - String out_notes; - double out_timestamp; - Inspector::InspectorObject out_values; - Inspector::InspectorValue out_payload; - Inspector::Protocol::Database::DatabaseId out_databaseId; - RefPtr<Inspector::Protocol::Database::Error> out_sqlError; - RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors; - Inspector::Protocol::Database::PrimaryColors out_screenColor; - DatabaseBackendDispatcherHandler::PrintColor out_printColor; - m_agent->executeSQLSync(error, in_databaseId, in_query, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, out_alternateColors, &out_screenColor, &out_printColor); - - if (!error.length()) { - result->setArray(ASCIILiteral("columnNames"), out_columnNames); - result->setString(ASCIILiteral("notes"), out_notes); - result->setDouble(ASCIILiteral("timestamp"), out_timestamp); - result->setObject(ASCIILiteral("values"), out_values); - result->setValue(ASCIILiteral("payload"), out_payload); - result->setInteger(ASCIILiteral("databaseId"), out_databaseId); - result->setObject(ASCIILiteral("sqlError"), out_sqlError); - result->setArray(ASCIILiteral("alternateColors"), out_alternateColors); - result->setString(ASCIILiteral("screenColor"), Inspector::Protocol::getEnumConstantValue(out_screenColor)); - result->setString(ASCIILiteral("printColor"), Inspector::Protocol::getEnumConstantValue(out_printColor)); - } - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -DatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::ExecuteSQLAsyncCallback(Ref<BackendDispatcher>&& backendDispatcher, int id) : BackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { } - -void DatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::sendSuccess(RefPtr<Inspector::Protocol::Array<String>>&& columnNames, const String& notes, double timestamp, Inspector::InspectorObject values, Inspector::InspectorValue payload, int databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, const String& screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, const String& printColor) -{ - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setArray(ASCIILiteral("columnNames"), columnNames); - jsonMessage->setString(ASCIILiteral("notes"), notes); - jsonMessage->setDouble(ASCIILiteral("timestamp"), timestamp); - jsonMessage->setObject(ASCIILiteral("values"), values); - jsonMessage->setValue(ASCIILiteral("payload"), payload); - jsonMessage->setInteger(ASCIILiteral("databaseId"), databaseId); - jsonMessage->setObject(ASCIILiteral("sqlError"), sqlError); - jsonMessage->setString(ASCIILiteral("screenColor"), Inspector::Protocol::getEnumConstantValue(screenColor)); - jsonMessage->setArray(ASCIILiteral("alternateColors"), alternateColors); - jsonMessage->setString(ASCIILiteral("printColor"), Inspector::Protocol::getEnumConstantValue(printColor)); - sendIfActive(WTF::move(jsonMessage), ErrorString()); -} - -void DatabaseBackendDispatcher::executeSQLAsync(long callId, const InspectorObject& message) -{ - auto protocolErrors = Inspector::Protocol::Array<String>::create(); - RefPtr<InspectorObject> paramsContainer; - message.getObject(ASCIILiteral("params"), paramsContainer); - int in_databaseId = BackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), nullptr, protocolErrors.get()); - String in_query = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("query"), nullptr, protocolErrors.get()); - if (protocolErrors->length()) { - String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeSQLAsync"); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors)); - return; - } - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->executeSQLAsync(callId, in_databaseId, in_query); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - Ref<DatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback> callback = adoptRef(*new DatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback(m_backendDispatcher.copyRef(), callId)); - m_agent->executeSQLAsync(error, in_databaseId, in_query, callback.copyRef()); - - if (error.length()) { - callback->disable(); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::ServerError, error); - return; - } -} - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace Database { -class Error; -enum class PrimaryColors; -} // Database -// End of forward declarations. - - -// Typedefs. -namespace Database { -/* Unique identifier of Database object. */ -typedef int DatabaseId; -typedef Inspector::Protocol::Array<Inspector::Protocol::Database::PrimaryColors> ColorList; -} // Database -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace Database { -/* */ -enum class PrimaryColors { - Red = 0, - Green = 1, - Blue = 2, -}; // enum class PrimaryColors -/* Database error. */ -class Error : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - MessageSet = 1 << 0, - CodeSet = 1 << 1, - AllFieldsSet = (MessageSet | CodeSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*Error*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class Error; - public: - - Builder<STATE | MessageSet>& setMessage(const String& value) - { - COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set); - m_result->setString(ASCIILiteral("message"), value); - return castState<MessageSet>(); - } - - Builder<STATE | CodeSet>& setCode(int value) - { - COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set); - m_result->setInteger(ASCIILiteral("code"), value); - return castState<CodeSet>(); - } - - Ref<Error> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(Error) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<Error>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<Error> result = Error::create() - * .setMessage(...) - * .setCode(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -} // Database - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { - "red", - "green", - "blue", - "cyan", - "magenta", - "yellow", - "black", -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - -@protocol RWIProtocolDatabaseDomainHandler; - -namespace Inspector { - - -class ObjCInspectorDatabaseBackendDispatcher final : public AlternateDatabaseBackendDispatcher { -public: - ObjCInspectorDatabaseBackendDispatcher(id<RWIProtocolDatabaseDomainHandler> handler) { m_delegate = handler; } - virtual void executeSQLSyncOptionalReturnValues(long callId, int in_databaseId, const String& in_query) override; - virtual void executeSQLAsyncOptionalReturnValues(long callId, int in_databaseId, const String& in_query) override; - virtual void executeSQLSync(long callId, int in_databaseId, const String& in_query) override; - virtual void executeSQLAsync(long callId, int in_databaseId, const String& in_query) override; -private: - RetainPtr<id<RWIProtocolDatabaseDomainHandler>> m_delegate; -}; - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; - id<RWIProtocolDatabaseDomainHandler> _databaseHandler; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [_databaseHandler release]; - [super dealloc]; -} - -- (void)setDatabaseHandler:(id<RWIProtocolDatabaseDomainHandler>)handler -{ - if (handler == _databaseHandler) - return; - - [_databaseHandler release]; - _databaseHandler = [handler retain]; - - auto alternateDispatcher = std::make_unique<ObjCInspectorDatabaseBackendDispatcher>(handler); - auto alternateAgent = std::make_unique<AlternateDispatchableAgent<DatabaseBackendDispatcher, AlternateDatabaseBackendDispatcher>>(ASCIILiteral("Database"), WTF::move(alternateDispatcher)); - _controller->appendExtraAgent(WTF::move(alternateAgent)); -} - -- (id<RWIProtocolDatabaseDomainHandler>)databaseHandler -{ - return _databaseHandler; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@property (nonatomic, retain, setter=setDatabaseHandler:) id<RWIProtocolDatabaseDomainHandler> databaseHandler; -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - -void ObjCInspectorDatabaseBackendDispatcher::executeSQLSyncOptionalReturnValues(long callId, int in_databaseId, const String& in_query) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor *printColor) { - Ref<InspectorObject> resultObject = InspectorObject::create(); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(alternateColors, @"alternateColors"); - if (columnNames) - resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(*columnNames)); - if (notes) - resultObject->setString(ASCIILiteral("notes"), *notes); - if (timestamp) - resultObject->setDouble(ASCIILiteral("timestamp"), *timestamp); - if (values) - resultObject->setObject(ASCIILiteral("values"), [*values toInspectorObject]); - if (payload) - resultObject->setValue(ASCIILiteral("payload"), [*payload toInspectorObject]); - if (databaseId) - resultObject->setInteger(ASCIILiteral("databaseId"), *databaseId); - if (sqlError) - resultObject->setObject(ASCIILiteral("sqlError"), [*sqlError toInspectorObject]); - if (screenColor) - resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(*screenColor)); - if (alternateColors) - resultObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(*alternateColors)); - if (printColor) - resultObject->setString(ASCIILiteral("printColor"), toProtocolString(*printColor)); - backendDispatcher()->sendResponse(callId, WTF::move(resultObject), String()); - }; - - int o_in_databaseId = in_databaseId; - NSString *o_in_query = in_query; - - [m_delegate executeSQLSyncOptionalReturnValuesWithErrorCallback:errorCallback successCallback:successCallback databaseId:o_in_databaseId query:o_in_query]; -} - -void ObjCInspectorDatabaseBackendDispatcher::executeSQLAsyncOptionalReturnValues(long callId, int in_databaseId, const String& in_query) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor *printColor) { - Ref<InspectorObject> resultObject = InspectorObject::create(); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(alternateColors, @"alternateColors"); - if (columnNames) - resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(*columnNames)); - if (notes) - resultObject->setString(ASCIILiteral("notes"), *notes); - if (timestamp) - resultObject->setDouble(ASCIILiteral("timestamp"), *timestamp); - if (values) - resultObject->setObject(ASCIILiteral("values"), [*values toInspectorObject]); - if (payload) - resultObject->setValue(ASCIILiteral("payload"), [*payload toInspectorObject]); - if (databaseId) - resultObject->setInteger(ASCIILiteral("databaseId"), *databaseId); - if (sqlError) - resultObject->setObject(ASCIILiteral("sqlError"), [*sqlError toInspectorObject]); - if (screenColor) - resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(*screenColor)); - if (alternateColors) - resultObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(*alternateColors)); - if (printColor) - resultObject->setString(ASCIILiteral("printColor"), toProtocolString(*printColor)); - backendDispatcher()->sendResponse(callId, WTF::move(resultObject), String()); - }; - - int o_in_databaseId = in_databaseId; - NSString *o_in_query = in_query; - - [m_delegate executeSQLAsyncOptionalReturnValuesWithErrorCallback:errorCallback successCallback:successCallback databaseId:o_in_databaseId query:o_in_query]; -} - -void ObjCInspectorDatabaseBackendDispatcher::executeSQLSync(long callId, int in_databaseId, const String& in_query) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, NSArray/*<NSString>*/ *alternateColors, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteSQLSyncPrintColor printColor) { - Ref<InspectorObject> resultObject = InspectorObject::create(); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(alternateColors, @"alternateColors"); - resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(columnNames)); - resultObject->setString(ASCIILiteral("notes"), notes); - resultObject->setDouble(ASCIILiteral("timestamp"), timestamp); - resultObject->setObject(ASCIILiteral("values"), [values toInspectorObject]); - resultObject->setValue(ASCIILiteral("payload"), [payload toInspectorObject]); - resultObject->setInteger(ASCIILiteral("databaseId"), databaseId); - resultObject->setObject(ASCIILiteral("sqlError"), [sqlError toInspectorObject]); - resultObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(alternateColors)); - resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(screenColor)); - resultObject->setString(ASCIILiteral("printColor"), toProtocolString(printColor)); - backendDispatcher()->sendResponse(callId, WTF::move(resultObject), String()); - }; - - int o_in_databaseId = in_databaseId; - NSString *o_in_query = in_query; - - [m_delegate executeSQLSyncWithErrorCallback:errorCallback successCallback:successCallback databaseId:o_in_databaseId query:o_in_query]; -} - -void ObjCInspectorDatabaseBackendDispatcher::executeSQLAsync(long callId, int in_databaseId, const String& in_query) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, RWIProtocolDatabaseExecuteSQLAsyncPrintColor printColor) { - Ref<InspectorObject> resultObject = InspectorObject::create(); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(alternateColors, @"alternateColors"); - resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(columnNames)); - resultObject->setString(ASCIILiteral("notes"), notes); - resultObject->setDouble(ASCIILiteral("timestamp"), timestamp); - resultObject->setObject(ASCIILiteral("values"), [values toInspectorObject]); - resultObject->setValue(ASCIILiteral("payload"), [payload toInspectorObject]); - resultObject->setInteger(ASCIILiteral("databaseId"), databaseId); - resultObject->setObject(ASCIILiteral("sqlError"), [sqlError toInspectorObject]); - resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(screenColor)); - resultObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(alternateColors)); - resultObject->setString(ASCIILiteral("printColor"), toProtocolString(printColor)); - backendDispatcher()->sendResponse(callId, WTF::move(resultObject), String()); - }; - - int o_in_databaseId = in_databaseId; - NSString *o_in_query = in_query; - - [m_delegate executeSQLAsyncWithErrorCallback:errorCallback successCallback:successCallback databaseId:o_in_databaseId query:o_in_query]; -} - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - -inline String toProtocolString(RWIProtocolDatabasePrimaryColors value) -{ - switch(value) { - case RWIProtocolDatabasePrimaryColorsRed: - return ASCIILiteral("red"); - case RWIProtocolDatabasePrimaryColorsGreen: - return ASCIILiteral("green"); - case RWIProtocolDatabasePrimaryColorsBlue: - return ASCIILiteral("blue"); - } -} - -template<> -inline RWIProtocolDatabasePrimaryColors fromProtocolString(const String& value) -{ - if (value == "red") - return RWIProtocolDatabasePrimaryColorsRed; - if (value == "green") - return RWIProtocolDatabasePrimaryColorsGreen; - if (value == "blue") - return RWIProtocolDatabasePrimaryColorsBlue; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabasePrimaryColorsRed; -} - -inline String toProtocolString(RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor value) -{ - switch(value) { - case RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorCyan: - return ASCIILiteral("cyan"); - case RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorYellow: - return ASCIILiteral("yellow"); - case RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorBlack: - return ASCIILiteral("black"); - } -} - -template<> -inline RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor fromProtocolString(const String& value) -{ - if (value == "cyan") - return RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorCyan; - if (value == "magenta") - return RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorMagenta; - if (value == "yellow") - return RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorYellow; - if (value == "black") - return RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorBlack; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorCyan; -} - -inline String toProtocolString(RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor value) -{ - switch(value) { - case RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorCyan: - return ASCIILiteral("cyan"); - case RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorYellow: - return ASCIILiteral("yellow"); - case RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorBlack: - return ASCIILiteral("black"); - } -} - -template<> -inline RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor fromProtocolString(const String& value) -{ - if (value == "cyan") - return RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorCyan; - if (value == "magenta") - return RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorMagenta; - if (value == "yellow") - return RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorYellow; - if (value == "black") - return RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorBlack; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorCyan; -} - -inline String toProtocolString(RWIProtocolDatabaseExecuteSQLSyncPrintColor value) -{ - switch(value) { - case RWIProtocolDatabaseExecuteSQLSyncPrintColorCyan: - return ASCIILiteral("cyan"); - case RWIProtocolDatabaseExecuteSQLSyncPrintColorMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolDatabaseExecuteSQLSyncPrintColorYellow: - return ASCIILiteral("yellow"); - case RWIProtocolDatabaseExecuteSQLSyncPrintColorBlack: - return ASCIILiteral("black"); - } -} - -template<> -inline RWIProtocolDatabaseExecuteSQLSyncPrintColor fromProtocolString(const String& value) -{ - if (value == "cyan") - return RWIProtocolDatabaseExecuteSQLSyncPrintColorCyan; - if (value == "magenta") - return RWIProtocolDatabaseExecuteSQLSyncPrintColorMagenta; - if (value == "yellow") - return RWIProtocolDatabaseExecuteSQLSyncPrintColorYellow; - if (value == "black") - return RWIProtocolDatabaseExecuteSQLSyncPrintColorBlack; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabaseExecuteSQLSyncPrintColorCyan; -} - -inline String toProtocolString(RWIProtocolDatabaseExecuteSQLAsyncPrintColor value) -{ - switch(value) { - case RWIProtocolDatabaseExecuteSQLAsyncPrintColorCyan: - return ASCIILiteral("cyan"); - case RWIProtocolDatabaseExecuteSQLAsyncPrintColorMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolDatabaseExecuteSQLAsyncPrintColorYellow: - return ASCIILiteral("yellow"); - case RWIProtocolDatabaseExecuteSQLAsyncPrintColorBlack: - return ASCIILiteral("black"); - } -} - -template<> -inline RWIProtocolDatabaseExecuteSQLAsyncPrintColor fromProtocolString(const String& value) -{ - if (value == "cyan") - return RWIProtocolDatabaseExecuteSQLAsyncPrintColorCyan; - if (value == "magenta") - return RWIProtocolDatabaseExecuteSQLAsyncPrintColorMagenta; - if (value == "yellow") - return RWIProtocolDatabaseExecuteSQLAsyncPrintColorYellow; - if (value == "black") - return RWIProtocolDatabaseExecuteSQLAsyncPrintColorBlack; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabaseExecuteSQLAsyncPrintColorCyan; -} - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - -@class RWIProtocolDatabaseError; - - -typedef NS_ENUM(NSInteger, RWIProtocolDatabasePrimaryColors) { - RWIProtocolDatabasePrimaryColorsRed, - RWIProtocolDatabasePrimaryColorsGreen, - RWIProtocolDatabasePrimaryColorsBlue, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor) { - RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorCyan, - RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorMagenta, - RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorYellow, - RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorBlack, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor) { - RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorCyan, - RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorMagenta, - RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorYellow, - RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorBlack, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteSQLSyncPrintColor) { - RWIProtocolDatabaseExecuteSQLSyncPrintColorCyan, - RWIProtocolDatabaseExecuteSQLSyncPrintColorMagenta, - RWIProtocolDatabaseExecuteSQLSyncPrintColorYellow, - RWIProtocolDatabaseExecuteSQLSyncPrintColorBlack, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteSQLAsyncPrintColor) { - RWIProtocolDatabaseExecuteSQLAsyncPrintColorCyan, - RWIProtocolDatabaseExecuteSQLAsyncPrintColorMagenta, - RWIProtocolDatabaseExecuteSQLAsyncPrintColorYellow, - RWIProtocolDatabaseExecuteSQLAsyncPrintColorBlack, -}; - - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseError : RWIProtocolJSONObject -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -/* required */ @property (nonatomic, copy) NSString *message; -/* required */ @property (nonatomic, assign) int code; -@end - -@protocol RWIProtocolDatabaseDomainHandler <NSObject> -@required -- (void)executeSQLSyncOptionalReturnValuesWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor *printColor))successCallback databaseId:(int)databaseId query:(NSString *)query; -- (void)executeSQLAsyncOptionalReturnValuesWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor *printColor))successCallback databaseId:(int)databaseId query:(NSString *)query; -- (void)executeSQLSyncWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, NSArray/*<NSString>*/ *alternateColors, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteSQLSyncPrintColor printColor))successCallback databaseId:(int)databaseId query:(NSString *)query; -- (void)executeSQLAsyncWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, RWIProtocolDatabaseExecuteSQLAsyncPrintColor printColor))successCallback databaseId:(int)databaseId query:(NSString *)query; -@end - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - -@implementation RWIProtocolDatabaseError - -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message"); - - self.message = message; - self.code = code; - - return self; -} - -- (void)setMessage:(NSString *)message -{ - [super setString:message forKey:@"message"]; -} - -- (NSString *)message -{ - return [super stringForKey:@"message"]; -} - -- (void)setCode:(int)code -{ - [super setInteger:code forKey:@"code"]; -} - -- (int)code -{ - return [super integerForKey:@"code"]; -} - -@end - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-async-attribute.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result deleted file mode 100644 index e349ecf6f..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result +++ /dev/null @@ -1,1486 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - -class AlternateDatabaseBackendDispatcher : public AlternateBackendDispatcher { -public: - virtual ~AlternateDatabaseBackendDispatcher() { } - virtual void executeAllOptionalParameters(long callId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor) = 0; - virtual void executeNoOptionalParameters(long callId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) = 0; -}; - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// Database. -InspectorBackend.registerEnum("Database.PrimaryColors", {Red: "red", Green: "green", Blue: "blue"}); -InspectorBackend.registerCommand("Database.executeAllOptionalParameters", [{"name": "columnNames", "type": "object", "optional": true}, {"name": "notes", "type": "string", "optional": true}, {"name": "timestamp", "type": "number", "optional": true}, {"name": "values", "type": "object", "optional": true}, {"name": "payload", "type": "object", "optional": true}, {"name": "databaseId", "type": "number", "optional": true}, {"name": "sqlError", "type": "object", "optional": true}, {"name": "screenColor", "type": "string", "optional": true}, {"name": "alternateColors", "type": "object", "optional": true}, {"name": "printColor", "type": "string", "optional": true}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]); -InspectorBackend.registerCommand("Database.executeNoOptionalParameters", [{"name": "columnNames", "type": "object", "optional": false}, {"name": "notes", "type": "string", "optional": false}, {"name": "timestamp", "type": "number", "optional": false}, {"name": "values", "type": "object", "optional": false}, {"name": "payload", "type": "object", "optional": false}, {"name": "databaseId", "type": "number", "optional": false}, {"name": "sqlError", "type": "object", "optional": false}, {"name": "screenColor", "type": "string", "optional": false}, {"name": "alternateColors", "type": "object", "optional": false}, {"name": "printColor", "type": "string", "optional": false}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "alternateColors", "printColor"]); -InspectorBackend.activateDomain("Database"); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -class AlternateDatabaseBackendDispatcher; -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -class DatabaseBackendDispatcherHandler { -public: - // Named after parameter 'screenColor' while generating command/event executeAllOptionalParameters. - enum class ScreenColor { - Red = 0, - Green = 1, - Blue = 2, - }; // enum class ScreenColor - // Named after parameter 'printColor' while generating command/event executeAllOptionalParameters. - enum class PrintColor { - Cyan = 3, - Magenta = 4, - Yellow = 5, - Black = 6, - }; // enum class PrintColor - virtual void executeAllOptionalParameters(ErrorString&, const Inspector::InspectorArray* opt_in_columnNames, const String* opt_in_notes, const double* opt_in_timestamp, const Inspector::InspectorObject* opt_in_values, const Inspector::InspectorValue* opt_in_payload, const int* opt_in_databaseId, const Inspector::InspectorObject* opt_in_sqlError, const String* opt_in_screenColor, const Inspector::InspectorArray* opt_in_alternateColors, const String* opt_in_printColor, RefPtr<Inspector::Protocol::Array<String>>& opt_out_columnNames, Inspector::Protocol::OptOutput<String>* opt_out_notes, Inspector::Protocol::OptOutput<double>* opt_out_timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* opt_out_values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* opt_out_payload, Inspector::Protocol::OptOutput<int>* opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0; - virtual void executeNoOptionalParameters(ErrorString&, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor, RefPtr<Inspector::Protocol::Array<String>>& out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0; -protected: - virtual ~DatabaseBackendDispatcherHandler(); -}; - -class DatabaseBackendDispatcher final : public SupplementalBackendDispatcher { -public: - static Ref<DatabaseBackendDispatcher> create(BackendDispatcher*, DatabaseBackendDispatcherHandler*); - virtual void dispatch(long callId, const String& method, Ref<InspectorObject>&& message) override; -private: - void executeAllOptionalParameters(long callId, const InspectorObject& message); - void executeNoOptionalParameters(long callId, const InspectorObject& message); -private: - DatabaseBackendDispatcher(BackendDispatcher&, DatabaseBackendDispatcherHandler*); - DatabaseBackendDispatcherHandler* m_agent; -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -public: - void setAlternateDispatcher(AlternateDatabaseBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; } -private: - AlternateDatabaseBackendDispatcher* m_alternateDispatcher; -#endif -}; - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - -DatabaseBackendDispatcherHandler::~DatabaseBackendDispatcherHandler() { } - -Ref<DatabaseBackendDispatcher> DatabaseBackendDispatcher::create(BackendDispatcher* backendDispatcher, DatabaseBackendDispatcherHandler* agent) -{ - return adoptRef(*new DatabaseBackendDispatcher(*backendDispatcher, agent)); -} - -DatabaseBackendDispatcher::DatabaseBackendDispatcher(BackendDispatcher& backendDispatcher, DatabaseBackendDispatcherHandler* agent) - : SupplementalBackendDispatcher(backendDispatcher) - , m_agent(agent) -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - , m_alternateDispatcher(nullptr) -#endif -{ - m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Database"), this); -} - -void DatabaseBackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message) -{ - Ref<DatabaseBackendDispatcher> protect(*this); - - if (method == "executeAllOptionalParameters") - executeAllOptionalParameters(callId, message); - else if (method == "executeNoOptionalParameters") - executeNoOptionalParameters(callId, message); - else - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::MethodNotFound, makeString('\'', "Database", '.', method, "' was not found")); -} - -void DatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const InspectorObject& message) -{ - auto protocolErrors = Inspector::Protocol::Array<String>::create(); - RefPtr<InspectorObject> paramsContainer; - message.getObject(ASCIILiteral("params"), paramsContainer); - bool opt_in_columnNames_valueFound = false; - RefPtr<Inspector::InspectorArray> opt_in_columnNames = BackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("columnNames"), &opt_in_columnNames_valueFound, protocolErrors.get()); - bool opt_in_notes_valueFound = false; - String opt_in_notes = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("notes"), &opt_in_notes_valueFound, protocolErrors.get()); - bool opt_in_timestamp_valueFound = false; - Inspector::Protocol::OptOutput<double> opt_in_timestamp = BackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral("timestamp"), &opt_in_timestamp_valueFound, protocolErrors.get()); - bool opt_in_values_valueFound = false; - RefPtr<Inspector::InspectorObject> opt_in_values = BackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("values"), &opt_in_values_valueFound, protocolErrors.get()); - bool opt_in_payload_valueFound = false; - RefPtr<Inspector::InspectorValue> opt_in_payload = BackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral("payload"), &opt_in_payload_valueFound, protocolErrors.get()); - bool opt_in_databaseId_valueFound = false; - int opt_in_databaseId = BackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), &opt_in_databaseId_valueFound, protocolErrors.get()); - bool opt_in_sqlError_valueFound = false; - RefPtr<Inspector::InspectorObject> opt_in_sqlError = BackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("sqlError"), &opt_in_sqlError_valueFound, protocolErrors.get()); - bool opt_in_screenColor_valueFound = false; - String opt_in_screenColor = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("screenColor"), &opt_in_screenColor_valueFound, protocolErrors.get()); - bool opt_in_alternateColors_valueFound = false; - RefPtr<Inspector::InspectorArray> opt_in_alternateColors = BackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("alternateColors"), &opt_in_alternateColors_valueFound, protocolErrors.get()); - bool opt_in_printColor_valueFound = false; - String opt_in_printColor = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("printColor"), &opt_in_printColor_valueFound, protocolErrors.get()); - if (protocolErrors->length()) { - String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeAllOptionalParameters"); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors)); - return; - } - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->executeAllOptionalParameters(callId, opt_in_columnNames_valueFound ? opt_in_columnNames.get() : nullptr, opt_in_notes_valueFound ? &opt_in_notes : nullptr, opt_in_timestamp_valueFound ? &opt_in_timestamp : nullptr, opt_in_values_valueFound ? opt_in_values.get() : nullptr, opt_in_payload_valueFound ? opt_in_payload.get() : nullptr, opt_in_databaseId_valueFound ? &opt_in_databaseId : nullptr, opt_in_sqlError_valueFound ? opt_in_sqlError.get() : nullptr, opt_in_screenColor_valueFound ? &opt_in_screenColor : nullptr, opt_in_alternateColors_valueFound ? opt_in_alternateColors.get() : nullptr, opt_in_printColor_valueFound ? &opt_in_printColor : nullptr); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - RefPtr<Inspector::Protocol::Array<String>> out_columnNames; - Inspector::Protocol::OptOutput<String> out_notes; - Inspector::Protocol::OptOutput<double> out_timestamp; - Inspector::Protocol::OptOutput<Inspector::InspectorObject> out_values; - Inspector::Protocol::OptOutput<Inspector::InspectorValue> out_payload; - Inspector::Protocol::OptOutput<Inspector::Protocol::Database::DatabaseId> out_databaseId; - RefPtr<Inspector::Protocol::Database::Error> out_sqlError; - Inspector::Protocol::Database::PrimaryColors out_screenColor; - RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors; - DatabaseBackendDispatcherHandler::PrintColor out_printColor; - m_agent->executeAllOptionalParameters(error, opt_in_columnNames_valueFound ? opt_in_columnNames.get() : nullptr, opt_in_notes_valueFound ? &opt_in_notes : nullptr, opt_in_timestamp_valueFound ? &opt_in_timestamp : nullptr, opt_in_values_valueFound ? opt_in_values.get() : nullptr, opt_in_payload_valueFound ? opt_in_payload.get() : nullptr, opt_in_databaseId_valueFound ? &opt_in_databaseId : nullptr, opt_in_sqlError_valueFound ? opt_in_sqlError.get() : nullptr, opt_in_screenColor_valueFound ? &opt_in_screenColor : nullptr, opt_in_alternateColors_valueFound ? opt_in_alternateColors.get() : nullptr, opt_in_printColor_valueFound ? &opt_in_printColor : nullptr, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, out_alternateColors, &out_printColor); - - if (!error.length()) { - if (out_columnNames) - result->setArray(ASCIILiteral("columnNames"), out_columnNames); - if (out_notes.isAssigned()) - result->setString(ASCIILiteral("notes"), out_notes.getValue()); - if (out_timestamp.isAssigned()) - result->setDouble(ASCIILiteral("timestamp"), out_timestamp.getValue()); - if (out_values.isAssigned()) - result->setObject(ASCIILiteral("values"), out_values.getValue()); - if (out_payload.isAssigned()) - result->setValue(ASCIILiteral("payload"), out_payload.getValue()); - if (out_databaseId.isAssigned()) - result->setInteger(ASCIILiteral("databaseId"), out_databaseId.getValue()); - if (out_sqlError) - result->setObject(ASCIILiteral("sqlError"), out_sqlError); - if (out_screenColor.isAssigned()) - result->setString(ASCIILiteral("screenColor"), out_screenColor.getValue()); - if (out_alternateColors) - result->setArray(ASCIILiteral("alternateColors"), out_alternateColors); - if (out_printColor.isAssigned()) - result->setString(ASCIILiteral("printColor"), out_printColor.getValue()); - } - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -void DatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const InspectorObject& message) -{ - auto protocolErrors = Inspector::Protocol::Array<String>::create(); - RefPtr<InspectorObject> paramsContainer; - message.getObject(ASCIILiteral("params"), paramsContainer); - RefPtr<Inspector::InspectorArray> in_columnNames = BackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("columnNames"), nullptr, protocolErrors.get()); - String in_notes = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("notes"), nullptr, protocolErrors.get()); - double in_timestamp = BackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral("timestamp"), nullptr, protocolErrors.get()); - RefPtr<Inspector::InspectorObject> in_values = BackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("values"), nullptr, protocolErrors.get()); - RefPtr<Inspector::InspectorValue> in_payload = BackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral("payload"), nullptr, protocolErrors.get()); - int in_databaseId = BackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), nullptr, protocolErrors.get()); - RefPtr<Inspector::InspectorObject> in_sqlError = BackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("sqlError"), nullptr, protocolErrors.get()); - String in_screenColor = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("screenColor"), nullptr, protocolErrors.get()); - RefPtr<Inspector::InspectorArray> in_alternateColors = BackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("alternateColors"), nullptr, protocolErrors.get()); - String in_printColor = BackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("printColor"), nullptr, protocolErrors.get()); - if (protocolErrors->length()) { - String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeNoOptionalParameters"); - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors)); - return; - } - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->executeNoOptionalParameters(callId, *in_columnNames, in_notes, in_timestamp, *in_values, *in_payload, in_databaseId, *in_sqlError, in_screenColor, *in_alternateColors, in_printColor); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - RefPtr<Inspector::Protocol::Array<String>> out_columnNames; - String out_notes; - double out_timestamp; - Inspector::InspectorObject out_values; - Inspector::InspectorValue out_payload; - Inspector::Protocol::Database::DatabaseId out_databaseId; - RefPtr<Inspector::Protocol::Database::Error> out_sqlError; - Inspector::Protocol::Database::PrimaryColors out_screenColor; - RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors; - DatabaseBackendDispatcherHandler::PrintColor out_printColor; - m_agent->executeNoOptionalParameters(error, *in_columnNames, in_notes, in_timestamp, *in_values, *in_payload, in_databaseId, *in_sqlError, in_screenColor, *in_alternateColors, in_printColor, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, out_alternateColors, &out_printColor); - - if (!error.length()) { - result->setArray(ASCIILiteral("columnNames"), out_columnNames); - result->setString(ASCIILiteral("notes"), out_notes); - result->setDouble(ASCIILiteral("timestamp"), out_timestamp); - result->setObject(ASCIILiteral("values"), out_values); - result->setValue(ASCIILiteral("payload"), out_payload); - result->setInteger(ASCIILiteral("databaseId"), out_databaseId); - result->setObject(ASCIILiteral("sqlError"), out_sqlError); - result->setString(ASCIILiteral("screenColor"), Inspector::Protocol::getEnumConstantValue(out_screenColor)); - result->setArray(ASCIILiteral("alternateColors"), out_alternateColors); - result->setString(ASCIILiteral("printColor"), Inspector::Protocol::getEnumConstantValue(out_printColor)); - } - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace Database { -class Error; -enum class PrimaryColors; -} // Database -// End of forward declarations. - - -// Typedefs. -namespace Database { -/* Unique identifier of Database object. */ -typedef int DatabaseId; -typedef Inspector::Protocol::Array<Inspector::Protocol::Database::PrimaryColors> ColorList; -} // Database -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace Database { -/* */ -enum class PrimaryColors { - Red = 0, - Green = 1, - Blue = 2, -}; // enum class PrimaryColors -/* Database error. */ -class Error : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - MessageSet = 1 << 0, - CodeSet = 1 << 1, - AllFieldsSet = (MessageSet | CodeSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*Error*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class Error; - public: - - Builder<STATE | MessageSet>& setMessage(const String& value) - { - COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set); - m_result->setString(ASCIILiteral("message"), value); - return castState<MessageSet>(); - } - - Builder<STATE | CodeSet>& setCode(int value) - { - COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set); - m_result->setInteger(ASCIILiteral("code"), value); - return castState<CodeSet>(); - } - - Ref<Error> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(Error) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<Error>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<Error> result = Error::create() - * .setMessage(...) - * .setCode(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -} // Database - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { - "red", - "green", - "blue", - "cyan", - "magenta", - "yellow", - "black", -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - -@protocol RWIProtocolDatabaseDomainHandler; - -namespace Inspector { - - -class ObjCInspectorDatabaseBackendDispatcher final : public AlternateDatabaseBackendDispatcher { -public: - ObjCInspectorDatabaseBackendDispatcher(id<RWIProtocolDatabaseDomainHandler> handler) { m_delegate = handler; } - virtual void executeAllOptionalParameters(long callId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor) override; - virtual void executeNoOptionalParameters(long callId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) override; -private: - RetainPtr<id<RWIProtocolDatabaseDomainHandler>> m_delegate; -}; - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; - id<RWIProtocolDatabaseDomainHandler> _databaseHandler; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [_databaseHandler release]; - [super dealloc]; -} - -- (void)setDatabaseHandler:(id<RWIProtocolDatabaseDomainHandler>)handler -{ - if (handler == _databaseHandler) - return; - - [_databaseHandler release]; - _databaseHandler = [handler retain]; - - auto alternateDispatcher = std::make_unique<ObjCInspectorDatabaseBackendDispatcher>(handler); - auto alternateAgent = std::make_unique<AlternateDispatchableAgent<DatabaseBackendDispatcher, AlternateDatabaseBackendDispatcher>>(ASCIILiteral("Database"), WTF::move(alternateDispatcher)); - _controller->appendExtraAgent(WTF::move(alternateAgent)); -} - -- (id<RWIProtocolDatabaseDomainHandler>)databaseHandler -{ - return _databaseHandler; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@property (nonatomic, retain, setter=setDatabaseHandler:) id<RWIProtocolDatabaseDomainHandler> databaseHandler; -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - -void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const Inspector::InspectorArray* in_columnNames, const String* in_notes, const double* in_timestamp, const Inspector::InspectorObject* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const Inspector::InspectorObject* in_sqlError, const String* in_screenColor, const Inspector::InspectorArray* in_alternateColors, const String* in_printColor) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor) { - Ref<InspectorObject> resultObject = InspectorObject::create(); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(alternateColors, @"alternateColors"); - if (columnNames) - resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(*columnNames)); - if (notes) - resultObject->setString(ASCIILiteral("notes"), *notes); - if (timestamp) - resultObject->setDouble(ASCIILiteral("timestamp"), *timestamp); - if (values) - resultObject->setObject(ASCIILiteral("values"), [*values toInspectorObject]); - if (payload) - resultObject->setValue(ASCIILiteral("payload"), [*payload toInspectorObject]); - if (databaseId) - resultObject->setInteger(ASCIILiteral("databaseId"), *databaseId); - if (sqlError) - resultObject->setObject(ASCIILiteral("sqlError"), [*sqlError toInspectorObject]); - if (screenColor) - resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(*screenColor)); - if (alternateColors) - resultObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(*alternateColors)); - if (printColor) - resultObject->setString(ASCIILiteral("printColor"), toProtocolString(*printColor)); - backendDispatcher()->sendResponse(callId, WTF::move(resultObject), String()); - }; - - NSArray/*<NSString>*/ *o_in_columnNames; - if (in_columnNames) - o_in_columnNames = objcStringArray(in_columnNames); - NSString *o_in_notes; - if (in_notes) - o_in_notes = *in_notes; - double o_in_timestamp; - if (in_timestamp) - o_in_timestamp = *in_timestamp; - RWIProtocolJSONObject *o_in_values; - if (in_values) - o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:in_values] autorelease]; - RWIProtocolJSONObject *o_in_payload; - if (in_payload) - o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:in_payload] autorelease]; - int o_in_databaseId; - if (in_databaseId) - o_in_databaseId = *in_databaseId; - RWIProtocolDatabaseError *o_in_sqlError; - if (in_sqlError) - o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError] autorelease]; - RWIProtocolDatabasePrimaryColors o_in_screenColor; - if (in_screenColor) - o_in_screenColor = fromProtocolString<RWIProtocolDatabasePrimaryColors>(*in_screenColor); - NSArray/*<NSString>*/ *o_in_alternateColors; - if (in_alternateColors) - o_in_alternateColors = objcStringArray(in_alternateColors); - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor o_in_printColor; - if (in_printColor) - o_in_printColor = fromProtocolString<RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor>(*in_printColor); - - [m_delegate executeAllOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:(in_columnNames ? &o_in_columnNames : nil) notes:(in_notes ? &o_in_notes : nil) timestamp:(in_timestamp ? &o_in_timestamp : nil) values:(in_values ? &o_in_values : nil) payload:(in_payload ? &o_in_payload : nil) databaseId:(in_databaseId ? &o_in_databaseId : nil) sqlError:(in_sqlError ? &o_in_sqlError : nil) screenColor:(in_screenColor ? &o_in_screenColor : nil) alternateColors:(in_alternateColors ? &o_in_alternateColors : nil) printColor:(in_printColor ? &o_in_printColor : nil)]; -} - -void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const Inspector::InspectorArray& in_columnNames, const String& in_notes, double in_timestamp, const Inspector::InspectorObject& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const Inspector::InspectorObject& in_sqlError, const String& in_screenColor, const Inspector::InspectorArray& in_alternateColors, const String& in_printColor) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor) { - Ref<InspectorObject> resultObject = InspectorObject::create(); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(alternateColors, @"alternateColors"); - resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(columnNames)); - resultObject->setString(ASCIILiteral("notes"), notes); - resultObject->setDouble(ASCIILiteral("timestamp"), timestamp); - resultObject->setObject(ASCIILiteral("values"), [values toInspectorObject]); - resultObject->setValue(ASCIILiteral("payload"), [payload toInspectorObject]); - resultObject->setInteger(ASCIILiteral("databaseId"), databaseId); - resultObject->setObject(ASCIILiteral("sqlError"), [sqlError toInspectorObject]); - resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(screenColor)); - resultObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(alternateColors)); - resultObject->setString(ASCIILiteral("printColor"), toProtocolString(printColor)); - backendDispatcher()->sendResponse(callId, WTF::move(resultObject), String()); - }; - - NSArray/*<NSString>*/ *o_in_columnNames = objcStringArray(&in_columnNames); - NSString *o_in_notes = in_notes; - double o_in_timestamp = in_timestamp; - RWIProtocolJSONObject *o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:&in_values] autorelease]; - RWIProtocolJSONObject *o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:&in_payload] autorelease]; - int o_in_databaseId = in_databaseId; - RWIProtocolDatabaseError *o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:&in_sqlError] autorelease]; - RWIProtocolDatabasePrimaryColors o_in_screenColor = fromProtocolString<RWIProtocolDatabasePrimaryColors>(in_screenColor); - NSArray/*<NSString>*/ *o_in_alternateColors = objcStringArray(&in_alternateColors); - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor o_in_printColor = fromProtocolString<RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor>(in_printColor); - - [m_delegate executeNoOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:o_in_columnNames notes:o_in_notes timestamp:o_in_timestamp values:o_in_values payload:o_in_payload databaseId:o_in_databaseId sqlError:o_in_sqlError screenColor:o_in_screenColor alternateColors:o_in_alternateColors printColor:o_in_printColor]; -} - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - -inline String toProtocolString(RWIProtocolDatabasePrimaryColors value) -{ - switch(value) { - case RWIProtocolDatabasePrimaryColorsRed: - return ASCIILiteral("red"); - case RWIProtocolDatabasePrimaryColorsGreen: - return ASCIILiteral("green"); - case RWIProtocolDatabasePrimaryColorsBlue: - return ASCIILiteral("blue"); - } -} - -template<> -inline RWIProtocolDatabasePrimaryColors fromProtocolString(const String& value) -{ - if (value == "red") - return RWIProtocolDatabasePrimaryColorsRed; - if (value == "green") - return RWIProtocolDatabasePrimaryColorsGreen; - if (value == "blue") - return RWIProtocolDatabasePrimaryColorsBlue; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabasePrimaryColorsRed; -} - -inline String toProtocolString(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor value) -{ - switch(value) { - case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan: - return ASCIILiteral("cyan"); - case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow: - return ASCIILiteral("yellow"); - case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack: - return ASCIILiteral("black"); - } -} - -template<> -inline RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor fromProtocolString(const String& value) -{ - if (value == "cyan") - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan; - if (value == "magenta") - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta; - if (value == "yellow") - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow; - if (value == "black") - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan; -} - -inline String toProtocolString(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor value) -{ - switch(value) { - case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan: - return ASCIILiteral("cyan"); - case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow: - return ASCIILiteral("yellow"); - case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack: - return ASCIILiteral("black"); - } -} - -template<> -inline RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor fromProtocolString(const String& value) -{ - if (value == "cyan") - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan; - if (value == "magenta") - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta; - if (value == "yellow") - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow; - if (value == "black") - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan; -} - -inline String toProtocolString(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor value) -{ - switch(value) { - case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan: - return ASCIILiteral("cyan"); - case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow: - return ASCIILiteral("yellow"); - case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack: - return ASCIILiteral("black"); - } -} - -template<> -inline RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolString(const String& value) -{ - if (value == "cyan") - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan; - if (value == "magenta") - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta; - if (value == "yellow") - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow; - if (value == "black") - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan; -} - -inline String toProtocolString(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor value) -{ - switch(value) { - case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan: - return ASCIILiteral("cyan"); - case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow: - return ASCIILiteral("yellow"); - case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack: - return ASCIILiteral("black"); - } -} - -template<> -inline RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolString(const String& value) -{ - if (value == "cyan") - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan; - if (value == "magenta") - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta; - if (value == "yellow") - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow; - if (value == "black") - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack; - ASSERT_NOT_REACHED(); - return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan; -} - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - -@class RWIProtocolDatabaseError; - - -typedef NS_ENUM(NSInteger, RWIProtocolDatabasePrimaryColors) { - RWIProtocolDatabasePrimaryColorsRed, - RWIProtocolDatabasePrimaryColorsGreen, - RWIProtocolDatabasePrimaryColorsBlue, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor) { - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan, - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta, - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow, - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor) { - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan, - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta, - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow, - RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor) { - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan, - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta, - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow, - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor) { - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan, - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta, - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow, - RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack, -}; - - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseError : RWIProtocolJSONObject -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -/* required */ @property (nonatomic, copy) NSString *message; -/* required */ @property (nonatomic, assign) int code; -@end - -@protocol RWIProtocolDatabaseDomainHandler <NSObject> -@required -- (void)executeAllOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, NSArray/*<NSString>*/ **alternateColors, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor))successCallback columnNames:(NSArray/*<NSString>*/ **)columnNames notes:(NSString **)notes timestamp:(double *)timestamp values:(RWIProtocolJSONObject **)values payload:(RWIProtocolJSONObject **)payload databaseId:(int *)databaseId sqlError:(RWIProtocolDatabaseError **)sqlError screenColor:(RWIProtocolDatabasePrimaryColors *)screenColor alternateColors:(NSArray/*<NSString>*/ **)alternateColors printColor:(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *)printColor; -- (void)executeNoOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, NSArray/*<NSString>*/ *alternateColors, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor))successCallback columnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload databaseId:(int)databaseId sqlError:(RWIProtocolDatabaseError *)sqlError screenColor:(RWIProtocolDatabasePrimaryColors)screenColor alternateColors:(NSArray/*<NSString>*/ *)alternateColors printColor:(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor)printColor; -@end - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - -@implementation RWIProtocolDatabaseError - -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message"); - - self.message = message; - self.code = code; - - return self; -} - -- (void)setMessage:(NSString *)message -{ - [super setString:message forKey:@"message"]; -} - -- (NSString *)message -{ - return [super stringForKey:@"message"]; -} - -- (void)setCode:(int)code -{ - [super setInteger:code forKey:@"code"]; -} - -- (int)code -{ - return [super integerForKey:@"code"]; -} - -@end - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result deleted file mode 100644 index 190b26002..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result +++ /dev/null @@ -1,1318 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - -class AlternateNetwork1BackendDispatcher : public AlternateBackendDispatcher { -public: - virtual ~AlternateNetwork1BackendDispatcher() { } - virtual void loadResource1(long callId) = 0; -}; -class AlternateNetwork3BackendDispatcher : public AlternateBackendDispatcher { -public: - virtual ~AlternateNetwork3BackendDispatcher() { } - virtual void loadResource1(long callId) = 0; - virtual void loadResource2(long callId) = 0; - virtual void loadResource3(long callId) = 0; - virtual void loadResource4(long callId) = 0; - virtual void loadResource5(long callId) = 0; - virtual void loadResource6(long callId) = 0; - virtual void loadResource7(long callId) = 0; -}; - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// Network1. -InspectorBackend.registerCommand("Network1.loadResource1", [], []); -InspectorBackend.activateDomain("Network1"); - -// Network3. -InspectorBackend.registerCommand("Network3.loadResource1", [], []); -InspectorBackend.registerCommand("Network3.loadResource2", [], []); -InspectorBackend.registerCommand("Network3.loadResource3", [], []); -InspectorBackend.registerCommand("Network3.loadResource4", [], []); -InspectorBackend.registerCommand("Network3.loadResource5", [], []); -InspectorBackend.registerCommand("Network3.loadResource6", [], []); -InspectorBackend.registerCommand("Network3.loadResource7", [], []); -InspectorBackend.activateDomain("Network3"); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -class AlternateNetwork1BackendDispatcher; -class AlternateNetwork3BackendDispatcher; -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -class Network1BackendDispatcherHandler { -public: - virtual void loadResource1(ErrorString&) = 0; -protected: - virtual ~Network1BackendDispatcherHandler(); -}; - -class Network3BackendDispatcherHandler { -public: - virtual void loadResource1(ErrorString&) = 0; - virtual void loadResource2(ErrorString&) = 0; - virtual void loadResource3(ErrorString&) = 0; - virtual void loadResource4(ErrorString&) = 0; - virtual void loadResource5(ErrorString&) = 0; - virtual void loadResource6(ErrorString&) = 0; - virtual void loadResource7(ErrorString&) = 0; -protected: - virtual ~Network3BackendDispatcherHandler(); -}; - -class Network1BackendDispatcher final : public SupplementalBackendDispatcher { -public: - static Ref<Network1BackendDispatcher> create(BackendDispatcher*, Network1BackendDispatcherHandler*); - virtual void dispatch(long callId, const String& method, Ref<InspectorObject>&& message) override; -private: - void loadResource1(long callId, const InspectorObject& message); -private: - Network1BackendDispatcher(BackendDispatcher&, Network1BackendDispatcherHandler*); - Network1BackendDispatcherHandler* m_agent; -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -public: - void setAlternateDispatcher(AlternateNetwork1BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; } -private: - AlternateNetwork1BackendDispatcher* m_alternateDispatcher; -#endif -}; - -class Network3BackendDispatcher final : public SupplementalBackendDispatcher { -public: - static Ref<Network3BackendDispatcher> create(BackendDispatcher*, Network3BackendDispatcherHandler*); - virtual void dispatch(long callId, const String& method, Ref<InspectorObject>&& message) override; -private: - void loadResource1(long callId, const InspectorObject& message); - void loadResource2(long callId, const InspectorObject& message); - void loadResource3(long callId, const InspectorObject& message); - void loadResource4(long callId, const InspectorObject& message); - void loadResource5(long callId, const InspectorObject& message); - void loadResource6(long callId, const InspectorObject& message); - void loadResource7(long callId, const InspectorObject& message); -private: - Network3BackendDispatcher(BackendDispatcher&, Network3BackendDispatcherHandler*); - Network3BackendDispatcherHandler* m_agent; -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -public: - void setAlternateDispatcher(AlternateNetwork3BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; } -private: - AlternateNetwork3BackendDispatcher* m_alternateDispatcher; -#endif -}; - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - -Network1BackendDispatcherHandler::~Network1BackendDispatcherHandler() { } -Network3BackendDispatcherHandler::~Network3BackendDispatcherHandler() { } - -Ref<Network1BackendDispatcher> Network1BackendDispatcher::create(BackendDispatcher* backendDispatcher, Network1BackendDispatcherHandler* agent) -{ - return adoptRef(*new Network1BackendDispatcher(*backendDispatcher, agent)); -} - -Network1BackendDispatcher::Network1BackendDispatcher(BackendDispatcher& backendDispatcher, Network1BackendDispatcherHandler* agent) - : SupplementalBackendDispatcher(backendDispatcher) - , m_agent(agent) -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - , m_alternateDispatcher(nullptr) -#endif -{ - m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Network1"), this); -} - -void Network1BackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message) -{ - Ref<Network1BackendDispatcher> protect(*this); - - if (method == "loadResource1") - loadResource1(callId, message); - else - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::MethodNotFound, makeString('\'', "Network1", '.', method, "' was not found")); -} - -void Network1BackendDispatcher::loadResource1(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource1(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource1(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -Ref<Network3BackendDispatcher> Network3BackendDispatcher::create(BackendDispatcher* backendDispatcher, Network3BackendDispatcherHandler* agent) -{ - return adoptRef(*new Network3BackendDispatcher(*backendDispatcher, agent)); -} - -Network3BackendDispatcher::Network3BackendDispatcher(BackendDispatcher& backendDispatcher, Network3BackendDispatcherHandler* agent) - : SupplementalBackendDispatcher(backendDispatcher) - , m_agent(agent) -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - , m_alternateDispatcher(nullptr) -#endif -{ - m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Network3"), this); -} - -void Network3BackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message) -{ - Ref<Network3BackendDispatcher> protect(*this); - - typedef void (Network3BackendDispatcher::*CallHandler)(long callId, const InspectorObject& message); - typedef HashMap<String, CallHandler> DispatchMap; - DEPRECATED_DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, ()); - if (dispatchMap.isEmpty()) { - static const struct MethodTable { - const char* name; - CallHandler handler; - } commands[] = { - { "loadResource1", &Network3BackendDispatcher::loadResource1 }, - { "loadResource2", &Network3BackendDispatcher::loadResource2 }, - { "loadResource3", &Network3BackendDispatcher::loadResource3 }, - { "loadResource4", &Network3BackendDispatcher::loadResource4 }, - { "loadResource5", &Network3BackendDispatcher::loadResource5 }, - { "loadResource6", &Network3BackendDispatcher::loadResource6 }, - { "loadResource7", &Network3BackendDispatcher::loadResource7 }, - }; - size_t length = WTF_ARRAY_LENGTH(commands); - for (size_t i = 0; i < length; ++i) - dispatchMap.add(commands[i].name, commands[i].handler); - } - - HashMap<String, CallHandler>::iterator it = dispatchMap.find(method); - if (it == dispatchMap.end()) { - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::MethodNotFound, makeString('\'', "Network3", '.', method, "' was not found")); - return; - } - - ((*this).*it->value)(callId, message.get()); -} - -void Network3BackendDispatcher::loadResource1(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource1(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource1(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -void Network3BackendDispatcher::loadResource2(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource2(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource2(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -void Network3BackendDispatcher::loadResource3(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource3(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource3(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -void Network3BackendDispatcher::loadResource4(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource4(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource4(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -void Network3BackendDispatcher::loadResource5(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource5(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource5(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -void Network3BackendDispatcher::loadResource6(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource6(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource6(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -void Network3BackendDispatcher::loadResource7(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource7(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource7(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - - - -// Typedefs. -namespace Network2 { -/* Unique loader identifier. */ -typedef String LoaderId; -} // Network2 -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - -@protocol RWIProtocolNetwork1DomainHandler; -@protocol RWIProtocolNetwork3DomainHandler; - -namespace Inspector { - - -class ObjCInspectorNetwork1BackendDispatcher final : public AlternateNetwork1BackendDispatcher { -public: - ObjCInspectorNetwork1BackendDispatcher(id<RWIProtocolNetwork1DomainHandler> handler) { m_delegate = handler; } - virtual void loadResource1(long callId) override; -private: - RetainPtr<id<RWIProtocolNetwork1DomainHandler>> m_delegate; -}; - - - -class ObjCInspectorNetwork3BackendDispatcher final : public AlternateNetwork3BackendDispatcher { -public: - ObjCInspectorNetwork3BackendDispatcher(id<RWIProtocolNetwork3DomainHandler> handler) { m_delegate = handler; } - virtual void loadResource1(long callId) override; - virtual void loadResource2(long callId) override; - virtual void loadResource3(long callId) override; - virtual void loadResource4(long callId) override; - virtual void loadResource5(long callId) override; - virtual void loadResource6(long callId) override; - virtual void loadResource7(long callId) override; -private: - RetainPtr<id<RWIProtocolNetwork3DomainHandler>> m_delegate; -}; - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; - id<RWIProtocolNetwork1DomainHandler> _network1Handler; - id<RWIProtocolNetwork3DomainHandler> _network3Handler; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [_network1Handler release]; - [_network3Handler release]; - [super dealloc]; -} - -- (void)setNetwork1Handler:(id<RWIProtocolNetwork1DomainHandler>)handler -{ - if (handler == _network1Handler) - return; - - [_network1Handler release]; - _network1Handler = [handler retain]; - - auto alternateDispatcher = std::make_unique<ObjCInspectorNetwork1BackendDispatcher>(handler); - auto alternateAgent = std::make_unique<AlternateDispatchableAgent<Network1BackendDispatcher, AlternateNetwork1BackendDispatcher>>(ASCIILiteral("Network1"), WTF::move(alternateDispatcher)); - _controller->appendExtraAgent(WTF::move(alternateAgent)); -} - -- (id<RWIProtocolNetwork1DomainHandler>)network1Handler -{ - return _network1Handler; -} - -- (void)setNetwork3Handler:(id<RWIProtocolNetwork3DomainHandler>)handler -{ - if (handler == _network3Handler) - return; - - [_network3Handler release]; - _network3Handler = [handler retain]; - - auto alternateDispatcher = std::make_unique<ObjCInspectorNetwork3BackendDispatcher>(handler); - auto alternateAgent = std::make_unique<AlternateDispatchableAgent<Network3BackendDispatcher, AlternateNetwork3BackendDispatcher>>(ASCIILiteral("Network3"), WTF::move(alternateDispatcher)); - _controller->appendExtraAgent(WTF::move(alternateAgent)); -} - -- (id<RWIProtocolNetwork3DomainHandler>)network3Handler -{ - return _network3Handler; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@property (nonatomic, retain, setter=setNetwork1Handler:) id<RWIProtocolNetwork1DomainHandler> network1Handler; -@property (nonatomic, retain, setter=setNetwork3Handler:) id<RWIProtocolNetwork3DomainHandler> network3Handler; -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - -void ObjCInspectorNetwork1BackendDispatcher::loadResource1(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResource1WithErrorCallback:errorCallback successCallback:successCallback]; -} - - - - -void ObjCInspectorNetwork3BackendDispatcher::loadResource1(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResource1WithErrorCallback:errorCallback successCallback:successCallback]; -} - -void ObjCInspectorNetwork3BackendDispatcher::loadResource2(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResource2WithErrorCallback:errorCallback successCallback:successCallback]; -} - -void ObjCInspectorNetwork3BackendDispatcher::loadResource3(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResource3WithErrorCallback:errorCallback successCallback:successCallback]; -} - -void ObjCInspectorNetwork3BackendDispatcher::loadResource4(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResource4WithErrorCallback:errorCallback successCallback:successCallback]; -} - -void ObjCInspectorNetwork3BackendDispatcher::loadResource5(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResource5WithErrorCallback:errorCallback successCallback:successCallback]; -} - -void ObjCInspectorNetwork3BackendDispatcher::loadResource6(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResource6WithErrorCallback:errorCallback successCallback:successCallback]; -} - -void ObjCInspectorNetwork3BackendDispatcher::loadResource7(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResource7WithErrorCallback:errorCallback successCallback:successCallback]; -} - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - - - - - - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - - - - - - - -@protocol RWIProtocolNetwork1DomainHandler <NSObject> -@required -- (void)loadResource1WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -@end - -@protocol RWIProtocolNetwork3DomainHandler <NSObject> -@required -- (void)loadResource1WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -- (void)loadResource2WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -- (void)loadResource3WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -- (void)loadResource4WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -- (void)loadResource5WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -- (void)loadResource6WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -- (void)loadResource7WithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -@end - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - - - - - - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from domains-with-varying-command-sizes.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result deleted file mode 100644 index 9d74853c2..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result +++ /dev/null @@ -1,1172 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - -class AlternateCommandDomainBackendDispatcher : public AlternateBackendDispatcher { -public: - virtual ~AlternateCommandDomainBackendDispatcher() { } - virtual void commandWithEnumReturnValue(long callId) = 0; -}; - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// TypeDomain. -InspectorBackend.registerEnum("TypeDomain.TypeDomainEnum", {Shared: "shared", Red: "red", Green: "green", Blue: "blue"}); - -// CommandDomain. -InspectorBackend.registerCommand("CommandDomain.commandWithEnumReturnValue", [], ["returnValue"]); -InspectorBackend.activateDomain("CommandDomain"); - -// EventDomain. -InspectorBackend.registerEventDomainDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "EventDomain"); -InspectorBackend.registerEnum("EventDomain.EventWithEnumParameterParameter", {Shared: "shared", Black: "black", White: "white"}); -InspectorBackend.registerEvent("EventDomain.eventWithEnumParameter", ["parameter"]); -InspectorBackend.activateDomain("EventDomain"); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -class AlternateCommandDomainBackendDispatcher; -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -class CommandDomainBackendDispatcherHandler { -public: - // Named after parameter 'returnValue' while generating command/event commandWithEnumReturnValue. - enum class ReturnValue { - Shared = 0, - Cyan = 6, - Magenta = 7, - Yellow = 8, - }; // enum class ReturnValue - virtual void commandWithEnumReturnValue(ErrorString&, CommandDomainBackendDispatcherHandler::ReturnValue* out_returnValue) = 0; -protected: - virtual ~CommandDomainBackendDispatcherHandler(); -}; - -class CommandDomainBackendDispatcher final : public SupplementalBackendDispatcher { -public: - static Ref<CommandDomainBackendDispatcher> create(BackendDispatcher*, CommandDomainBackendDispatcherHandler*); - virtual void dispatch(long callId, const String& method, Ref<InspectorObject>&& message) override; -private: - void commandWithEnumReturnValue(long callId, const InspectorObject& message); -private: - CommandDomainBackendDispatcher(BackendDispatcher&, CommandDomainBackendDispatcherHandler*); - CommandDomainBackendDispatcherHandler* m_agent; -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -public: - void setAlternateDispatcher(AlternateCommandDomainBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; } -private: - AlternateCommandDomainBackendDispatcher* m_alternateDispatcher; -#endif -}; - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - -CommandDomainBackendDispatcherHandler::~CommandDomainBackendDispatcherHandler() { } - -Ref<CommandDomainBackendDispatcher> CommandDomainBackendDispatcher::create(BackendDispatcher* backendDispatcher, CommandDomainBackendDispatcherHandler* agent) -{ - return adoptRef(*new CommandDomainBackendDispatcher(*backendDispatcher, agent)); -} - -CommandDomainBackendDispatcher::CommandDomainBackendDispatcher(BackendDispatcher& backendDispatcher, CommandDomainBackendDispatcherHandler* agent) - : SupplementalBackendDispatcher(backendDispatcher) - , m_agent(agent) -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - , m_alternateDispatcher(nullptr) -#endif -{ - m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("CommandDomain"), this); -} - -void CommandDomainBackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message) -{ - Ref<CommandDomainBackendDispatcher> protect(*this); - - if (method == "commandWithEnumReturnValue") - commandWithEnumReturnValue(callId, message); - else - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::MethodNotFound, makeString('\'', "CommandDomain", '.', method, "' was not found")); -} - -void CommandDomainBackendDispatcher::commandWithEnumReturnValue(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->commandWithEnumReturnValue(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - CommandDomainBackendDispatcherHandler::ReturnValue out_returnValue; - m_agent->commandWithEnumReturnValue(error, &out_returnValue); - - if (!error.length()) - result->setString(ASCIILiteral("returnValue"), Inspector::Protocol::getEnumConstantValue(out_returnValue)); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -class EventDomainFrontendDispatcher { -public: - EventDomainFrontendDispatcher(FrontendChannel* frontendChannel) : m_frontendChannel(frontendChannel) { } - // Named after parameter 'parameter' while generating command/event eventWithEnumParameter. - enum class Parameter { - Shared = 0, - Black = 4, - White = 5, - }; // enum class Parameter - void eventWithEnumParameter(Parameter parameter); -private: - FrontendChannel* m_frontendChannel; -}; - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -void EventDomainFrontendDispatcher::eventWithEnumParameter(Parameter parameter) -{ - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("EventDomain.eventWithEnumParameter")); - Ref<InspectorObject> paramsObject = InspectorObject::create(); - paramsObject->setString(ASCIILiteral("parameter"), Inspector::Protocol::getEnumConstantValue(parameter)); - jsonMessage->setObject(ASCIILiteral("params"), WTF::move(paramsObject)); - - m_frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); -} - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace TypeDomain { -enum class TypeDomainEnum; -} // TypeDomain -// End of forward declarations. - - - - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace TypeDomain { -/* */ -enum class TypeDomainEnum { - Shared = 0, - Red = 1, - Green = 2, - Blue = 3, -}; // enum class TypeDomainEnum -} // TypeDomain - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { - "shared", - "red", - "green", - "blue", - "black", - "white", - "cyan", - "magenta", - "yellow", -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - -@protocol RWIProtocolCommandDomainDomainHandler; - -namespace Inspector { - - - - -class ObjCInspectorCommandDomainBackendDispatcher final : public AlternateCommandDomainBackendDispatcher { -public: - ObjCInspectorCommandDomainBackendDispatcher(id<RWIProtocolCommandDomainDomainHandler> handler) { m_delegate = handler; } - virtual void commandWithEnumReturnValue(long callId) override; -private: - RetainPtr<id<RWIProtocolCommandDomainDomainHandler>> m_delegate; -}; - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; - id<RWIProtocolCommandDomainDomainHandler> _commandDomainHandler; - RWIProtocolEventDomainDomainEventDispatcher *_eventDomainEventDispatcher; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [_commandDomainHandler release]; - [_eventDomainEventDispatcher release]; - [super dealloc]; -} - -- (void)setCommandDomainHandler:(id<RWIProtocolCommandDomainDomainHandler>)handler -{ - if (handler == _commandDomainHandler) - return; - - [_commandDomainHandler release]; - _commandDomainHandler = [handler retain]; - - auto alternateDispatcher = std::make_unique<ObjCInspectorCommandDomainBackendDispatcher>(handler); - auto alternateAgent = std::make_unique<AlternateDispatchableAgent<CommandDomainBackendDispatcher, AlternateCommandDomainBackendDispatcher>>(ASCIILiteral("CommandDomain"), WTF::move(alternateDispatcher)); - _controller->appendExtraAgent(WTF::move(alternateAgent)); -} - -- (id<RWIProtocolCommandDomainDomainHandler>)commandDomainHandler -{ - return _commandDomainHandler; -} - -- (RWIProtocolEventDomainDomainEventDispatcher *)eventDomainEventDispatcher -{ - if (!_eventDomainEventDispatcher) - _eventDomainEventDispatcher = [[RWIProtocolEventDomainDomainEventDispatcher alloc] initWithController:_controller]; - return _eventDomainEventDispatcher; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@property (nonatomic, retain, setter=setCommandDomainHandler:) id<RWIProtocolCommandDomainDomainHandler> commandDomainHandler; -@property (nonatomic, readonly) RWIProtocolEventDomainDomainEventDispatcher *eventDomainEventDispatcher; -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - -void ObjCInspectorCommandDomainBackendDispatcher::commandWithEnumReturnValue(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^(RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValue returnValue) { - Ref<InspectorObject> resultObject = InspectorObject::create(); - resultObject->setString(ASCIILiteral("returnValue"), toProtocolString(returnValue)); - backendDispatcher()->sendResponse(callId, WTF::move(resultObject), String()); - }; - - [m_delegate commandWithEnumReturnValueWithErrorCallback:errorCallback successCallback:successCallback]; -} - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - -inline String toProtocolString(RWIProtocolTypeDomainEnum value) -{ - switch(value) { - case RWIProtocolTypeDomainEnumShared: - return ASCIILiteral("shared"); - case RWIProtocolTypeDomainEnumRed: - return ASCIILiteral("red"); - case RWIProtocolTypeDomainEnumGreen: - return ASCIILiteral("green"); - case RWIProtocolTypeDomainEnumBlue: - return ASCIILiteral("blue"); - } -} - -template<> -inline RWIProtocolTypeDomainEnum fromProtocolString(const String& value) -{ - if (value == "shared") - return RWIProtocolTypeDomainEnumShared; - if (value == "red") - return RWIProtocolTypeDomainEnumRed; - if (value == "green") - return RWIProtocolTypeDomainEnumGreen; - if (value == "blue") - return RWIProtocolTypeDomainEnumBlue; - ASSERT_NOT_REACHED(); - return RWIProtocolTypeDomainEnumShared; -} - - -inline String toProtocolString(RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValue value) -{ - switch(value) { - case RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueShared: - return ASCIILiteral("shared"); - case RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueCyan: - return ASCIILiteral("cyan"); - case RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueMagenta: - return ASCIILiteral("magenta"); - case RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueYellow: - return ASCIILiteral("yellow"); - } -} - -template<> -inline RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValue fromProtocolString(const String& value) -{ - if (value == "shared") - return RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueShared; - if (value == "cyan") - return RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueCyan; - if (value == "magenta") - return RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueMagenta; - if (value == "yellow") - return RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueYellow; - ASSERT_NOT_REACHED(); - return RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueShared; -} - - -inline String toProtocolString(RWIProtocolEventDomainEventWithEnumParameterParameter value) -{ - switch(value) { - case RWIProtocolEventDomainEventWithEnumParameterParameterShared: - return ASCIILiteral("shared"); - case RWIProtocolEventDomainEventWithEnumParameterParameterBlack: - return ASCIILiteral("black"); - case RWIProtocolEventDomainEventWithEnumParameterParameterWhite: - return ASCIILiteral("white"); - } -} - -template<> -inline RWIProtocolEventDomainEventWithEnumParameterParameter fromProtocolString(const String& value) -{ - if (value == "shared") - return RWIProtocolEventDomainEventWithEnumParameterParameterShared; - if (value == "black") - return RWIProtocolEventDomainEventWithEnumParameterParameterBlack; - if (value == "white") - return RWIProtocolEventDomainEventWithEnumParameterParameterWhite; - ASSERT_NOT_REACHED(); - return RWIProtocolEventDomainEventWithEnumParameterParameterShared; -} - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - - -@implementation RWIProtocolEventDomainDomainEventDispatcher -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller; -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)eventWithEnumParameterWithParameter:(RWIProtocolEventDomainEventWithEnumParameterParameter)parameter -{ - FrontendChannel* frontendChannel = _controller->frontendChannel(); - if (!frontendChannel) - return; - - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("EventDomain.eventWithEnumParameter")); - Ref<InspectorObject> paramsObject = InspectorObject::create(); - paramsObject->setString(ASCIILiteral("parameter"), toProtocolString(parameter)); - jsonMessage->setObject(ASCIILiteral("params"), WTF::move(paramsObject)); - frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); -} - -@end - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - - - - -typedef NS_ENUM(NSInteger, RWIProtocolTypeDomainEnum) { - RWIProtocolTypeDomainEnumShared, - RWIProtocolTypeDomainEnumRed, - RWIProtocolTypeDomainEnumGreen, - RWIProtocolTypeDomainEnumBlue, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValue) { - RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueShared, - RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueCyan, - RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueMagenta, - RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValueYellow, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolEventDomainEventWithEnumParameterParameter) { - RWIProtocolEventDomainEventWithEnumParameterParameterShared, - RWIProtocolEventDomainEventWithEnumParameterParameterBlack, - RWIProtocolEventDomainEventWithEnumParameterParameterWhite, -}; - - - -@protocol RWIProtocolCommandDomainDomainHandler <NSObject> -@required -- (void)commandWithEnumReturnValueWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValue returnValue))successCallback; -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolEventDomainDomainEventDispatcher : NSObject -- (void)eventWithEnumParameterWithParameter:(RWIProtocolEventDomainEventWithEnumParameterParameter)parameter; -@end - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - - - - - - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from enum-values.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - -@interface RWIProtocolEventDomainDomainEventDispatcher (Private) -- (instancetype)initWithController:(Inspector::AugmentableInspectorController*)controller; -@end - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result deleted file mode 100644 index 4b622d9de..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result +++ /dev/null @@ -1,1108 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - - - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// Database. -InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "Database"); -InspectorBackend.registerEvent("Database.didExecuteOptionalParameters", ["columnNames", "notes", "timestamp", "values", "payload", "sqlError", "screenColor", "alternateColors", "printColor"]); -InspectorBackend.registerEvent("Database.didExecuteNoOptionalParameters", ["columnNames", "notes", "timestamp", "values", "payload", "sqlError", "screenColor", "alternateColors", "printColor"]); -InspectorBackend.activateDomain("Database"); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - - - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - - - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -class DatabaseFrontendDispatcher { -public: - DatabaseFrontendDispatcher(FrontendChannel* frontendChannel) : m_frontendChannel(frontendChannel) { } - void didExecuteOptionalParameters(RefPtr<Inspector::Protocol::Array<String>> columnNames, const String* const notes, const double* const timestamp, RefPtr<Inspector::InspectorObject> values, RefPtr<Inspector::InspectorValue> payload, RefPtr<Inspector::Protocol::Database::Error> sqlError, const Inspector::Protocol::Database::PrimaryColors* const screenColor, RefPtr<Inspector::Protocol::Database::ColorList> alternateColors, const String* const printColor); - void didExecuteNoOptionalParameters(RefPtr<Inspector::Protocol::Array<String>> columnNames, const String& notes, double timestamp, RefPtr<Inspector::InspectorObject> values, RefPtr<Inspector::InspectorValue> payload, RefPtr<Inspector::Protocol::Database::Error> sqlError, const Inspector::Protocol::Database::PrimaryColors& screenColor, RefPtr<Inspector::Protocol::Database::ColorList> alternateColors, const String& printColor); -private: - FrontendChannel* m_frontendChannel; -}; - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -void DatabaseFrontendDispatcher::didExecuteOptionalParameters(RefPtr<Inspector::Protocol::Array<String>> columnNames, const String* const notes, const double* const timestamp, RefPtr<Inspector::InspectorObject> values, RefPtr<Inspector::InspectorValue> payload, RefPtr<Inspector::Protocol::Database::Error> sqlError, const Inspector::Protocol::Database::PrimaryColors* const screenColor, RefPtr<Inspector::Protocol::Database::ColorList> alternateColors, const String* const printColor) -{ - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("Database.didExecuteOptionalParameters")); - Ref<InspectorObject> paramsObject = InspectorObject::create(); - if (columnNames) - paramsObject->setArray(ASCIILiteral("columnNames"), columnNames); - if (notes) - paramsObject->setString(ASCIILiteral("notes"), *notes); - if (timestamp) - paramsObject->setDouble(ASCIILiteral("timestamp"), *timestamp); - if (values) - paramsObject->setObject(ASCIILiteral("values"), values); - if (payload) - paramsObject->setValue(ASCIILiteral("payload"), *payload); - if (sqlError) - paramsObject->setObject(ASCIILiteral("sqlError"), sqlError); - if (screenColor) - paramsObject->setString(ASCIILiteral("screenColor"), *screenColor); - if (alternateColors) - paramsObject->setArray(ASCIILiteral("alternateColors"), alternateColors); - if (printColor) - paramsObject->setString(ASCIILiteral("printColor"), *printColor); - jsonMessage->setObject(ASCIILiteral("params"), WTF::move(paramsObject)); - - m_frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); -} - -void DatabaseFrontendDispatcher::didExecuteNoOptionalParameters(RefPtr<Inspector::Protocol::Array<String>> columnNames, const String& notes, double timestamp, RefPtr<Inspector::InspectorObject> values, RefPtr<Inspector::InspectorValue> payload, RefPtr<Inspector::Protocol::Database::Error> sqlError, const Inspector::Protocol::Database::PrimaryColors& screenColor, RefPtr<Inspector::Protocol::Database::ColorList> alternateColors, const String& printColor) -{ - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("Database.didExecuteNoOptionalParameters")); - Ref<InspectorObject> paramsObject = InspectorObject::create(); - paramsObject->setArray(ASCIILiteral("columnNames"), columnNames); - paramsObject->setString(ASCIILiteral("notes"), notes); - paramsObject->setDouble(ASCIILiteral("timestamp"), timestamp); - paramsObject->setObject(ASCIILiteral("values"), values); - paramsObject->setValue(ASCIILiteral("payload"), payload); - paramsObject->setObject(ASCIILiteral("sqlError"), sqlError); - paramsObject->setString(ASCIILiteral("screenColor"), screenColor); - paramsObject->setArray(ASCIILiteral("alternateColors"), alternateColors); - paramsObject->setString(ASCIILiteral("printColor"), printColor); - jsonMessage->setObject(ASCIILiteral("params"), WTF::move(paramsObject)); - - m_frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); -} - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace Database { -class Error; -} // Database -// End of forward declarations. - - -// Typedefs. -namespace Database { -/* Unique identifier of Database object. */ -typedef String DatabaseId; -typedef String PrimaryColors; -typedef Inspector::Protocol::Array<Inspector::Protocol::Database::PrimaryColors> ColorList; -} // Database -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace Database { -/* Database error. */ -class Error : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - MessageSet = 1 << 0, - CodeSet = 1 << 1, - AllFieldsSet = (MessageSet | CodeSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*Error*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class Error; - public: - - Builder<STATE | MessageSet>& setMessage(const String& value) - { - COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set); - m_result->setString(ASCIILiteral("message"), value); - return castState<MessageSet>(); - } - - Builder<STATE | CodeSet>& setCode(int value) - { - COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set); - m_result->setInteger(ASCIILiteral("code"), value); - return castState<CodeSet>(); - } - - Ref<Error> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(Error) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<Error>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<Error> result = Error::create() - * .setMessage(...) - * .setCode(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -} // Database - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - - - -namespace Inspector { - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; - RWIProtocolDatabaseDomainEventDispatcher *_databaseEventDispatcher; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [_databaseEventDispatcher release]; - [super dealloc]; -} - -- (RWIProtocolDatabaseDomainEventDispatcher *)databaseEventDispatcher -{ - if (!_databaseEventDispatcher) - _databaseEventDispatcher = [[RWIProtocolDatabaseDomainEventDispatcher alloc] initWithController:_controller]; - return _databaseEventDispatcher; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@property (nonatomic, readonly) RWIProtocolDatabaseDomainEventDispatcher *databaseEventDispatcher; -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - -@implementation RWIProtocolDatabaseDomainEventDispatcher -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller; -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)didExecuteOptionalParametersWithColumnNames:(NSArray/*<NSString>*/ **)columnNames notes:(NSString **)notes timestamp:(double *)timestamp values:(RWIProtocolJSONObject **)values payload:(RWIProtocolJSONObject **)payload sqlError:(RWIProtocolDatabaseError **)sqlError screenColor:(NSString **)screenColor alternateColors:(NSArray/*<NSString>*/ **)alternateColors printColor:(NSString **)printColor -{ - FrontendChannel* frontendChannel = _controller->frontendChannel(); - if (!frontendChannel) - return; - - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(screenColor, @"screenColor"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(alternateColors, @"alternateColors"); - THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(printColor, @"printColor"); - - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("Database.didExecuteOptionalParameters")); - Ref<InspectorObject> paramsObject = InspectorObject::create(); - if (columnNames) - paramsObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray((*columnNames))); - if (notes) - paramsObject->setString(ASCIILiteral("notes"), (*notes)); - if (timestamp) - paramsObject->setDouble(ASCIILiteral("timestamp"), (*timestamp)); - if (values) - paramsObject->setObject(ASCIILiteral("values"), [(*values) toInspectorObject]); - if (payload) - paramsObject->setValue(ASCIILiteral("payload"), [(*payload) toInspectorObject]); - if (sqlError) - paramsObject->setObject(ASCIILiteral("sqlError"), [(*sqlError) toInspectorObject]); - if (screenColor) - paramsObject->setString(ASCIILiteral("screenColor"), (*screenColor)); - if (alternateColors) - paramsObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray((*alternateColors))); - if (printColor) - paramsObject->setString(ASCIILiteral("printColor"), (*printColor)); - jsonMessage->setObject(ASCIILiteral("params"), WTF::move(paramsObject)); - frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); -} - -- (void)didExecuteNoOptionalParametersWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload sqlError:(RWIProtocolDatabaseError *)sqlError screenColor:(NSString *)screenColor alternateColors:(NSArray/*<NSString>*/ *)alternateColors printColor:(NSString *)printColor -{ - FrontendChannel* frontendChannel = _controller->frontendChannel(); - if (!frontendChannel) - return; - - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(screenColor, @"screenColor"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(alternateColors, @"alternateColors"); - THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(printColor, @"printColor"); - - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("Database.didExecuteNoOptionalParameters")); - Ref<InspectorObject> paramsObject = InspectorObject::create(); - paramsObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(columnNames)); - paramsObject->setString(ASCIILiteral("notes"), notes); - paramsObject->setDouble(ASCIILiteral("timestamp"), timestamp); - paramsObject->setObject(ASCIILiteral("values"), [values toInspectorObject]); - paramsObject->setValue(ASCIILiteral("payload"), [payload toInspectorObject]); - paramsObject->setObject(ASCIILiteral("sqlError"), [sqlError toInspectorObject]); - paramsObject->setString(ASCIILiteral("screenColor"), screenColor); - paramsObject->setArray(ASCIILiteral("alternateColors"), inspectorStringArray(alternateColors)); - paramsObject->setString(ASCIILiteral("printColor"), printColor); - jsonMessage->setObject(ASCIILiteral("params"), WTF::move(paramsObject)); - frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); -} - -@end - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - -@class RWIProtocolDatabaseError; - - - - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseError : RWIProtocolJSONObject -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -/* required */ @property (nonatomic, copy) NSString *message; -/* required */ @property (nonatomic, assign) int code; -@end - - - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseDomainEventDispatcher : NSObject -- (void)didExecuteOptionalParametersWithColumnNames:(NSArray/*<NSString>*/ **)columnNames notes:(NSString **)notes timestamp:(double *)timestamp values:(RWIProtocolJSONObject **)values payload:(RWIProtocolJSONObject **)payload sqlError:(RWIProtocolDatabaseError **)sqlError screenColor:(NSString **)screenColor alternateColors:(NSArray/*<NSString>*/ **)alternateColors printColor:(NSString **)printColor; -- (void)didExecuteNoOptionalParametersWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload sqlError:(RWIProtocolDatabaseError *)sqlError screenColor:(NSString *)screenColor alternateColors:(NSArray/*<NSString>*/ *)alternateColors printColor:(NSString *)printColor; -@end - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - -@implementation RWIProtocolDatabaseError - -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message"); - - self.message = message; - self.code = code; - - return self; -} - -- (void)setMessage:(NSString *)message -{ - [super setString:message forKey:@"message"]; -} - -- (NSString *)message -{ - return [super stringForKey:@"message"]; -} - -- (void)setCode:(int)code -{ - [super setInteger:code forKey:@"code"]; -} - -- (int)code -{ - return [super integerForKey:@"code"]; -} - -@end - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from events-with-optional-parameters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - -@interface RWIProtocolDatabaseDomainEventDispatcher (Private) -- (instancetype)initWithController:(Inspector::AugmentableInspectorController*)controller; -@end - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-domain-availability.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-domain-availability.json-error deleted file mode 100644 index 90d7195d6..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-domain-availability.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Malformed domain specification: availability is an unsupported string. Was: "webb", Allowed values: web diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-command-call-parameter-names.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-command-call-parameter-names.json-error deleted file mode 100644 index 3f756de32..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-command-call-parameter-names.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Malformed domain specification: call parameter list for command processPoints has duplicate parameter names diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-command-return-parameter-names.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-command-return-parameter-names.json-error deleted file mode 100644 index ea148ff67..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-command-return-parameter-names.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Malformed domain specification: return parameter list for command processPoints has duplicate parameter names diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-event-parameter-names.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-event-parameter-names.json-error deleted file mode 100644 index c71bbd21c..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-event-parameter-names.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Malformed domain specification: parameter list for event processedPoints has duplicate parameter names diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-type-declarations.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-type-declarations.json-error deleted file mode 100644 index 447cdf8e2..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-type-declarations.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Duplicate type declaration: Runtime.RemoteObjectId diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-type-member-names.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-type-member-names.json-error deleted file mode 100644 index d5376a77a..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-duplicate-type-member-names.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Malformed domain specification: type declaration for Point has duplicate member names diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-enum-with-no-values.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-enum-with-no-values.json-error deleted file mode 100644 index 2655c2b90..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-enum-with-no-values.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Type reference with enum values must have at least one enum value. diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-string-typed-optional-parameter-flag.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-string-typed-optional-parameter-flag.json-error deleted file mode 100644 index 97b2af0e4..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-string-typed-optional-parameter-flag.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: The 'optional' flag for a parameter must be a boolean literal. diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-string-typed-optional-type-member.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-string-typed-optional-type-member.json-error deleted file mode 100644 index 86df3750c..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-string-typed-optional-type-member.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: The 'optional' flag for a type member must be a boolean literal. diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-type-declaration-using-type-reference.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-type-declaration-using-type-reference.json-error deleted file mode 100644 index 42f5753a4..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-type-declaration-using-type-reference.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Type reference cannot have both 'type' and '$ref' keys. diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-type-with-lowercase-name.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-type-with-lowercase-name.json-error deleted file mode 100644 index 4e462250c..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-type-with-lowercase-name.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Types must begin with an uppercase character. diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-unknown-type-reference-in-type-declaration.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-unknown-type-reference-in-type-declaration.json-error deleted file mode 100644 index d3c782d89..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-unknown-type-reference-in-type-declaration.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Lookup failed for type reference: dragon (referenced from domain: Runtime) diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-unknown-type-reference-in-type-member.json-error b/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-unknown-type-reference-in-type-member.json-error deleted file mode 100644 index faf6672cb..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/fail-on-unknown-type-reference-in-type-member.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Lookup failed for type reference: Color (referenced from domain: Fantasy) diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result deleted file mode 100644 index bb8d29d84..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result +++ /dev/null @@ -1,1159 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - -#if PLATFORM(WEB_COMMANDS) -class AlternateNetwork1BackendDispatcher : public AlternateBackendDispatcher { -public: - virtual ~AlternateNetwork1BackendDispatcher() { } - virtual void loadResource(long callId) = 0; -}; -#endif // PLATFORM(WEB_COMMANDS) - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// Network1. -InspectorBackend.registerCommand("Network1.loadResource", [], []); -InspectorBackend.activateDomain("Network1"); - -// Network3. -InspectorBackend.registerNetwork3Dispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "Network3"); -InspectorBackend.registerEvent("Network3.resourceLoaded", []); -InspectorBackend.activateDomain("Network3"); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#if PLATFORM(WEB_COMMANDS) -class AlternateNetwork1BackendDispatcher; -#endif // PLATFORM(WEB_COMMANDS) -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#if PLATFORM(WEB_COMMANDS) -class Network1BackendDispatcherHandler { -public: - virtual void loadResource(ErrorString&) = 0; -protected: - virtual ~Network1BackendDispatcherHandler(); -}; -#endif // PLATFORM(WEB_COMMANDS) - -#if PLATFORM(WEB_COMMANDS) -class Network1BackendDispatcher final : public SupplementalBackendDispatcher { -public: - static Ref<Network1BackendDispatcher> create(BackendDispatcher*, Network1BackendDispatcherHandler*); - virtual void dispatch(long callId, const String& method, Ref<InspectorObject>&& message) override; -private: - void loadResource(long callId, const InspectorObject& message); -private: - Network1BackendDispatcher(BackendDispatcher&, Network1BackendDispatcherHandler*); - Network1BackendDispatcherHandler* m_agent; -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -public: - void setAlternateDispatcher(AlternateNetwork1BackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; } -private: - AlternateNetwork1BackendDispatcher* m_alternateDispatcher; -#endif -}; -#endif // PLATFORM(WEB_COMMANDS) - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - -#if PLATFORM(WEB_COMMANDS) -Network1BackendDispatcherHandler::~Network1BackendDispatcherHandler() { } -#endif // PLATFORM(WEB_COMMANDS) - -#if PLATFORM(WEB_COMMANDS) -Ref<Network1BackendDispatcher> Network1BackendDispatcher::create(BackendDispatcher* backendDispatcher, Network1BackendDispatcherHandler* agent) -{ - return adoptRef(*new Network1BackendDispatcher(*backendDispatcher, agent)); -} - -Network1BackendDispatcher::Network1BackendDispatcher(BackendDispatcher& backendDispatcher, Network1BackendDispatcherHandler* agent) - : SupplementalBackendDispatcher(backendDispatcher) - , m_agent(agent) -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - , m_alternateDispatcher(nullptr) -#endif -{ - m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Network1"), this); -} - -void Network1BackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message) -{ - Ref<Network1BackendDispatcher> protect(*this); - - if (method == "loadResource") - loadResource(callId, message); - else - m_backendDispatcher->reportProtocolError(&callId, BackendDispatcher::MethodNotFound, makeString('\'', "Network1", '.', method, "' was not found")); -} - -void Network1BackendDispatcher::loadResource(long callId, const InspectorObject&) -{ -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - if (m_alternateDispatcher) { - m_alternateDispatcher->loadResource(callId); - return; - } -#endif - - ErrorString error; - Ref<InspectorObject> result = InspectorObject::create(); - m_agent->loadResource(error); - - m_backendDispatcher->sendResponse(callId, WTF::move(result), error); -} -#endif // PLATFORM(WEB_COMMANDS) - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -#if PLATFORM(WEB_EVENTS) -class Network3FrontendDispatcher { -public: - Network3FrontendDispatcher(FrontendChannel* frontendChannel) : m_frontendChannel(frontendChannel) { } - void resourceLoaded(); -private: - FrontendChannel* m_frontendChannel; -}; -#endif // PLATFORM(WEB_EVENTS) - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -#if PLATFORM(WEB_EVENTS) -void Network3FrontendDispatcher::resourceLoaded() -{ - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("Network3.resourceLoaded")); - - m_frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); -} -#endif // PLATFORM(WEB_EVENTS) - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -#if PLATFORM(WEB_TYPES) -namespace Network2 { -class NetworkError; -} // Network2 -#endif // PLATFORM(WEB_TYPES) -// End of forward declarations. - - - - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -#if PLATFORM(WEB_TYPES) -namespace Network2 { -class NetworkError : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - MessageSet = 1 << 0, - CodeSet = 1 << 1, - AllFieldsSet = (MessageSet | CodeSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*NetworkError*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class NetworkError; - public: - - Builder<STATE | MessageSet>& setMessage(const String& value) - { - COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set); - m_result->setString(ASCIILiteral("message"), value); - return castState<MessageSet>(); - } - - Builder<STATE | CodeSet>& setCode(int value) - { - COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set); - m_result->setInteger(ASCIILiteral("code"), value); - return castState<CodeSet>(); - } - - Ref<NetworkError> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(NetworkError) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<NetworkError>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<NetworkError> result = NetworkError::create() - * .setMessage(...) - * .setCode(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -} // Network2 -#endif // PLATFORM(WEB_TYPES) - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - -@protocol RWIProtocolNetwork1DomainHandler; - -namespace Inspector { - - -#if PLATFORM(WEB_COMMANDS) -class ObjCInspectorNetwork1BackendDispatcher final : public AlternateNetwork1BackendDispatcher { -public: - ObjCInspectorNetwork1BackendDispatcher(id<RWIProtocolNetwork1DomainHandler> handler) { m_delegate = handler; } - virtual void loadResource(long callId) override; -private: - RetainPtr<id<RWIProtocolNetwork1DomainHandler>> m_delegate; -}; -#endif // PLATFORM(WEB_COMMANDS) - - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; - id<RWIProtocolNetwork1DomainHandler> _network1Handler; - RWIProtocolNetwork3DomainEventDispatcher *_network3EventDispatcher; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [_network1Handler release]; - [_network3EventDispatcher release]; - [super dealloc]; -} - -- (void)setNetwork1Handler:(id<RWIProtocolNetwork1DomainHandler>)handler -{ - if (handler == _network1Handler) - return; - - [_network1Handler release]; - _network1Handler = [handler retain]; - - auto alternateDispatcher = std::make_unique<ObjCInspectorNetwork1BackendDispatcher>(handler); - auto alternateAgent = std::make_unique<AlternateDispatchableAgent<Network1BackendDispatcher, AlternateNetwork1BackendDispatcher>>(ASCIILiteral("Network1"), WTF::move(alternateDispatcher)); - _controller->appendExtraAgent(WTF::move(alternateAgent)); -} - -- (id<RWIProtocolNetwork1DomainHandler>)network1Handler -{ - return _network1Handler; -} - -- (RWIProtocolNetwork3DomainEventDispatcher *)network3EventDispatcher -{ - if (!_network3EventDispatcher) - _network3EventDispatcher = [[RWIProtocolNetwork3DomainEventDispatcher alloc] initWithController:_controller]; - return _network3EventDispatcher; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@property (nonatomic, retain, setter=setNetwork1Handler:) id<RWIProtocolNetwork1DomainHandler> network1Handler; -@property (nonatomic, readonly) RWIProtocolNetwork3DomainEventDispatcher *network3EventDispatcher; -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - -#if PLATFORM(WEB_COMMANDS) -void ObjCInspectorNetwork1BackendDispatcher::loadResource(long callId) -{ - id errorCallback = ^(NSString *error) { - backendDispatcher()->sendResponse(callId, InspectorObject::create(), error); - }; - - id successCallback = ^{ - backendDispatcher()->sendResponse(callId, InspectorObject::create(), String()); - }; - - [m_delegate loadResourceWithErrorCallback:errorCallback successCallback:successCallback]; -} - -#endif // PLATFORM(WEB_COMMANDS) - - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - - - - - - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - - -@implementation RWIProtocolNetwork3DomainEventDispatcher -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller; -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)resourceLoaded -{ - FrontendChannel* frontendChannel = _controller->frontendChannel(); - if (!frontendChannel) - return; - - Ref<InspectorObject> jsonMessage = InspectorObject::create(); - jsonMessage->setString(ASCIILiteral("method"), ASCIILiteral("Network3.resourceLoaded")); - frontendChannel->sendMessageToFrontend(jsonMessage->toJSONString()); -} - -@end - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - -@class RWIProtocolNetwork2NetworkError; - - - - -__attribute__((visibility ("default"))) -@interface RWIProtocolNetwork2NetworkError : RWIProtocolJSONObject -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -/* required */ @property (nonatomic, copy) NSString *message; -/* required */ @property (nonatomic, assign) int code; -@end - -@protocol RWIProtocolNetwork1DomainHandler <NSObject> -@required -- (void)loadResourceWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)())successCallback; -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolNetwork3DomainEventDispatcher : NSObject -- (void)resourceLoaded; -@end - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - - - -@implementation RWIProtocolNetwork2NetworkError - -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message"); - - self.message = message; - self.code = code; - - return self; -} - -- (void)setMessage:(NSString *)message -{ - [super setString:message forKey:@"message"]; -} - -- (NSString *)message -{ - return [super stringForKey:@"message"]; -} - -- (void)setCode:(int)code -{ - [super setInteger:code forKey:@"code"]; -} - -- (int)code -{ - return [super integerForKey:@"code"]; -} - -@end - - - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-domains-with-feature-guards.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - -@interface RWIProtocolNetwork3DomainEventDispatcher (Private) -- (instancetype)initWithController:(Inspector::AugmentableInspectorController*)controller; -@end - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/same-type-id-different-domain.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/same-type-id-different-domain.json-result deleted file mode 100644 index c272f72b6..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/same-type-id-different-domain.json-result +++ /dev/null @@ -1,841 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - - - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - - - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - - - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - - - -// Typedefs. -namespace Runtime { -/* Unique object identifier. */ -typedef String RemoteObjectId; -} // Runtime - -namespace Runtime2 { -/* Unique object identifier. */ -typedef String RemoteObjectId; -} // Runtime2 -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - - - -namespace Inspector { - - - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [super dealloc]; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - - - - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - - - - - - - - - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - - - - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from same-type-id-different-domain.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result deleted file mode 100644 index a8186e0b0..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result +++ /dev/null @@ -1,984 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - - - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - - - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - - - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace Runtime { -class KeyPath; -} // Runtime -// End of forward declarations. - - - - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace Runtime { -/* Key path. */ -class KeyPath : public Inspector::InspectorObjectBase { -public: - // Named after property name 'type' while generating KeyPath. - enum class Type { - Null = 0, - String = 1, - Array = 2, - }; // enum class Type - enum { - NoFieldsSet = 0, - TypeSet = 1 << 0, - AllFieldsSet = (TypeSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*KeyPath*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class KeyPath; - public: - - Builder<STATE | TypeSet>& setType(Type value) - { - COMPILE_ASSERT(!(STATE & TypeSet), property_type_already_set); - m_result->setString(ASCIILiteral("type"), Inspector::Protocol::getEnumConstantValue(static_cast<int>(value))); - return castState<TypeSet>(); - } - - Ref<KeyPath> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(KeyPath) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<KeyPath>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<KeyPath> result = KeyPath::create() - * .setType(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } - - void setString(const String& value) - { - InspectorObjectBase::setString(ASCIILiteral("string"), value); - } - - void setArray(RefPtr<Inspector::Protocol::Array<String>> value) - { - InspectorObjectBase::setArray(ASCIILiteral("array"), WTF::move(value)); - } -}; - -} // Runtime - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { - "null", - "string", - "array", -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - - - -namespace Inspector { - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [super dealloc]; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - -inline String toProtocolString(RWIProtocolRuntimeKeyPathType value) -{ - switch(value) { - case RWIProtocolRuntimeKeyPathTypeNull: - return ASCIILiteral("null"); - case RWIProtocolRuntimeKeyPathTypeString: - return ASCIILiteral("string"); - case RWIProtocolRuntimeKeyPathTypeArray: - return ASCIILiteral("array"); - } -} - -template<> -inline RWIProtocolRuntimeKeyPathType fromProtocolString(const String& value) -{ - if (value == "null") - return RWIProtocolRuntimeKeyPathTypeNull; - if (value == "string") - return RWIProtocolRuntimeKeyPathTypeString; - if (value == "array") - return RWIProtocolRuntimeKeyPathTypeArray; - ASSERT_NOT_REACHED(); - return RWIProtocolRuntimeKeyPathTypeNull; -} - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - -@class RWIProtocolRuntimeKeyPath; - - -typedef NS_ENUM(NSInteger, RWIProtocolRuntimeKeyPathType) { - RWIProtocolRuntimeKeyPathTypeNull, - RWIProtocolRuntimeKeyPathTypeString, - RWIProtocolRuntimeKeyPathTypeArray, -}; - - -__attribute__((visibility ("default"))) -@interface RWIProtocolRuntimeKeyPath : RWIProtocolJSONObject -- (instancetype)initWithType:(RWIProtocolRuntimeKeyPathType)type; -/* required */ @property (nonatomic, assign) RWIProtocolRuntimeKeyPathType type; -/* optional */ @property (nonatomic, copy) NSString *string; -/* optional */ @property (nonatomic, copy) NSArray/*<NSString>*/ *array; -@end - - - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - -@implementation RWIProtocolRuntimeKeyPath - -- (instancetype)initWithType:(RWIProtocolRuntimeKeyPathType)type; -{ - self = [super init]; - if (!self) - return nil; - - self.type = type; - - return self; -} - -- (void)setType:(RWIProtocolRuntimeKeyPathType)type -{ - [super setString:toProtocolString(type) forKey:@"type"]; -} - -- (RWIProtocolRuntimeKeyPathType)type -{ - return fromProtocolString<RWIProtocolRuntimeKeyPathType>([super stringForKey:@"type"]); -} - -- (void)setString:(NSString *)string -{ - [super setString:string forKey:@"string"]; -} - -- (NSString *)string -{ - return [super stringForKey:@"string"]; -} - -- (void)setArray:(NSArray/*<NSString>*/ *)array -{ - [super setInspectorArray:inspectorStringArray(array) forKey:@"array"]; -} - -- (NSArray/*<NSString>*/ *)array -{ - return objcStringArray([super inspectorArrayForKey:@"array"]); -} - -@end - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from shadowed-optional-type-setters.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result deleted file mode 100644 index 53b3f2216..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result +++ /dev/null @@ -1,826 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - - - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - - - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - - - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - - - -// Typedefs. -namespace Runtime { -/* Unique object identifier. */ -typedef int RemoteObjectId; -} // Runtime -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - - - -namespace Inspector { - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [super dealloc]; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - - - - - - - - - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-aliased-primitive-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result deleted file mode 100644 index 7e9ef1e8a..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result +++ /dev/null @@ -1,893 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - - - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// Debugger. -InspectorBackend.registerEnum("Debugger.Reason", {Died: "Died", Fainted: "Fainted", Hungry: "Hungry"}); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - - - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - - - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace Debugger { -enum class Reason; -} // Debugger -// End of forward declarations. - - -// Typedefs. -namespace Debugger { -typedef int BreakpointId; -} // Debugger - -namespace Runtime { -typedef int ObjectId; -typedef Inspector::Protocol::Array<int> LuckyNumbers; -typedef Inspector::Protocol::Array<String> BabyNames; -typedef Inspector::Protocol::Array<Inspector::Protocol::Runtime::ObjectId> NewObjects; -typedef Inspector::Protocol::Array<Inspector::Protocol::Debugger::BreakpointId> OldObjects; -typedef Inspector::Protocol::Array<Inspector::Protocol::Debugger::Reason> StopReasons; -} // Runtime -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace Debugger { -/* */ -enum class Reason { - Died = 0, - Fainted = 1, - Hungry = 2, -}; // enum class Reason -} // Debugger - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { - "Died", - "Fainted", - "Hungry", -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - - - -namespace Inspector { - - - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [super dealloc]; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - -inline String toProtocolString(RWIProtocolDebuggerReason value) -{ - switch(value) { - case RWIProtocolDebuggerReasonDied: - return ASCIILiteral("Died"); - case RWIProtocolDebuggerReasonFainted: - return ASCIILiteral("Fainted"); - case RWIProtocolDebuggerReasonHungry: - return ASCIILiteral("Hungry"); - } -} - -template<> -inline RWIProtocolDebuggerReason fromProtocolString(const String& value) -{ - if (value == "Died") - return RWIProtocolDebuggerReasonDied; - if (value == "Fainted") - return RWIProtocolDebuggerReasonFainted; - if (value == "Hungry") - return RWIProtocolDebuggerReasonHungry; - ASSERT_NOT_REACHED(); - return RWIProtocolDebuggerReasonDied; -} - - - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - - - - -typedef NS_ENUM(NSInteger, RWIProtocolDebuggerReason) { - RWIProtocolDebuggerReasonDied, - RWIProtocolDebuggerReasonFainted, - RWIProtocolDebuggerReasonHungry, -}; - - - - - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - - - - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-array-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result deleted file mode 100644 index 6d63dd5ae..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result +++ /dev/null @@ -1,925 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - - - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// Runtime. -InspectorBackend.registerEnum("Runtime.FarmAnimals", {Pigs: "Pigs", Cows: "Cows", Cats: "Cats", Hens: "Hens"}); -InspectorBackend.registerEnum("Runtime.TwoLeggedAnimals", {Ducks: "Ducks", Hens: "Hens", Crows: "Crows", Flamingos: "Flamingos"}); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - - - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - - - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace Runtime { -enum class FarmAnimals; -enum class TwoLeggedAnimals; -} // Runtime -// End of forward declarations. - - - - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace Runtime { -/* */ -enum class FarmAnimals { - Pigs = 0, - Cows = 1, - Cats = 2, - Hens = 3, -}; // enum class FarmAnimals -/* */ -enum class TwoLeggedAnimals { - Ducks = 4, - Hens = 3, - Crows = 5, - Flamingos = 6, -}; // enum class TwoLeggedAnimals -} // Runtime - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { - "Pigs", - "Cows", - "Cats", - "Hens", - "Ducks", - "Crows", - "Flamingos", -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - - - -namespace Inspector { - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [super dealloc]; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - -inline String toProtocolString(RWIProtocolRuntimeFarmAnimals value) -{ - switch(value) { - case RWIProtocolRuntimeFarmAnimalsPigs: - return ASCIILiteral("Pigs"); - case RWIProtocolRuntimeFarmAnimalsCows: - return ASCIILiteral("Cows"); - case RWIProtocolRuntimeFarmAnimalsCats: - return ASCIILiteral("Cats"); - case RWIProtocolRuntimeFarmAnimalsHens: - return ASCIILiteral("Hens"); - } -} - -template<> -inline RWIProtocolRuntimeFarmAnimals fromProtocolString(const String& value) -{ - if (value == "Pigs") - return RWIProtocolRuntimeFarmAnimalsPigs; - if (value == "Cows") - return RWIProtocolRuntimeFarmAnimalsCows; - if (value == "Cats") - return RWIProtocolRuntimeFarmAnimalsCats; - if (value == "Hens") - return RWIProtocolRuntimeFarmAnimalsHens; - ASSERT_NOT_REACHED(); - return RWIProtocolRuntimeFarmAnimalsPigs; -} - -inline String toProtocolString(RWIProtocolRuntimeTwoLeggedAnimals value) -{ - switch(value) { - case RWIProtocolRuntimeTwoLeggedAnimalsDucks: - return ASCIILiteral("Ducks"); - case RWIProtocolRuntimeTwoLeggedAnimalsHens: - return ASCIILiteral("Hens"); - case RWIProtocolRuntimeTwoLeggedAnimalsCrows: - return ASCIILiteral("Crows"); - case RWIProtocolRuntimeTwoLeggedAnimalsFlamingos: - return ASCIILiteral("Flamingos"); - } -} - -template<> -inline RWIProtocolRuntimeTwoLeggedAnimals fromProtocolString(const String& value) -{ - if (value == "Ducks") - return RWIProtocolRuntimeTwoLeggedAnimalsDucks; - if (value == "Hens") - return RWIProtocolRuntimeTwoLeggedAnimalsHens; - if (value == "Crows") - return RWIProtocolRuntimeTwoLeggedAnimalsCrows; - if (value == "Flamingos") - return RWIProtocolRuntimeTwoLeggedAnimalsFlamingos; - ASSERT_NOT_REACHED(); - return RWIProtocolRuntimeTwoLeggedAnimalsDucks; -} - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - - - - -typedef NS_ENUM(NSInteger, RWIProtocolRuntimeFarmAnimals) { - RWIProtocolRuntimeFarmAnimalsPigs, - RWIProtocolRuntimeFarmAnimalsCows, - RWIProtocolRuntimeFarmAnimalsCats, - RWIProtocolRuntimeFarmAnimalsHens, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolRuntimeTwoLeggedAnimals) { - RWIProtocolRuntimeTwoLeggedAnimalsDucks, - RWIProtocolRuntimeTwoLeggedAnimalsHens, - RWIProtocolRuntimeTwoLeggedAnimalsCrows, - RWIProtocolRuntimeTwoLeggedAnimalsFlamingos, -}; - - - - - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-enum-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result deleted file mode 100644 index 6e94941bc..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result +++ /dev/null @@ -1,1736 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - - - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - - - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - - - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace Database { -class DummyObject; -class Error; -class ObjectWithPropertyNameConflicts; -class OptionalParameterBundle; -class ParameterBundle; -} // Database - -namespace Test { -class ParameterBundle; -} // Test -// End of forward declarations. - - -// Typedefs. -namespace Database { -typedef Inspector::Protocol::Array<Inspector::Protocol::Database::Error> ErrorList; -} // Database -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace Database { -/* Database error. */ -class Error : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - MessageSet = 1 << 0, - CodeSet = 1 << 1, - AllFieldsSet = (MessageSet | CodeSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*Error*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class Error; - public: - - Builder<STATE | MessageSet>& setMessage(const String& value) - { - COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set); - m_result->setString(ASCIILiteral("message"), value); - return castState<MessageSet>(); - } - - Builder<STATE | CodeSet>& setCode(int value) - { - COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set); - m_result->setInteger(ASCIILiteral("code"), value); - return castState<CodeSet>(); - } - - Ref<Error> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(Error) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<Error>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<Error> result = Error::create() - * .setMessage(...) - * .setCode(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -class OptionalParameterBundle : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - AllFieldsSet = 0 - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*OptionalParameterBundle*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class OptionalParameterBundle; - public: - - Ref<OptionalParameterBundle> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(OptionalParameterBundle) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<OptionalParameterBundle>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<OptionalParameterBundle> result = OptionalParameterBundle::create() - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } - - void setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value) - { - InspectorObjectBase::setArray(ASCIILiteral("columnNames"), WTF::move(value)); - } - - void setNotes(const String& value) - { - InspectorObjectBase::setString(ASCIILiteral("notes"), value); - } - - void setTimestamp(double value) - { - InspectorObjectBase::setDouble(ASCIILiteral("timestamp"), value); - } - - void setValues(RefPtr<Inspector::InspectorObject> value) - { - InspectorObjectBase::setObject(ASCIILiteral("values"), WTF::move(value)); - } - - void setPayload(RefPtr<Inspector::InspectorValue> value) - { - InspectorObjectBase::setValue(ASCIILiteral("payload"), WTF::move(value)); - } - - void setError(RefPtr<Inspector::Protocol::Database::Error> value) - { - InspectorObjectBase::setObject(ASCIILiteral("error"), WTF::move(value)); - } - - void setErrorList(RefPtr<Inspector::Protocol::Database::ErrorList> value) - { - InspectorObjectBase::setArray(ASCIILiteral("errorList"), WTF::move(value)); - } -}; - -class ParameterBundle : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - ColumnNamesSet = 1 << 0, - NotesSet = 1 << 1, - TimestampSet = 1 << 2, - ValuesSet = 1 << 3, - PayloadSet = 1 << 4, - ErrorSet = 1 << 5, - ErrorListSet = 1 << 6, - AllFieldsSet = (ColumnNamesSet | NotesSet | TimestampSet | ValuesSet | PayloadSet | ErrorSet | ErrorListSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*ParameterBundle*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class ParameterBundle; - public: - - Builder<STATE | ColumnNamesSet>& setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value) - { - COMPILE_ASSERT(!(STATE & ColumnNamesSet), property_columnNames_already_set); - m_result->setArray(ASCIILiteral("columnNames"), value); - return castState<ColumnNamesSet>(); - } - - Builder<STATE | NotesSet>& setNotes(const String& value) - { - COMPILE_ASSERT(!(STATE & NotesSet), property_notes_already_set); - m_result->setString(ASCIILiteral("notes"), value); - return castState<NotesSet>(); - } - - Builder<STATE | TimestampSet>& setTimestamp(double value) - { - COMPILE_ASSERT(!(STATE & TimestampSet), property_timestamp_already_set); - m_result->setDouble(ASCIILiteral("timestamp"), value); - return castState<TimestampSet>(); - } - - Builder<STATE | ValuesSet>& setValues(RefPtr<Inspector::InspectorObject> value) - { - COMPILE_ASSERT(!(STATE & ValuesSet), property_values_already_set); - m_result->setObject(ASCIILiteral("values"), value); - return castState<ValuesSet>(); - } - - Builder<STATE | PayloadSet>& setPayload(RefPtr<Inspector::InspectorValue> value) - { - COMPILE_ASSERT(!(STATE & PayloadSet), property_payload_already_set); - m_result->setValue(ASCIILiteral("payload"), value); - return castState<PayloadSet>(); - } - - Builder<STATE | ErrorSet>& setError(RefPtr<Inspector::Protocol::Database::Error> value) - { - COMPILE_ASSERT(!(STATE & ErrorSet), property_error_already_set); - m_result->setObject(ASCIILiteral("error"), value); - return castState<ErrorSet>(); - } - - Builder<STATE | ErrorListSet>& setErrorList(RefPtr<Inspector::Protocol::Database::ErrorList> value) - { - COMPILE_ASSERT(!(STATE & ErrorListSet), property_errorList_already_set); - m_result->setArray(ASCIILiteral("errorList"), value); - return castState<ErrorListSet>(); - } - - Ref<ParameterBundle> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(ParameterBundle) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<ParameterBundle>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<ParameterBundle> result = ParameterBundle::create() - * .setColumnNames(...) - * .setNotes(...) - * .setTimestamp(...) - * .setValues(...) - * .setPayload(...) - * .setError(...) - * .setErrorList(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -/* Conflicted names may cause generated getters/setters to clash with built-in InspectorObject methods. */ -class ObjectWithPropertyNameConflicts : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - IntegerSet = 1 << 0, - ArraySet = 1 << 1, - StringSet = 1 << 2, - ValueSet = 1 << 3, - ObjectSet = 1 << 4, - AllFieldsSet = (IntegerSet | ArraySet | StringSet | ValueSet | ObjectSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*ObjectWithPropertyNameConflicts*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class ObjectWithPropertyNameConflicts; - public: - - Builder<STATE | IntegerSet>& setInteger(const String& value) - { - COMPILE_ASSERT(!(STATE & IntegerSet), property_integer_already_set); - m_result->setString(ASCIILiteral("integer"), value); - return castState<IntegerSet>(); - } - - Builder<STATE | ArraySet>& setArray(const String& value) - { - COMPILE_ASSERT(!(STATE & ArraySet), property_array_already_set); - m_result->setString(ASCIILiteral("array"), value); - return castState<ArraySet>(); - } - - Builder<STATE | StringSet>& setString(const String& value) - { - COMPILE_ASSERT(!(STATE & StringSet), property_string_already_set); - m_result->setString(ASCIILiteral("string"), value); - return castState<StringSet>(); - } - - Builder<STATE | ValueSet>& setValue(const String& value) - { - COMPILE_ASSERT(!(STATE & ValueSet), property_value_already_set); - m_result->setString(ASCIILiteral("value"), value); - return castState<ValueSet>(); - } - - Builder<STATE | ObjectSet>& setObject(const String& value) - { - COMPILE_ASSERT(!(STATE & ObjectSet), property_object_already_set); - m_result->setString(ASCIILiteral("object"), value); - return castState<ObjectSet>(); - } - - Ref<ObjectWithPropertyNameConflicts> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(ObjectWithPropertyNameConflicts) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<ObjectWithPropertyNameConflicts>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<ObjectWithPropertyNameConflicts> result = ObjectWithPropertyNameConflicts::create() - * .setInteger(...) - * .setArray(...) - * .setString(...) - * .setValue(...) - * .setObject(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -} // Database - -namespace Test { -class ParameterBundle : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - ColumnNamesSet = 1 << 0, - NotesSet = 1 << 1, - TimestampSet = 1 << 2, - ValuesSet = 1 << 3, - PayloadSet = 1 << 4, - ErrorSet = 1 << 5, - AllFieldsSet = (ColumnNamesSet | NotesSet | TimestampSet | ValuesSet | PayloadSet | ErrorSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*ParameterBundle*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class ParameterBundle; - public: - - Builder<STATE | ColumnNamesSet>& setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value) - { - COMPILE_ASSERT(!(STATE & ColumnNamesSet), property_columnNames_already_set); - m_result->setArray(ASCIILiteral("columnNames"), value); - return castState<ColumnNamesSet>(); - } - - Builder<STATE | NotesSet>& setNotes(const String& value) - { - COMPILE_ASSERT(!(STATE & NotesSet), property_notes_already_set); - m_result->setString(ASCIILiteral("notes"), value); - return castState<NotesSet>(); - } - - Builder<STATE | TimestampSet>& setTimestamp(double value) - { - COMPILE_ASSERT(!(STATE & TimestampSet), property_timestamp_already_set); - m_result->setDouble(ASCIILiteral("timestamp"), value); - return castState<TimestampSet>(); - } - - Builder<STATE | ValuesSet>& setValues(RefPtr<Inspector::InspectorObject> value) - { - COMPILE_ASSERT(!(STATE & ValuesSet), property_values_already_set); - m_result->setObject(ASCIILiteral("values"), value); - return castState<ValuesSet>(); - } - - Builder<STATE | PayloadSet>& setPayload(RefPtr<Inspector::InspectorValue> value) - { - COMPILE_ASSERT(!(STATE & PayloadSet), property_payload_already_set); - m_result->setValue(ASCIILiteral("payload"), value); - return castState<PayloadSet>(); - } - - Builder<STATE | ErrorSet>& setError(RefPtr<Inspector::Protocol::Database::Error> value) - { - COMPILE_ASSERT(!(STATE & ErrorSet), property_error_already_set); - m_result->setObject(ASCIILiteral("error"), value); - return castState<ErrorSet>(); - } - - Ref<ParameterBundle> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(ParameterBundle) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<ParameterBundle>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<ParameterBundle> result = ParameterBundle::create() - * .setColumnNames(...) - * .setNotes(...) - * .setTimestamp(...) - * .setValues(...) - * .setPayload(...) - * .setError(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -} // Test - - - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - - - -namespace Inspector { - - - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [super dealloc]; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - - - - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - -@class RWIProtocolDatabaseError; -@class RWIProtocolDatabaseOptionalParameterBundle; -@class RWIProtocolDatabaseParameterBundle; -@class RWIProtocolDatabaseObjectWithPropertyNameConflicts; -@class RWIProtocolDatabaseDummyObject; -@class RWIProtocolTestParameterBundle; - - - - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseError : RWIProtocolJSONObject -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -/* required */ @property (nonatomic, copy) NSString *message; -/* required */ @property (nonatomic, assign) int code; -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseOptionalParameterBundle : RWIProtocolJSONObject -/* optional */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames; -/* optional */ @property (nonatomic, copy) NSString *notes; -/* optional */ @property (nonatomic, assign) double timestamp; -/* optional */ @property (nonatomic, retain) RWIProtocolJSONObject *values; -/* optional */ @property (nonatomic, retain) RWIProtocolJSONObject *payload; -/* optional */ @property (nonatomic, retain) RWIProtocolDatabaseError *error; -/* optional */ @property (nonatomic, copy) NSArray/*<RWIProtocolDatabaseError>*/ *errorList; -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseParameterBundle : RWIProtocolJSONObject -- (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error errorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList; -/* required */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames; -/* required */ @property (nonatomic, copy) NSString *notes; -/* required */ @property (nonatomic, assign) double timestamp; -/* required */ @property (nonatomic, retain) RWIProtocolJSONObject *values; -/* required */ @property (nonatomic, retain) RWIProtocolJSONObject *payload; -/* required */ @property (nonatomic, retain) RWIProtocolDatabaseError *error; -/* required */ @property (nonatomic, copy) NSArray/*<RWIProtocolDatabaseError>*/ *errorList; -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseObjectWithPropertyNameConflicts : RWIProtocolJSONObject -- (instancetype)initWithInteger:(NSString *)integer array:(NSString *)array string:(NSString *)string value:(NSString *)value object:(NSString *)object; -/* required */ @property (nonatomic, copy) NSString *integer; -/* required */ @property (nonatomic, copy) NSString *array; -/* required */ @property (nonatomic, copy) NSString *string; -/* required */ @property (nonatomic, copy) NSString *value; -/* required */ @property (nonatomic, copy) NSString *object; -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolDatabaseDummyObject : RWIProtocolJSONObject -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolTestParameterBundle : RWIProtocolJSONObject -- (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error; -/* required */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames; -/* required */ @property (nonatomic, copy) NSString *notes; -/* required */ @property (nonatomic, assign) double timestamp; -/* required */ @property (nonatomic, retain) RWIProtocolJSONObject *values; -/* required */ @property (nonatomic, retain) RWIProtocolJSONObject *payload; -/* required */ @property (nonatomic, retain) RWIProtocolDatabaseError *error; -@end - - - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - -@implementation RWIProtocolDatabaseError - -- (instancetype)initWithMessage:(NSString *)message code:(int)code; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message"); - - self.message = message; - self.code = code; - - return self; -} - -- (void)setMessage:(NSString *)message -{ - [super setString:message forKey:@"message"]; -} - -- (NSString *)message -{ - return [super stringForKey:@"message"]; -} - -- (void)setCode:(int)code -{ - [super setInteger:code forKey:@"code"]; -} - -- (int)code -{ - return [super integerForKey:@"code"]; -} - -@end - -@implementation RWIProtocolDatabaseOptionalParameterBundle - -- (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames -{ - [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"]; -} - -- (NSArray/*<NSString>*/ *)columnNames -{ - return objcStringArray([super inspectorArrayForKey:@"columnNames"]); -} - -- (void)setNotes:(NSString *)notes -{ - [super setString:notes forKey:@"notes"]; -} - -- (NSString *)notes -{ - return [super stringForKey:@"notes"]; -} - -- (void)setTimestamp:(double)timestamp -{ - [super setDouble:timestamp forKey:@"timestamp"]; -} - -- (double)timestamp -{ - return [super doubleForKey:@"timestamp"]; -} - -- (void)setValues:(RWIProtocolJSONObject *)values -{ - [super setObject:values forKey:@"values"]; -} - -- (RWIProtocolJSONObject *)values -{ - return (RWIProtocolJSONObject *)[super objectForKey:@"values"]; -} - -- (void)setPayload:(RWIProtocolJSONObject *)payload -{ - [super setObject:payload forKey:@"payload"]; -} - -- (RWIProtocolJSONObject *)payload -{ - return (RWIProtocolJSONObject *)[super objectForKey:@"payload"]; -} - -- (void)setError:(RWIProtocolDatabaseError *)error -{ - [super setObject:error forKey:@"error"]; -} - -- (RWIProtocolDatabaseError *)error -{ - return (RWIProtocolDatabaseError *)[super objectForKey:@"error"]; -} - -- (void)setErrorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList -{ - THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]); - [super setInspectorArray:inspectorObjectArray(errorList) forKey:@"errorList"]; -} - -- (NSArray/*<RWIProtocolDatabaseError>*/ *)errorList -{ - return objcArray<RWIProtocolDatabaseError>([super inspectorArrayForKey:@"errorList"]); -} - -@end - -@implementation RWIProtocolDatabaseParameterBundle - -- (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error errorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(notes, @"notes"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(values, @"values"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload, @"payload"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(error, @"error"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(errorList, @"errorList"); - THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]); - - self.columnNames = columnNames; - self.notes = notes; - self.timestamp = timestamp; - self.values = values; - self.payload = payload; - self.error = error; - self.errorList = errorList; - - return self; -} - -- (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames -{ - [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"]; -} - -- (NSArray/*<NSString>*/ *)columnNames -{ - return objcStringArray([super inspectorArrayForKey:@"columnNames"]); -} - -- (void)setNotes:(NSString *)notes -{ - [super setString:notes forKey:@"notes"]; -} - -- (NSString *)notes -{ - return [super stringForKey:@"notes"]; -} - -- (void)setTimestamp:(double)timestamp -{ - [super setDouble:timestamp forKey:@"timestamp"]; -} - -- (double)timestamp -{ - return [super doubleForKey:@"timestamp"]; -} - -- (void)setValues:(RWIProtocolJSONObject *)values -{ - [super setObject:values forKey:@"values"]; -} - -- (RWIProtocolJSONObject *)values -{ - return (RWIProtocolJSONObject *)[super objectForKey:@"values"]; -} - -- (void)setPayload:(RWIProtocolJSONObject *)payload -{ - [super setObject:payload forKey:@"payload"]; -} - -- (RWIProtocolJSONObject *)payload -{ - return (RWIProtocolJSONObject *)[super objectForKey:@"payload"]; -} - -- (void)setError:(RWIProtocolDatabaseError *)error -{ - [super setObject:error forKey:@"error"]; -} - -- (RWIProtocolDatabaseError *)error -{ - return (RWIProtocolDatabaseError *)[super objectForKey:@"error"]; -} - -- (void)setErrorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList -{ - THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]); - [super setInspectorArray:inspectorObjectArray(errorList) forKey:@"errorList"]; -} - -- (NSArray/*<RWIProtocolDatabaseError>*/ *)errorList -{ - return objcArray<RWIProtocolDatabaseError>([super inspectorArrayForKey:@"errorList"]); -} - -@end - -@implementation RWIProtocolDatabaseObjectWithPropertyNameConflicts - -- (instancetype)initWithInteger:(NSString *)integer array:(NSString *)array string:(NSString *)string value:(NSString *)value object:(NSString *)object; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(integer, @"integer"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(array, @"array"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(string, @"string"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(value, @"value"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(object, @"object"); - - self.integer = integer; - self.array = array; - self.string = string; - self.value = value; - self.object = object; - - return self; -} - -- (void)setInteger:(NSString *)integer -{ - [super setString:integer forKey:@"integer"]; -} - -- (NSString *)integer -{ - return [super stringForKey:@"integer"]; -} - -- (void)setArray:(NSString *)array -{ - [super setString:array forKey:@"array"]; -} - -- (NSString *)array -{ - return [super stringForKey:@"array"]; -} - -- (void)setString:(NSString *)string -{ - [super setString:string forKey:@"string"]; -} - -- (NSString *)string -{ - return [super stringForKey:@"string"]; -} - -- (void)setValue:(NSString *)value -{ - [super setString:value forKey:@"value"]; -} - -- (NSString *)value -{ - return [super stringForKey:@"value"]; -} - -- (void)setObject:(NSString *)object -{ - [super setString:object forKey:@"object"]; -} - -- (NSString *)object -{ - return [super stringForKey:@"object"]; -} - -@end - -@implementation RWIProtocolDatabaseDummyObject - -@end - - -@implementation RWIProtocolTestParameterBundle - -- (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(columnNames, @"columnNames"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(notes, @"notes"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(values, @"values"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload, @"payload"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(error, @"error"); - - self.columnNames = columnNames; - self.notes = notes; - self.timestamp = timestamp; - self.values = values; - self.payload = payload; - self.error = error; - - return self; -} - -- (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames -{ - [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"]; -} - -- (NSArray/*<NSString>*/ *)columnNames -{ - return objcStringArray([super inspectorArrayForKey:@"columnNames"]); -} - -- (void)setNotes:(NSString *)notes -{ - [super setString:notes forKey:@"notes"]; -} - -- (NSString *)notes -{ - return [super stringForKey:@"notes"]; -} - -- (void)setTimestamp:(double)timestamp -{ - [super setDouble:timestamp forKey:@"timestamp"]; -} - -- (double)timestamp -{ - return [super doubleForKey:@"timestamp"]; -} - -- (void)setValues:(RWIProtocolJSONObject *)values -{ - [super setObject:values forKey:@"values"]; -} - -- (RWIProtocolJSONObject *)values -{ - return (RWIProtocolJSONObject *)[super objectForKey:@"values"]; -} - -- (void)setPayload:(RWIProtocolJSONObject *)payload -{ - [super setObject:payload forKey:@"payload"]; -} - -- (RWIProtocolJSONObject *)payload -{ - return (RWIProtocolJSONObject *)[super objectForKey:@"payload"]; -} - -- (void)setError:(RWIProtocolDatabaseError *)error -{ - [super setObject:error forKey:@"error"]; -} - -- (RWIProtocolDatabaseError *)error -{ - return (RWIProtocolDatabaseError *)[super objectForKey:@"error"]; -} - -@end - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result b/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result deleted file mode 100644 index 9eb1d40dd..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result +++ /dev/null @@ -1,1372 +0,0 @@ -### Begin File: InspectorAlternateBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorAlternateBackendDispatchers_h -#define InspectorAlternateBackendDispatchers_h - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#include "InspectorProtocolTypes.h" -#include <JavaScriptCore/InspectorBackendDispatcher.h> - -namespace Inspector { - -class AlternateBackendDispatcher { -public: - void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); } - BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); } -private: - RefPtr<BackendDispatcher> m_backendDispatcher; -}; - - - - -} // namespace Inspector - -#endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) - -#endif // !defined(InspectorAlternateBackendDispatchers_h) -### End File: InspectorAlternateBackendDispatchers.h - -### Begin File: InspectorBackendCommands.js -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -// Test. -InspectorBackend.registerEnum("Test.UncastedAnimals", {Pigs: "Pigs", Cows: "Cows", Cats: "Cats", Hens: "Hens"}); -InspectorBackend.registerEnum("Test.CastedAnimals", {Ducks: "Ducks", Hens: "Hens", Crows: "Crows", Flamingos: "Flamingos"}); -### End File: InspectorBackendCommands.js - -### Begin File: InspectorBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorBackendDispatchers_h -#define InspectorBackendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorBackendDispatcher.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - -typedef String ErrorString; - - - -} // namespace Inspector - -#endif // !defined(InspectorBackendDispatchers_h) -### End File: InspectorBackendDispatchers.h - -### Begin File: InspectorBackendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorBackendDispatchers.h" - -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/CString.h> - -#if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS) -#include "InspectorAlternateBackendDispatchers.h" -#endif - -namespace Inspector { - - - -} // namespace Inspector - -### End File: InspectorBackendDispatchers.cpp - -### Begin File: InspectorFrontendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorFrontendDispatchers_h -#define InspectorFrontendDispatchers_h - -#include "InspectorProtocolObjects.h" -#include <inspector/InspectorFrontendChannel.h> -#include <inspector/InspectorValues.h> -#include <wtf/text/WTFString.h> - -namespace Inspector { - - - -} // namespace Inspector - -#endif // !defined(InspectorFrontendDispatchers_h) -### End File: InspectorFrontendDispatchers.h - -### Begin File: InspectorFrontendDispatchers.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorFrontendDispatchers.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -} // namespace Inspector - -### End File: InspectorFrontendDispatchers.cpp - -### Begin File: InspectorProtocolObjects.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#ifndef InspectorProtocolObjects_h -#define InspectorProtocolObjects_h - -#include <inspector/InspectorProtocolTypes.h> -#include <wtf/Assertions.h> - -namespace Inspector { - - - -namespace Protocol { - -// Forward declarations. -namespace Test { -class RecursiveObject1; -class RecursiveObject2; -class TypeNeedingCast; -enum class CastedAnimals; -enum class UncastedAnimals; -} // Test -// End of forward declarations. - - -// Typedefs. -namespace Test { -typedef int CastedObjectId; -typedef int UncastedObjectId; -} // Test -// End of typedefs. - -String getEnumConstantValue(int code); - -template<typename T> String getEnumConstantValue(T enumValue) -{ - return getEnumConstantValue(static_cast<int>(enumValue)); -} - -namespace Test { -/* A dummy type that requires runtime casts, and forces non-primitive referenced types to also emit runtime cast helpers. */ -class TypeNeedingCast : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - StringSet = 1 << 0, - NumberSet = 1 << 1, - AnimalsSet = 1 << 2, - IdSet = 1 << 3, - TreeSet = 1 << 4, - AllFieldsSet = (StringSet | NumberSet | AnimalsSet | IdSet | TreeSet) - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*TypeNeedingCast*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class TypeNeedingCast; - public: - - Builder<STATE | StringSet>& setString(const String& value) - { - COMPILE_ASSERT(!(STATE & StringSet), property_string_already_set); - m_result->setString(ASCIILiteral("string"), value); - return castState<StringSet>(); - } - - Builder<STATE | NumberSet>& setNumber(int value) - { - COMPILE_ASSERT(!(STATE & NumberSet), property_number_already_set); - m_result->setInteger(ASCIILiteral("number"), value); - return castState<NumberSet>(); - } - - Builder<STATE | AnimalsSet>& setAnimals(Inspector::Protocol::Test::CastedAnimals value) - { - COMPILE_ASSERT(!(STATE & AnimalsSet), property_animals_already_set); - m_result->setString(ASCIILiteral("animals"), Inspector::Protocol::getEnumConstantValue(static_cast<int>(value))); - return castState<AnimalsSet>(); - } - - Builder<STATE | IdSet>& setId(int value) - { - COMPILE_ASSERT(!(STATE & IdSet), property_id_already_set); - m_result->setInteger(ASCIILiteral("id"), value); - return castState<IdSet>(); - } - - Builder<STATE | TreeSet>& setTree(RefPtr<Inspector::Protocol::Test::RecursiveObject1> value) - { - COMPILE_ASSERT(!(STATE & TreeSet), property_tree_already_set); - m_result->setObject(ASCIILiteral("tree"), value); - return castState<TreeSet>(); - } - - Ref<TypeNeedingCast> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(TypeNeedingCast) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<TypeNeedingCast>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<TypeNeedingCast> result = TypeNeedingCast::create() - * .setString(...) - * .setNumber(...) - * .setAnimals(...) - * .setId(...) - * .setTree(...) - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } -}; - -/* */ -enum class UncastedAnimals { - Pigs = 4, - Cows = 5, - Cats = 6, - Hens = 1, -}; // enum class UncastedAnimals -/* */ -enum class CastedAnimals { - Ducks = 0, - Hens = 1, - Crows = 2, - Flamingos = 3, -}; // enum class CastedAnimals -class RecursiveObject1 : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - AllFieldsSet = 0 - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*RecursiveObject1*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class RecursiveObject1; - public: - - Ref<RecursiveObject1> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(RecursiveObject1) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<RecursiveObject1>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<RecursiveObject1> result = RecursiveObject1::create() - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } - - void setObj(RefPtr<Inspector::Protocol::Test::RecursiveObject2> value) - { - InspectorObjectBase::setObject(ASCIILiteral("obj"), WTF::move(value)); - } -}; - -class RecursiveObject2 : public Inspector::InspectorObjectBase { -public: - enum { - NoFieldsSet = 0, - AllFieldsSet = 0 - }; - - template<int STATE> - class Builder { - private: - RefPtr<InspectorObject> m_result; - - template<int STEP> Builder<STATE | STEP>& castState() - { - return *reinterpret_cast<Builder<STATE | STEP>*>(this); - } - - Builder(Ref</*RecursiveObject2*/InspectorObject>&& object) - : m_result(WTF::move(object)) - { - COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state); - } - friend class RecursiveObject2; - public: - - Ref<RecursiveObject2> release() - { - COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready); - COMPILE_ASSERT(sizeof(RecursiveObject2) == sizeof(InspectorObject), cannot_cast); - - Ref<InspectorObject> result = m_result.releaseNonNull(); - return WTF::move(*reinterpret_cast<Ref<RecursiveObject2>*>(&result)); - } - }; - - /* - * Synthetic constructor: - * Ref<RecursiveObject2> result = RecursiveObject2::create() - * .release(); - */ - static Builder<NoFieldsSet> create() - { - return Builder<NoFieldsSet>(InspectorObject::create()); - } - - void setObj(RefPtr<Inspector::Protocol::Test::RecursiveObject1> value) - { - InspectorObjectBase::setObject(ASCIILiteral("obj"), WTF::move(value)); - } -}; - -} // Test - -template<> struct BindingTraits<Inspector::Protocol::Test::CastedAnimals> { -#if !ASSERT_DISABLED -static void assertValueHasExpectedType(Inspector::InspectorValue*); -#endif // !ASSERT_DISABLED -}; -template<> struct BindingTraits<Inspector::Protocol::Test::TypeNeedingCast> { -static RefPtr<Inspector::Protocol::Test::TypeNeedingCast> runtimeCast(RefPtr<Inspector::InspectorValue>&& value); -#if !ASSERT_DISABLED -static void assertValueHasExpectedType(Inspector::InspectorValue*); -#endif // !ASSERT_DISABLED -}; -template<> struct BindingTraits<Inspector::Protocol::Test::RecursiveObject1> { -#if !ASSERT_DISABLED -static void assertValueHasExpectedType(Inspector::InspectorValue*); -#endif // !ASSERT_DISABLED -}; -template<> struct BindingTraits<Inspector::Protocol::Test::RecursiveObject2> { -#if !ASSERT_DISABLED -static void assertValueHasExpectedType(Inspector::InspectorValue*); -#endif // !ASSERT_DISABLED -}; - -} // namespace Protocol - -} // namespace Inspector - -#endif // !defined(InspectorProtocolObjects_h) -### End File: InspectorProtocolObjects.h - -### Begin File: InspectorProtocolObjects.cpp -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include "config.h" -#include "InspectorProtocolObjects.h" - -#include <wtf/text/CString.h> - -namespace Inspector { - -namespace Protocol { - -static const char* const enum_constant_values[] = { - "Ducks", - "Hens", - "Crows", - "Flamingos", - "Pigs", - "Cows", - "Cats", -}; - -String getEnumConstantValue(int code) { - return enum_constant_values[code]; -} - - - -#if !ASSERT_DISABLED -void BindingTraits<Inspector::Protocol::Test::CastedAnimals>::assertValueHasExpectedType(Inspector::InspectorValue* value) -{ - ASSERT_ARG(value, value); - String result; - bool castSucceeded = value->asString(result); - ASSERT(castSucceeded); - ASSERT(result == "Ducks" || result == "Hens" || result == "Crows" || result == "Flamingos"); -} -#endif // !ASSERT_DISABLED - -#if !ASSERT_DISABLED -void BindingTraits<Inspector::Protocol::Test::TypeNeedingCast>::assertValueHasExpectedType(Inspector::InspectorValue* value) -{ - ASSERT_ARG(value, value); - RefPtr<InspectorObject> object; - bool castSucceeded = value->asObject(object); - ASSERT_UNUSED(castSucceeded, castSucceeded); - { - InspectorObject::iterator stringPos = object->find(ASCIILiteral("string")); - ASSERT(stringPos != object->end()); - BindingTraits<String>::assertValueHasExpectedType(stringPos->value.get()); - } - { - InspectorObject::iterator numberPos = object->find(ASCIILiteral("number")); - ASSERT(numberPos != object->end()); - BindingTraits<int>::assertValueHasExpectedType(numberPos->value.get()); - } - { - InspectorObject::iterator animalsPos = object->find(ASCIILiteral("animals")); - ASSERT(animalsPos != object->end()); - BindingTraits<Inspector::Protocol::Test::CastedAnimals>::assertValueHasExpectedType(animalsPos->value.get()); - } - { - InspectorObject::iterator idPos = object->find(ASCIILiteral("id")); - ASSERT(idPos != object->end()); - BindingTraits<int>::assertValueHasExpectedType(idPos->value.get()); - } - { - InspectorObject::iterator treePos = object->find(ASCIILiteral("tree")); - ASSERT(treePos != object->end()); - BindingTraits<Inspector::Protocol::Test::RecursiveObject1>::assertValueHasExpectedType(treePos->value.get()); - } - - int foundPropertiesCount = 5; - if (foundPropertiesCount != object->size()) - FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data()); -} -#endif // !ASSERT_DISABLED - -RefPtr<Inspector::Protocol::Test::TypeNeedingCast> BindingTraits<Inspector::Protocol::Test::TypeNeedingCast>::runtimeCast(RefPtr<InspectorValue>&& value) -{ - RefPtr<InspectorObject> result; - bool castSucceeded = value->asObject(result); - ASSERT_UNUSED(castSucceeded, castSucceeded); -#if !ASSERT_DISABLED - BindingTraits<Inspector::Protocol::Test::TypeNeedingCast>::assertValueHasExpectedType(result.get()); -#endif // !ASSERT_DISABLED - COMPILE_ASSERT(sizeof(Inspector::Protocol::Test::TypeNeedingCast) == sizeof(InspectorObjectBase), type_cast_problem); - return static_cast<Inspector::Protocol::Test::TypeNeedingCast*>(static_cast<InspectorObjectBase*>(result.get())); -} - - -#if !ASSERT_DISABLED -void BindingTraits<Inspector::Protocol::Test::RecursiveObject1>::assertValueHasExpectedType(Inspector::InspectorValue* value) -{ - ASSERT_ARG(value, value); - RefPtr<InspectorObject> object; - bool castSucceeded = value->asObject(object); - ASSERT_UNUSED(castSucceeded, castSucceeded); - - int foundPropertiesCount = 0; - { - InspectorObject::iterator objPos = object->find(ASCIILiteral("obj")); - if (objPos != object->end()) { - BindingTraits<Inspector::Protocol::Test::RecursiveObject2>::assertValueHasExpectedType(objPos->value.get()); - ++foundPropertiesCount; - } - } - if (foundPropertiesCount != object->size()) - FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data()); -} -#endif // !ASSERT_DISABLED - -#if !ASSERT_DISABLED -void BindingTraits<Inspector::Protocol::Test::RecursiveObject2>::assertValueHasExpectedType(Inspector::InspectorValue* value) -{ - ASSERT_ARG(value, value); - RefPtr<InspectorObject> object; - bool castSucceeded = value->asObject(object); - ASSERT_UNUSED(castSucceeded, castSucceeded); - - int foundPropertiesCount = 0; - { - InspectorObject::iterator objPos = object->find(ASCIILiteral("obj")); - if (objPos != object->end()) { - BindingTraits<Inspector::Protocol::Test::RecursiveObject1>::assertValueHasExpectedType(objPos->value.get()); - ++foundPropertiesCount; - } - } - if (foundPropertiesCount != object->size()) - FATAL("Unexpected properties in object: %s\n", object->toJSONString().ascii().data()); -} -#endif // !ASSERT_DISABLED - -} // namespace Protocol - -} // namespace Inspector - -### End File: InspectorProtocolObjects.cpp - -### Begin File: RWIProtocolBackendDispatchers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#include <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#include <wtf/RetainPtr.h> - - - -namespace Inspector { - - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.h - -### Begin File: RWIProtocolConfiguration.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolConfiguration.h" - -#import "RWIProtocolInternal.h" -#import "RWIProtocolBackendDispatchers.h" -#import <JavaScriptCore/AlternateDispatchableAgent.h> -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorAlternateBackendDispatchers.h> -#import <JavaScriptCore/InspectorBackendDispatchers.h> - -using namespace Inspector; - -@implementation RWIProtocolConfiguration -{ - AugmentableInspectorController* _controller; -} - -- (instancetype)initWithController:(AugmentableInspectorController*)controller -{ - self = [super init]; - if (!self) - return nil; - ASSERT(controller); - _controller = controller; - return self; -} - -- (void)dealloc -{ - [super dealloc]; -} - -@end - - -### End File: RWIProtocolConfiguration.mm - -### Begin File: RWIProtocolConfiguration.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" - -__attribute__((visibility ("default"))) -@interface RWIProtocolConfiguration : NSObject -@end - - -### End File: RWIProtocolConfiguration.h - -### Begin File: RWIProtocolBackendDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolBackendDispatchers.h" - -#include "RWIProtocolInternal.h" -#include "RWIProtocolEnumConversionHelpers.h" -#include <JavaScriptCore/InspectorFrontendChannel.h> -#include <JavaScriptCore/InspectorValues.h> - -namespace Inspector { - - - -} // namespace Inspector - -### End File: RWIProtocolBackendDispatchers.mm - -### Begin File: RWIProtocolEnumConversionHelpers.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocolArrayConversionHelpers.h" - -namespace Inspector { - -template<typename ObjCEnumType> -ObjCEnumType fromProtocolString(const String& value); - - -inline String toProtocolString(RWIProtocolTestUncastedAnimals value) -{ - switch(value) { - case RWIProtocolTestUncastedAnimalsPigs: - return ASCIILiteral("Pigs"); - case RWIProtocolTestUncastedAnimalsCows: - return ASCIILiteral("Cows"); - case RWIProtocolTestUncastedAnimalsCats: - return ASCIILiteral("Cats"); - case RWIProtocolTestUncastedAnimalsHens: - return ASCIILiteral("Hens"); - } -} - -template<> -inline RWIProtocolTestUncastedAnimals fromProtocolString(const String& value) -{ - if (value == "Pigs") - return RWIProtocolTestUncastedAnimalsPigs; - if (value == "Cows") - return RWIProtocolTestUncastedAnimalsCows; - if (value == "Cats") - return RWIProtocolTestUncastedAnimalsCats; - if (value == "Hens") - return RWIProtocolTestUncastedAnimalsHens; - ASSERT_NOT_REACHED(); - return RWIProtocolTestUncastedAnimalsPigs; -} - -inline String toProtocolString(RWIProtocolTestCastedAnimals value) -{ - switch(value) { - case RWIProtocolTestCastedAnimalsDucks: - return ASCIILiteral("Ducks"); - case RWIProtocolTestCastedAnimalsHens: - return ASCIILiteral("Hens"); - case RWIProtocolTestCastedAnimalsCrows: - return ASCIILiteral("Crows"); - case RWIProtocolTestCastedAnimalsFlamingos: - return ASCIILiteral("Flamingos"); - } -} - -template<> -inline RWIProtocolTestCastedAnimals fromProtocolString(const String& value) -{ - if (value == "Ducks") - return RWIProtocolTestCastedAnimalsDucks; - if (value == "Hens") - return RWIProtocolTestCastedAnimalsHens; - if (value == "Crows") - return RWIProtocolTestCastedAnimalsCrows; - if (value == "Flamingos") - return RWIProtocolTestCastedAnimalsFlamingos; - ASSERT_NOT_REACHED(); - return RWIProtocolTestCastedAnimalsDucks; -} - -} // namespace Inspector - -### End File: RWIProtocolEnumConversionHelpers.h - -### Begin File: RWIProtocolEventDispatchers.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorFrontendChannel.h> -#import <JavaScriptCore/InspectorValues.h> - -using namespace Inspector; - - - - -### End File: RWIProtocolEventDispatchers.mm - -### Begin File: RWIProtocol.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import <Foundation/Foundation.h> - -#import <WebInspector/RWIProtocolJSONObject.h> - - -@class RWIProtocolTestTypeNeedingCast; -@class RWIProtocolTestRecursiveObject1; -@class RWIProtocolTestRecursiveObject2; - - -typedef NS_ENUM(NSInteger, RWIProtocolTestUncastedAnimals) { - RWIProtocolTestUncastedAnimalsPigs, - RWIProtocolTestUncastedAnimalsCows, - RWIProtocolTestUncastedAnimalsCats, - RWIProtocolTestUncastedAnimalsHens, -}; - -typedef NS_ENUM(NSInteger, RWIProtocolTestCastedAnimals) { - RWIProtocolTestCastedAnimalsDucks, - RWIProtocolTestCastedAnimalsHens, - RWIProtocolTestCastedAnimalsCrows, - RWIProtocolTestCastedAnimalsFlamingos, -}; - - -__attribute__((visibility ("default"))) -@interface RWIProtocolTestTypeNeedingCast : RWIProtocolJSONObject -- (instancetype)initWithString:(NSString *)string number:(int)number animals:(RWIProtocolTestCastedAnimals)animals identifier:(int)identifier tree:(RWIProtocolTestRecursiveObject1 *)tree; -/* required */ @property (nonatomic, copy) NSString *string; -/* required */ @property (nonatomic, assign) int number; -/* required */ @property (nonatomic, assign) RWIProtocolTestCastedAnimals animals; -/* required */ @property (nonatomic, assign) int identifier; -/* required */ @property (nonatomic, retain) RWIProtocolTestRecursiveObject1 *tree; -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolTestRecursiveObject1 : RWIProtocolJSONObject -/* optional */ @property (nonatomic, retain) RWIProtocolTestRecursiveObject2 *obj; -@end - -__attribute__((visibility ("default"))) -@interface RWIProtocolTestRecursiveObject2 : RWIProtocolJSONObject -/* optional */ @property (nonatomic, retain) RWIProtocolTestRecursiveObject1 *obj; -@end - - - - - - -### End File: RWIProtocol.h - -### Begin File: RWIProtocolTypes.mm -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "config.h" -#import "RWIProtocolInternal.h" - -#import "RWIProtocolEnumConversionHelpers.h" -#import <JavaScriptCore/InspectorValues.h> -#import <wtf/Assertions.h> - -using namespace Inspector; - - -@implementation RWIProtocolTestTypeNeedingCast - -- (instancetype)initWithString:(NSString *)string number:(int)number animals:(RWIProtocolTestCastedAnimals)animals identifier:(int)identifier tree:(RWIProtocolTestRecursiveObject1 *)tree; -{ - self = [super init]; - if (!self) - return nil; - - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(string, @"string"); - THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(tree, @"tree"); - - self.string = string; - self.number = number; - self.animals = animals; - self.identifier = identifier; - self.tree = tree; - - return self; -} - -- (void)setString:(NSString *)string -{ - [super setString:string forKey:@"string"]; -} - -- (NSString *)string -{ - return [super stringForKey:@"string"]; -} - -- (void)setNumber:(int)number -{ - [super setInteger:number forKey:@"number"]; -} - -- (int)number -{ - return [super integerForKey:@"number"]; -} - -- (void)setAnimals:(RWIProtocolTestCastedAnimals)animals -{ - [super setString:toProtocolString(animals) forKey:@"animals"]; -} - -- (RWIProtocolTestCastedAnimals)animals -{ - return fromProtocolString<RWIProtocolTestCastedAnimals>([super stringForKey:@"animals"]); -} - -- (void)setIdentifier:(int)identifier -{ - [super setInteger:identifier forKey:@"id"]; -} - -- (int)identifier -{ - return [super integerForKey:@"id"]; -} - -- (void)setTree:(RWIProtocolTestRecursiveObject1 *)tree -{ - [super setObject:tree forKey:@"tree"]; -} - -- (RWIProtocolTestRecursiveObject1 *)tree -{ - return (RWIProtocolTestRecursiveObject1 *)[super objectForKey:@"tree"]; -} - -@end - -@implementation RWIProtocolTestRecursiveObject1 - -- (void)setObj:(RWIProtocolTestRecursiveObject2 *)obj -{ - [super setObject:obj forKey:@"obj"]; -} - -- (RWIProtocolTestRecursiveObject2 *)obj -{ - return (RWIProtocolTestRecursiveObject2 *)[super objectForKey:@"obj"]; -} - -@end - -@implementation RWIProtocolTestRecursiveObject2 - -- (void)setObj:(RWIProtocolTestRecursiveObject1 *)obj -{ - [super setObject:obj forKey:@"obj"]; -} - -- (RWIProtocolTestRecursiveObject1 *)obj -{ - return (RWIProtocolTestRecursiveObject1 *)[super objectForKey:@"obj"]; -} - -@end - - -### End File: RWIProtocolTypes.mm - -### Begin File: RWIProtocolInternal.h -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. - * Copyright (C) 2014 University of Washington. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from type-requiring-runtime-casts.json -// by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py - -#import "RWIProtocol.h" -#import "RWIProtocolJSONObjectInternal.h" -#import <JavaScriptCore/AugmentableInspectorController.h> -#import <JavaScriptCore/InspectorValues.h> - - - - -### End File: RWIProtocolInternal.h diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-domain-availability.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-domain-availability.json deleted file mode 100644 index 36ee2c600..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-domain-availability.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "domain": "WebOnly", - "availability": "webb", - "commands": [ - { - "name": "enable" - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-command-call-parameter-names.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-command-call-parameter-names.json deleted file mode 100644 index bab76ca62..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-command-call-parameter-names.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "domain": "Overlay", - "commands": [ - { - "name": "processPoints", - "parameters": [ - { "name": "point", "type": "number" }, - { "name": "point", "type": "number" } - ], - "returns": [ - { "name": "result1", "type": "string" }, - { "name": "result2", "type": "string" } - ] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-command-return-parameter-names.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-command-return-parameter-names.json deleted file mode 100644 index c8bb15c04..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-command-return-parameter-names.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "domain": "Overlay", - "commands": [ - { - "name": "processPoints", - "parameters": [ - { "name": "point1", "type": "number" }, - { "name": "point2", "type": "number" } - ], - "returns": [ - { "name": "result", "type": "string" }, - { "name": "result", "type": "string" } - ] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-event-parameter-names.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-event-parameter-names.json deleted file mode 100644 index d3d3b3cc6..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-event-parameter-names.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "domain": "Overlay", - "events": [ - { - "name": "processedPoints", - "parameters": [ - { "name": "point", "type": "number" }, - { "name": "point", "type": "number" } - ] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-type-declarations.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-type-declarations.json deleted file mode 100644 index 702fc6a32..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-type-declarations.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "domain": "Runtime", - "types": [ - { - "id": "RemoteObjectId", - "type": "string", - "description": "Unique object identifier." - }, - { - "id": "RemoteObjectId", - "type": "string", - "description": "Unique object identifier." - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-type-member-names.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-type-member-names.json deleted file mode 100644 index aebacee8b..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-duplicate-type-member-names.json +++ /dev/null @@ -1,15 +0,0 @@ -[ -{ - "domain": "OverlayTypes", - "types": [ - { - "id": "Point", - "type": "object", - "properties": [ - { "name": "x", "type": "integer" }, - { "name": "x", "type": "integer" } - ] - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-enum-with-no-values.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-enum-with-no-values.json deleted file mode 100644 index 232a7c324..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-enum-with-no-values.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "domain": "Database", - "types": [ - { - "id": "PrimaryColors", - "type": "string", - "enum": [] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-string-typed-optional-parameter-flag.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-string-typed-optional-parameter-flag.json deleted file mode 100644 index 4012c79b6..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-string-typed-optional-parameter-flag.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "domain": "Database", - "types": [ - { - "id": "DatabaseId", - "type": "string", - "description": "Unique identifier of Database object." - } - ], - "events": [ - { - "name": "didExecuteOptionalParameters", - "parameters": [ - { "name": "columnNames", "type": "string", "optional": "true" } - ] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-string-typed-optional-type-member.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-string-typed-optional-type-member.json deleted file mode 100644 index ca3ef28a8..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-string-typed-optional-type-member.json +++ /dev/null @@ -1,16 +0,0 @@ -[ -{ - "domain": "Database", - "types": [ - { - "id": "Error", - "type": "object", - "description": "Database error.", - "properties": [ - { "name": "message", "type": "string", "description": "Error message." }, - { "name": "code", "type": "integer", "description": "Error code.", "optional": "false" } - ] - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-type-declaration-using-type-reference.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-type-declaration-using-type-reference.json deleted file mode 100644 index 19b7590cc..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-type-declaration-using-type-reference.json +++ /dev/null @@ -1,13 +0,0 @@ -[ -{ - "domain": "Runtime", - "types": [ - { - "id": "RemoteObjectId", - "type": "object", - "$ref": "SomeType", - "description": "Unique object identifier." - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-type-with-lowercase-name.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-type-with-lowercase-name.json deleted file mode 100644 index 531901e4a..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-type-with-lowercase-name.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "domain": "Database", - "types": [ - { - "id": "databaseId", - "type": "integer", - "description": "Unique identifier of Database object." - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-unknown-type-reference-in-type-declaration.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-unknown-type-reference-in-type-declaration.json deleted file mode 100644 index d6887a274..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-unknown-type-reference-in-type-declaration.json +++ /dev/null @@ -1,12 +0,0 @@ -[ -{ - "domain": "Runtime", - "types": [ - { - "id": "RemoteObjectId", - "type": "dragon", - "description": "Unique object identifier." - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-unknown-type-reference-in-type-member.json b/Source/JavaScriptCore/inspector/scripts/tests/fail-on-unknown-type-reference-in-type-member.json deleted file mode 100644 index b817db504..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/fail-on-unknown-type-reference-in-type-member.json +++ /dev/null @@ -1,15 +0,0 @@ -[ -{ - "domain": "Fantasy", - "types": [ - { - "id": "DragonEgg", - "type": "object", - "description": "A dragon egg.", - "properties": [ - { "name": "color", "$ref": "Color" } - ] - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generate-domains-with-feature-guards.json b/Source/JavaScriptCore/inspector/scripts/tests/generate-domains-with-feature-guards.json deleted file mode 100644 index 67cf8e582..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/generate-domains-with-feature-guards.json +++ /dev/null @@ -1,36 +0,0 @@ -[ -{ - "domain": "Network1", - "featureGuard": "PLATFORM(WEB_COMMANDS)", - "commands": [ - { - "name": "loadResource", - "description": "Loads a resource in the context of a frame on the inspected page without cross origin checks." - } - ] -}, -{ - "domain": "Network2", - "featureGuard": "PLATFORM(WEB_TYPES)", - "types": [ - { - "id": "NetworkError", - "type": "object", - "properties": [ - { "name": "message", "type": "string", "description": "Error message." }, - { "name": "code", "type": "integer", "description": "Error code." } - ] - } - ] -}, -{ - "domain": "Network3", - "featureGuard": "PLATFORM(WEB_EVENTS)", - "events": [ - { - "name": "resourceLoaded", - "description": "A resource was loaded." - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/same-type-id-different-domain.json b/Source/JavaScriptCore/inspector/scripts/tests/same-type-id-different-domain.json deleted file mode 100644 index 3bf4dff5c..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/same-type-id-different-domain.json +++ /dev/null @@ -1,22 +0,0 @@ -[ -{ - "domain": "Runtime", - "types": [ - { - "id": "RemoteObjectId", - "type": "string", - "description": "Unique object identifier." - } - ] -}, -{ - "domain": "Runtime2", - "types": [ - { - "id": "RemoteObjectId", - "type": "string", - "description": "Unique object identifier." - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/shadowed-optional-type-setters.json b/Source/JavaScriptCore/inspector/scripts/tests/shadowed-optional-type-setters.json deleted file mode 100644 index 20a0c1552..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/shadowed-optional-type-setters.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "domain": "Runtime", - "types": [ - { - "id": "KeyPath", - "type": "object", - "description": "Key path.", - "properties": [ - { - "name": "type", - "type": "string", - "enum": ["null", "string", "array"], - "description": "Key path type." - }, - { - "name": "string", - "type": "string", - "optional": true, - "description": "String value." - }, - { - "name": "array", - "type": "array", - "optional": true, - "items": { "type": "string" }, - "description": "Array value." - } - ] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-aliased-primitive-type.json b/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-aliased-primitive-type.json deleted file mode 100644 index cbc9d5394..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-aliased-primitive-type.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "domain": "Runtime", - "types": [ - { - "id": "RemoteObjectId", - "type": "integer", - "description": "Unique object identifier." - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-array-type.json b/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-array-type.json deleted file mode 100644 index cfb08bd94..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-array-type.json +++ /dev/null @@ -1,50 +0,0 @@ -[ -{ - "domain": "Debugger", - "types": [ - { - "id": "BreakpointId", - "type": "integer" - }, - { - "id": "Reason", - "type": "string", - "enum": ["Died", "Fainted", "Hungry"] - } - ] -}, -{ - "domain": "Runtime", - "types": [ - { - "id": "ObjectId", - "type": "integer" - }, - { - "id": "LuckyNumbers", - "type": "array", - "items": { "type": "integer" } - }, - { - "id": "BabyNames", - "type": "array", - "items": { "type": "string" } - }, - { - "id": "NewObjects", - "type": "array", - "items": { "$ref": "ObjectId" } - }, - { - "id": "OldObjects", - "type": "array", - "items": { "$ref": "Debugger.BreakpointId" } - }, - { - "id": "StopReasons", - "type": "array", - "items": { "$ref": "Debugger.Reason" } - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-enum-type.json b/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-enum-type.json deleted file mode 100644 index 9f0aee9c9..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-enum-type.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "domain": "Runtime", - "types": [ - { - "id": "FarmAnimals", - "type": "string", - "enum": ["Pigs", "Cows", "Cats", "Hens"] - }, - { - "id": "TwoLeggedAnimals", - "type": "string", - "enum": ["Ducks", "Hens", "Crows", "Flamingos"] - } - ] -} diff --git a/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-object-type.json b/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-object-type.json deleted file mode 100644 index 178309197..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/type-declaration-object-type.json +++ /dev/null @@ -1,83 +0,0 @@ -[ -{ - "domain": "Database", - "description": "Test type builder generation of various object types.", - "types": [ - { - "id": "Error", - "type": "object", - "description": "Database error.", - "properties": [ - { "name": "message", "type": "string", "description": "Error message." }, - { "name": "code", "type": "integer", "description": "Error code." } - ] - }, - { - "id": "ErrorList", - "type": "array", - "items": { "$ref": "Error" } - }, - { - "id": "OptionalParameterBundle", - "type": "object", - "properties": [ - { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } }, - { "name": "notes", "type": "string", "optional": true }, - { "name": "timestamp", "type": "number", "optional": true }, - { "name": "values", "type": "object", "optional": true }, - { "name": "payload", "type": "any", "optional": true }, - { "name": "error", "$ref": "Error", "optional": true }, - { "name": "errorList", "$ref": "ErrorList", "optional": true } - ] - }, - { - "id": "ParameterBundle", - "type": "object", - "properties": [ - { "name": "columnNames", "type": "array", "items": { "type": "string" } }, - { "name": "notes", "type": "string" }, - { "name": "timestamp", "type": "number" }, - { "name": "values", "type": "object" }, - { "name": "payload", "type": "any" }, - { "name": "error", "$ref": "Error" }, - { "name": "errorList", "$ref": "ErrorList" } - ] - }, - { - "id": "ObjectWithPropertyNameConflicts", - "description": "Conflicted names may cause generated getters/setters to clash with built-in InspectorObject methods.", - "type": "object", - "properties": [ - { "name": "integer", "type": "string" }, - { "name": "array", "type": "string" }, - { "name": "string", "type": "string" }, - { "name": "value", "type": "string" }, - { "name": "object", "type": "string" } - ] - }, - { - "id": "DummyObject", - "description": "An open object that doesn't have any predefined fields.", - "type": "object" - } - ] -}, -{ - "domain": "Test", - "description": "Test the generation of special behaviors that only apply to specific classes.", - "types": [ - { - "id": "ParameterBundle", - "type": "object", - "properties": [ - { "name": "columnNames", "type": "array", "items": { "type": "string" } }, - { "name": "notes", "type": "string" }, - { "name": "timestamp", "type": "number" }, - { "name": "values", "type": "object" }, - { "name": "payload", "type": "any" }, - { "name": "error", "$ref": "Database.Error" } - ] - } - ] -} -] diff --git a/Source/JavaScriptCore/inspector/scripts/tests/type-requiring-runtime-casts.json b/Source/JavaScriptCore/inspector/scripts/tests/type-requiring-runtime-casts.json deleted file mode 100644 index 83d94be89..000000000 --- a/Source/JavaScriptCore/inspector/scripts/tests/type-requiring-runtime-casts.json +++ /dev/null @@ -1,51 +0,0 @@ -[ -{ - "domain": "Test", - "types": [ - { - "id": "TypeNeedingCast", - "type": "object", - "description": "A dummy type that requires runtime casts, and forces non-primitive referenced types to also emit runtime cast helpers.", - "properties": [ - { "name": "string", "type": "string", "description": "String member." }, - { "name": "number", "type": "integer", "description": "Number member." }, - { "name": "animals", "$ref": "CastedAnimals", "description": "Enum member." }, - { "name": "id", "$ref": "CastedObjectId", "description": "Aliased member." }, - { "name": "tree", "$ref": "RecursiveObject1", "description": "Recursive object member." } - ] - }, - { - "id": "CastedObjectId", - "type": "integer" - }, - { - "id": "UncastedObjectId", - "type": "integer" - }, - { - "id": "UncastedAnimals", - "type": "string", - "enum": ["Pigs", "Cows", "Cats", "Hens"] - }, - { - "id": "CastedAnimals", - "type": "string", - "enum": ["Ducks", "Hens", "Crows", "Flamingos"] - }, - { - "id": "RecursiveObject1", - "type": "object", - "properties": [ - { "name": "obj", "$ref": "RecursiveObject2", "optional": true } - ] - }, - { - "id": "RecursiveObject2", - "type": "object", - "properties": [ - { "name": "obj", "$ref": "RecursiveObject1", "optional": true } - ] - } - ] -} -] |
