| 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 ce6d33d9c562b0ad164786cdb6b73f94a78ed401..aad713d4b462a2b4a2e54cc641d8db89cfaf7202 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
|
| @@ -406,6 +406,19 @@ var MOUSE_EVENTS = [
|
| 'mouseup',
|
| 'click'
|
| ];
|
| +var MOUSE_WHICH_TO_BUTTONS = [
|
| +0,
|
| +1,
|
| +4,
|
| +2
|
| +];
|
| +var MOUSE_HAS_BUTTONS = function () {
|
| +try {
|
| +return new MouseEvent('test', { buttons: 1 }).buttons === 1;
|
| +} catch (e) {
|
| +return false;
|
| +}
|
| +}();
|
| var IS_TOUCH_ONLY = navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);
|
| var mouseCanceller = function (mouseEvent) {
|
| mouseEvent[HANDLED_OBJ] = { skip: true };
|
| @@ -444,6 +457,34 @@ POINTERSTATE.mouse.mouseIgnoreJob = null;
|
| };
|
| POINTERSTATE.mouse.mouseIgnoreJob = Polymer.Debounce(POINTERSTATE.mouse.mouseIgnoreJob, unset, MOUSE_TIMEOUT);
|
| }
|
| +function hasLeftMouseButton(ev) {
|
| +var type = ev.type;
|
| +if (MOUSE_EVENTS.indexOf(type) === -1) {
|
| +return false;
|
| +}
|
| +if (type === 'mousemove') {
|
| +var buttons = ev.buttons === undefined ? 1 : ev.buttons;
|
| +if (ev instanceof window.MouseEvent && !MOUSE_HAS_BUTTONS) {
|
| +buttons = MOUSE_WHICH_TO_BUTTONS[ev.which] || 0;
|
| +}
|
| +return Boolean(buttons & 1);
|
| +} else {
|
| +var button = ev.button === undefined ? 0 : ev.button;
|
| +return button === 0;
|
| +}
|
| +}
|
| +function isSyntheticClick(ev) {
|
| +if (ev.type === 'click') {
|
| +if (ev.detail === 0) {
|
| +return true;
|
| +}
|
| +var t = Gestures.findOriginalTarget(ev);
|
| +var bcr = t.getBoundingClientRect();
|
| +var x = ev.pageX, y = ev.pageY;
|
| +return !(x >= bcr.left && x <= bcr.right && (y >= bcr.top && y <= bcr.bottom));
|
| +}
|
| +return false;
|
| +}
|
| var POINTERSTATE = {
|
| mouse: {
|
| target: null,
|
| @@ -468,6 +509,16 @@ break;
|
| }
|
| return ta;
|
| }
|
| +function trackDocument(stateObj, movefn, upfn) {
|
| +stateObj.movefn = movefn;
|
| +stateObj.upfn = upfn;
|
| +document.addEventListener('mousemove', movefn);
|
| +document.addEventListener('mouseup', upfn);
|
| +}
|
| +function untrackDocument(stateObj) {
|
| +document.removeEventListener('mousemove', stateObj.movefn);
|
| +document.removeEventListener('mouseup', stateObj.upfn);
|
| +}
|
| var Gestures = {
|
| gestures: {},
|
| recognizers: [],
|
| @@ -673,18 +724,48 @@ deps: [
|
| 'touchstart',
|
| 'touchend'
|
| ],
|
| +flow: {
|
| +start: [
|
| +'mousedown',
|
| +'touchstart'
|
| +],
|
| +end: [
|
| +'mouseup',
|
| +'touchend'
|
| +]
|
| +},
|
| emits: [
|
| 'down',
|
| 'up'
|
| ],
|
| +info: {
|
| +movefn: function () {
|
| +},
|
| +upfn: function () {
|
| +}
|
| +},
|
| +reset: function () {
|
| +untrackDocument(this.info);
|
| +},
|
| mousedown: function (e) {
|
| +if (!hasLeftMouseButton(e)) {
|
| +return;
|
| +}
|
| var t = Gestures.findOriginalTarget(e);
|
| var self = this;
|
| +var movefn = function movefn(e) {
|
| +if (!hasLeftMouseButton(e)) {
|
| +self.fire('up', t, e);
|
| +untrackDocument(self.info);
|
| +}
|
| +};
|
| var upfn = function upfn(e) {
|
| +if (hasLeftMouseButton(e)) {
|
| self.fire('up', t, e);
|
| -document.removeEventListener('mouseup', upfn);
|
| +}
|
| +untrackDocument(self.info);
|
| };
|
| -document.addEventListener('mouseup', upfn);
|
| +trackDocument(this.info, movefn, upfn);
|
| this.fire('down', t, e);
|
| },
|
| touchstart: function (e) {
|
| @@ -735,6 +816,10 @@ this.moves.shift();
|
| }
|
| this.moves.push(move);
|
| },
|
| +movefn: function () {
|
| +},
|
| +upfn: function () {
|
| +},
|
| prevent: false
|
| },
|
| reset: function () {
|
| @@ -744,6 +829,7 @@ this.info.moves = [];
|
| this.info.x = 0;
|
| this.info.y = 0;
|
| this.info.prevent = false;
|
| +untrackDocument(this.info);
|
| },
|
| hasMovedEnough: function (x, y) {
|
| if (this.info.prevent) {
|
| @@ -757,6 +843,9 @@ var dy = Math.abs(this.info.y - y);
|
| return dx >= TRACK_DISTANCE || dy >= TRACK_DISTANCE;
|
| },
|
| mousedown: function (e) {
|
| +if (!hasLeftMouseButton(e)) {
|
| +return;
|
| +}
|
| var t = Gestures.findOriginalTarget(e);
|
| var self = this;
|
| var movefn = function movefn(e) {
|
| @@ -767,6 +856,10 @@ self.info.addMove({
|
| x: x,
|
| y: y
|
| });
|
| +if (!hasLeftMouseButton(e)) {
|
| +self.info.state = 'end';
|
| +untrackDocument(self.info);
|
| +}
|
| self.fire(t, e);
|
| self.info.started = true;
|
| }
|
| @@ -776,11 +869,9 @@ if (self.info.started) {
|
| Gestures.prevent('tap');
|
| movefn(e);
|
| }
|
| -document.removeEventListener('mousemove', movefn);
|
| -document.removeEventListener('mouseup', upfn);
|
| +untrackDocument(self.info);
|
| };
|
| -document.addEventListener('mousemove', movefn);
|
| -document.addEventListener('mouseup', upfn);
|
| +trackDocument(this.info, movefn, upfn);
|
| this.info.x = e.clientX;
|
| this.info.y = e.clientY;
|
| },
|
| @@ -875,10 +966,14 @@ this.info.x = e.clientX;
|
| this.info.y = e.clientY;
|
| },
|
| mousedown: function (e) {
|
| +if (hasLeftMouseButton(e)) {
|
| this.save(e);
|
| +}
|
| },
|
| click: function (e) {
|
| +if (hasLeftMouseButton(e)) {
|
| this.forward(e);
|
| +}
|
| },
|
| touchstart: function (e) {
|
| this.save(e.changedTouches[0]);
|
| @@ -890,7 +985,7 @@ forward: function (e) {
|
| var dx = Math.abs(e.clientX - this.info.x);
|
| var dy = Math.abs(e.clientY - this.info.y);
|
| var t = Gestures.findOriginalTarget(e);
|
| -if (isNaN(dx) || isNaN(dy) || dx <= TAP_DISTANCE && dy <= TAP_DISTANCE) {
|
| +if (isNaN(dx) || isNaN(dy) || dx <= TAP_DISTANCE && dy <= TAP_DISTANCE || isSyntheticClick(e)) {
|
| if (!this.info.prevent) {
|
| Gestures.fire(t, 'tap', {
|
| x: e.clientX,
|
| @@ -1511,7 +1606,7 @@ trigger: trigger
|
| });
|
| },
|
| _parseMethod: function (expression) {
|
| -var m = expression.match(/(\w*)\((.*)\)/);
|
| +var m = expression.match(/([^\s]+)\((.*)\)/);
|
| if (m) {
|
| var sig = {
|
| method: m[1],
|
| @@ -1606,6 +1701,10 @@ this._handlers = [];
|
| _marshalAttributes: function () {
|
| this._takeAttributesToModel(this._config);
|
| },
|
| +_attributeChangedImpl: function (name) {
|
| +var model = this._clientsReadied ? this : this._config;
|
| +this._setAttributeToProperty(model, name);
|
| +},
|
| _configValue: function (name, value) {
|
| this._config[name] = value;
|
| },
|
| @@ -1885,36 +1984,56 @@ var array = this.get(path);
|
| var args = Array.prototype.slice.call(arguments, 1);
|
| var len = array.length;
|
| var ret = array.push.apply(array, args);
|
| +if (args.length) {
|
| this._notifySplice(array, path, len, args.length, []);
|
| +}
|
| return ret;
|
| },
|
| pop: function (path) {
|
| var array = this.get(path);
|
| +var hadLength = Boolean(array.length);
|
| var args = Array.prototype.slice.call(arguments, 1);
|
| -var rem = array.slice(-1);
|
| var ret = array.pop.apply(array, args);
|
| -this._notifySplice(array, path, array.length, 0, rem);
|
| +if (hadLength) {
|
| +this._notifySplice(array, path, array.length, 0, [ret]);
|
| +}
|
| return ret;
|
| },
|
| splice: function (path, start, deleteCount) {
|
| var array = this.get(path);
|
| +if (start < 0) {
|
| +start = array.length - Math.floor(-start);
|
| +} else {
|
| +start = Math.floor(start);
|
| +}
|
| +if (!start) {
|
| +start = 0;
|
| +}
|
| var args = Array.prototype.slice.call(arguments, 1);
|
| var ret = array.splice.apply(array, args);
|
| -this._notifySplice(array, path, start, args.length - 2, ret);
|
| +var addedCount = Math.max(args.length - 2, 0);
|
| +if (addedCount || ret.length) {
|
| +this._notifySplice(array, path, start, addedCount, ret);
|
| +}
|
| return ret;
|
| },
|
| shift: function (path) {
|
| var array = this.get(path);
|
| +var hadLength = Boolean(array.length);
|
| var args = Array.prototype.slice.call(arguments, 1);
|
| var ret = array.shift.apply(array, args);
|
| +if (hadLength) {
|
| this._notifySplice(array, path, 0, 0, [ret]);
|
| +}
|
| return ret;
|
| },
|
| unshift: function (path) {
|
| var array = this.get(path);
|
| var args = Array.prototype.slice.call(arguments, 1);
|
| var ret = array.unshift.apply(array, args);
|
| +if (args.length) {
|
| this._notifySplice(array, path, 0, args.length, []);
|
| +}
|
| return ret;
|
| }
|
| });
|
| @@ -1937,7 +2056,7 @@ text = this._clean(text);
|
| return this._parseCss(this._lex(text), text);
|
| },
|
| _clean: function (cssText) {
|
| -return cssText.replace(rx.comments, '').replace(rx.port, '');
|
| +return cssText.replace(this._rx.comments, '').replace(this._rx.port, '');
|
| },
|
| _lex: function (text) {
|
| var root = {
|
| @@ -1976,15 +2095,15 @@ var ss = node.previous ? node.previous.end : node.parent.start;
|
| t = text.substring(ss, node.start - 1);
|
| t = t.substring(t.lastIndexOf(';') + 1);
|
| var s = node.parsedSelector = node.selector = t.trim();
|
| -node.atRule = s.indexOf(AT_START) === 0;
|
| +node.atRule = s.indexOf(this.AT_START) === 0;
|
| if (node.atRule) {
|
| -if (s.indexOf(MEDIA_START) === 0) {
|
| +if (s.indexOf(this.MEDIA_START) === 0) {
|
| node.type = this.types.MEDIA_RULE;
|
| -} else if (s.match(rx.keyframesRule)) {
|
| +} else if (s.match(this._rx.keyframesRule)) {
|
| node.type = this.types.KEYFRAMES_RULE;
|
| }
|
| } else {
|
| -if (s.indexOf(VAR_START) === 0) {
|
| +if (s.indexOf(this.VAR_START) === 0) {
|
| node.type = this.types.MIXIN_RULE;
|
| } else {
|
| node.type = this.types.STYLE_RULE;
|
| @@ -2004,12 +2123,12 @@ text = text || '';
|
| var cssText = '';
|
| if (node.cssText || node.rules) {
|
| var r$ = node.rules;
|
| -if (r$ && (preserveProperties || !hasMixinRules(r$))) {
|
| +if (r$ && (preserveProperties || !this._hasMixinRules(r$))) {
|
| for (var i = 0, l = r$.length, r; i < l && (r = r$[i]); i++) {
|
| cssText = this.stringify(r, preserveProperties, cssText);
|
| }
|
| } else {
|
| -cssText = preserveProperties ? node.cssText : removeCustomProps(node.cssText);
|
| +cssText = preserveProperties ? node.cssText : this.removeCustomProps(node.cssText);
|
| cssText = cssText.trim();
|
| if (cssText) {
|
| cssText = ' ' + cssText + '\n';
|
| @@ -2027,6 +2146,19 @@ text += this.CLOSE_BRACE + '\n\n';
|
| }
|
| return text;
|
| },
|
| +_hasMixinRules: function (rules) {
|
| +return rules[0].selector.indexOf(this.VAR_START) >= 0;
|
| +},
|
| +removeCustomProps: function (cssText) {
|
| +cssText = this.removeCustomPropAssignment(cssText);
|
| +return this.removeCustomPropApply(cssText);
|
| +},
|
| +removeCustomPropAssignment: function (cssText) {
|
| +return cssText.replace(this._rx.customProp, '').replace(this._rx.mixinProp, '');
|
| +},
|
| +removeCustomPropApply: function (cssText) {
|
| +return cssText.replace(this._rx.mixinApply, '').replace(this._rx.varApply, '');
|
| +},
|
| types: {
|
| STYLE_RULE: 1,
|
| KEYFRAMES_RULE: 7,
|
| @@ -2034,18 +2166,8 @@ MEDIA_RULE: 4,
|
| MIXIN_RULE: 1000
|
| },
|
| OPEN_BRACE: '{',
|
| -CLOSE_BRACE: '}'
|
| -};
|
| -function hasMixinRules(rules) {
|
| -return rules[0].selector.indexOf(VAR_START) >= 0;
|
| -}
|
| -function removeCustomProps(cssText) {
|
| -return cssText.replace(rx.customProp, '').replace(rx.mixinProp, '').replace(rx.mixinApply, '').replace(rx.varApply, '');
|
| -}
|
| -var VAR_START = '--';
|
| -var MEDIA_START = '@media';
|
| -var AT_START = '@';
|
| -var rx = {
|
| +CLOSE_BRACE: '}',
|
| +_rx: {
|
| comments: /\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,
|
| port: /@import[^;]*;/gim,
|
| customProp: /(?:^|[\s;])--[^;{]*?:[^{};]*?(?:[;\n]|$)/gim,
|
| @@ -2053,6 +2175,10 @@ mixinProp: /(?:^|[\s;])--[^;{]*?:[^{;]*?{[^}]*?}(?:[;\n]|$)?/gim,
|
| mixinApply: /@apply[\s]*\([^)]*?\)[\s]*(?:[;\n]|$)?/gim,
|
| varApply: /[^;:]*?:[^;]*var[^;]*(?:[;\n]|$)?/gim,
|
| keyframesRule: /^@[^\s]*keyframes/
|
| +},
|
| +VAR_START: '--',
|
| +MEDIA_START: '@media',
|
| +AT_START: '@'
|
| };
|
| return api;
|
| }();
|
| @@ -2085,7 +2211,7 @@ clearStyleRules: function (style) {
|
| style.__cssRules = null;
|
| },
|
| forEachStyleRule: function (node, callback) {
|
| -var s = node.selector;
|
| +var s = node.parsedSelector;
|
| var skipRules = false;
|
| if (node.type === this.ruleTypes.STYLE_RULE) {
|
| callback(node);
|
| @@ -2225,7 +2351,7 @@ var p$ = rule.selector.split(COMPLEX_SELECTOR_SEP);
|
| for (var i = 0, l = p$.length, p; i < l && (p = p$[i]); i++) {
|
| p$[i] = transformer.call(this, p, scope, hostScope);
|
| }
|
| -rule.selector = p$.join(COMPLEX_SELECTOR_SEP);
|
| +rule.selector = rule.transformedSelector = p$.join(COMPLEX_SELECTOR_SEP);
|
| },
|
| _transformComplexSelector: function (selector, scope, hostScope) {
|
| var stop = false;
|
| @@ -2580,7 +2706,8 @@ return property && property.trim() || '';
|
| },
|
| valueForProperties: function (property, props) {
|
| var parts = property.split(';');
|
| -for (var i = 0, p, m; i < parts.length && (p = parts[i]); i++) {
|
| +for (var i = 0, p, m; i < parts.length; i++) {
|
| +if (p = parts[i]) {
|
| m = p.match(this.rx.MIXIN_MATCH);
|
| if (m) {
|
| p = this.valueForProperty(props[m[1]], props);
|
| @@ -2594,6 +2721,7 @@ p = pp.join(':');
|
| }
|
| parts[i] = p && p.lastIndexOf(';') === p.length - 1 ? p.slice(0, -1) : p || '';
|
| }
|
| +}
|
| return parts.join(';');
|
| },
|
| applyProperties: function (rule, props) {
|
| @@ -2613,7 +2741,7 @@ styleUtil.forRulesInStyles(styles, function (rule) {
|
| if (!rule.propertyInfo) {
|
| self.decorateRule(rule);
|
| }
|
| -if (element && rule.propertyInfo.properties && matchesSelector.call(element, rule.selector)) {
|
| +if (element && rule.propertyInfo.properties && matchesSelector.call(element, rule.transformedSelector || rule.parsedSelector)) {
|
| self.collectProperties(rule, props);
|
| addToBitMask(i, o);
|
| }
|
| @@ -3011,9 +3139,9 @@ this._pushHost();
|
| this._stampTemplate();
|
| this._popHost();
|
| this._marshalAnnotationReferences();
|
| -this._marshalHostAttributes();
|
| this._setupDebouncers();
|
| this._marshalInstanceEffects();
|
| +this._marshalHostAttributes();
|
| this._marshalBehaviors();
|
| this._marshalAttributes();
|
| this._tryReady();
|
| @@ -3026,6 +3154,7 @@ this._listenListeners(b.listeners);
|
| var nativeShadow = Polymer.Settings.useNativeShadow;
|
| var propertyUtils = Polymer.StyleProperties;
|
| var styleUtil = Polymer.StyleUtil;
|
| +var cssParse = Polymer.CssParse;
|
| var styleDefaults = Polymer.StyleDefaults;
|
| var styleTransformer = Polymer.StyleTransformer;
|
| Polymer({
|
| @@ -3063,7 +3192,7 @@ var self = this;
|
| e.textContent = styleUtil.toCssText(styleUtil.rulesForStyle(e), function (rule) {
|
| var css = rule.cssText = rule.parsedCssText;
|
| if (rule.propertyInfo && rule.propertyInfo.cssText) {
|
| -css = css.replace(propertyUtils.rx.VAR_ASSIGN, '');
|
| +css = cssParse.removeCustomPropAssignment(css);
|
| rule.cssText = propertyUtils.valueForProperties(css, props);
|
| }
|
| styleTransformer.documentRule(rule);
|
| @@ -3111,11 +3240,25 @@ _showHideChildrenImpl: function (hide) {
|
| var c = this._children;
|
| for (var i = 0; i < c.length; i++) {
|
| var n = c[i];
|
| -if (n.style) {
|
| -n.style.display = hide ? 'none' : '';
|
| -n.__hideTemplateChildren__ = hide;
|
| +if (Boolean(hide) != Boolean(n.__hideTemplateChildren__)) {
|
| +if (n.nodeType === Node.TEXT_NODE) {
|
| +if (hide) {
|
| +n.__polymerTextContent__ = n.textContent;
|
| +n.textContent = '';
|
| +} else {
|
| +n.textContent = n.__polymerTextContent__;
|
| +}
|
| +} else if (n.style) {
|
| +if (hide) {
|
| +n.__polymerDisplay__ = n.style.display;
|
| +n.style.display = 'none';
|
| +} else {
|
| +n.style.display = n.__polymerDisplay__;
|
| }
|
| }
|
| +}
|
| +n.__hideTemplateChildren__ = hide;
|
| +}
|
| },
|
| _debounceTemplate: function (fn) {
|
| Polymer.dom.addDebouncer(this.debounce('_debounceTemplate', fn));
|
| @@ -3797,16 +3940,23 @@ is: 'array-selector',
|
| properties: {
|
| items: {
|
| type: Array,
|
| -observer: '_itemsChanged'
|
| +observer: '_resetSelection'
|
| +},
|
| +multi: {
|
| +type: Boolean,
|
| +value: false,
|
| +observer: '_resetSelection'
|
| },
|
| selected: {
|
| type: Object,
|
| notify: true
|
| },
|
| -toggle: Boolean,
|
| -multi: Boolean
|
| +toggle: {
|
| +type: Boolean,
|
| +value: false
|
| +}
|
| },
|
| -_itemsChanged: function () {
|
| +_resetSelection: function () {
|
| if (Array.isArray(this.selected)) {
|
| for (var i = 0; i < this.selected.length; i++) {
|
| this.unlinkPaths('selected.' + i);
|
| @@ -3815,20 +3965,28 @@ this.unlinkPaths('selected.' + i);
|
| this.unlinkPaths('selected');
|
| }
|
| if (this.multi) {
|
| +if (!this.selected || this.selected.length) {
|
| this.selected = [];
|
| +this._selectedColl = Polymer.Collection.get(this.selected);
|
| +}
|
| } else {
|
| this.selected = null;
|
| +this._selectedColl = null;
|
| +}
|
| +},
|
| +isSelected: function (item) {
|
| +if (this.multi) {
|
| +return this._selectedColl.getKey(item) !== undefined;
|
| +} else {
|
| +return this.selected == item;
|
| }
|
| },
|
| deselect: function (item) {
|
| if (this.multi) {
|
| -var scol = Polymer.Collection.get(this.selected);
|
| -var sidx = this.selected.indexOf(item);
|
| -if (sidx >= 0) {
|
| -var skey = scol.getKey(item);
|
| -this.splice('selected', sidx, 1);
|
| +if (this.isSelected(item)) {
|
| +var skey = this._selectedColl.getKey(item);
|
| +this.arrayDelete('selected', item);
|
| this.unlinkPaths('selected.' + skey);
|
| -return true;
|
| }
|
| } else {
|
| this.selected = null;
|
| @@ -3839,18 +3997,14 @@ select: function (item) {
|
| var icol = Polymer.Collection.get(this.items);
|
| var key = icol.getKey(item);
|
| if (this.multi) {
|
| -var scol = Polymer.Collection.get(this.selected);
|
| -var skey = scol.getKey(item);
|
| -if (skey >= 0) {
|
| +if (this.isSelected(item)) {
|
| if (this.toggle) {
|
| this.deselect(item);
|
| }
|
| } else {
|
| this.push('selected', item);
|
| -this.async(function () {
|
| -skey = scol.getKey(item);
|
| +skey = this._selectedColl.getKey(item);
|
| this.linkPaths('selected.' + skey, 'items.' + key);
|
| -});
|
| }
|
| } else {
|
| if (this.toggle && item == this.selected) {
|
| @@ -3895,7 +4049,6 @@ this._flushTemplates();
|
| _render: function () {
|
| if (this.if) {
|
| if (!this.ctor) {
|
| -this._wrapTextNodes(this._content || this.content);
|
| this.templatize(this);
|
| }
|
| this._ensureInstance();
|
| @@ -3931,16 +4084,6 @@ parent.removeChild(n);
|
| this._instance = null;
|
| }
|
| },
|
| -_wrapTextNodes: function (root) {
|
| -for (var n = root.firstChild; n; n = n.nextSibling) {
|
| -if (n.nodeType === Node.TEXT_NODE && n.textContent.trim()) {
|
| -var s = document.createElement('span');
|
| -root.insertBefore(s, n);
|
| -s.appendChild(n);
|
| -n = s;
|
| -}
|
| -}
|
| -},
|
| _showHideChildren: function () {
|
| var hidden = this.__hideTemplateChildren__ || !this.if;
|
| if (this._instance) {
|
| @@ -3958,37 +4101,11 @@ this._instance.notifyPath(path, value, true);
|
| }
|
| }
|
| });
|
| -Polymer.ImportStatus = {
|
| -_ready: false,
|
| -_callbacks: [],
|
| -whenLoaded: function (cb) {
|
| -if (this._ready) {
|
| -cb();
|
| -} else {
|
| -this._callbacks.push(cb);
|
| -}
|
| -},
|
| -_importsLoaded: function () {
|
| -this._ready = true;
|
| -this._callbacks.forEach(function (cb) {
|
| -cb();
|
| -});
|
| -this._callbacks = [];
|
| -}
|
| -};
|
| -window.addEventListener('load', function () {
|
| -Polymer.ImportStatus._importsLoaded();
|
| -});
|
| -if (window.HTMLImports) {
|
| -HTMLImports.whenReady(function () {
|
| -Polymer.ImportStatus._importsLoaded();
|
| -});
|
| -}
|
| Polymer({
|
| is: 'dom-bind',
|
| extends: 'template',
|
| created: function () {
|
| -Polymer.ImportStatus.whenLoaded(this._markImportsReady.bind(this));
|
| +Polymer.RenderStatus.whenReady(this._markImportsReady.bind(this));
|
| },
|
| _ensureReady: function () {
|
| if (!this._readied) {
|
|
|