| Index: client/dom/scripts/fremontcutbuilder.py
|
| ===================================================================
|
| --- client/dom/scripts/fremontcutbuilder.py (revision 5796)
|
| +++ client/dom/scripts/fremontcutbuilder.py (working copy)
|
| @@ -1,191 +0,0 @@
|
| -#!/usr/bin/python
|
| -# Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
| -# for details. All rights reserved. Use of this source code is governed by a
|
| -# BSD-style license that can be found in the LICENSE file.
|
| -
|
| -import database
|
| -import databasebuilder
|
| -import idlparser
|
| -import os.path
|
| -import logging.config
|
| -import sys
|
| -
|
| -
|
| -def main():
|
| - """This code reconstructs the FremontCut IDL database from W3C,
|
| - WebKit and Dart IDL files."""
|
| - current_dir = os.path.dirname(__file__)
|
| - logging.config.fileConfig(os.path.join(current_dir, "logging.conf"))
|
| -
|
| - db = database.Database(os.path.join(current_dir, '..', 'database'))
|
| -
|
| - # Delete all existing IDLs in the DB.
|
| - db.Delete()
|
| -
|
| - builder = databasebuilder.DatabaseBuilder(db)
|
| -
|
| - # Import WebKit IDL files:
|
| - webkit_dirs = [
|
| - 'Modules/speech',
|
| - 'Modules/indexeddb',
|
| - 'css',
|
| - 'dom',
|
| - 'fileapi',
|
| - 'Modules/filesystem',
|
| - 'html',
|
| - 'html/canvas',
|
| - 'inspector',
|
| - 'loader',
|
| - 'loader/appcache',
|
| - 'Modules/mediastream',
|
| - 'Modules/geolocation',
|
| - 'notifications',
|
| - 'page',
|
| - 'plugins',
|
| - 'storage',
|
| - 'Modules/webdatabase',
|
| - 'svg',
|
| - 'Modules/webaudio',
|
| - 'Modules/websockets',
|
| - 'workers',
|
| - 'xml',
|
| - ]
|
| -
|
| - # TODO(vsm): Move this to a README.
|
| - # This is the Dart SVN revision.
|
| - webkit_revision = '1060'
|
| -
|
| - # TODO(vsm): Reconcile what is exposed here and inside WebKit code
|
| - # generation. We need to recheck this periodically for now.
|
| - webkit_defines = [
|
| - 'LANGUAGE_DART',
|
| - 'LANGUAGE_JAVASCRIPT',
|
| -
|
| - # Enabled Chrome WebKit build.
|
| - 'ENABLE_3D_PLUGIN',
|
| - 'ENABLE_3D_RENDERING',
|
| - 'ENABLE_ACCELERATED_2D_CANVAS',
|
| - 'ENABLE_BLOB',
|
| - 'ENABLE_BLOB_SLICE',
|
| - 'ENABLE_CHANNEL_MESSAGING',
|
| - 'ENABLE_CLIENT_BASED_GEOLOCATION',
|
| - 'ENABLE_DATA_TRANSFER_ITEMS',
|
| - 'ENABLE_DETAILS',
|
| - 'ENABLE_DEVICE_ORIENTATION',
|
| - 'ENABLE_DIRECTORY_UPLOAD',
|
| - 'ENABLE_DOWNLOAD_ATTRIBUTE',
|
| - 'ENABLE_FILE_SYSTEM',
|
| - 'ENABLE_FILTERS',
|
| - 'ENABLE_FULLSCREEN_API',
|
| - 'ENABLE_GAMEPAD',
|
| - 'ENABLE_GEOLOCATION',
|
| - 'ENABLE_GESTURE_EVENTS',
|
| - 'ENABLE_GESTURE_RECOGNIZER',
|
| - 'ENABLE_INDEXED_DATABASE',
|
| - 'ENABLE_INPUT_SPEECH',
|
| - 'ENABLE_JAVASCRIPT_DEBUGGER',
|
| - 'ENABLE_JAVASCRIPT_I18N_API',
|
| - 'ENABLE_LINK_PREFETCH',
|
| - 'ENABLE_MEDIA_SOURCE',
|
| - 'ENABLE_MEDIA_STATISTICS',
|
| - 'ENABLE_MEDIA_STREAM',
|
| - 'ENABLE_METER_TAG',
|
| - 'ENABLE_MHTML',
|
| - 'ENABLE_MOUSE_LOCK_API',
|
| - 'ENABLE_NOTIFICATIONS',
|
| - 'ENABLE_PAGE_VISIBILITY_API',
|
| - 'ENABLE_PROGRESS_TAG',
|
| - 'ENABLE_QUOTA',
|
| - 'ENABLE_REGISTER_PROTOCOL_HANDLER',
|
| - 'ENABLE_REQUEST_ANIMATION_FRAME',
|
| - 'ENABLE_RUBY',
|
| - 'ENABLE_SANDBOX',
|
| - 'ENABLE_SCRIPTED_SPEECH',
|
| - 'ENABLE_SHADOW_DOM',
|
| - 'ENABLE_SHARED_WORKERS',
|
| - 'ENABLE_SMOOTH_SCROLLING',
|
| - 'ENABLE_SPEECH_RECOGNITION',
|
| - 'ENABLE_SQL_DATABASE',
|
| - 'ENABLE_SVG',
|
| - 'ENABLE_SVG_FONTS',
|
| - 'ENABLE_TOUCH_EVENTS',
|
| - 'ENABLE_V8_SCRIPT_DEBUG_SERVER',
|
| - 'ENABLE_VIDEO',
|
| - 'ENABLE_VIDEO_TRACK',
|
| - 'ENABLE_WEBGL',
|
| - 'ENABLE_WEB_AUDIO',
|
| - 'ENABLE_WEB_SOCKETS',
|
| - 'ENABLE_WEB_TIMING',
|
| - 'ENABLE_WORKERS',
|
| - 'ENABLE_XHR_RESPONSE_BLOB',
|
| - 'ENABLE_XSLT',
|
| - ]
|
| - webkit_options = databasebuilder.DatabaseBuilderOptions(
|
| - idl_syntax=idlparser.WEBKIT_SYNTAX,
|
| -# TODO(vsm): What else should we define as on when processing IDL?
|
| - idl_defines=webkit_defines,
|
| - source='WebKit',
|
| - source_attributes={'revision': webkit_revision},
|
| - type_rename_map={
|
| - # Some of these are typos in the IDL.
|
| - 'float': 'double',
|
| - 'BarInfo': 'BarProp',
|
| - 'DedicatedWorkerContext': 'DedicatedWorkerGlobalScope',
|
| - 'DOMApplicationCache': 'ApplicationCache',
|
| - 'DOMCoreException': 'DOMException',
|
| - 'DOMExceptionJSC': 'DOMException', # Node.replaceChild
|
| - 'DomException': 'DOMException', # Navigator.registerProtocolHandler
|
| - 'DOMFormData': 'FormData',
|
| - 'DOMObject': 'object',
|
| - 'DOMSelection': 'Selection',
|
| - 'DOMWindow': 'Window',
|
| - 'Exception': 'DOMException', # NotificationCenter.createNotification
|
| - 'SharedWorkerContext': 'SharedWorkerGlobalScope',
|
| - 'WorkerContext': 'WorkerGlobalScope',
|
| - })
|
| -
|
| - optional_argument_whitelist = [
|
| - ('CSSStyleDeclaration', 'setProperty', 'priority'),
|
| - ('IDBDatabase', 'transaction', 'mode'),
|
| - ]
|
| -
|
| - for dir_name in webkit_dirs:
|
| - dir_path = os.path.join(current_dir, '..', '..', '..', '..',
|
| - 'third_party', 'WebKit', 'Source', 'WebCore', dir_name)
|
| - builder.import_idl_directory(dir_path, webkit_options)
|
| -
|
| - webkit_supplemental_options = databasebuilder.DatabaseBuilderOptions(
|
| - idl_syntax=idlparser.FREMONTCUT_SYNTAX,
|
| - source='WebKit',
|
| - rename_operation_arguments_on_merge=True)
|
| - builder.import_idl_file(
|
| - os.path.join(current_dir, '..', 'idl', 'dart', 'webkit-supplemental.idl'),
|
| - webkit_supplemental_options)
|
| -
|
| - # Import Dart idl:
|
| - dart_options = databasebuilder.DatabaseBuilderOptions(
|
| - idl_syntax=idlparser.FREMONTCUT_SYNTAX,
|
| - source='Dart',
|
| - rename_operation_arguments_on_merge=True)
|
| -
|
| - builder.import_idl_file(
|
| - os.path.join(current_dir, '..', 'idl', 'dart', 'dart.idl'),
|
| - dart_options)
|
| -
|
| - builder.set_same_signatures({
|
| - 'EventListener': 'Function',
|
| - 'int': 'long',
|
| - })
|
| -
|
| - # Merging:
|
| - builder.merge_imported_interfaces(optional_argument_whitelist)
|
| -
|
| - builder.fix_displacements('WebKit')
|
| -
|
| - # Cleanup:
|
| - builder.normalize_annotations(['WebKit', 'Dart'])
|
| -
|
| - db.Save()
|
| -
|
| -if __name__ == '__main__':
|
| - sys.exit(main())
|
|
|