| Index: third_party/polymer/v0_8/components/polymer/src/mini/ready.html
|
| diff --git a/third_party/polymer/v0_8/components/polymer/src/mini/ready.html b/third_party/polymer/v0_8/components/polymer/src/mini/ready.html
|
| deleted file mode 100644
|
| index 1cd611bd0c71af374703c481f390ad7cb0fc101b..0000000000000000000000000000000000000000
|
| --- a/third_party/polymer/v0_8/components/polymer/src/mini/ready.html
|
| +++ /dev/null
|
| @@ -1,152 +0,0 @@
|
| -<!--
|
| -@license
|
| -Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
| -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
| -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
| -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
| -Code distributed by Google as part of the polymer project is also
|
| -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
| --->
|
| -<script>
|
| -
|
| - /**
|
| - * Provides `ready` lifecycle callback which is called parent to child.
|
| - *
|
| - * This can be useful in a number of cases. Here are some examples:
|
| - *
|
| - * Setting a default property value that should have a side effect: To ensure
|
| - * the side effect, an element must set a default value no sooner than
|
| - * `created`; however, since `created` flows child to host, this is before the
|
| - * host has had a chance to set a property value on the child. The `ready`
|
| - * method solves this problem since it's called host to child.
|
| - *
|
| - * Dom distribution: To support reprojection efficiently, it's important to
|
| - * distribute from host to child in one shot. The `attachedCallback` mostly
|
| - * goes in the desired order except for elements that are in dom to start; in
|
| - * this case, all children are attached before the host element. Ready also
|
| - * addresses this case since it's guaranteed to be called host to child.
|
| - *
|
| - * @class standard feature: ready
|
| - */
|
| -
|
| -(function() {
|
| -
|
| - var baseAttachedCallback = Polymer.Base.attachedCallback;
|
| -
|
| - Polymer.Base._addFeature({
|
| -
|
| - hostStack: [],
|
| -
|
| - // for overriding
|
| - ready: function() {
|
| - },
|
| -
|
| - // NOTE: The concept of 'host' is overloaded. There are two different
|
| - // notions:
|
| - // 1. an element hosts the elements in its local dom root.
|
| - // 2. an element hosts the elements on which it configures data.
|
| - // Practially, these notions are almost always coincident.
|
| - // Some special elements like templates may separate them.
|
| - // In order not to over-emphaisize this technical difference, we expose
|
| - // one concept to the user and it maps to the dom-related meaning of host.
|
| - //
|
| - // 1. set this element's `host` and push this element onto the `host`'s
|
| - // list of `client` elements
|
| - // 2. establish this element as the current hosting element (allows
|
| - // any elements we stamp to easily set host to us).
|
| - _pushHost: function(host) {
|
| - // NOTE: The `dataHost` of an element never changes.
|
| - this.dataHost = host = host ||
|
| - Polymer.Base.hostStack[Polymer.Base.hostStack.length-1];
|
| - // this.dataHost reflects the parent element who manages
|
| - // any bindings for the element. Only elements originally
|
| - // stamped from Polymer templates have a dataHost, and this
|
| - // never changes
|
| - if (host && host._clients) {
|
| - host._clients.push(this);
|
| - }
|
| - this._beginHost();
|
| - },
|
| -
|
| - _beginHost: function() {
|
| - Polymer.Base.hostStack.push(this);
|
| - if (!this._clients) {
|
| - this._clients = [];
|
| - }
|
| - },
|
| -
|
| - _popHost: function() {
|
| - // this element is no longer the current hosting element
|
| - Polymer.Base.hostStack.pop();
|
| - },
|
| -
|
| - _tryReady: function() {
|
| - if (this._canReady()) {
|
| - this._ready();
|
| - }
|
| - },
|
| -
|
| - _canReady: function() {
|
| - return !this.dataHost || this.dataHost._clientsReadied;
|
| - },
|
| -
|
| - _ready: function() {
|
| - // extension point
|
| - this._beforeClientsReady();
|
| - this._readyClients();
|
| - // extension point
|
| - this._afterClientsReady();
|
| - this._readySelf();
|
| - },
|
| -
|
| - _readyClients: function() {
|
| - // prepare root
|
| - this._setupRoot();
|
| - // logically distribute self
|
| - this._beginDistribute();
|
| - // now fully prepare localChildren
|
| - var c$ = this._clients;
|
| - for (var i=0, l= c$.length, c; (i<l) && (c=c$[i]); i++) {
|
| - c._ready();
|
| - }
|
| - // perform actual dom composition
|
| - this._finishDistribute();
|
| - // ensure elements are attached if they are in the dom at ready time
|
| - // helps normalize attached ordering between native and polyfill ce.
|
| - // TODO(sorvell): worth perf cost? ~6%
|
| - // if (!Polymer.Settings.useNativeCustomElements) {
|
| - // CustomElements.takeRecords();
|
| - // }
|
| - this._clientsReadied = true;
|
| - this._clients = null;
|
| - },
|
| -
|
| - // mark readied and call `ready`
|
| - // note: called localChildren -> host
|
| - _readySelf: function() {
|
| - this._doBehavior('ready');
|
| - this._readied = true;
|
| - if (this._attachedPending) {
|
| - this._attachedPending = false;
|
| - this.attachedCallback();
|
| - }
|
| - },
|
| -
|
| - // for system overriding
|
| - _beforeClientsReady: function() {},
|
| - _afterClientsReady: function() {},
|
| -
|
| - // normalize lifecycle: ensure attached occurs only after ready.
|
| - attachedCallback: function() {
|
| - if (this._readied) {
|
| - baseAttachedCallback.call(this);
|
| - } else {
|
| - this._attachedPending = true;
|
| - }
|
| - }
|
| -
|
| - });
|
| -
|
| -})();
|
| -
|
| -</script>
|
|
|