| Index: Source/WebCore/bindings/dart/gyp/scripts/build_dart_snapshot.py
|
| diff --git a/Source/WebCore/bindings/dart/gyp/scripts/build_dart_snapshot.py b/Source/WebCore/bindings/dart/gyp/scripts/build_dart_snapshot.py
|
| deleted file mode 100644
|
| index 74b5e8105408ad659ebdd0798cb00f32bade66cd..0000000000000000000000000000000000000000
|
| --- a/Source/WebCore/bindings/dart/gyp/scripts/build_dart_snapshot.py
|
| +++ /dev/null
|
| @@ -1,218 +0,0 @@
|
| -#!/usr/bin/python
|
| -#
|
| -# Copyright (C) 2011 Google 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:
|
| -#
|
| -# * Redistributions of source code must retain the above copyright
|
| -# notice, this list of conditions and the following disclaimer.
|
| -# * 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.
|
| -# * Neither the name of Google Inc. nor the names of its
|
| -# contributors may be used to endorse or promote products derived from
|
| -# this software without specific prior written permission.
|
| -#
|
| -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
|
| -# OWNER OR 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.
|
| -#
|
| -# Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -# build_dart_snapshot.py generates two C++ files: DartSnapshot.cpp
|
| -# with a constant which is a snapshot of major DOM libs an
|
| -# DartResolver.cpp which is a resolver for dart:domimpl library.
|
| -
|
| -import os.path
|
| -import subprocess
|
| -import sys
|
| -
|
| -copyrightTemplate = """/*
|
| - * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
|
| - *
|
| - * Copyright (C) 2011 Google 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 COMPUTER, INC. ``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 COMPUTER, INC. OR
|
| - * 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.
|
| - */
|
| -"""
|
| -
|
| -
|
| -def main(args):
|
| - assert(len(args) == 7)
|
| - idlListFileName = args[1]
|
| - dartPath = args[2]
|
| - webkitDartResourcesPath = args[3]
|
| - outputFilePath = args[4]
|
| - genSnapshotBinPath = args[5]
|
| -
|
| - domCommonPath = os.path.relpath(os.path.join(dartPath, 'client', 'dom', 'common'), outputFilePath)
|
| - webkitDartResourcesPath = os.path.relpath(webkitDartResourcesPath, outputFilePath)
|
| -
|
| - # FIXME: proper support of enabled features.
|
| - EXCLUDED = [
|
| - 'WebKitMutationObserver',
|
| - 'WebKitCSSFilterValue',
|
| - 'MutationRecord',
|
| - 'HTMLDataListElement',
|
| - 'HTMLPropertiesCollection',
|
| - 'DOMWindowWebAudio',
|
| - 'DOMWindowWebSocket',
|
| - 'Intent',
|
| - 'NavigatorGamepad',
|
| - ]
|
| -
|
| - interfaceNames = []
|
| - idlListFile = open(idlListFileName, 'r')
|
| - for idlFileName in idlListFile:
|
| - if not idlFileName:
|
| - continue
|
| - interfaceName = os.path.splitext(os.path.basename(idlFileName))[0]
|
| - if interfaceName in EXCLUDED:
|
| - continue
|
| - interfaceNames.append(interfaceName)
|
| - idlListFile.close()
|
| -
|
| - def write(name, template, **kwargs):
|
| - f = open(os.path.join(outputFilePath, name), 'w')
|
| - f.write(template % kwargs)
|
| - f.close()
|
| -
|
| - def forAllInterfaces(s):
|
| - return ''.join([s % interfaceName for interfaceName in interfaceNames])
|
| -
|
| - # Generate snapshot script.
|
| - write('snapshot.dart', '''
|
| -%(copyrightTemplate)s
|
| -
|
| -#import("dart:dom", prefix: "dom");
|
| -#import("dart:html", prefix: "html");
|
| -#import("dart:json", prefix: "json");
|
| -''', copyrightTemplate=copyrightTemplate)
|
| -
|
| - # Generate dart:dom library.
|
| - write('dom_public.dart', '''
|
| -%(copyrightTemplate)s
|
| -
|
| -#library("DOM Library");
|
| -
|
| -#import("dart:domimpl");
|
| -
|
| -#source("%(domCommonPath)s/public.dart");
|
| -#source("%(webkitDartResourcesPath)s/dom_public.dart");
|
| -
|
| -%(sources)s
|
| -''', copyrightTemplate=copyrightTemplate,
|
| - domCommonPath=domCommonPath,
|
| - webkitDartResourcesPath=webkitDartResourcesPath,
|
| - sources=forAllInterfaces('#source("%s.dart");\n'))
|
| -
|
| - # Generate dart:domimpl
|
| - write('dom_implementation.dart', '''
|
| -%(copyrightTemplate)s
|
| -
|
| -#library("DOM Implementation Library");
|
| -
|
| -#import("dart:coreimpl");
|
| -#import("dart:dom");
|
| -#import("dart:nativewrappers");
|
| -
|
| -#source("%(domCommonPath)s/implementation.dart");
|
| -#source("%(webkitDartResourcesPath)s/dom_implementation.dart");
|
| -
|
| -%(sources)s
|
| -
|
| -class DOMWrapperBase extends NativeFieldWrapperClass2 {}
|
| -''', copyrightTemplate=copyrightTemplate,
|
| - domCommonPath=domCommonPath,
|
| - webkitDartResourcesPath=webkitDartResourcesPath,
|
| - sources=forAllInterfaces('#source("%sImplementation.dart");\n'))
|
| -
|
| - # Generate resolver.
|
| - resolverClasses = ['Dart' + interfaceName for interfaceName in interfaceNames if not interfaceName.endswith('Callback')]
|
| -
|
| - def forAllClasses(s):
|
| - return ''.join([s % className for className in resolverClasses])
|
| -
|
| - write('DartResolver.cpp', '''
|
| -%(copyrightTemplate)s
|
| -
|
| -#include "config.h"
|
| -%(includes)s
|
| -
|
| -namespace WebCore {
|
| -
|
| -Dart_NativeFunction snapshotResolver(Dart_Handle name, int argumentCount)
|
| -{
|
| -%(classChecks)s
|
| - return 0;
|
| -}
|
| -
|
| -}
|
| -''', copyrightTemplate=copyrightTemplate,
|
| - includes=forAllClasses('#include "%s.h"\n'),
|
| - classChecks=forAllClasses('''
|
| - if (Dart_NativeFunction func = %s::resolver(name, argumentCount))
|
| - return func;
|
| -'''))
|
| -
|
| - # Construct command line to execute the snapshot generator binary and invoke.
|
| - def path(*components):
|
| - return os.path.abspath(os.path.join(*components))
|
| -
|
| - command = [
|
| - 'python',
|
| - path(dartPath, 'runtime', 'tools', 'create_snapshot_file.py'),
|
| - '--executable=%s' % path(genSnapshotBinPath),
|
| - '--input_cc=%s' % path(outputFilePath, webkitDartResourcesPath, 'DartSnapshot.bytes.template'),
|
| - '--output_bin=%s' % path(outputFilePath, 'DartSnapshot.bin'),
|
| - '--output=%s' % path(outputFilePath, 'DartSnapshot.bytes'),
|
| - '--script=%s' % path(outputFilePath, 'snapshot.dart'),
|
| - '--url_mapping=dart:dom,%s' % path(outputFilePath, 'dom_public.dart'),
|
| - '--url_mapping=dart:domimpl,%s' % path(outputFilePath, 'dom_implementation.dart'),
|
| - '--url_mapping=dart:html,%s' % path(dartPath, 'client', 'html', 'release', 'html.dart'),
|
| - '--url_mapping=dart:htmlimpl,%s' % path(dartPath, 'client', 'html', 'release', 'htmlimpl.dart'),
|
| - '--url_mapping=dart:json,%s' % path(dartPath, 'client', 'json', 'dart_json.dart'),
|
| - ]
|
| - pipe = subprocess.Popen(command,
|
| - stdout=subprocess.PIPE,
|
| - stderr=subprocess.PIPE)
|
| - out, error = pipe.communicate()
|
| - if (pipe.returncode != 0):
|
| - raise Exception('Snapshot generation failed: %s/%s' % (out, error))
|
| -
|
| - return 0
|
| -
|
| -if __name__ == '__main__':
|
| - sys.exit(main(sys.argv))
|
|
|