From f7b07058659d691b4331c24e4f2134ed84892229 Mon Sep 17 00:00:00 2001 From: Daniel Freedman Date: Thu, 12 Nov 2015 16:53:12 -0800 Subject: [PATCH] [ci skip] release v1.2.2 --- bower.json | 2 +- build.log | 428 ++++++++++++++++++++++++++- polymer-micro.html | 201 +++++++++---- polymer-mini.html | 161 ++++++---- polymer.html | 712 +++++++++++++++++++++++++++++---------------- 5 files changed, 1123 insertions(+), 381 deletions(-) diff --git a/bower.json b/bower.json index bc97dc476e..6976f2f0e5 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "polymer", - "version": "1.2.1", + "version": "1.2.2", "main": [ "polymer.html" ], diff --git a/build.log b/build.log index a625291f9f..fa264a77c8 100644 --- a/build.log +++ b/build.log @@ -1,27 +1,433 @@ BUILD LOG --------- -Build Time: 2015-10-29T15:32:35-0700 +Build Time: 2015-11-12T16:44:14 NODEJS INFORMATION ================== -nodejs: v4.2.1 -gulp: 3.9.0 -gulp-audit: 1.0.0 +nodejs: v5.0.0 +binaryextensions: 1.0.0 +clone-stats: 0.0.1 +core-util-is: 1.0.1 +duplexer: 0.1.1 +escape-regexp-component: 1.0.2 +global: 2.0.1 +globule: 0.1.0 +is-utf8: 0.2.0 +keep-alive-agent: 0.0.1 +lazystream: 0.1.0 +match-stream: 0.0.2 +object-component: 0.0.3 +parsejson: 0.0.1 +parseqs: 0.0.2 +parseuri: 0.0.2 +sequencify: 0.0.7 +to-array: 0.1.3 +util-extend: 1.0.1 +xmlhttprequest: 1.5.0 +adm-zip: 0.4.7 +amdefine: 1.0.0 +ansi-cyan: 0.1.1 +abbrev: 1.0.7 +ansi-regex: 2.0.0 +after: 0.8.1 +accepts: 1.2.13 +ansi-styles: 2.1.0 +ansi-red: 0.1.1 +ansi-wrap: 0.1.0 +arr-diff: 1.1.0 +arr-flatten: 1.0.1 +arr-union: 2.1.0 +array-differ: 1.0.0 +archiver: 0.14.4 +archy: 1.0.0 +array-slice: 0.2.3 +array-union: 1.0.1 +array-uniq: 1.0.2 +array-flatten: 1.1.1 +asn1: 0.1.11 +asap: 2.0.3 +assert-plus: 0.1.5 +async: 1.5.0 +arraybuffer.slice: 0.0.6 +aws-sign2: 0.5.0 +backo2: 1.0.2 +balanced-match: 0.2.1 +beeper: 1.1.0 +base64-arraybuffer: 0.1.2 +base64id: 0.1.0 +base64-js: 0.0.6 +backoff: 2.4.1 +benchmark: 1.0.0 +bl: 0.9.4 +bindings: 1.2.1 +blob: 0.0.4 +boom: 0.4.2 +binary: 0.3.0 +brace-expansion: 1.1.1 +better-assert: 1.0.2 +bluebird: 2.10.2 +buffers: 0.1.1 +buffer-crc32: 0.2.5 +browserstack: 1.2.0 +builtin-modules: 1.1.0 +bufferutil: 1.2.1 +callsite: 1.0.0 +chalk: 1.1.1 +clone: 1.0.2 +combined-stream: 0.0.7 +camelcase: 1.2.1 +caseless: 0.8.0 +camelcase-keys: 1.0.0 +cleankill: 1.0.2 +chainsaw: 0.1.0 +commander: 2.6.0 +component-bind: 1.0.0 +component-emitter: 1.1.2 +component-inherit: 0.0.3 +concat-map: 0.0.1 +compress-commons: 0.2.9 +content-type: 1.0.1 +content-disposition: 0.5.0 +cookie: 0.1.3 +configstore: 1.3.0 +cryptiles: 0.2.2 +crc: 3.2.1 +crc32-stream: 0.3.4 +csv: 0.4.6 +cookie-signature: 1.0.6 +ctype: 0.5.3 +csv-generate: 0.0.6 +csv-parse: 1.0.0 +debuglog: 1.0.1 +csv-stringify: 0.0.8 +decamelize: 1.1.1 +defaults: 1.0.3 +debug: 2.2.0 +del: 1.2.1 +deprecated: 0.0.1 +deep-is: 0.1.3 +dezalgo: 1.0.3 +doctrine: 0.7.0 +deep-extend: 0.4.0 +dom5: 1.2.0 +duplexer2: 0.0.2 +delayed-stream: 0.0.5 +dtrace-provider: 0.6.0 +depd: 1.0.1 +each-async: 1.1.1 +duplexify: 3.4.2 +destroy: 1.0.3 +engine.io-parser: 1.2.2 +ee-first: 1.1.1 +engine.io: 1.5.4 +engine.io-client: 1.5.4 +error-ex: 1.3.0 +escape-string-regexp: 1.0.3 +end-of-stream: 0.1.5 +estraverse: 3.1.0 +esutils: 1.1.6 +escape-html: 1.0.2 +es6-promise: 2.3.0 +extend-shallow: 1.1.4 +etag: 1.7.0 +extsprintf: 1.2.0 +extend: 2.0.1 +fancy-log: 1.1.0 +express: 4.13.3 +find-index: 0.1.1 +fast-levenshtein: 1.0.7 +finalhandler: 0.4.0 +find-up: 1.0.0 +forever-agent: 0.5.2 +form-data: 0.2.0 +flagged-respawn: 0.3.1 +first-chunk-stream: 1.0.0 +formidable: 1.0.17 +findup-sync: 0.3.0 +forwarded: 0.1.0 +gaze: 0.5.2 +fresh: 0.3.0 +freeport: 1.0.5 +generate-object-property: 1.2.0 +github-url-from-git: 1.4.0 +generate-function: 2.0.0 +github-url-from-username-repo: 1.0.2 +glob: 5.0.15 +glob-stream: 3.1.18 +glob-watcher: 0.0.6 +glob2base: 0.0.12 +get-stdin: 5.0.0 +globby: 2.1.0 +fstream: 0.1.31 +glogg: 1.0.0 +graceful-fs: 4.1.2 gulp-rename: 1.2.2 +gulp-replace: 0.5.4 +gulp-util: 3.0.7 +got: 3.3.1 gulp-vulcanize: 6.0.1 +has-ansi: 2.0.0 +gulplog: 1.0.0 +has-binary: 0.1.6 +graceful-readlink: 1.0.1 +has-gulplog: 0.1.0 +hawk: 1.1.1 +hoek: 0.9.1 +has-cors: 1.0.3 +hosted-git-info: 2.1.4 +has-binary-data: 0.1.3 +hydrolysis: 1.19.3 +has-color: 0.1.7 +http-errors: 1.3.1 +indent-string: 2.1.0 +inflight: 1.0.4 +inherits: 2.0.1 +indexof: 0.0.1 +http-signature: 0.11.0 +is-absolute: 0.1.7 +infinity-agent: 2.0.3 +interpret: 0.6.6 +ini: 1.3.4 +is-builtin-module: 1.0.0 +is-finite: 1.0.1 +is-arrayish: 0.2.1 +is-path-cwd: 1.0.0 +is-path-in-cwd: 1.0.0 +is-path-inside: 1.0.0 +ipaddr.js: 1.0.1 +is-relative: 0.1.3 +is-property: 1.0.2 +is-my-json-valid: 2.12.3 +isarray: 0.0.1 +is-npm: 1.0.0 +istextorbinary: 1.0.2 +jju: 1.2.1 +json-parse-helpfulerror: 1.0.3 +json-stringify-safe: 5.0.1 +is-redirect: 1.0.0 +json3: 3.2.6 +isstream: 0.1.2 +kind-of: 1.1.0 +is-stream: 1.0.1 +launchpad: 0.4.9 lazypipe: 0.2.4 +jsonpointer: 2.0.0 +load-json-file: 1.0.1 +lodash._basecopy: 3.0.1 +lodash: 1.0.2 +lodash._basetostring: 3.0.1 +lodash._basevalues: 3.0.0 +lodash._getnative: 3.9.1 +liftoff: 2.2.0 +lodash._isiterateecall: 3.0.9 +lodash._reescape: 3.0.0 +lodash._reevaluate: 3.0.0 +lodash._reinterpolate: 3.0.0 +lodash.escape: 3.0.0 +lodash.isarguments: 3.0.4 +lodash.isarray: 3.0.4 +lodash.keys: 3.1.2 +lodash.restparam: 3.6.1 +lodash.template: 3.6.2 +lodash.templatesettings: 3.1.0 +levn: 0.2.5 +lru-cache: 2.7.0 +lowercase-keys: 1.0.0 +lodash-node: 2.4.1 +map-obj: 1.0.1 +loud-rejection: 1.0.0 +methods: 1.1.1 +meow: 3.5.0 +merge-descriptors: 1.0.0 +media-typer: 0.3.0 +minimatch: 3.0.0 +minimist: 1.2.0 +ms: 0.7.1 +multipipe: 0.1.2 +nan: 2.1.0 +mime-types: 2.1.7 +mime-db: 1.19.0 +nested-error-stacks: 1.0.1 +negotiator: 0.5.3 +mv: 2.1.1 +node-int64: 0.3.3 +nomnom: 1.8.1 +oauth-sign: 0.5.0 +object-assign: 3.0.0 +number-is-nan: 1.0.0 +normalize-package-data: 2.3.5 +object-keys: 1.0.1 +once: 1.3.2 +onetime: 1.0.0 +on-finished: 2.3.0 +orchestrator: 0.3.7 +ordered-read-streams: 0.1.0 +optionator: 0.5.0 +os-homedir: 1.0.1 +options: 0.0.6 +os-tmpdir: 1.0.1 +osenv: 0.1.3 +parse5: 1.5.0 +over: 0.0.5 +parse-json: 2.2.0 +package-json: 1.2.0 +path-is-absolute: 1.0.0 +path-is-inside: 1.0.1 +parseurl: 1.3.0 +path-exists: 2.0.0 +path-posix: 1.0.0 +pify: 2.3.0 +path-type: 1.0.0 +pinkie: 1.0.0 +plugin-error: 0.1.2 +path-to-regexp: 0.1.7 polyclean: 1.2.0 -web-component-tester: 3.3.29 +pinkie-promise: 1.0.0 +precond: 0.2.3 +prelude-ls: 1.1.2 +process-nextick-args: 1.0.3 +plist: 1.1.0 +progress: 1.1.8 +pretty-hrtime: 1.0.1 +proxy-addr: 1.0.8 +prepend-http: 1.0.3 +pullstream: 0.4.1 +q: 1.4.1 +read-installed: 3.1.5 +read-package-json: 1.3.3 +range-parser: 1.0.3 +read-all-stream: 3.0.1 +read-pkg-up: 1.0.1 +readable-stream: 1.1.13 +readdir-scoped-modules: 1.0.2 +read-pkg: 1.1.0 +redent: 1.0.0 +registry-url: 3.0.3 +replace-ext: 0.0.1 +replacestream: 4.0.0 +request: 2.51.0 +rechoir: 0.6.2 +qs: 4.0.0 run-sequence: 1.1.4 -del: 1.2.1 -gulp-replace: 0.5.4 +repeating: 2.0.0 +sauce-connect-launcher: 0.12.0 +resolve: 1.1.6 +safe-json-stringify: 1.0.3 +send: 0.11.1 +semver-diff: 2.0.0 +serve-waterfall: 1.1.1 +set-immediate-shim: 1.0.1 +serve-static: 1.10.0 +sigmund: 1.0.1 +slide: 1.1.6 +sntp: 0.2.4 +server-destroy: 1.0.1 +socket.io: 1.3.7 +slice-stream: 1.0.0 +setimmediate: 1.0.4 +sparkles: 1.0.0 +socket.io-adapter: 0.3.1 +socket.io-client: 1.3.7 +socket.io-parser: 2.2.4 +source-map: 0.2.0 +spdx-correct: 1.0.2 +spdx-license-ids: 1.1.0 +spdx-exceptions: 1.0.4 +spdx-expression-parse: 1.0.1 +stream-combiner: 0.2.2 +stream-consume: 0.1.0 +spdy: 1.32.4 +statuses: 1.2.1 +stream-transform: 0.1.1 +stringstream: 0.0.5 +strip-ansi: 3.0.0 +stacky: 1.2.3 +string_decoder: 0.10.31 +string-length: 1.0.1 +supports-color: 2.0.0 +strip-bom: 2.0.0 +textextensions: 1.0.1 +through: 2.3.8 +through2: 2.0.0 +tar-stream: 1.1.5 +tildify: 1.1.2 +temp: 0.8.3 +tough-cookie: 2.2.0 +tunnel-agent: 0.4.1 +timed-out: 2.0.0 +traverse: 0.3.9 +trim-newlines: 1.0.0 +type-check: 0.3.1 +type-is: 1.6.9 +uglify-to-browserify: 1.0.2 +unique-stream: 1.0.0 +ultron: 1.0.2 +underscore.string: 3.0.3 +underscore: 1.6.0 +unpipe: 1.0.0 +unzip: 0.1.11 +update-notifier: 0.5.0 +urijs: 1.16.1 +util-deprecate: 1.0.2 +utf-8-validate: 1.2.1 +utf8: 2.1.0 +uuid: 2.0.1 +utils-merge: 1.0.0 +v8flags: 2.0.10 +validate-npm-package-license: 3.0.1 +vary: 1.0.1 +vargs: 0.1.0 +vinyl: 0.5.3 +vinyl-fs: 0.3.14 +vasync: 1.6.3 +verror: 1.6.0 +wct-local: 1.7.0 +wct-sauce: 1.7.1 +wrappy: 1.0.1 +window-size: 0.1.0 +xdg-basedir: 2.0.0 +write-file-atomic: 1.1.3 +wordwrap: 0.0.3 +ws: 0.8.0 +xtend: 4.0.1 +xmlbuilder: 2.2.1 +xmldom: 0.1.19 +yargs: 3.5.4 +zip-stream: 0.5.2 +bower: 1.6.5 +bunyan: 1.5.1 +dateformat: 1.0.11 +escodegen: 1.7.0 +espree: 2.2.5 +gulp: 3.9.0 +har-validator: 2.0.2 +latest-version: 1.0.1 +mkdirp: 0.5.1 +mime: 1.3.4 +ncp: 2.0.0 +node-uuid: 1.4.3 +nopt: 3.0.4 +rc: 1.1.5 +rimraf: 2.4.3 +selenium-standalone: 4.7.1 +semver: 4.3.6 +restify: 4.0.3 +strip-indent: 1.0.1 +strip-json-comments: 1.0.4 +uglify-js: 2.5.0 +user-home: 1.1.1 +vulcanize: 1.14.0 +which: 1.2.0 +web-component-tester: 3.3.30 +wd: 0.3.12 +gulp-audit: 1.0.0 REPO REVISIONS ============== -polymer: 5a755342ef6c1bd404d3b4861c3b82d10d57b2ec +polymer: 2ed7b8df7f1c7f599605f450cfc44d59b9a2a088 BUILD HASHES ============ -polymer-mini.html: 88f650dd1b5691577f998049967a6dc9dc456e48 -polymer-micro.html: 2261be50c3d6dfe7bd1ae9051a1115f409ef64c3 -polymer.html: 0da5e9c32e9ce759647ba6bc64618bb772890acd \ No newline at end of file +polymer-mini.html: 0fdfda8283e3ecc00ea0906b49de815c0a8b6f72 +polymer-micro.html: 08ca7136ca5d2fdb2539c58ee09e64bff8dc8374 +polymer.html: d021e4856170e806261abbd9a4fa67b8b94c507c \ No newline at end of file diff --git a/polymer-micro.html b/polymer-micro.html index a3e34f6113..7998d20569 100644 --- a/polymer-micro.html +++ b/polymer-micro.html @@ -23,10 +23,11 @@ window.Polymer = { Settings: function () { var user = window.Polymer || {}; -location.search.slice(1).split('&').forEach(function (o) { +var parts = location.search.slice(1).split('&'); +for (var i = 0, o; i < parts.length && (o = parts[i]); i++) { o = o.split('='); o[0] && (user[o[0]] = o[1] || true); -}); +} var wantShadow = user.dom === 'shadow'; var hasShadow = Boolean(Element.prototype.createShadowRoot); var nativeShadow = hasShadow && !window.ShadowDOMPolyfill; @@ -113,15 +114,43 @@ }, _makeReady: function () { this._ready = true; -this._callbacks.forEach(function (cb) { -cb(); -}); +for (var i = 0; i < this._callbacks.length; i++) { +this._callbacks[i](); +} this._callbacks = []; }, _catchFirstRender: function () { requestAnimationFrame(function () { Polymer.RenderStatus._makeReady(); }); +}, +_afterNextRenderQueue: [], +_waitingNextRender: false, +afterNextRender: function (element, fn, args) { +if (!this._waitingNextRender) { +this._waitingNextRender = true; +this.whenReady(this._flushAfterNextRender); +} +this._afterNextRenderQueue.push([ +element, +fn, +args +]); +}, +_flushAfterNextRender: function () { +requestAnimationFrame(function () { +setTimeout(Polymer.RenderStatus.__flushAfterNextRender); +}); +}, +__flushAfterNextRender: function () { +var self = Polymer.RenderStatus; +self._waitingNextRender = false; +for (var i = 0, h; i < self._afterNextRenderQueue.length; i++) { +h = self._afterNextRenderQueue[i]; +h[1].apply(h[0], h[2] || Polymer.nar); +} +; +self._afterNextRenderQueue = []; } }; if (window.HTMLImports) { @@ -151,27 +180,33 @@ this._initFeatures(); }, attachedCallback: function () { +var self = this; Polymer.RenderStatus.whenReady(function () { -this.isAttached = true; -this._doBehavior('attached'); -}.bind(this)); +self.isAttached = true; +self._doBehavior('attached'); +}); }, detachedCallback: function () { this.isAttached = false; this._doBehavior('detached'); }, -attributeChangedCallback: function (name) { +attributeChangedCallback: function (name, oldValue, newValue) { this._attributeChangedImpl(name); -this._doBehavior('attributeChanged', arguments); +this._doBehavior('attributeChanged', [ +name, +oldValue, +newValue +]); }, _attributeChangedImpl: function (name) { this._setAttributeToProperty(this, name); }, extend: function (prototype, api) { if (prototype && api) { -Object.getOwnPropertyNames(api).forEach(function (n) { +var n$ = Object.getOwnPropertyNames(api); +for (var i = 0, n; i < n$.length && (n = n$[i]); i++) { this.copyOwnProperty(n, api, prototype); -}, this); +} } return prototype || api; }, @@ -301,7 +336,8 @@ }, _flattenBehaviorsList: function (behaviors) { var flat = []; -behaviors.forEach(function (b) { +for (var i = 0; i < behaviors.length; i++) { +var b = behaviors[i]; if (b instanceof Array) { flat = flat.concat(this._flattenBehaviorsList(b)); } else if (b) { @@ -309,31 +345,16 @@ } else { this._warn(this._logf('_flattenBehaviorsList', 'behavior is null, check for missing or 404 import')); } -}, this); +} return flat; }, _mixinBehavior: function (b) { -Object.getOwnPropertyNames(b).forEach(function (n) { -switch (n) { -case 'hostAttributes': -case 'registered': -case 'properties': -case 'observers': -case 'listeners': -case 'created': -case 'attached': -case 'detached': -case 'attributeChanged': -case 'configure': -case 'ready': -break; -default: -if (!this.hasOwnProperty(n)) { +var n$ = Object.getOwnPropertyNames(b); +for (var i = 0, n; i < n$.length && (n = n$[i]); i++) { +if (!Polymer.Base._behaviorProperties[n] && !this.hasOwnProperty(n)) { this.copyOwnProperty(n, b, this); } -break; } -}, this); }, _prepBehaviors: function () { this._prepFlattenedBehaviors(this.behaviors); @@ -345,9 +366,9 @@ this._prepBehavior(this); }, _doBehavior: function (name, args) { -this.behaviors.forEach(function (b) { -this._invokeBehavior(b, name, args); -}, this); +for (var i = 0; i < this.behaviors.length; i++) { +this._invokeBehavior(this.behaviors[i], name, args); +} this._invokeBehavior(this, name, args); }, _invokeBehavior: function (b, name, args) { @@ -357,12 +378,24 @@ } }, _marshalBehaviors: function () { -this.behaviors.forEach(function (b) { -this._marshalBehavior(b); -}, this); +for (var i = 0; i < this.behaviors.length; i++) { +this._marshalBehavior(this.behaviors[i]); +} this._marshalBehavior(this); } }); +Polymer.Base._behaviorProperties = { +hostAttributes: true, +registered: true, +properties: true, +observers: true, +listeners: true, +created: true, +attached: true, +detached: true, +attributeChanged: true, +ready: true +}; Polymer.Base._addFeature({ _getExtendedPrototype: function (tag) { return this._getExtendedNativePrototype(tag); @@ -414,9 +447,13 @@ getPropertyInfo: function (property) { var info = this._getPropertyInfo(property, this.properties); if (!info) { -this.behaviors.some(function (b) { -return info = this._getPropertyInfo(property, b.properties); -}, this); +for (var i = 0; i < this.behaviors.length; i++) { +info = this._getPropertyInfo(property, this.behaviors[i].properties); +if (info) { +return info; +} +} +; } return info || Polymer.nob; }, @@ -429,6 +466,40 @@ p.defined = true; } return p; +}, +_prepPropertyInfo: function () { +this._propertyInfo = {}; +for (var i = 0, p; i < this.behaviors.length; i++) { +this._addPropertyInfo(this._propertyInfo, this.behaviors[i].properties); +} +this._addPropertyInfo(this._propertyInfo, this.properties); +this._addPropertyInfo(this._propertyInfo, this._propertyEffects); +}, +_addPropertyInfo: function (target, source) { +if (source) { +var t, s; +for (var i in source) { +t = target[i]; +s = source[i]; +if (i[0] === '_' && !s.readOnly) { +continue; +} +if (!target[i]) { +target[i] = { +type: typeof s === 'function' ? s : s.type, +readOnly: s.readOnly, +attribute: Polymer.CaseMap.camelToDashCase(i) +}; +} else { +if (!t.type) { +t.type = s.type; +} +if (!t.readOnly) { +t.readOnly = s.readOnly; +} +} +} +} } }); Polymer.CaseMap = { @@ -456,21 +527,24 @@ } }; Polymer.Base._addFeature({ -_prepAttributes: function () { -this._aggregatedAttributes = {}; -}, _addHostAttributes: function (attributes) { +if (!this._aggregatedAttributes) { +this._aggregatedAttributes = {}; +} if (attributes) { this.mixin(this._aggregatedAttributes, attributes); } }, _marshalHostAttributes: function () { +if (this._aggregatedAttributes) { this._applyAttributes(this, this._aggregatedAttributes); +} }, _applyAttributes: function (node, attr$) { for (var n in attr$) { if (!this.hasAttribute(n) && n !== 'class') { -this.serializeValueToAttribute(attr$[n], n, this); +var v = attr$[n]; +this.serializeValueToAttribute(v, n, this); } } }, @@ -478,29 +552,40 @@ this._takeAttributesToModel(this); }, _takeAttributesToModel: function (model) { -for (var i = 0, l = this.attributes.length; i < l; i++) { -this._setAttributeToProperty(model, this.attributes[i].name); +if (this.hasAttributes()) { +for (var i in this._propertyInfo) { +var info = this._propertyInfo[i]; +if (this.hasAttribute(info.attribute)) { +this._setAttributeToProperty(model, info.attribute, i, info); +} +} } }, -_setAttributeToProperty: function (model, attrName) { +_setAttributeToProperty: function (model, attribute, property, info) { if (!this._serializing) { -var propName = Polymer.CaseMap.dashToCamelCase(attrName); -var info = this.getPropertyInfo(propName); -if (info.defined || this._propertyEffects && this._propertyEffects[propName]) { -var val = this.getAttribute(attrName); -model[propName] = this.deserialize(val, info.type); +var property = property || Polymer.CaseMap.dashToCamelCase(attribute); +info = info || this._propertyInfo && this._propertyInfo[property]; +if (info && !info.readOnly) { +var v = this.getAttribute(attribute); +model[property] = this.deserialize(v, info.type); } } }, _serializing: false, -reflectPropertyToAttribute: function (name) { +reflectPropertyToAttribute: function (property, attribute, value) { this._serializing = true; -this.serializeValueToAttribute(this[name], Polymer.CaseMap.camelToDashCase(name)); +value = value === undefined ? this[property] : value; +this.serializeValueToAttribute(value, attribute || Polymer.CaseMap.camelToDashCase(property)); this._serializing = false; }, serializeValueToAttribute: function (value, attribute, node) { var str = this.serialize(value); -(node || this)[str === undefined ? 'removeAttribute' : 'setAttribute'](attribute, str); +node = node || this; +if (str === undefined) { +node.removeAttribute(attribute); +} else { +node.setAttribute(attribute, str); +} }, deserialize: function (value, type) { switch (type) { @@ -576,13 +661,13 @@ } } }); -Polymer.version = '1.2.1'; +Polymer.version = '1.2.2'; Polymer.Base._addFeature({ _registerFeatures: function () { this._prepIs(); -this._prepAttributes(); this._prepBehaviors(); this._prepConstructor(); +this._prepPropertyInfo(); }, _prepBehavior: function (b) { this._addHostAttributes(b.hostAttributes); diff --git a/polymer-mini.html b/polymer-mini.html index 85e84ca8c7..7b9683cfa1 100644 --- a/polymer-mini.html +++ b/polymer-mini.html @@ -10,7 +10,9 @@