| Index: Source/build/scripts/make_private_script_source.py
|
| diff --git a/Source/build/scripts/make_private_script_source.py b/Source/build/scripts/make_private_script_source.py
|
| index 2537f7a85e73cfd647d016754c2c381b17b1c383..559f494c7b1a922390d1633df712c253c1679186 100644
|
| --- a/Source/build/scripts/make_private_script_source.py
|
| +++ b/Source/build/scripts/make_private_script_source.py
|
| @@ -10,9 +10,22 @@ python make_private_script_source.py DESTINATION_FILE SOURCE_FILES
|
| """
|
|
|
| import os
|
| +import re
|
| import sys
|
|
|
|
|
| +def extract_partial_interface_name(filename):
|
| + basename, ext = os.path.splitext(filename)
|
| + assert ext == '.js'
|
| + if os.path.basename(basename) == 'PrivateScriptRunner':
|
| + return None
|
| + idl_filename = basename + '.idl'
|
| + with open(idl_filename) as f:
|
| + contents = f.read()
|
| + match = re.search(r'partial\s+interface\s+(\w+)\s*{', contents)
|
| + return match and match.group(1)
|
| +
|
| +
|
| def main():
|
| output_filename = sys.argv[1]
|
| input_filenames = sys.argv[2:]
|
| @@ -24,11 +37,12 @@ def main():
|
| with open(input_filename) as input_file:
|
| input_text = input_file.read()
|
| hex_values = ['0x{0:02x}'.format(ord(char)) for char in input_text]
|
| - contents.append('const unsigned char kSourceOf%s[] = {\n %s\n};\n' % (
|
| + contents.append('const unsigned char kSourceOf%s[] = {\n %s\n};\n\n' % (
|
| class_name, ', '.join(hex_values)))
|
| contents.append('struct %s {' % source_name)
|
| contents.append("""
|
| - const char* name;
|
| + const char* className;
|
| + const char* dependencyClassName;
|
| const unsigned char* source;
|
| size_t size;
|
| };
|
| @@ -37,7 +51,8 @@ def main():
|
| contents.append('struct %s k%s[] = {\n' % (source_name, source_name))
|
| for input_filename in input_filenames:
|
| class_name, ext = os.path.splitext(os.path.basename(input_filename))
|
| - contents.append(' { "%s", kSourceOf%s, sizeof(kSourceOf%s) },\n' % (class_name, class_name, class_name))
|
| + dependency_class_name = extract_partial_interface_name(input_filename) or class_name
|
| + contents.append(' { "%s", "%s", kSourceOf%s, sizeof(kSourceOf%s) },\n' % (class_name, dependency_class_name, class_name, class_name))
|
| contents.append('};\n')
|
|
|
| with open(output_filename, 'w') as output_file:
|
|
|