Example #1
0
    def __init__(self, interfaces_info, cache_dir, output_dir):
        interfaces_info = interfaces_info or {}
        self.interfaces_info = interfaces_info
        self.jinja_env = initialize_jinja_env(cache_dir)
        self.output_dir = output_dir

        # Set global type info
        idl_types.set_ancestors(dict(
            (interface_name, interface_info['ancestors'])
            for interface_name, interface_info in interfaces_info.iteritems()
            if interface_info['ancestors']))
        IdlType.set_callback_interfaces(set(
            interface_name
            for interface_name, interface_info in interfaces_info.iteritems()
            if interface_info['is_callback_interface']))
        IdlType.set_dictionaries(set(
            dictionary_name
            for dictionary_name, interface_info in interfaces_info.iteritems()
            if interface_info['is_dictionary']))
        IdlType.set_implemented_as_interfaces(dict(
            (interface_name, interface_info['implemented_as'])
            for interface_name, interface_info in interfaces_info.iteritems()
            if interface_info['implemented_as']))
        v8_types.set_component_dirs(dict(
            (interface_name, interface_info['component_dir'])
            for interface_name, interface_info in interfaces_info.iteritems()))
    def __init__(self, interfaces_info, cache_dir):
        interfaces_info = interfaces_info or {}
        self.interfaces_info = interfaces_info
        self.jinja_env = initialize_jinja_env(cache_dir)

        # Set global type info
        idl_types.set_ancestors(
            dict((interface_name, interface_info['ancestors']) for
                 interface_name, interface_info in interfaces_info.iteritems()
                 if interface_info['ancestors']))
        IdlType.set_callback_interfaces(
            set(interface_name for interface_name, interface_info in
                interfaces_info.iteritems()
                if interface_info['is_callback_interface']))
        IdlType.set_implemented_as_interfaces(
            dict((interface_name, interface_info['implemented_as']) for
                 interface_name, interface_info in interfaces_info.iteritems()
                 if interface_info['implemented_as']))
        IdlType.set_garbage_collected_types(
            set(interface_name for interface_name, interface_info in
                interfaces_info.iteritems() if 'GarbageCollected' in
                interface_info['inherited_extended_attributes']))
        IdlType.set_will_be_garbage_collected_types(
            set(interface_name for interface_name, interface_info in
                interfaces_info.iteritems() if 'WillBeGarbageCollected' in
                interface_info['inherited_extended_attributes']))
        v8_types.set_component_dirs(
            dict((interface_name, interface_info['component_dir'])
                 for interface_name, interface_info in
                 interfaces_info.iteritems()))
Example #3
0
    def __init__(self, interfaces_info, cache_dir):
        interfaces_info = interfaces_info or {}
        self.interfaces_info = interfaces_info
        self.jinja_env = initialize_jinja_env(cache_dir)

        # Set global type info
        idl_types.set_ancestors(dict(
            (interface_name, interface_info['ancestors'])
            for interface_name, interface_info in interfaces_info.iteritems()
            if interface_info['ancestors']))
        IdlType.set_callback_interfaces(set(
            interface_name
            for interface_name, interface_info in interfaces_info.iteritems()
            if interface_info['is_callback_interface']))
        IdlType.set_implemented_as_interfaces(dict(
            (interface_name, interface_info['implemented_as'])
            for interface_name, interface_info in interfaces_info.iteritems()
            if interface_info['implemented_as']))
        IdlType.set_garbage_collected_types(set(
            interface_name
            for interface_name, interface_info in interfaces_info.iteritems()
            if 'GarbageCollected' in interface_info['inherited_extended_attributes']))
        IdlType.set_will_be_garbage_collected_types(set(
            interface_name
            for interface_name, interface_info in interfaces_info.iteritems()
            if 'WillBeGarbageCollected' in interface_info['inherited_extended_attributes']))
        v8_types.set_component_dirs(dict(
            (interface_name, interface_info['component_dir'])
            for interface_name, interface_info in interfaces_info.iteritems()))
Example #4
0
def set_global_type_info(interfaces_info):
    idl_types.set_ancestors(interfaces_info['ancestors'])
    IdlType.set_callback_interfaces(interfaces_info['callback_interfaces'])
    IdlType.set_dictionaries(interfaces_info['dictionaries'])
    IdlType.set_implemented_as_interfaces(interfaces_info['implemented_as_interfaces'])
    IdlType.set_garbage_collected_types(interfaces_info['garbage_collected_interfaces'])
    IdlType.set_will_be_garbage_collected_types(interfaces_info['will_be_garbage_collected_interfaces'])
    v8_types.set_component_dirs(interfaces_info['component_dirs'])
Example #5
0
def set_global_type_info(info_provider):
    interfaces_info = info_provider.interfaces_info
    idl_types.set_ancestors(interfaces_info['ancestors'])
    IdlType.set_callback_interfaces(interfaces_info['callback_interfaces'])
    IdlType.set_dictionaries(interfaces_info['dictionaries'])
    IdlType.set_enums(info_provider.enumerations)
    IdlType.set_implemented_as_interfaces(
        interfaces_info['implemented_as_interfaces'])
Example #6
0
 def set_global_type_info(self):
     interfaces_info = self.info_provider.interfaces_info
     set_ancestors(interfaces_info['ancestors'])
     IdlType.set_callback_interfaces(interfaces_info['callback_interfaces'])
     IdlType.set_dictionaries(interfaces_info['dictionaries'])
     IdlType.set_enums(self.info_provider.enumerations)
     IdlType.set_callback_functions(self.info_provider.callback_functions)
     IdlType.set_implemented_as_interfaces(interfaces_info['implemented_as_interfaces'])
     IdlType.set_garbage_collected_types(interfaces_info['garbage_collected_interfaces'])
     set_component_dirs(interfaces_info['component_dirs'])
def set_global_type_info(info_provider):
    interfaces_info = info_provider.interfaces_info
    idl_types.set_ancestors(interfaces_info['ancestors'])
    IdlType.set_callback_interfaces(interfaces_info['callback_interfaces'])
    IdlType.set_dictionaries(interfaces_info['dictionaries'])
    IdlType.set_enums(info_provider.enumerations)
    IdlType.set_implemented_as_interfaces(interfaces_info['implemented_as_interfaces'])
    IdlType.set_garbage_collected_types(interfaces_info['garbage_collected_interfaces'])
    IdlType.set_will_be_garbage_collected_types(interfaces_info['will_be_garbage_collected_interfaces'])
    v8_types.set_component_dirs(interfaces_info['component_dirs'])
Example #8
0
 def set_global_type_info(self):
     interfaces_info = self.info_provider.interfaces_info
     set_ancestors(interfaces_info['ancestors'])
     IdlType.set_callback_interfaces(interfaces_info['callback_interfaces'])
     IdlType.set_dictionaries(interfaces_info['dictionaries'])
     IdlType.set_enums(self.info_provider.enumerations)
     IdlType.set_callback_functions(self.info_provider.callback_functions)
     IdlType.set_implemented_as_interfaces(interfaces_info['implemented_as_interfaces'])
     IdlType.set_garbage_collected_types(interfaces_info['garbage_collected_interfaces'])
     set_component_dirs(interfaces_info['component_dirs'])
Example #9
0
def set_global_type_info(interfaces_info):
    idl_types.set_ancestors(interfaces_info['ancestors'])
    IdlType.set_callback_interfaces(interfaces_info['callback_interfaces'])
    IdlType.set_dictionaries(interfaces_info['dictionaries'])
    IdlType.set_implemented_as_interfaces(
        interfaces_info['implemented_as_interfaces'])
    IdlType.set_garbage_collected_types(
        interfaces_info['garbage_collected_interfaces'])
    IdlType.set_will_be_garbage_collected_types(
        interfaces_info['will_be_garbage_collected_interfaces'])
    v8_types.set_component_dirs(interfaces_info['component_dirs'])
Example #10
0
def set_global_type_info(info_provider):
    interfaces_info = info_provider.interfaces_info
    idl_types.set_ancestors(interfaces_info['ancestors'])
    IdlType.set_callback_interfaces(interfaces_info['callback_interfaces'])
    IdlType.set_dictionaries(interfaces_info['dictionaries'])
    IdlType.set_enums(info_provider.enumerations)
    IdlType.set_implemented_as_interfaces(
        interfaces_info['implemented_as_interfaces'])
    IdlType.set_garbage_collected_types(
        interfaces_info['garbage_collected_interfaces'])
    IdlType.set_will_be_garbage_collected_types(
        interfaces_info['will_be_garbage_collected_interfaces'])
    v8_types.set_component_dirs(interfaces_info['component_dirs'])
Example #11
0
    def __init__(self, interfaces_info, cache_dir, output_dir):
        interfaces_info = interfaces_info or {}
        self.interfaces_info = interfaces_info
        self.jinja_env = initialize_jinja_env(cache_dir)
        self.output_dir = output_dir

        # Set global type info
        idl_types.set_ancestors(interfaces_info['ancestors'])
        IdlType.set_callback_interfaces(interfaces_info['callback_interfaces'])
        IdlType.set_dictionaries(interfaces_info['dictionaries'])
        IdlType.set_implemented_as_interfaces(interfaces_info['implemented_as_interfaces'])
        IdlType.set_garbage_collected_types(interfaces_info['garbage_collected_interfaces'])
        IdlType.set_will_be_garbage_collected_types(interfaces_info['will_be_garbage_collected_interfaces'])
        v8_types.set_component_dirs(interfaces_info['component_dirs'])
Example #12
0
    def generate_code(self, module_definitions):
        definitions = module_definitions['dom']

        # Note: callback functions aren't visible out side defined IDL.
        IdlType.set_callback_interfaces(definitions.callback_functions)

        global global_definitions
        global_definitions = definitions
        return list(
            chain(*[
                self.generate_cc_h(context) for context in [
                    dictionary_context(dictionary)
                    for dictionary in definitions.dictionaries.values()
                ] +
                # interface context must be generated after dictionary context
                # for include files.
                [
                    build_interface_context(interface)
                    for interface in definitions.interfaces.values()
                ]
            ]))