summaryrefslogtreecommitdiff
path: root/Source/WebCore/Scripts/make-js-file-arrays.py
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2017-10-14 00:59:13 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-10-13 22:23:05 +0000
commit778e0c7c940f8a22f9a43290aef378fb707ca088 (patch)
tree6c5d94b52c655e1bee56720005236e917603b63b /Source/WebCore/Scripts/make-js-file-arrays.py
parent30af5bd74a1c035f0b3efc73767c0d2bef21333a (diff)
downloadqtwebkit-778e0c7c940f8a22f9a43290aef378fb707ca088.tar.gz
Import WebKit commit 85c24b4e854b971f0705bb3411cfd4c0b821f491
Change-Id: I3f9320f43d5d1fc5169a6c1b9dcea454974d6578 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/WebCore/Scripts/make-js-file-arrays.py')
-rwxr-xr-xSource/WebCore/Scripts/make-js-file-arrays.py91
1 files changed, 0 insertions, 91 deletions
diff --git a/Source/WebCore/Scripts/make-js-file-arrays.py b/Source/WebCore/Scripts/make-js-file-arrays.py
deleted file mode 100755
index 3116a11bb..000000000
--- a/Source/WebCore/Scripts/make-js-file-arrays.py
+++ /dev/null
@@ -1,91 +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 io
-import os
-from optparse import OptionParser
-from StringIO import StringIO
-from jsmin import JavascriptMinify
-
-
-def stringifyCodepoint(code):
- if code < 128:
- return '{0:d}'.format(code)
- else:
- return "'\\x{0:02x}'".format(code)
-
-
-def chunk(list, chunkSize):
- for i in xrange(0, len(list), chunkSize):
- yield list[i:i + chunkSize]
-
-
-def main():
- parser = OptionParser(usage="usage: %prog [--no-minify] header source [input [input...]]")
- parser.add_option('--no-minify', action='store_true', help='Do not run the input files through jsmin')
- (options, arguments) = parser.parse_args()
- if len(arguments) < 3:
- print 'Error: must provide at least 3 arguments'
- parser.print_usage()
- exit(-1)
-
- headerPath = arguments[0]
- sourcePath = arguments[1]
- inputPaths = arguments[2:]
-
- headerFile = open(headerPath, 'w')
- print >> headerFile, 'namespace WebCore {'
-
- sourceFile = open(sourcePath, 'w')
- print >> sourceFile, '#include "{0:s}"'.format(os.path.basename(headerPath))
- print >> sourceFile, 'namespace WebCore {'
-
- jsm = JavascriptMinify()
-
- for inputFileName in inputPaths:
- inputStream = io.FileIO(inputFileName)
- outputStream = StringIO()
-
- if not options.no_minify:
- jsm.minify(inputStream, outputStream)
- characters = outputStream.getvalue()
- else:
- characters = inputStream.read()
-
- size = len(characters)
- variableName = os.path.splitext(os.path.basename(inputFileName))[0]
-
- print >> headerFile, 'extern const char {0:s}JavaScript[{1:d}];'.format(variableName, size)
- print >> sourceFile, 'const char {0:s}JavaScript[{1:d}] = {{'.format(variableName, size)
-
- codepoints = map(ord, characters)
- for codepointChunk in chunk(codepoints, 16):
- print >> sourceFile, ' {0:s},'.format(','.join(map(stringifyCodepoint, codepointChunk)))
-
- print >> sourceFile, '};'
-
- print >> headerFile, '}'
- print >> sourceFile, '}'
-
-if __name__ == '__main__':
- main()