| Index: third_party/polymer/v1_0/components/neon-animation/neon-animatable-behavior.html
 | 
| diff --git a/third_party/polymer/v1_0/components/neon-animation/neon-animatable-behavior.html b/third_party/polymer/v1_0/components/neon-animation/neon-animatable-behavior.html
 | 
| deleted file mode 100644
 | 
| index fac56f8081b3f27addb8b880dbe93d0e0a496005..0000000000000000000000000000000000000000
 | 
| --- a/third_party/polymer/v1_0/components/neon-animation/neon-animatable-behavior.html
 | 
| +++ /dev/null
 | 
| @@ -1,156 +0,0 @@
 | 
| -<!--
 | 
| -Copyright (c) 2015 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
 | 
| --->
 | 
| -
 | 
| -<link rel="import" href="../polymer/polymer.html">
 | 
| -<link rel="import" href="animations/opaque-animation.html">
 | 
| -
 | 
| -<script>
 | 
| -
 | 
| -  /**
 | 
| -   * `Polymer.NeonAnimatableBehavior` is implemented by elements containing animations for use with
 | 
| -   * elements implementing `Polymer.NeonAnimationRunnerBehavior`.
 | 
| -   * @polymerBehavior
 | 
| -   */
 | 
| -  Polymer.NeonAnimatableBehavior = {
 | 
| -
 | 
| -    properties: {
 | 
| -
 | 
| -      /**
 | 
| -       * Animation configuration. See README for more info.
 | 
| -       */
 | 
| -      animationConfig: {
 | 
| -        type: Object
 | 
| -      },
 | 
| -
 | 
| -      /**
 | 
| -       * Convenience property for setting an 'entry' animation. Do not set `animationConfig.entry`
 | 
| -       * manually if using this. The animated node is set to `this` if using this property.
 | 
| -       */
 | 
| -      entryAnimation: {
 | 
| -        observer: '_entryAnimationChanged',
 | 
| -        type: String
 | 
| -      },
 | 
| -
 | 
| -      /**
 | 
| -       * Convenience property for setting an 'exit' animation. Do not set `animationConfig.exit`
 | 
| -       * manually if using this. The animated node is set to `this` if using this property.
 | 
| -       */
 | 
| -      exitAnimation: {
 | 
| -        observer: '_exitAnimationChanged',
 | 
| -        type: String
 | 
| -      }
 | 
| -
 | 
| -    },
 | 
| -
 | 
| -    _entryAnimationChanged: function() {
 | 
| -      this.animationConfig = this.animationConfig || {};
 | 
| -      if (this.entryAnimation !== 'fade-in-animation') {
 | 
| -        // insert polyfill hack
 | 
| -        this.animationConfig['entry'] = [{
 | 
| -          name: 'opaque-animation',
 | 
| -          node: this
 | 
| -        }, {
 | 
| -          name: this.entryAnimation,
 | 
| -          node: this
 | 
| -        }];
 | 
| -      } else {
 | 
| -        this.animationConfig['entry'] = [{
 | 
| -          name: this.entryAnimation,
 | 
| -          node: this
 | 
| -        }];
 | 
| -      }
 | 
| -    },
 | 
| -
 | 
| -    _exitAnimationChanged: function() {
 | 
| -      this.animationConfig = this.animationConfig || {};
 | 
| -      this.animationConfig['exit'] = [{
 | 
| -        name: this.exitAnimation,
 | 
| -        node: this
 | 
| -      }];
 | 
| -    },
 | 
| -
 | 
| -    _copyProperties: function(config1, config2) {
 | 
| -      // shallowly copy properties from config2 to config1
 | 
| -      for (var property in config2) {
 | 
| -        config1[property] = config2[property];
 | 
| -      }
 | 
| -    },
 | 
| -
 | 
| -    _cloneConfig: function(config) {
 | 
| -      var clone = {
 | 
| -        isClone: true
 | 
| -      };
 | 
| -      this._copyProperties(clone, config);
 | 
| -      return clone;
 | 
| -    },
 | 
| -
 | 
| -    _getAnimationConfigRecursive: function(type, map, allConfigs) {
 | 
| -      if (!this.animationConfig) {
 | 
| -        return;
 | 
| -      }
 | 
| -
 | 
| -      // type is optional
 | 
| -      var thisConfig;
 | 
| -      if (type) {
 | 
| -        thisConfig = this.animationConfig[type];
 | 
| -      } else {
 | 
| -        thisConfig = this.animationConfig;
 | 
| -      }
 | 
| -
 | 
| -      if (!Array.isArray(thisConfig)) {
 | 
| -        thisConfig = [thisConfig];
 | 
| -      }
 | 
| -
 | 
| -      // iterate animations and recurse to process configurations from child nodes
 | 
| -      if (thisConfig) {
 | 
| -        for (var config, index = 0; config = thisConfig[index]; index++) {
 | 
| -          if (config.animatable) {
 | 
| -            config.animatable._getAnimationConfigRecursive(config.type || type, map, allConfigs);
 | 
| -          } else {
 | 
| -            if (config.id) {
 | 
| -              var cachedConfig = map[config.id];
 | 
| -              if (cachedConfig) {
 | 
| -                // merge configurations with the same id, making a clone lazily
 | 
| -                if (!cachedConfig.isClone) {
 | 
| -                  map[config.id] = this._cloneConfig(cachedConfig)
 | 
| -                  cachedConfig = map[config.id];
 | 
| -                }
 | 
| -                this._copyProperties(cachedConfig, config);
 | 
| -              } else {
 | 
| -                // put any configs with an id into a map
 | 
| -                map[config.id] = config;
 | 
| -              }
 | 
| -            } else {
 | 
| -              allConfigs.push(config);
 | 
| -            }
 | 
| -          }
 | 
| -        }
 | 
| -      }
 | 
| -    },
 | 
| -
 | 
| -    /**
 | 
| -     * An element implementing `Polymer.NeonAnimationRunnerBehavior` calls this method to configure
 | 
| -     * an animation with an optional type. Elements implementing `Polymer.NeonAnimatableBehavior`
 | 
| -     * should define the property `animationConfig`, which is either a configuration object
 | 
| -     * or a map of animation type to array of configuration objects.
 | 
| -     */
 | 
| -    getAnimationConfig: function(type) {
 | 
| -      var map = [];
 | 
| -      var allConfigs = [];
 | 
| -      this._getAnimationConfigRecursive(type, map, allConfigs);
 | 
| -      // append the configurations saved in the map to the array
 | 
| -      for (var key in map) {
 | 
| -        allConfigs.push(map[key]);
 | 
| -      }
 | 
| -      return allConfigs;
 | 
| -    }
 | 
| -
 | 
| -  };
 | 
| -
 | 
| -</script>
 | 
| 
 |