| Name: Polymer |
| Short Name: polymer |
| URL: https://polymer-library.polymer-project.org |
| Version: 3.5.0 |
| Revision: N/A |
| License: BSD |
| License File: LICENSE.polymer |
| Security Critical: no |
| |
| Description: |
| This directory contains a copy of the Polymer framework and some elements from |
| the Polymer elements catalog (https://elements.polymer-project.org/). See |
| v3_0/package.json for a full list of components. |
| |
| The source git repositories can be found at: |
| https://github.com/Polymer/polymer |
| https://github.com/PolymerElements/<component-name> |
| https://github.com/PolymerLabs/polymer-externs |
| |
| Polymer is comprised of two efforts: |
| 1. A set of core platform features (Shadow DOM, Custom Elements, MDV). |
| Initially, these core features will be enabled with a set of polyfills. As |
| browsers begin to implement these new primitives, the polyfill platform layer |
| becomes smaller and better over time. |
| 2. A next-generation web application framework built upon these core |
| technologies called the Polymer. |
| |
| Local Modifications: |
| - Applied modifications that can be found in various v3_0/*.patch files. |
| - Removed executable bit from some files. |
| - Resolved encoding issues. |
| - Replaced CRLF line endings with LF line endings in text files. |
| - Removed files that are not needed by Chromium, see v3_0/rsync_exclude.txt. |
| - Re-implemented <paper-ripple> using Web Animations API (which, as of |
| 2/21/2017 does not work in Safari or IE). This is a complete fork from |
| Polymer's <paper-ripple>. |
| - Removed CSS properties that are not needed in Chromium using |
| css_strip_prefixes.py script. |
| - Bundled and minified Polymer 3 with minify_polymer.py, since Polymer 3 repo |
| does not distribute minified files. |
| - Note that the Polymer 3 bundle does not include dir-mixin.js which is |
| responsible for polyfylling :dir() CSS rules, because it causes a performance |
| regression (and it is unnecessary), see crbug.com/899603 for more context. |
| - Applied workaround for explicit calls to attachShadow() at |
| https://github.com/Polymer/polymer/issues/5574#issuecomment-649854825 since |
| that issue has not yet been fixed in the upstream repository. |
| - Several modifications were introduced in v3.5.0 to save size, by pruning out |
| codepaths related to |
| 1) ShadyDOM support (not needed by Chromium since native ShadowDOM is used). |
| Done by passing --define window.ShadyDOM=false flag to Terser. |
| 2) ShadyCSS support (not needed by Chromium since no CSS mixins are used). |
| Done by passing --define window.ShadyCSS=false flag to Terser, as well as |
| by exluding all imports of shadycss/, which effectively removes the |
| shadycss polyfil from the final Polymer bundle. |
| 3) PolymerElement#updateStyles() was modified to not rely on the ShadyCSS |
| polyfil anymore, and call the native this.style.setProperty() API instead |
| (required after the changes in #1) |
| 4) PolymerElement#getComputedStyleValue() is now defunct (it was relying on |
| ShadyCSS stuff), and the native HTMLElement#computedStyleMap() API should |
| be used instead. |
| 5) Polymer codepaths guarded by flags to preserve legacy Polymer behavior. |
| Specifically legacyWarnings, syncInitialRender, legacyUndefined, |
| legacyNoObservedAttributes. |
| 6) Polymer codepaths guarded by flags implementing various |
| new optimizations introduced to v3.5.0. Specifically |
| removeNestedTemplates, fastDomIf, suppressTemplateNotifications, |
| useAdoptedStyleSheetsWithBuiltCSS. |
| |
| To restore the content of the 'components-chromium' directory from scratch, run |
| ./v3_0/reproduce.sh on a Linux machine. |