| Index: third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js
|
| diff --git a/third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js b/third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js
|
| index ad5ce0a9ac00037d97bf8ed06ff6abfb6bbcb5b7..ce6d33d9c562b0ad164786cdb6b73f94a78ed401 100644
|
| --- a/third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js
|
| +++ b/third_party/polymer/v1_0/components-chromium/polymer/polymer-extracted.js
|
| @@ -528,6 +528,16 @@ var recognizers = Gestures.recognizers;
|
| for (var i = 0, r; i < recognizers.length; i++) {
|
| r = recognizers[i];
|
| if (gs[r.name] && !handled[r.name]) {
|
| +if (r.flow && r.flow.start.indexOf(ev.type) > -1) {
|
| +if (r.reset) {
|
| +r.reset();
|
| +}
|
| +}
|
| +}
|
| +}
|
| +for (var i = 0, r; i < recognizers.length; i++) {
|
| +r = recognizers[i];
|
| +if (gs[r.name] && !handled[r.name]) {
|
| handled[r.name] = true;
|
| r[type](ev);
|
| }
|
| @@ -559,6 +569,8 @@ prevent = dx > dy;
|
| }
|
| if (prevent) {
|
| ev.preventDefault();
|
| +} else {
|
| +Gestures.prevent('track');
|
| }
|
| }
|
| },
|
| @@ -700,6 +712,16 @@ deps: [
|
| 'touchmove',
|
| 'touchend'
|
| ],
|
| +flow: {
|
| +start: [
|
| +'mousedown',
|
| +'touchstart'
|
| +],
|
| +end: [
|
| +'mouseup',
|
| +'touchend'
|
| +]
|
| +},
|
| emits: ['track'],
|
| info: {
|
| x: 0,
|
| @@ -715,7 +737,7 @@ this.moves.push(move);
|
| },
|
| prevent: false
|
| },
|
| -clearInfo: function () {
|
| +reset: function () {
|
| this.info.state = 'start';
|
| this.info.started = false;
|
| this.info.moves = [];
|
| @@ -754,7 +776,6 @@ if (self.info.started) {
|
| Gestures.prevent('tap');
|
| movefn(e);
|
| }
|
| -self.clearInfo();
|
| document.removeEventListener('mousemove', movefn);
|
| document.removeEventListener('mouseup', upfn);
|
| };
|
| @@ -794,7 +815,6 @@ y: ct.clientY
|
| });
|
| this.fire(t, ct);
|
| }
|
| -this.clearInfo();
|
| },
|
| fire: function (target, touch) {
|
| var secondlast = this.info.moves[this.info.moves.length - 2];
|
| @@ -829,6 +849,16 @@ deps: [
|
| 'touchstart',
|
| 'touchend'
|
| ],
|
| +flow: {
|
| +start: [
|
| +'mousedown',
|
| +'touchstart'
|
| +],
|
| +end: [
|
| +'click',
|
| +'touchend'
|
| +]
|
| +},
|
| emits: ['tap'],
|
| info: {
|
| x: NaN,
|
| @@ -869,7 +899,6 @@ sourceEvent: e
|
| });
|
| }
|
| }
|
| -this.reset();
|
| }
|
| });
|
| var DIRECTION_MAP = {
|
| @@ -1566,7 +1595,12 @@ this._effectEffects('__static__', null, this._propertyEffects.__static__);
|
| });
|
| Polymer.Base._addFeature({
|
| _setupConfigure: function (initialConfig) {
|
| -this._config = initialConfig || {};
|
| +this._config = {};
|
| +for (var i in initialConfig) {
|
| +if (initialConfig[i] !== undefined) {
|
| +this._config[i] = initialConfig[i];
|
| +}
|
| +}
|
| this._handlers = [];
|
| },
|
| _marshalAttributes: function () {
|
| @@ -1695,8 +1729,9 @@ var array;
|
| var last = parts[parts.length - 1];
|
| if (parts.length > 1) {
|
| for (var i = 0; i < parts.length - 1; i++) {
|
| -prop = prop[parts[i]];
|
| -if (array) {
|
| +var part = parts[i];
|
| +prop = prop[part];
|
| +if (array && parseInt(part) == part) {
|
| parts[i] = Polymer.Collection.get(array).getKey(prop);
|
| }
|
| if (!prop) {
|
| @@ -1704,15 +1739,13 @@ return;
|
| }
|
| array = Array.isArray(prop) ? prop : null;
|
| }
|
| -if (array) {
|
| +if (array && parseInt(last) == last) {
|
| var coll = Polymer.Collection.get(array);
|
| var old = prop[last];
|
| var key = coll.getKey(old);
|
| -if (key) {
|
| parts[i] = key;
|
| coll.setItem(key, value);
|
| }
|
| -}
|
| prop[last] = value;
|
| if (!root) {
|
| this.notifyPath(parts.join('.'), value);
|
| @@ -2808,6 +2841,7 @@ Polymer.Base._addFeature({
|
| _prepStyleProperties: function () {
|
| this._ownStylePropertyNames = this._styles ? propertyUtils.decorateStyles(this._styles) : [];
|
| },
|
| +customStyle: {},
|
| _setupStyleProperties: function () {
|
| this.customStyle = {};
|
| },
|
| @@ -3039,15 +3073,8 @@ styleTransformer.documentRule(rule);
|
| }());
|
| Polymer.Templatizer = {
|
| properties: { __hideTemplateChildren__: { observer: '_showHideChildren' } },
|
| -_templatizerStatic: {
|
| -count: 0,
|
| -callbacks: {},
|
| -debouncer: null
|
| -},
|
| _instanceProps: Polymer.nob,
|
| -created: function () {
|
| -this._templatizerId = this._templatizerStatic.count++;
|
| -},
|
| +_parentPropPrefix: '_parent_',
|
| templatize: function (template) {
|
| if (!template._content) {
|
| template._content = template.content;
|
| @@ -3091,20 +3118,10 @@ n.__hideTemplateChildren__ = hide;
|
| }
|
| },
|
| _debounceTemplate: function (fn) {
|
| -this._templatizerStatic.callbacks[this._templatizerId] = fn.bind(this);
|
| -this._templatizerStatic.debouncer = Polymer.Debounce(this._templatizerStatic.debouncer, this._flushTemplates.bind(this, true));
|
| +Polymer.dom.addDebouncer(this.debounce('_debounceTemplate', fn));
|
| },
|
| _flushTemplates: function (debouncerExpired) {
|
| -var db = this._templatizerStatic.debouncer;
|
| -while (debouncerExpired || db && db.finish) {
|
| -db.stop();
|
| -var cbs = this._templatizerStatic.callbacks;
|
| -this._templatizerStatic.callbacks = {};
|
| -for (var id in cbs) {
|
| -cbs[id]();
|
| -}
|
| -debouncerExpired = false;
|
| -}
|
| +Polymer.dom.flush();
|
| },
|
| _customPrepEffects: function (archetype) {
|
| var parentProps = archetype._parentProps;
|
| @@ -3144,7 +3161,7 @@ if (template != this) {
|
| Polymer.Bind.prepareModel(proto);
|
| }
|
| for (prop in parentProps) {
|
| -var parentProp = '_parent_' + prop;
|
| +var parentProp = this._parentPropPrefix + prop;
|
| var effects = [
|
| {
|
| kind: 'function',
|
| @@ -3168,8 +3185,9 @@ this._forwardParentProp(prop, value);
|
| };
|
| },
|
| _createHostPropEffector: function (prop) {
|
| +var prefix = this._parentPropPrefix;
|
| return function (source, value) {
|
| -this.dataHost['_parent_' + prop] = value;
|
| +this.dataHost[prefix + prop] = value;
|
| };
|
| },
|
| _createInstancePropEffector: function (prop) {
|
| @@ -3201,12 +3219,12 @@ var dot = path.indexOf('.');
|
| var root = dot < 0 ? path : path.slice(0, dot);
|
| dataHost._forwardInstancePath.call(dataHost, this, path, value);
|
| if (root in dataHost._parentProps) {
|
| -dataHost.notifyPath('_parent_' + path, value);
|
| +dataHost.notifyPath(dataHost._parentPropPrefix + path, value);
|
| }
|
| },
|
| _pathEffector: function (path, value, fromAbove) {
|
| if (this._forwardParentPath) {
|
| -if (path.indexOf('_parent_') === 0) {
|
| +if (path.indexOf(this._parentPropPrefix) === 0) {
|
| this._forwardParentPath(path.substring(8), value);
|
| }
|
| }
|
| @@ -3254,7 +3272,7 @@ stamp: function (model) {
|
| model = model || {};
|
| if (this._parentProps) {
|
| for (var prop in this._parentProps) {
|
| -model[prop] = this['_parent_' + prop];
|
| +model[prop] = this[this._parentPropPrefix + prop];
|
| }
|
| }
|
| return new this.ctor(model, this);
|
| @@ -3970,7 +3988,16 @@ Polymer({
|
| is: 'dom-bind',
|
| extends: 'template',
|
| created: function () {
|
| -Polymer.ImportStatus.whenLoaded(this._readySelf.bind(this));
|
| +Polymer.ImportStatus.whenLoaded(this._markImportsReady.bind(this));
|
| +},
|
| +_ensureReady: function () {
|
| +if (!this._readied) {
|
| +this._readySelf();
|
| +}
|
| +},
|
| +_markImportsReady: function () {
|
| +this._importsReady = true;
|
| +this._ensureReady();
|
| },
|
| _registerFeatures: function () {
|
| this._prepConstructor();
|
| @@ -4003,6 +4030,15 @@ config[prop] = this[prop];
|
| this._setupConfigure = this._setupConfigure.bind(this, config);
|
| },
|
| attached: function () {
|
| +if (this._importsReady) {
|
| +this.render();
|
| +}
|
| +},
|
| +detached: function () {
|
| +this._removeChildren();
|
| +},
|
| +render: function () {
|
| +this._ensureReady();
|
| if (!this._children) {
|
| this._template = this;
|
| this._prepAnnotations();
|
| @@ -4015,8 +4051,5 @@ this._children = Array.prototype.slice.call(this.root.childNodes);
|
| }
|
| this._insertChildren();
|
| this.fire('dom-change');
|
| -},
|
| -detached: function () {
|
| -this._removeChildren();
|
| }
|
| });
|
|
|