Chromium Code Reviews| Index: lib/runtime/dart_library.js |
| diff --git a/lib/runtime/dart_library.js b/lib/runtime/dart_library.js |
| deleted file mode 100644 |
| index 3b766c227f11ab39fb882afa5c599dd776025567..0000000000000000000000000000000000000000 |
| --- a/lib/runtime/dart_library.js |
| +++ /dev/null |
| @@ -1,168 +0,0 @@ |
| -// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
|
vsm
2016/08/25 12:19:24
Not showing in the change, but I assume dart_sdk.j
Jennifer Messerly
2016/08/25 16:21:39
weird. yes lib/runtime is totally gone, I did a `g
|
| -// 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. |
| - |
| -/* This file defines the module loader for the dart runtime. |
| -*/ |
| - |
| -var dart_library = |
| - typeof module != "undefined" && module.exports || {}; |
| - |
| -(function (dart_library) { |
| - 'use strict'; |
| - |
| - /** Note that we cannot use dart_utils.throwInternalError from here. */ |
| - function throwLibraryError(message) { |
| - throw Error(message); |
| - } |
| - |
| - const dartLibraryName = Symbol('dartLibraryName'); |
| - dart_library.dartLibraryName = dartLibraryName; |
| - |
| - const libraryImports = Symbol('libraryImports'); |
| - dart_library.libraryImports = libraryImports; |
| - |
| - // Module support. This is a simplified module system for Dart. |
| - // Longer term, we can easily migrate to an existing JS module system: |
| - // ES6, AMD, RequireJS, .... |
| - |
| - class LibraryLoader { |
| - |
| - constructor(name, defaultValue, imports, loader) { |
| - this._name = name; |
| - this._library = defaultValue ? defaultValue : {}; |
| - this._imports = imports; |
| - this._loader = loader; |
| - |
| - // Cyclic import detection |
| - this._state = LibraryLoader.NOT_LOADED; |
| - } |
| - |
| - loadImports() { |
| - let results = []; |
| - for (let name of this._imports) { |
| - let lib = libraries.get(name); |
| - if (!lib) { |
| - throwLibraryError('Library not available: ' + name); |
| - } |
| - results.push(lib.load()); |
| - } |
| - return results; |
| - } |
| - |
| - load() { |
| - // Check for cycles |
| - if (this._state == LibraryLoader.LOADING) { |
| - throwLibraryError('Circular dependence on library: ' |
| - + this._name); |
| - } else if (this._state >= LibraryLoader.READY) { |
| - return this._library; |
| - } |
| - this._state = LibraryLoader.LOADING; |
| - |
| - // Handle imports |
| - let args = this.loadImports(); |
| - |
| - // Load the library |
| - args.unshift(this._library); |
| - this._loader.apply(null, args); |
| - this._state = LibraryLoader.READY; |
| - this._library[dartLibraryName] = this._name; |
| - this._library[libraryImports] = this._imports; |
| - return this._library; |
| - } |
| - |
| - stub() { |
| - return this._library; |
| - } |
| - } |
| - LibraryLoader.NOT_LOADED = 0; |
| - LibraryLoader.LOADING = 1; |
| - LibraryLoader.READY = 2; |
| - |
| - // Map from name to LibraryLoader |
| - let libraries = new Map(); |
| - dart_library.libraries = function() { return libraries.keys(); }; |
| - dart_library.debuggerLibraries = function() { |
| - var debuggerLibraries = []; |
| - libraries.forEach(function (value, key, map) { |
| - debuggerLibraries.push(value.load()); |
| - }); |
| - debuggerLibraries.__proto__ = null; |
| - return debuggerLibraries; |
| - }; |
| - |
| - function library(name, defaultValue, imports, loader) { |
| - let result = new LibraryLoader(name, defaultValue, imports, loader); |
| - libraries.set(name, result); |
| - return result; |
| - } |
| - dart_library.library = library; |
| - |
| - function import_(libraryName) { |
| - bootstrap(); |
| - let loader = libraries.get(libraryName); |
| - // TODO(vsm): A user might call this directly from JS (as we do in tests). |
| - // We may want a different error type. |
| - if (!loader) throwLibraryError('Library not found: ' + libraryName); |
| - return loader.load(); |
| - } |
| - dart_library.import = import_; |
| - |
| - function start(moduleName, libraryName) { |
| - if (libraryName == null) libraryName = moduleName; |
| - let library = import_(moduleName)[libraryName]; |
| - let dart_sdk = import_('dart_sdk'); |
| - dart_sdk._isolate_helper.startRootIsolate(library.main, []); |
| - } |
| - dart_library.start = start; |
| - |
| - let _bootstrapped = false; |
| - function bootstrap() { |
| - if (_bootstrapped) return; |
| - _bootstrapped = true; |
| - |
| - // Force import of core. |
| - var dart_sdk = import_('dart_sdk'); |
| - |
| - // TODO(vsm): DOM facades? |
| - // See: https://github.com/dart-lang/dev_compiler/issues/173 |
| - if (typeof NodeList !== "undefined") { |
| - NodeList.prototype.get = function(i) { return this[i]; }; |
| - NamedNodeMap.prototype.get = function(i) { return this[i]; }; |
| - DOMTokenList.prototype.get = function(i) { return this[i]; }; |
| - HTMLCollection.prototype.get = function(i) { return this[i]; }; |
| - // Expose constructors for DOM types dart:html needs to assume are |
| - // available on window. |
| - if (typeof PannerNode == "undefined") { |
| - let audioContext = new AudioContext(); |
| - window.PannerNode = audioContext.createPanner().constructor; |
| - window.StereoPannerNode = audioContext.createStereoPanner().constructor; |
| - } |
| - if (typeof AudioSourceNode == "undefined") { |
| - window.AudioSourceNode = MediaElementAudioSourceNode.constructor; |
| - } |
| - if (typeof FontFaceSet == "undefined") { |
| - window.FontFaceSet = document.fonts.__proto__.constructor; |
| - } |
| - if (typeof MemoryInfo == "undefined") { |
| - window.MemoryInfo = window.performance.memory.constructor; |
| - } |
| - if (typeof Geolocation == "undefined") { |
| - navigator.geolocation.constructor; |
| - } |
| - if (typeof Animation == "undefined") { |
| - let d = document.createElement('div'); |
| - window.Animation = d.animate(d).constructor; |
| - } |
| - if (typeof SourceBufferList == "undefined") { |
| - window.SourceBufferList = new MediaSource().sourceBuffers.constructor; |
| - } |
| - } |
| - |
| - // This import is only needed for chrome debugging. We should provide an |
| - // option to compile without it. |
| - dart_sdk._debugger.registerDevtoolsFormatter(); |
| - } |
| - |
| -})(dart_library); |