| Index: third_party/polymer/components-chromium/core-style/core-style-extracted.js
|
| diff --git a/third_party/polymer/components-chromium/core-style/core-style-extracted.js b/third_party/polymer/components-chromium/core-style/core-style-extracted.js
|
| deleted file mode 100644
|
| index 9bbe571ba26dfe8a798d2f42e9401e96353cccfb..0000000000000000000000000000000000000000
|
| --- a/third_party/polymer/components-chromium/core-style/core-style-extracted.js
|
| +++ /dev/null
|
| @@ -1,284 +0,0 @@
|
| -
|
| -(function() {
|
| -
|
| -window.CoreStyle = window.CoreStyle || {
|
| - g: {},
|
| - list: {},
|
| - refMap: {}
|
| -};
|
| -
|
| -Polymer('core-style', {
|
| - /**
|
| - * The `id` property should be set if the `core-style` is a producer
|
| - * of styles. In this case, the `core-style` should have text content
|
| - * that is cssText.
|
| - *
|
| - * @attribute id
|
| - * @type string
|
| - * @default ''
|
| - */
|
| -
|
| -
|
| - publish: {
|
| - /**
|
| - * The `ref` property should be set if the `core-style` element is a
|
| - * consumer of styles. Set it to the `id` of the desired `core-style`
|
| - * element.
|
| - *
|
| - * @attribute ref
|
| - * @type string
|
| - * @default ''
|
| - */
|
| - ref: ''
|
| - },
|
| -
|
| - // static
|
| - g: CoreStyle.g,
|
| - refMap: CoreStyle.refMap,
|
| -
|
| - /**
|
| - * The `list` is a map of all `core-style` producers stored by `id`. It
|
| - * should be considered readonly. It's useful for nesting one `core-style`
|
| - * inside another.
|
| - *
|
| - * @attribute list
|
| - * @type object (readonly)
|
| - * @default {map of all `core-style` producers}
|
| - */
|
| - list: CoreStyle.list,
|
| -
|
| - // if we have an id, we provide style
|
| - // if we have a ref, we consume/require style
|
| - ready: function() {
|
| - if (this.id) {
|
| - this.provide();
|
| - } else {
|
| - this.registerRef(this.ref);
|
| - if (!window.ShadowDOMPolyfill) {
|
| - this.require();
|
| - }
|
| - }
|
| - },
|
| -
|
| - // can't shim until attached if using SD polyfill because need to find host
|
| - attached: function() {
|
| - if (!this.id && window.ShadowDOMPolyfill) {
|
| - this.require();
|
| - }
|
| - },
|
| -
|
| - /****** producer stuff *******/
|
| -
|
| - provide: function() {
|
| - this.register();
|
| - // we want to do this asap, especially so we can do so before definitions
|
| - // that use this core-style are registered.
|
| - if (this.textContent) {
|
| - this._completeProvide();
|
| - } else {
|
| - this.async(this._completeProvide);
|
| - }
|
| - },
|
| -
|
| - register: function() {
|
| - var i = this.list[this.id];
|
| - if (i) {
|
| - if (!Array.isArray(i)) {
|
| - this.list[this.id] = [i];
|
| - }
|
| - this.list[this.id].push(this);
|
| - } else {
|
| - this.list[this.id] = this;
|
| - }
|
| - },
|
| -
|
| - // stamp into a shadowRoot so we can monitor dom of the bound output
|
| - _completeProvide: function() {
|
| - this.createShadowRoot();
|
| - this.domObserver = new MutationObserver(this.domModified.bind(this))
|
| - .observe(this.shadowRoot, {subtree: true,
|
| - characterData: true, childList: true});
|
| - this.provideContent();
|
| - },
|
| -
|
| - provideContent: function() {
|
| - this.ensureTemplate();
|
| - this.shadowRoot.textContent = '';
|
| - this.shadowRoot.appendChild(this.instanceTemplate(this.template));
|
| - this.cssText = this.shadowRoot.textContent;
|
| - },
|
| -
|
| - ensureTemplate: function() {
|
| - if (!this.template) {
|
| - this.template = this.querySelector('template:not([repeat]):not([bind])');
|
| - // move content into the template
|
| - if (!this.template) {
|
| - this.template = document.createElement('template');
|
| - var n = this.firstChild;
|
| - while (n) {
|
| - this.template.content.appendChild(n.cloneNode(true));
|
| - n = n.nextSibling;
|
| - }
|
| - }
|
| - }
|
| - },
|
| -
|
| - domModified: function() {
|
| - this.cssText = this.shadowRoot.textContent;
|
| - this.notify();
|
| - },
|
| -
|
| - // notify instances that reference this element
|
| - notify: function() {
|
| - var s$ = this.refMap[this.id];
|
| - if (s$) {
|
| - for (var i=0, s; (s=s$[i]); i++) {
|
| - s.require();
|
| - }
|
| - }
|
| - },
|
| -
|
| - /****** consumer stuff *******/
|
| -
|
| - registerRef: function(ref) {
|
| - //console.log('register', ref);
|
| - this.refMap[this.ref] = this.refMap[this.ref] || [];
|
| - this.refMap[this.ref].push(this);
|
| - },
|
| -
|
| - applyRef: function(ref) {
|
| - this.ref = ref;
|
| - this.registerRef(this.ref);
|
| - this.require();
|
| - },
|
| -
|
| - require: function() {
|
| - var cssText = this.cssTextForRef(this.ref);
|
| - //console.log('require', this.ref, cssText);
|
| - if (cssText) {
|
| - this.ensureStyleElement();
|
| - // do nothing if cssText has not changed
|
| - if (this.styleElement._cssText === cssText) {
|
| - return;
|
| - }
|
| - this.styleElement._cssText = cssText;
|
| - if (window.ShadowDOMPolyfill) {
|
| - this.styleElement.textContent = cssText;
|
| - cssText = WebComponents.ShadowCSS.shimStyle(this.styleElement,
|
| - this.getScopeSelector());
|
| - }
|
| - this.styleElement.textContent = cssText;
|
| - }
|
| - },
|
| -
|
| - cssTextForRef: function(ref) {
|
| - var s$ = this.byId(ref);
|
| - var cssText = '';
|
| - if (s$) {
|
| - if (Array.isArray(s$)) {
|
| - var p = [];
|
| - for (var i=0, l=s$.length, s; (i<l) && (s=s$[i]); i++) {
|
| - p.push(s.cssText);
|
| - }
|
| - cssText = p.join('\n\n');
|
| - } else {
|
| - cssText = s$.cssText;
|
| - }
|
| - }
|
| - if (s$ && !cssText) {
|
| - console.warn('No styles provided for ref:', ref);
|
| - }
|
| - return cssText;
|
| - },
|
| -
|
| - byId: function(id) {
|
| - return this.list[id];
|
| - },
|
| -
|
| - ensureStyleElement: function() {
|
| - if (!this.styleElement) {
|
| - this.styleElement = window.ShadowDOMPolyfill ?
|
| - this.makeShimStyle() :
|
| - this.makeRootStyle();
|
| - }
|
| - if (!this.styleElement) {
|
| - console.warn(this.localName, 'could not setup style.');
|
| - }
|
| - },
|
| -
|
| - makeRootStyle: function() {
|
| - var style = document.createElement('style');
|
| - this.appendChild(style);
|
| - return style;
|
| - },
|
| -
|
| - makeShimStyle: function() {
|
| - var host = this.findHost(this);
|
| - if (host) {
|
| - var name = host.localName;
|
| - var style = document.querySelector('style[' + name + '=' + this.ref +']');
|
| - if (!style) {
|
| - style = document.createElement('style');
|
| - style.setAttribute(name, this.ref);
|
| - document.head.appendChild(style);
|
| - }
|
| - return style;
|
| - }
|
| - },
|
| -
|
| - getScopeSelector: function() {
|
| - if (!this._scopeSelector) {
|
| - var selector = '', host = this.findHost(this);
|
| - if (host) {
|
| - var typeExtension = host.hasAttribute('is');
|
| - var name = typeExtension ? host.getAttribute('is') : host.localName;
|
| - selector = WebComponents.ShadowCSS.makeScopeSelector(name,
|
| - typeExtension);
|
| - }
|
| - this._scopeSelector = selector;
|
| - }
|
| - return this._scopeSelector;
|
| - },
|
| -
|
| - findHost: function(node) {
|
| - while (node.parentNode) {
|
| - node = node.parentNode;
|
| - }
|
| - return node.host || wrap(document.documentElement);
|
| - },
|
| -
|
| - /* filters! */
|
| - // TODO(dfreedm): add more filters!
|
| -
|
| - cycle: function(rgb, amount) {
|
| - if (rgb.match('#')) {
|
| - var o = this.hexToRgb(rgb);
|
| - if (!o) {
|
| - return rgb;
|
| - }
|
| - rgb = 'rgb(' + o.r + ',' + o.b + ',' + o.g + ')';
|
| - }
|
| -
|
| - function cycleChannel(v) {
|
| - return Math.abs((Number(v) - amount) % 255);
|
| - }
|
| -
|
| - return rgb.replace(/rgb\(([^,]*),([^,]*),([^,]*)\)/, function(m, a, b, c) {
|
| - return 'rgb(' + cycleChannel(a) + ',' + cycleChannel(b) + ', '
|
| - + cycleChannel(c) + ')';
|
| - });
|
| - },
|
| -
|
| - hexToRgb: function(hex) {
|
| - var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
| - return result ? {
|
| - r: parseInt(result[1], 16),
|
| - g: parseInt(result[2], 16),
|
| - b: parseInt(result[3], 16)
|
| - } : null;
|
| - }
|
| -
|
| -});
|
| -
|
| -
|
| -})();
|
|
|