def create_method(self, idl_operation, arguments):
     name_converter = NameStyleConverter(idl_operation.name)
     return_type = self.type_resolver.type_from_definition(idl_operation)
     return {
         'name': name_converter.to_upper_camel_case(),
         'type': return_type,
         'arguments': arguments
     }
Exemple #2
0
def relative_dest(fs, filename):
    """Returns a destination path string for given filename.

    |filename| is a path relative to third_party/WebKit, and the resultant path
    is relative to third_party/blink.
    """
    dest = None
    if filename.startswith('Source'):
        dest = re.sub(r'^Source', 'renderer', filename)
    elif filename.startswith('common') or filename.startswith('public'):
        dest = filename
    else:
        raise ValueError(
            '|filename| must start with "common", "public", or "Source": %s' %
            filename)
    if filename.endswith(
        ('.h', '.cpp', '.mm', '.idl', '.typemap', 'Settings.json5')):
        dirname, basename = fs.split(dest)
        basename, ext = fs.splitext(basename)
        # Skip some inspector-related files. #includes for these files are
        # generated by a script outside of Blink.
        if (re.match(r'Inspector.*Agent', basename)
                or basename == 'InspectorTraceEvents'
                or basename == 'PerformanceMonitor'
                or basename == 'PlatformTraceEventsAgent'):
            return dest
        if filename.endswith('.cpp'):
            ext = '.cc'
        # WebKit.h should be renamed to blink.h.
        if basename == 'WebKit' and ext == '.h':
            basename = 'blink'
        if basename.lower() != basename:
            basename = NameStyleConverter(basename).to_snake_case()
        return fs.join(dirname, basename + ext)
    return dest
    def _replace_include_path(self, match):
        include_or_import = match.group(1)
        path = match.group(2)

        # If |path| starts with 'blink/public/resources', we should prepend
        # 'third_party/'.
        #
        # If |path| starts with 'third_party/WebKit', we should adjust the
        # directory name for third_party/blink, and replace its basename by
        # self._basename_map.
        #
        # If |path| starts with a Blink-internal directory such as bindings,
        # core, modules, platform, public, it refers to a checked-in file, or a
        # generated file. For the former, we should add 'third_party/blink/' and
        # replace the basename.  For the latter, we should update the basename
        # for a name mapped from an IDL renaming, and should add
        # 'third_party/blink/'.

        if path.startswith('blink/public/resources'):
            path = path.replace('blink/public', 'third_party/blink/public')
            return '#%s "%s"' % (include_or_import, path)

        if path.startswith('third_party/WebKit'):
            path = path.replace('third_party/WebKit/Source',
                                'third_party/blink/renderer')
            path = path.replace('third_party/WebKit/common',
                                'third_party/blink/common')
            path = path.replace('third_party/WebKit/public',
                                'third_party/blink/public')
            path = self._update_basename(path)
            return '#%s "%s"' % (include_or_import, path)

        match = None
        for regex in self._checked_in_header_re_list:
            match = regex.search(path)
            if match:
                break
        if match:
            if match.group(1) in self._basename_map:
                path = path[:match.start(1)] + self._basename_map[match.group(
                    1)]
        elif 'core/inspector/protocol/' not in path:
            basename_start = path.rfind('/') + 1
            basename = path[basename_start:]
            if basename in self._idl_generated_impl_headers:
                path = path[:basename_start] + self._basename_map[basename]
            elif basename.startswith('V8'):
                path = path[:basename_start] + NameStyleConverter(
                    basename[:len(basename) - 2]).to_snake_case() + '.h'
        if path.startswith('public'):
            path = 'third_party/blink/' + path
        else:
            path = 'third_party/blink/renderer/' + path
        return '#%s "%s"' % (include_or_import, path)
def to_snake_case(name):
    if name.lower() == name:
        return name
    return NameStyleConverter(name).to_snake_case()
 def get_file_basename(self, name):
     # Use NameStyleConverter instead of name_utilities for consistency.
     if self.snake_case_source_files:
         return NameStyleConverter(name).to_snake_case()
     return name
 def create_argument(self, argument_name, argument_type):
     name_converter = NameStyleConverter(argument_name)
     return {
         'name': name_converter.to_snake_case(),
         'type': argument_type.base_type,
     }
 def set_class_name(self, class_name):
     converter = NameStyleConverter(class_name)
     self.result['class_name'] = converter.to_all_cases()
     self._ensure_set('cpp_includes').update(
         self.type_resolver.includes_from_interface(class_name))