Polymer: Migrate iron-list to its latest (2.x) version. |
|||||
Issue descriptionThis task involves 1) Updating third_party/polymer/v1_0/bower.json and running reproduce.sh script. 2) Updating our local iron-list patch to work with latest version at [1]. 3) Read about breaking changes [1] and evaluate how they affect Chromium's usage (and tweak code as necessary). 4) Ensure all automatic tests pass, as well as doing some manual sanity checking. @scottchen: Do you have any cycles to look into this? [1] https://cs.chromium.org/chromium/src/third_party/polymer/v1_0/chromium.patch?l=27 [2] https://github.com/PolymerElements/iron-list#changes-in-v2
,
Mar 3 2018
FYI, I started 1 and 2 from the list above, see https://chromium-review.googlesource.com/c/chromium/src/+/947707. Automated tests are still running. Feel free to pick up from that point.
,
Mar 5 2018
FYI, the bots revealed a few Closure compilation errors within the iron-list code, see https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.chromium.linux%2Fclosure_compilation%2F15826%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout Also, pasting below: (ERROR) Error in: iron-list-extracted.js ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:9: ERROR - Property flush never defined on Polymer ## var IS_V2 = Polymer.flush != null; ## ^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:10: ERROR - Property animationFrame never defined on Polymer.Async ## var ANIMATION_FRAME = IS_V2 ? Polymer.Async.animationFrame : 0; ## ^^^^^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:11: ERROR - Property idlePeriod never defined on Polymer.Async ## var IDLE_TIME = IS_V2 ? Polymer.Async.idlePeriod : 1; ## ^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:12: ERROR - Property microTask never defined on Polymer.Async ## var MICRO_TASK = IS_V2 ? Polymer.Async.microTask : 2; ## ^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:787: ERROR - Function IronListElement.prototype.templatize: called with 2 argument(s). Function requires at least 1 argument(s) and no more than 1 argument(s). ## this.templatize(this._userTemplate, this.mutableData); ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:787: ERROR - Property mutableData never defined on IronListElement ## this.templatize(this._userTemplate, this.mutableData); ## ^^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:886: ERROR - Property _setPendingPropertyOrPath never defined on PolymerElement ## ? inst._setPendingPropertyOrPath(path, value, false, true) ## ^^^^^^^^^^^^^^^^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:1325: ERROR - Property isIndexSelected never defined on ? ## ? this.$.selector.isIndexSelected(index) : this.$.selector.isSelected(this.items[index]); ## ^^^^^^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:1621: ERROR - Property debounce never defined on Polymer.Debouncer ## this._debouncers[name] = Polymer.Debouncer.debounce( ## ^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:1625: ERROR - Property enqueueDebouncer never defined on Polymer ## Polymer.enqueueDebouncer(this._debouncers[name]); ## ^^^^^^^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:1633: ERROR - Property _setPendingProperty never defined on inst ## inst._setPendingProperty(name, value); ## ^^^^^^^^^^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:1645: ERROR - Property forwardHostProp never defined on PolymerElement ## this.modelForElement(item).forwardHostProp(prop, value); ## ^^^^^^^^^^^^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:1651: ERROR - Property Path never defined on Polymer ## if (Polymer.Path.matches(this.as, prop)) { ## ^^^^ ## ## /b/build/slave/linux/build/src/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js:1656: ERROR - Property Path never defined on Polymer ## this.notifyPath(Polymer.Path.translate(this.as, 'items.' + idx, prop), value); ## ^^^^
,
Mar 15 2018
Iron-list seems to have introduced a bug in newer version. Filed with Polymer owner: https://github.com/PolymerElements/iron-list/issues/512 and awaiting feedback/fix.
,
Apr 7 2018
status update: Polymer team fixed the iron-list issue, and I've based our own patch on the newest version in this CL: https://chromium-review.googlesource.com/c/chromium/src/+/988247 However, this still requires rolling closure compiler as mentioned before. I've started doing that, but there are a lot more new closure-compiler errors we need to fix. This is in progress in this WIP CL: https://chromium-review.googlesource.com/c/chromium/src/+/988553
,
Apr 10 2018
,
Apr 16 2018
FYI, closure compiler has been updated, so this bug should be unblocked now.
,
Apr 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16 commit 9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16 Author: Scott Chen <scottchen@chromium.org> Date: Thu Apr 19 20:47:59 2018 WebUI: Update Polymer iron-list 1.4.6 -> 2.0.14. Bug: 815009 Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Change-Id: If3c93fa90def4d7332d077d54efe9a8ca2c51ea3 Reviewed-on: https://chromium-review.googlesource.com/988247 Commit-Queue: Scott Chen <scottchen@chromium.org> Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org> Cr-Commit-Position: refs/heads/master@{#552149} [modify] https://crrev.com/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16/chrome/browser/resources/md_downloads/manager.js [modify] https://crrev.com/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16/third_party/polymer/v1_0/bower.json [modify] https://crrev.com/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16/third_party/polymer/v1_0/chromium.patch [modify] https://crrev.com/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16/third_party/polymer/v1_0/components-chromium/iron-list/bower.json [modify] https://crrev.com/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16/third_party/polymer/v1_0/components-chromium/iron-list/iron-list-extracted.js [modify] https://crrev.com/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16/third_party/polymer/v1_0/components-chromium/iron-list/iron-list.html [modify] https://crrev.com/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16/third_party/polymer/v1_0/components_summary.txt [modify] https://crrev.com/9417cbbdf2bf0fb3b82cc20e0b0e5cd808d71b16/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.js
,
Apr 20 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by dpa...@chromium.org
, Feb 23 2018