diff --git a/bower.json b/bower.json index 40506e9dd0..c4f36f6c16 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "polymer", - "version": "1.7.1", + "version": "1.8.0", "main": [ "polymer.html", "polymer-mini.html", @@ -25,7 +25,7 @@ "url": "https://github.com/Polymer/polymer.git" }, "dependencies": { - "webcomponentsjs": "^0.7.20" + "webcomponentsjs": "^0.7.24" }, "devDependencies": { "web-component-tester": "*", diff --git a/build.log b/build.log index 8149e7db8b..5fd6529f69 100644 --- a/build.log +++ b/build.log @@ -1,79 +1,79 @@ BUILD LOG --------- -Build Time: 2016-12-14T10:43:12-0800 +Build Time: 2017-02-06T16:13:42-0800 NODEJS INFORMATION ================== -nodejs: v6.9.2 +nodejs: v6.9.3 abbrev: 1.0.9 -accepts: 1.3.3 accessibility-developer-tools: 2.11.0 acorn: 4.0.3 acorn-jsx: 3.0.1 adm-zip: 0.4.7 +accepts: 1.3.3 after: 0.8.2 -agent-base: 2.0.1 ajv: 4.10.0 ajv-keywords: 1.2.0 -align-text: 0.1.4 +agent-base: 2.0.1 amdefine: 1.0.1 ansi-cyan: 0.1.1 ansi-escapes: 1.4.0 ansi-red: 0.1.1 ansi-regex: 2.0.0 -ansi-wrap: 0.1.0 ansi-styles: 2.2.1 +align-text: 0.1.4 +ansi-wrap: 0.1.0 append-field: 0.1.0 -archiver: 0.14.4 archy: 1.0.0 -argparse: 1.0.9 +archiver: 0.14.4 arr-diff: 2.0.0 +argparse: 1.0.9 arr-flatten: 1.0.1 arr-union: 2.1.0 -array-find-index: 1.0.2 array-differ: 1.0.0 -array-slice: 0.2.3 +array-find-index: 1.0.2 array-flatten: 1.1.1 -array-unique: 0.2.1 +array-slice: 0.2.3 array-union: 1.0.2 array-uniq: 1.0.3 +array-unique: 0.2.1 arraybuffer.slice: 0.0.6 arrify: 1.0.1 asap: 2.0.5 asn1: 0.1.11 -assertion-error: 1.0.2 assert-plus: 0.1.5 -asynckit: 0.4.0 +assertion-error: 1.0.2 async: 0.9.2 aws-sign2: 0.5.0 +asynckit: 0.4.0 aws4: 1.5.0 -babel-code-frame: 6.20.0 babel-polyfill: 6.20.0 -backo2: 1.0.2 babel-runtime: 6.20.0 +backo2: 1.0.2 backoff: 2.5.0 +babel-code-frame: 6.20.0 balanced-match: 0.4.2 base64-arraybuffer: 0.1.5 -base64-js: 1.1.2 base64id: 1.0.0 +base64-js: 1.1.2 bcrypt-pbkdf: 1.0.0 beeper: 1.1.1 better-assert: 1.0.2 binaryextensions: 1.0.1 -bl: 0.9.5 -blob: 0.0.4 bluebird: 2.11.0 +blob: 0.0.4 body-parser: 1.15.2 +bl: 0.9.5 boom: 0.4.2 -boxen: 0.3.1 brace-expansion: 1.1.6 +boxen: 0.3.1 braces: 1.8.5 -browserstack: 1.5.0 buffer-crc32: 0.2.13 -buffer-shims: 1.0.0 +browserstack: 1.5.0 bufferstreams: 1.1.1 -builtin-modules: 1.1.1 +buffer-shims: 1.0.0 bunyan: 1.8.5 +builtin-modules: 1.1.1 busboy: 0.2.13 bytes: 2.4.0 callsite: 1.0.0 @@ -82,27 +82,27 @@ callsites: 0.2.0 camelcase: 2.1.1 camelcase-keys: 2.1.0 capture-stack-trace: 1.0.0 -caseless: 0.8.0 center-align: 0.1.3 chai: 3.5.0 chalk: 1.1.3 -cleankill: 1.0.3 +caseless: 0.8.0 circular-json: 0.3.1 +cleankill: 1.0.3 cli-cursor: 1.0.2 -cli-width: 2.1.0 -cliui: 2.1.0 clone: 1.0.2 clone-stats: 0.0.1 co: 4.6.0 code-point-at: 1.1.0 -commander: 2.3.0 +cliui: 2.1.0 +cli-width: 2.1.0 combined-stream: 0.0.7 -component-bind: 1.0.0 +commander: 2.3.0 component-emitter: 1.1.2 -compress-commons: 0.2.9 component-inherit: 0.0.3 +component-bind: 1.0.0 concat-map: 0.0.1 concat-stream: 1.5.2 +compress-commons: 0.2.9 configstore: 2.1.0 content-disposition: 0.5.1 content-type: 1.0.2 @@ -110,25 +110,24 @@ cookie: 0.3.1 cookie-signature: 1.0.6 core-js: 2.4.1 core-util-is: 1.0.2 -crc32-stream: 0.3.4 crc: 3.2.1 -cryptiles: 0.2.2 +crc32-stream: 0.3.4 create-error-class: 3.0.2 +cryptiles: 0.2.2 csv: 0.4.6 csv-generate: 0.0.6 -csv-parse: 1.1.7 csv-stringify: 0.0.8 ctype: 0.5.3 currently-unhandled: 0.4.1 d: 0.1.1 dashdash: 1.14.1 -debug: 2.4.1 dateformat: 1.0.12 +debug: 2.4.1 debuglog: 1.0.1 -decamelize: 1.2.0 +csv-parse: 1.1.7 deep-eql: 0.1.3 deep-extend: 0.4.1 -deep-is: 0.1.3 +decamelize: 1.2.0 defaults: 1.0.3 del: 2.2.2 delayed-stream: 0.0.5 @@ -139,107 +138,108 @@ detect-file: 0.1.0 dezalgo: 1.0.3 dicer: 0.2.5 diff: 1.4.0 +deep-is: 0.1.3 doctrine: 1.5.0 -dom-serializer: 0.1.0 dom5: 1.3.6 domelementtype: 1.3.0 domhandler: 2.3.0 +dom-serializer: 0.1.0 domutils: 1.5.1 -dot-prop: 3.0.0 dtrace-provider: 0.6.0 -duplexer2: 0.0.2 duplexer: 0.1.1 -ecc-jsbn: 0.1.1 +duplexer2: 0.0.2 +dot-prop: 3.0.0 ee-first: 1.1.1 +ecc-jsbn: 0.1.1 encodeurl: 1.0.1 end-of-stream: 0.1.5 engine.io: 1.8.2 engine.io-parser: 1.3.2 -engine.io-client: 1.8.2 entities: 1.1.1 -error-ex: 1.3.0 +engine.io-client: 1.8.2 es5-ext: 0.10.12 -es6-iterator: 2.0.0 +error-ex: 1.3.0 es6-map: 0.1.4 es6-promise: 2.3.0 -es6-set: 0.1.4 +es6-iterator: 2.0.0 es6-symbol: 3.1.0 es6-weak-map: 2.0.1 escape-html: 1.0.3 escape-regexp-component: 1.0.2 escape-string-regexp: 1.0.5 escodegen: 1.8.1 +es6-set: 0.1.4 escope: 3.6.0 eslint: 3.12.1 eslint-plugin-html: 1.7.0 espree: 3.3.2 -esprima: 2.7.3 -esrecurse: 4.1.0 estraverse: 4.2.0 +esrecurse: 4.1.0 esutils: 2.0.2 etag: 1.7.0 event-emitter: 0.3.4 exit-hook: 1.1.1 +esprima: 2.7.3 expand-brackets: 0.1.5 expand-range: 1.8.2 expand-tilde: 1.2.2 -express: 4.14.0 extend: 3.0.0 extend-shallow: 1.1.4 extglob: 0.3.2 extsprintf: 1.2.0 +express: 4.14.0 fancy-log: 1.2.0 -fast-levenshtein: 2.0.5 fd-slicer: 1.0.1 +fast-levenshtein: 2.0.5 figures: 1.7.0 file-entry-cache: 2.0.0 filename-regex: 2.0.0 fill-range: 2.2.3 filled-array: 1.1.0 finalhandler: 0.5.0 -find-index: 0.1.1 find-up: 1.1.2 +find-index: 0.1.1 findup-sync: 0.4.3 -fined: 1.0.2 first-chunk-stream: 1.0.0 -flagged-respawn: 0.3.2 -flat-cache: 1.2.1 +fined: 1.0.2 for-in: 0.1.6 +flat-cache: 1.2.1 +flagged-respawn: 0.3.2 for-own: 0.1.4 forever-agent: 0.5.2 -form-data: 0.2.0 formatio: 1.1.1 formidable: 1.0.17 forwarded: 0.1.0 freeport: 1.0.5 fresh: 0.3.0 fs-exists-sync: 0.1.0 -gaze: 0.5.2 fs.realpath: 1.0.0 +gaze: 0.5.2 generate-function: 2.0.0 -get-stdin: 4.0.1 generate-object-property: 1.2.0 +get-stdin: 4.0.1 getpass: 0.1.6 github-url-from-git: 1.5.0 github-url-from-username-repo: 1.0.2 -glob: 7.1.1 glob-base: 0.3.0 +glob: 7.1.1 glob-parent: 2.0.0 +form-data: 0.2.0 glob-stream: 3.1.18 glob2base: 0.0.12 glob-watcher: 0.0.6 global-modules: 0.2.3 -global-prefix: 0.1.5 globals: 9.14.0 +global-prefix: 0.1.5 globby: 5.0.0 -globule: 0.1.0 glogg: 1.0.0 +globule: 0.1.0 got: 5.7.1 -graceful-readlink: 1.0.1 graceful-fs: 4.1.11 +graceful-readlink: 1.0.1 growl: 1.9.2 -gulp-audit: 1.0.0 gulp: 3.9.1 +gulp-audit: 1.0.0 gulp-eslint: 3.0.1 gulp-rename: 1.2.2 gulp-replace: 0.5.4 @@ -249,71 +249,71 @@ gulplog: 1.0.0 handle-thing: 1.2.5 har-validator: 2.0.6 has-ansi: 2.0.0 -has-color: 0.1.7 has-binary: 0.1.7 +has-color: 0.1.7 has-cors: 1.1.0 has-gulplog: 0.1.0 +hawk: 1.1.1 hoek: 0.9.1 homedir-polyfill: 1.0.1 -hawk: 1.1.1 hosted-git-info: 2.1.5 hpack.js: 2.1.6 htmlparser2: 3.9.2 http-deceiver: 1.2.7 -http-errors: 1.5.1 http-signature: 0.11.0 https-proxy-agent: 1.0.0 hydrolysis: 1.24.1 iconv-lite: 0.4.13 ignore: 3.2.0 -indent-string: 2.1.0 imurmurhash: 0.1.4 +indent-string: 2.1.0 indexof: 0.0.1 inflight: 1.0.6 inherits: 2.0.3 ini: 1.3.4 inquirer: 0.12.0 +http-errors: 1.5.1 interpret: 1.0.1 ipaddr.js: 1.1.1 -is-absolute: 0.2.6 is-arrayish: 0.2.1 is-buffer: 1.1.4 is-builtin-module: 1.0.0 -is-dotfile: 1.0.2 +is-absolute: 0.2.6 is-equal-shallow: 0.1.3 is-extendable: 0.1.1 +is-dotfile: 1.0.2 is-extglob: 1.0.0 -is-finite: 1.0.2 is-fullwidth-code-point: 1.0.0 +is-finite: 1.0.2 is-glob: 2.0.1 is-my-json-valid: 2.15.0 -is-number: 2.1.0 is-npm: 1.0.0 is-obj: 1.0.1 -is-path-in-cwd: 1.0.0 is-path-cwd: 1.0.0 +is-path-in-cwd: 1.0.0 is-path-inside: 1.0.0 is-posix-bracket: 0.1.1 is-primitive: 2.0.0 -is-redirect: 1.0.0 is-property: 1.0.2 +is-number: 2.1.0 +is-redirect: 1.0.0 is-relative: 0.2.1 is-resolvable: 1.0.0 -is-retry-allowed: 1.1.0 is-stream: 1.1.0 is-typedarray: 1.0.0 -is-utf8: 0.2.1 is-unc-path: 0.1.2 -isarray: 1.0.0 +is-utf8: 0.2.1 +is-retry-allowed: 1.1.0 is-windows: 0.2.0 -isobject: 2.1.0 +isarray: 1.0.0 isexe: 1.1.2 +isobject: 2.1.0 isstream: 0.1.2 istextorbinary: 1.0.2 jade: 0.26.3 jju: 1.3.0 -jodid25519: 1.0.2 js-tokens: 2.0.0 +jodid25519: 1.0.2 js-yaml: 3.7.0 jsbn: 0.1.0 json-parse-helpfulerror: 1.0.3 @@ -325,31 +325,31 @@ jsonify: 0.0.0 jsprim: 1.3.1 jsonpointer: 4.0.0 keep-alive-agent: 0.0.1 -latest-version: 2.0.0 kind-of: 3.1.0 -launchpad: 0.5.4 +latest-version: 2.0.0 lazy-cache: 1.0.4 lazypipe: 1.0.1 -lazystream: 0.1.0 levn: 0.3.0 liftoff: 2.3.0 load-json-file: 1.1.0 +lazystream: 0.1.0 lodash: 1.0.2 lodash._basecopy: 3.0.1 lodash._basetostring: 3.0.1 lodash._basevalues: 3.0.0 -lodash._isiterateecall: 3.0.9 lodash._getnative: 3.9.1 +launchpad: 0.5.4 +lodash._isiterateecall: 3.0.9 lodash._reescape: 3.0.0 lodash._reevaluate: 3.0.0 -lodash._root: 3.0.1 -lodash._reinterpolate: 3.0.0 lodash.assignwith: 4.2.0 +lodash._root: 3.0.1 lodash.escape: 3.2.0 lodash.isarguments: 3.1.0 -lodash.isempty: 4.4.0 lodash.isarray: 3.0.4 +lodash.isempty: 4.4.0 lodash.isplainobject: 4.0.6 +lodash._reinterpolate: 3.0.0 lodash.isstring: 4.0.1 lodash.keys: 3.1.2 lodash.mapvalues: 4.6.0 @@ -359,14 +359,14 @@ lodash.template: 3.6.2 lodash.templatesettings: 3.1.1 lolex: 1.3.2 longest: 1.0.1 -loud-rejection: 1.6.0 -lru-cache: 2.7.3 lowercase-keys: 1.0.0 +lru-cache: 2.7.3 map-cache: 0.2.2 map-obj: 1.0.1 -media-typer: 0.3.0 +loud-rejection: 1.6.0 meow: 3.7.0 merge-descriptors: 1.0.1 +media-typer: 0.3.0 methods: 1.1.2 micromatch: 2.3.11 mime: 1.3.4 @@ -376,52 +376,52 @@ minimalistic-assert: 1.0.0 minimatch: 3.0.3 minimist: 1.2.0 mkdirp: 0.5.1 -mocha: 2.5.3 moment: 2.17.1 ms: 0.7.2 -multer: 1.2.1 -mute-stream: 0.0.5 +mocha: 2.5.3 multipipe: 0.1.2 +multer: 1.2.1 mv: 2.1.1 -nan: 2.4.0 +mute-stream: 0.0.5 natives: 1.1.0 natural-compare: 1.4.0 -ncp: 2.0.0 +nan: 2.4.0 negotiator: 0.6.1 -node-int64: 0.3.3 -node-status-codes: 1.0.0 +ncp: 2.0.0 node-uuid: 1.4.7 +node-status-codes: 1.0.0 +node-int64: 0.3.3 nodegit-promise: 4.0.0 nomnom: 1.8.1 nopt: 3.0.6 normalize-path: 2.0.1 -normalize-package-data: 2.3.5 number-is-nan: 1.0.1 oauth-sign: 0.5.0 +normalize-package-data: 2.3.5 object-assign: 4.1.0 object-component: 0.0.3 object.omit: 2.0.1 obuf: 1.1.1 -on-finished: 2.3.0 once: 1.4.0 onetime: 1.1.0 -optionator: 0.8.2 +on-finished: 2.3.0 options: 0.0.6 -orchestrator: 0.3.8 +optionator: 0.8.2 ordered-read-streams: 0.1.0 +orchestrator: 0.3.8 os-homedir: 1.0.2 -os-tmpdir: 1.0.2 -osenv: 0.1.4 package-json: 2.4.0 -parse-glob: 3.0.4 +osenv: 0.1.4 parse-filepath: 1.0.1 +parse-glob: 3.0.4 parse-json: 2.2.0 +parse5: 1.5.1 parse-passwd: 1.0.0 +os-tmpdir: 1.0.2 parsejson: 0.0.3 -parse5: 1.5.1 parseqs: 0.0.5 -parseuri: 0.0.5 parseurl: 1.3.1 +parseuri: 0.0.5 path-exists: 2.1.0 path-is-absolute: 1.0.1 path-is-inside: 1.0.2 @@ -430,106 +430,106 @@ path-posix: 1.0.0 path-root-regex: 0.1.2 path-to-regexp: 0.1.7 path-type: 1.1.0 -pend: 1.2.0 pify: 2.3.0 +pend: 1.2.0 pinkie: 2.0.4 pinkie-promise: 2.0.1 plist: 2.0.1 -plugin-error: 0.1.2 pluralize: 1.2.1 +plugin-error: 0.1.2 polyclean: 1.3.1 precond: 0.2.3 prelude-ls: 1.1.2 -prepend-http: 1.0.4 -preserve: 0.2.0 pretty-hrtime: 1.0.3 +prepend-http: 1.0.4 process-nextick-args: 1.0.7 -promisify-node: 0.4.0 +preserve: 0.2.0 progress: 1.1.8 proxy-addr: 1.1.2 +promisify-node: 0.4.0 pseudomap: 1.0.2 punycode: 1.4.1 q: 1.4.1 -qs: 6.2.0 randomatic: 1.1.6 +qs: 6.2.0 range-parser: 1.2.0 -rc: 1.1.6 raw-body: 2.1.7 -read-installed: 3.1.5 +rc: 1.1.6 read-all-stream: 3.1.0 +read-installed: 3.1.5 read-package-json: 1.3.3 read-pkg: 1.1.0 read-pkg-up: 1.0.1 readdir-scoped-modules: 1.0.2 readable-stream: 2.2.2 readline2: 1.0.1 -rechoir: 0.6.2 redent: 1.0.0 -regex-cache: 0.4.3 +rechoir: 0.6.2 regenerator-runtime: 0.10.1 +regex-cache: 0.4.3 registry-auth-token: 3.1.0 registry-url: 3.1.0 -repeating: 2.0.1 repeat-element: 1.1.2 repeat-string: 1.6.1 +repeating: 2.0.1 replace-ext: 0.0.1 replacestream: 4.0.2 -request: 2.51.0 -resolve: 1.2.0 require-uncached: 1.0.3 -resolve-from: 1.0.1 +resolve: 1.2.0 resolve-dir: 0.1.1 -restify: 4.3.0 +resolve-from: 1.0.1 restore-cursor: 1.0.1 +restify: 4.3.0 right-align: 0.1.3 -run-async: 0.1.0 rimraf: 2.5.4 run-sequence: 1.2.2 -safe-json-stringify: 1.0.3 +run-async: 0.1.0 +request: 2.51.0 rx-lite: 3.1.2 +safe-json-stringify: 1.0.3 samsam: 1.1.2 sauce-connect-launcher: 1.1.1 selenium-standalone: 5.9.0 -semver-diff: 2.1.0 +select-hose: 2.0.0 semver: 4.3.6 send: 0.11.1 -select-hose: 2.0.0 sequencify: 0.0.7 +semver-diff: 2.1.0 serve-static: 1.11.1 serve-waterfall: 1.1.1 -server-destroy: 1.0.1 setprototypeof: 1.0.2 shelljs: 0.7.5 sigmund: 1.0.1 +server-destroy: 1.0.1 signal-exit: 3.0.2 sinon-chai: 2.8.0 -sinon: 1.17.6 slice-ansi: 0.0.4 slide: 1.1.6 +sinon: 1.17.6 sntp: 0.2.4 -socket.io: 1.7.2 socket.io-adapter: 0.5.0 +socket.io: 1.7.2 socket.io-client: 1.7.2 socket.io-parser: 2.3.1 source-map: 0.2.0 -spdx-correct: 1.0.2 sparkles: 1.0.0 -spdx-expression-parse: 1.0.4 +spdx-correct: 1.0.2 spdx-license-ids: 1.2.2 -spdy: 3.4.4 -sprintf-js: 1.0.3 +spdx-expression-parse: 1.0.4 spdy-transport: 2.0.18 +sprintf-js: 1.0.3 sshpk: 1.10.1 stacky: 1.3.1 statuses: 1.3.1 -stream-consume: 0.1.0 stream-combiner: 0.2.2 -stream-transform: 0.1.1 +stream-consume: 0.1.0 +spdy: 3.4.4 streamsearch: 0.1.2 +stream-transform: 0.1.1 string-width: 1.0.2 -strip-ansi: 3.0.1 string_decoder: 0.10.31 stringstream: 0.0.5 +strip-ansi: 3.0.1 strip-bom: 2.0.0 strip-indent: 1.0.1 strip-json-comments: 1.0.4 @@ -540,32 +540,31 @@ temp: 0.8.3 test-fixture: 1.1.1 text-table: 0.2.0 textextensions: 1.0.2 +through: 2.3.8 through2: 2.0.3 tildify: 1.2.0 -through: 2.3.8 time-stamp: 1.0.1 -to-array: 0.1.4 timed-out: 3.1.0 +to-array: 0.1.4 to-iso-string: 0.0.2 tough-cookie: 2.3.2 +trim-newlines: 1.0.0 tryit: 1.0.3 tunnel-agent: 0.4.3 -trim-newlines: 1.0.0 tweetnacl: 0.14.5 +type-check: 0.3.2 type-detect: 1.0.0 type-is: 1.6.14 -type-check: 0.3.2 typedarray: 0.0.6 -uglify-to-browserify: 1.0.2 uglify-js: 2.7.5 -unc-path-regex: 0.1.2 +uglify-to-browserify: 1.0.2 ultron: 1.0.2 +unc-path-regex: 0.1.2 underscore: 1.6.0 -underscore.string: 3.0.3 unique-stream: 1.0.0 -unzip-response: 1.0.2 +underscore.string: 3.0.3 unpipe: 1.0.0 -update-notifier: 0.6.3 +unzip-response: 1.0.2 urijs: 1.16.1 url-parse-lax: 1.0.0 user-home: 1.1.1 @@ -573,16 +572,17 @@ util: 0.10.3 util-deprecate: 1.0.2 util-extend: 1.0.3 utils-merge: 1.0.0 -uuid: 2.0.3 +update-notifier: 0.6.3 v8flags: 2.0.11 -validate-npm-package-license: 3.0.1 -vary: 1.1.0 vargs: 0.1.0 +vary: 1.1.0 vasync: 1.6.3 verror: 1.9.0 vinyl: 0.5.3 +validate-npm-package-license: 3.0.1 vinyl-fs: 0.3.14 vulcanize: 1.15.1 +uuid: 2.0.3 wbuf: 1.7.2 wct-local: 2.0.13 wct-sauce: 1.8.6 @@ -593,9 +593,9 @@ widest-line: 1.0.0 window-size: 0.1.0 wordwrap: 1.0.0 wrappy: 1.0.2 -write-file-atomic: 1.2.0 write: 0.2.1 ws: 1.1.1 +write-file-atomic: 1.2.0 wtf-8: 1.0.0 xdg-basedir: 2.0.0 xmlbuilder: 8.2.2 @@ -609,21 +609,21 @@ yeast: 0.1.2 zip-stream: 0.5.2 @types/chalk: 0.4.31 @types/clone: 0.1.30 -@types/express-serve-static-core: 4.0.39 @types/express: 4.0.34 -@types/freeport: 1.0.20 @types/mime: 0.0.29 -@types/parse5: 0.0.31 +@types/express-serve-static-core: 4.0.39 +@types/freeport: 1.0.20 @types/node: 4.0.30 -@types/serve-static: 1.7.31 +@types/parse5: 0.0.31 @types/which: 1.0.28 +@types/serve-static: 1.7.31 REPO REVISIONS ============== -polymer-1.x: 04414234f233d699b9fa39d8296148818032f472 +polymer-1.x: ef0174703a1cf850ca4e6f205a8cec108687e85e BUILD HASHES ============ -polymer-mini.html: 1c79cb9f25b964f6e57ac9a464cfc531908fb559 -polymer-micro.html: 0cfafa5441a1298e0a99965aa90bd740a5bbfb79 -polymer.html: c521c3703ff30ec00a7ce83050c40129ff82bb59 \ No newline at end of file +polymer-mini.html: 37df26412c1452ef3f58a0e4a8720eeab15fd4b2 +polymer-micro.html: 775957d2c4f66b26fe057854ef1d364897906dfc +polymer.html: 4fd2941c2a1a94aa59325a88de5067c3600fd21d \ No newline at end of file diff --git a/polymer-micro.html b/polymer-micro.html index 9aa9120dc1..263b5aa654 100644 --- a/polymer-micro.html +++ b/polymer-micro.html @@ -52,15 +52,15 @@ if (!prototype) { prototype = {}; } -var factory = desugar(prototype); -prototype = factory.prototype; +prototype = desugar(prototype); +var customCtor = prototype === prototype.constructor.prototype ? prototype.constructor : null; var options = { prototype: prototype }; if (prototype.extends) { options.extends = prototype.extends; } Polymer.telemetry._registrate(prototype); -document.registerElement(prototype.is, options); -return factory; +var ctor = document.registerElement(prototype.is, options); +return customCtor || ctor; }; var desugar = function (prototype) { var base = Polymer.Base; @@ -69,14 +69,20 @@ } prototype = Polymer.Base.chainObject(prototype, base); prototype.registerCallback(); -return prototype.constructor; +return prototype; }; if (userPolymer) { for (var i in userPolymer) { Polymer[i] = userPolymer[i]; } } -Polymer.Class = desugar; +Polymer.Class = function (prototype) { +if (!prototype.factoryImpl) { +prototype.factoryImpl = function () { +}; +} +return desugar(prototype).constructor; +}; }()); Polymer.telemetry = { registrations: [], @@ -173,7 +179,7 @@ Polymer.Base = { __isPolymerInstance__: true, _addFeature: function (feature) { -this.extend(this, feature); +this.mixin(this, feature); }, registerCallback: function () { if (settings.lazyRegister === 'max') { @@ -182,7 +188,15 @@ } } else { this._desugarBehaviors(); -this._doBehavior('beforeRegister'); +for (var i = 0, b; i < this.behaviors.length; i++) { +b = this.behaviors[i]; +if (b.beforeRegister) { +b.beforeRegister.call(this); +} +} +if (this.beforeRegister) { +this.beforeRegister(); +} } this._registerFeatures(); if (!settings.lazyRegister) { @@ -190,12 +204,32 @@ } }, createdCallback: function () { +if (settings.disableUpgradeEnabled) { +if (this.hasAttribute('disable-upgrade')) { +this._propertySetter = disableUpgradePropertySetter; +this.__data__ = {}; +return; +} else { +this.__hasInitialized = true; +} +} +this.__initialize(); +}, +__initialize: function () { if (!this.__hasRegisterFinished) { this._ensureRegisterFinished(this.__proto__); } Polymer.telemetry.instanceCount++; this.root = this; -this._doBehavior('created'); +for (var i = 0, b; i < this.behaviors.length; i++) { +b = this.behaviors[i]; +if (b.created) { +b.created.call(this); +} +} +if (this.created) { +this.created(); +} this._initFeatures(); }, ensureRegisterFinished: function () { @@ -205,13 +239,26 @@ if (proto.__hasRegisterFinished !== proto.is || !proto.is) { if (settings.lazyRegister === 'max') { proto._desugarBehaviors(); -proto._doBehaviorOnly('beforeRegister'); +for (var i = 0, b; i < proto.behaviors.length; i++) { +b = proto.behaviors[i]; +if (b.beforeRegister) { +b.beforeRegister.call(proto); +} +} } proto.__hasRegisterFinished = proto.is; if (proto._finishRegisterFeatures) { proto._finishRegisterFeatures(); } -proto._doBehavior('registered'); +for (var j = 0, pb; j < proto.behaviors.length; j++) { +pb = proto.behaviors[j]; +if (pb.registered) { +pb.registered.call(proto); +} +} +if (proto.registered) { +proto.registered(); +} if (settings.usePolyfillProto && proto !== this) { proto.extend(this, proto); } @@ -221,23 +268,43 @@ var self = this; Polymer.RenderStatus.whenReady(function () { self.isAttached = true; -self._doBehavior('attached'); +for (var i = 0, b; i < self.behaviors.length; i++) { +b = self.behaviors[i]; +if (b.attached) { +b.attached.call(self); +} +} +if (self.attached) { +self.attached(); +} }); }, detachedCallback: function () { var self = this; Polymer.RenderStatus.whenReady(function () { self.isAttached = false; -self._doBehavior('detached'); +for (var i = 0, b; i < self.behaviors.length; i++) { +b = self.behaviors[i]; +if (b.detached) { +b.detached.call(self); +} +} +if (self.detached) { +self.detached(); +} }); }, attributeChangedCallback: function (name, oldValue, newValue) { this._attributeChangedImpl(name); -this._doBehavior('attributeChanged', [ -name, -oldValue, -newValue -]); +for (var i = 0, b; i < this.behaviors.length; i++) { +b = this.behaviors[i]; +if (b.attributeChanged) { +b.attributeChanged.call(this, name, oldValue, newValue); +} +} +if (this.attributeChanged) { +this.attributeChanged(name, oldValue, newValue); +} }, _attributeChangedImpl: function (name) { this._setAttributeToProperty(this, name); @@ -308,6 +375,22 @@ return object; }; Polymer.Base = Polymer.Base.chainObject(Polymer.Base, HTMLElement.prototype); +Polymer.BaseDescriptors = {}; +var disableUpgradePropertySetter; +if (settings.disableUpgradeEnabled) { +disableUpgradePropertySetter = function (property, value) { +this.__data__[property] = value; +}; +var origAttributeChangedCallback = Polymer.Base.attributeChangedCallback; +Polymer.Base.attributeChangedCallback = function (name, oldValue, newValue) { +if (!this.__hasInitialized && name === 'disable-upgrade') { +this.__hasInitialized = true; +this._propertySetter = Polymer.Bind._modelApi._propertySetter; +this.__initialize(); +} +origAttributeChangedCallback.call(this, name, oldValue, newValue); +}; +} if (window.CustomElements) { Polymer.instanceof = CustomElements.instanceof; } else { @@ -329,8 +412,7 @@ return document.createElement('dom-module'); }; DomModule.prototype = Object.create(HTMLElement.prototype); -Polymer.Base.extend(DomModule.prototype, { -constructor: DomModule, +Polymer.Base.mixin(DomModule.prototype, { createdCallback: function () { this.register(); }, @@ -356,6 +438,11 @@ } } }); +Object.defineProperty(DomModule.prototype, 'constructor', { +value: DomModule, +configurable: true, +writable: true +}); var cePolyfill = window.CustomElements && !CustomElements.useNative; document.registerElement('dom-module', DomModule); function forceDomModulesUpgrade() { @@ -420,11 +507,16 @@ }, _mixinBehavior: function (b) { var n$ = Object.getOwnPropertyNames(b); +var useAssignment = b._noAccessors; for (var i = 0, n; i < n$.length && (n = n$[i]); i++) { if (!Polymer.Base._behaviorProperties[n] && !this.hasOwnProperty(n)) { +if (useAssignment) { +this[n] = b[n]; +} else { this.copyOwnProperty(n, b, this); } } +} }, _prepBehaviors: function () { this._prepFlattenedBehaviors(this.behaviors); @@ -435,23 +527,6 @@ } this._prepBehavior(this); }, -_doBehavior: function (name, args) { -for (var i = 0; i < this.behaviors.length; i++) { -this._invokeBehavior(this.behaviors[i], name, args); -} -this._invokeBehavior(this, name, args); -}, -_doBehaviorOnly: function (name, args) { -for (var i = 0; i < this.behaviors.length; i++) { -this._invokeBehavior(this.behaviors[i], name, args); -} -}, -_invokeBehavior: function (b, name, args) { -var fn = b[name]; -if (fn) { -fn.apply(this, args || Polymer.nar); -} -}, _marshalBehaviors: function () { for (var i = 0; i < this.behaviors.length; i++) { this._marshalBehavior(this.behaviors[i]); @@ -470,7 +545,8 @@ attached: true, detached: true, attributeChanged: true, -ready: true +ready: true, +_noAccessors: true };Polymer.Base._addFeature({ _getExtendedPrototype: function (tag) { return this._getExtendedNativePrototype(tag); @@ -479,8 +555,14 @@ _getExtendedNativePrototype: function (tag) { var p = this._nativePrototypes[tag]; if (!p) { -var np = this.getNativePrototype(tag); -p = this.extend(Object.create(np), Polymer.Base); +p = Object.create(this.getNativePrototype(tag)); +var p$ = Object.getOwnPropertyNames(Polymer.Base); +for (var i = 0, n; i < p$.length && (n = p$[i]); i++) { +if (!Polymer.BaseDescriptors[n]) { +p[n] = Polymer.Base[n]; +} +} +Object.defineProperties(p, Polymer.BaseDescriptors); this._nativePrototypes[tag] = p; } return p; @@ -516,7 +598,6 @@ } });Polymer.nob = Object.create(null); Polymer.Base._addFeature({ -properties: {}, getPropertyInfo: function (property) { var info = this._getPropertyInfo(property, this.properties); if (!info) { @@ -573,7 +654,17 @@ } } } -});Polymer.CaseMap = { +}); +(function () { +var propertiesDesc = { +configurable: true, +writable: true, +enumerable: true, +value: {} +}; +Polymer.BaseDescriptors.properties = propertiesDesc; +Object.defineProperty(Polymer.Base, 'properties', propertiesDesc); +}());Polymer.CaseMap = { _caseMap: {}, _rx: { dashToCamel: /-[a-z]/g, @@ -697,7 +788,7 @@ return value != null ? value : undefined; } } -});Polymer.version = "1.7.1";Polymer.Base._addFeature({ +});Polymer.version = "1.8.0";Polymer.Base._addFeature({ _registerFeatures: function () { this._prepIs(); this._prepBehaviors(); diff --git a/polymer-mini.html b/polymer-mini.html index 34dbe81471..d711ed09c2 100644 --- a/polymer-mini.html +++ b/polymer-mini.html @@ -81,7 +81,15 @@ this._finishDistribute(); }, _readySelf: function () { -this._doBehavior('ready'); +for (var i = 0, b; i < this.behaviors.length; i++) { +b = this.behaviors[i]; +if (b.ready) { +b.ready.call(this); +} +} +if (this.ready) { +this.ready(); +} this._readied = true; if (this._attachedPending) { this._attachedPending = false; @@ -694,7 +702,7 @@ } var nativeCloneNode = Element.prototype.cloneNode; var nativeImportNode = Document.prototype.importNode; -Polymer.Base.extend(DomApi.prototype, { +Polymer.Base.mixin(DomApi.prototype, { _lazyDistribute: function (host) { if (host.shadyRoot && host.shadyRoot._distributionClean) { host.shadyRoot._distributionClean = false; @@ -1158,7 +1166,7 @@ if (!Settings.useShadow) { return; } -Polymer.Base.extend(DomApi.prototype, { +Polymer.Base.mixin(DomApi.prototype, { querySelectorAll: function (selector) { return TreeApi.arrayCopy(this.node.querySelectorAll(selector)); }, @@ -1268,7 +1276,7 @@ 'nextElementSibling', 'previousElementSibling' ]); -}());Polymer.Base.extend(Polymer.dom, { +}());Polymer.Base.mixin(Polymer.dom, { _flushGuard: 0, _FLUSH_MAX: 100, _needsTakeRecords: !Polymer.Settings.useNativeCustomElements, @@ -1569,7 +1577,7 @@ if (Settings.useShadow) { var baseSetup = DomApi.EffectiveNodesObserver.prototype._setup; var baseCleanup = DomApi.EffectiveNodesObserver.prototype._cleanup; -Polymer.Base.extend(DomApi.EffectiveNodesObserver.prototype, { +Polymer.Base.mixin(DomApi.EffectiveNodesObserver.prototype, { _setup: function () { if (!this._observer) { var self = this; @@ -1631,7 +1639,7 @@ DomApi.EffectiveNodesObserver.call(this, domApi); }; DomApi.DistributedNodesObserver.prototype = Object.create(DomApi.EffectiveNodesObserver.prototype); -Polymer.Base.extend(DomApi.DistributedNodesObserver.prototype, { +Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype, { _setup: function () { }, _cleanup: function () { @@ -1643,7 +1651,7 @@ } }); if (Settings.useShadow) { -Polymer.Base.extend(DomApi.DistributedNodesObserver.prototype, { +Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype, { _setup: function () { if (!this._observer) { var root = this.domApi.getOwnerRoot(); @@ -1721,10 +1729,6 @@ } this.shadyRoot.host = this; }, -get domHost() { -var root = Polymer.dom(this).getOwnerRoot(); -return root && root.host; -}, distributeContent: function (updateInsertionPoints) { if (this.shadyRoot) { this.shadyRoot._invalidInsertionPoints = this.shadyRoot._invalidInsertionPoints || updateInsertionPoints; @@ -1911,6 +1915,15 @@ _elementRemove: function () { } }); +var domHostDesc = { +get: function () { +var root = Polymer.dom(this).getOwnerRoot(); +return root && root.host; +}, +configurable: true +}; +Object.defineProperty(Polymer.Base, 'domHost', domHostDesc); +Polymer.BaseDescriptors.domHost = domHostDesc; function distributeNodeInto(child, insertionPoint) { insertionPoint._distributedNodes.push(child); var points = child._destinationInsertionPoints; diff --git a/polymer.html b/polymer.html index 21eb8012ca..e8cfcc42ce 100644 --- a/polymer.html +++ b/polymer.html @@ -14,12 +14,14 @@ 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 --->