| Index: runtime/bin/vmservice/observatory/deployed/web/packages/polymer/boot.js
|
| diff --git a/runtime/bin/vmservice/observatory/deployed/web/packages/polymer/boot.js b/runtime/bin/vmservice/observatory/deployed/web/packages/polymer/boot.js
|
| deleted file mode 100644
|
| index bdb1df4f4e630ad53b07772830bbdc2c9f3430fc..0000000000000000000000000000000000000000
|
| --- a/runtime/bin/vmservice/observatory/deployed/web/packages/polymer/boot.js
|
| +++ /dev/null
|
| @@ -1,133 +0,0 @@
|
| -// Copyright (c) 2014, 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.
|
| -
|
| -/// Experimental bootstrap to initialize polymer applications. This library is
|
| -/// not used by default, and may be replaced by Dart code in the near future.
|
| -///
|
| -/// This script contains logic to bootstrap polymer apps during development. It
|
| -/// internally discovers Dart script tags through HTML imports, and constructs
|
| -/// a new entrypoint for the application that is then launched in an isolate.
|
| -///
|
| -/// For each script tag found, we will load the corresponding Dart library and
|
| -/// execute all methods annotated with `@initMethod` and register all classes
|
| -/// labeled with `@CustomTag`. We keep track of the order of imports and execute
|
| -/// initializers in the same order.
|
| -///
|
| -/// You can this experimental bootstrap logic by including the
|
| -/// polymer_experimental.html import, instead of polymer.html:
|
| -///
|
| -/// <link rel="import" href="packages/polymer/polymer_experimental.html">
|
| -///
|
| -/// This bootstrap replaces `initPolymer` so Dart code might need to be changed
|
| -/// too. If you loaded init.dart directly, you can remove it. But if you invoke
|
| -/// initPolymer in your main, you should remove that call and change to use
|
| -/// `@initMethod` instead. The current bootstrap doesn't support having Dart
|
| -/// script tags in the main page, so you may need to move some code into an HTML
|
| -/// import. For example, If you need to run some initialization code before any
|
| -/// other code is executed, include an HTML import to an html file with a
|
| -/// "application/dart" script tag that contains an initializer
|
| -/// method with the body of your old main, and make sure this tag is placed
|
| -/// above other html-imports that load the rest of the application.
|
| -/// Initialization methods are executed in the order in which they are
|
| -/// discovered in the HTML document.
|
| -(function() {
|
| - // Only run in Dartium.
|
| - if (!navigator.dartEnabled &&
|
| - // TODO(sigmund): remove userAgent check once 1.6 rolls as stable.
|
| - // See: dartbug.com/18463
|
| - (navigator.userAgent.indexOf('(Dart)') === -1)) {
|
| - return;
|
| - }
|
| -
|
| - // Extract a Dart import URL from a script tag, which is the 'src' attribute
|
| - // of the script tag, or a data-url with the script contents for inlined code.
|
| - function getScriptUrl(script) {
|
| - var url = script.src;
|
| - if (url) {
|
| - // Normalize package: urls
|
| - var index = url.indexOf('packages/');
|
| - if (index == 0 || (index > 0 && url[index - 1] == '/')) {
|
| - url = "package:" + url.slice(index + 9);
|
| - }
|
| - return url;
|
| - }
|
| -
|
| - // TODO(sigmund): change back to application/dart: using application/json is
|
| - // wrong but it hides a warning in Dartium (dartbug.com/18000).
|
| - return "data:application/json;base64," + window.btoa(script.textContent);
|
| - }
|
| -
|
| - // Creates a Dart program that imports [urls] and passes them to
|
| - // startPolymerInDevelopment, which in turn will invoke methods marked with
|
| - // @initMethod, and register any custom tag labeled with @CustomTag in those
|
| - // libraries.
|
| - function createMain(urls, mainUrl) {
|
| - var imports = Array(urls.length + 1);
|
| - for (var i = 0; i < urls.length; ++i) {
|
| - imports[i] = 'import "' + urls[i] + '" as i' + i + ';';
|
| - }
|
| - imports[urls.length] = 'import "package:polymer/src/mirror_loader.dart";';
|
| - var arg = urls.length == 0 ? '[]' :
|
| - ('[\n "' + urls.join('",\n "') + '"\n ]');
|
| - return (imports.join('\n') +
|
| - '\n\nmain() {\n' +
|
| - ' startPolymerInDevelopment(' + arg + ');\n' +
|
| - '}\n');
|
| - }
|
| -
|
| - function discoverScripts(content, state, importedDoc) {
|
| - if (!state) {
|
| - // internal state tracking documents we've visited, the resulting list of
|
| - // scripts, and any tags with the incorrect mime-type.
|
| - state = {seen: {}, scripts: [], badTags: []};
|
| - }
|
| - if (!content) return state;
|
| -
|
| - // Note: we visit both script and link-imports together to ensure we
|
| - // preserve the order of the script tags as they are discovered.
|
| - var nodes = content.querySelectorAll('script,link[rel="import"]');
|
| - for (var i = 0; i < nodes.length; i++) {
|
| - var node = nodes[i];
|
| - if (node instanceof HTMLLinkElement) {
|
| - // TODO(jmesserly): figure out why ".import" fails in content_shell but
|
| - // works in Dartium.
|
| - if (node.import && node.import.href) node = node.import;
|
| -
|
| - if (state.seen[node.href]) continue;
|
| - state.seen[node.href] = node;
|
| - discoverScripts(node.import, state, true);
|
| - } else if (node instanceof HTMLScriptElement) {
|
| - if (node.type != 'application/dart') continue;
|
| - if (importedDoc) {
|
| - state.scripts.push(getScriptUrl(node));
|
| - } else {
|
| - state.badTags.push(node);
|
| - }
|
| - }
|
| - }
|
| - return state;
|
| - }
|
| -
|
| - // TODO(jmesserly): we're using this function because DOMContentLoaded can
|
| - // be fired too soon: https://www.w3.org/Bugs/Public/show_bug.cgi?id=23526
|
| - HTMLImports.whenReady(function() {
|
| - // Append a new script tag that initializes everything.
|
| - var newScript = document.createElement('script');
|
| - newScript.type = "application/dart";
|
| -
|
| - var results = discoverScripts(document);
|
| - if (results.badTags.length > 0) {
|
| - console.warn('The experimental polymer boostrap does not support '
|
| - + 'having script tags in the main document. You can move the script '
|
| - + 'tag to an HTML import instead. Also make sure your script tag '
|
| - + 'doesn\'t have a main, but a top-level method marked with '
|
| - + '@initMethod instead');
|
| - for (var i = 0; i < results.badTags.length; i++) {
|
| - console.warn(results.badTags[i]);
|
| - }
|
| - }
|
| - newScript.textContent = createMain(results.scripts);
|
| - document.body.appendChild(newScript);
|
| - });
|
| -})();
|
|
|