Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / build / scripts / make_private_script_source.py
index 8064ae7..19078b2 100644 (file)
@@ -9,6 +9,7 @@ Usage:
 python make_private_script_source.py DESTINATION_FILE SOURCE_FILES
 """
 
+import optparse
 import os
 import re
 import sys
@@ -32,34 +33,51 @@ def extract_partial_interface_name(filename):
 
 
 def main():
-    output_filename = sys.argv[1]
-    input_filenames = sys.argv[2:]
+    parser = optparse.OptionParser()
+    parser.add_option('--for-testing', action="store_true", default=False)
+
+    options, args = parser.parse_args()
+    output_filename = args[0]
+    input_filenames = args[1:]
     source_name, ext = os.path.splitext(os.path.basename(output_filename))
 
     contents = []
-    for input_filename in input_filenames:
-        class_name, ext = os.path.splitext(os.path.basename(input_filename))
-        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\n' % (
-                class_name, ', '.join(hex_values)))
+    contents.append('#ifndef %s_h\n' % source_name)
+    contents.append('#define %s_h\n' % source_name)
+    if options.for_testing:
+        for input_filename in input_filenames:
+            class_name, ext = os.path.splitext(os.path.basename(input_filename))
+            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 char kSourceOf%s[] = {\n    %s\n};\n\n' % (
+                    class_name, ', '.join(hex_values)))
     contents.append('struct %s {' % source_name)
     contents.append("""
     const char* scriptClassName;
     const char* className;
-    const unsigned char* source;
-    size_t size;
+    """)
+    if options.for_testing:
+        contents.append("""
+        const char* source;
+        size_t size;""")
+    else:
+        contents.append('const char* resourceFile;')
+    contents.append("""
 };
 
 """)
+
     contents.append('struct %s k%s[] = {\n' % (source_name, source_name))
     for input_filename in input_filenames:
         script_class_name, ext = os.path.splitext(os.path.basename(input_filename))
         class_name = extract_partial_interface_name(input_filename) or script_class_name
-        contents.append('    { "%s", "%s", kSourceOf%s, sizeof(kSourceOf%s) },\n' % (script_class_name, class_name, script_class_name, script_class_name))
+        if options.for_testing:
+            contents.append('    { "%s", "%s", kSourceOf%s, sizeof(kSourceOf%s) },\n' % (script_class_name, class_name, script_class_name, script_class_name))
+        else:
+            contents.append('    { "%s", "%s", "%s.js" },\n' % (script_class_name, class_name, script_class_name))
     contents.append('};\n')
-
+    contents.append('#endif // %s_h\n' % source_name)
     with open(output_filename, 'w') as output_file:
         output_file.write("".join(contents))