aboutsummaryrefslogtreecommitdiff
path: root/catapult/third_party/polymer/components/shadycss/src/style-info.js
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/third_party/polymer/components/shadycss/src/style-info.js')
-rw-r--r--catapult/third_party/polymer/components/shadycss/src/style-info.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/catapult/third_party/polymer/components/shadycss/src/style-info.js b/catapult/third_party/polymer/components/shadycss/src/style-info.js
new file mode 100644
index 00000000..fd5b14b2
--- /dev/null
+++ b/catapult/third_party/polymer/components/shadycss/src/style-info.js
@@ -0,0 +1,75 @@
+/**
+@license
+Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+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
+*/
+
+'use strict';
+
+import {StyleNode} from './css-parse.js'; // eslint-disable-line no-unused-vars
+
+/** @const {string} */
+const infoKey = '__styleInfo';
+
+export default class StyleInfo {
+ /**
+ * @param {Element} node
+ * @return {StyleInfo}
+ */
+ static get(node) {
+ if (node) {
+ return node[infoKey];
+ } else {
+ return null;
+ }
+ }
+ /**
+ * @param {!Element} node
+ * @param {StyleInfo} styleInfo
+ * @return {StyleInfo}
+ */
+ static set(node, styleInfo) {
+ node[infoKey] = styleInfo;
+ return styleInfo;
+ }
+ /**
+ * @param {StyleNode} ast
+ * @param {Node=} placeholder
+ * @param {Array<string>=} ownStylePropertyNames
+ * @param {string=} elementName
+ * @param {string=} typeExtension
+ * @param {string=} cssBuild
+ */
+ constructor(ast, placeholder, ownStylePropertyNames, elementName, typeExtension, cssBuild) {
+ /** @type {StyleNode} */
+ this.styleRules = ast || null;
+ /** @type {Node} */
+ this.placeholder = placeholder || null;
+ /** @type {!Array<string>} */
+ this.ownStylePropertyNames = ownStylePropertyNames || [];
+ /** @type {Array<Object>} */
+ this.overrideStyleProperties = null;
+ /** @type {string} */
+ this.elementName = elementName || '';
+ /** @type {string} */
+ this.cssBuild = cssBuild || '';
+ /** @type {string} */
+ this.typeExtension = typeExtension || '';
+ /** @type {Object<string, string>} */
+ this.styleProperties = null;
+ /** @type {?string} */
+ this.scopeSelector = null;
+ /** @type {HTMLStyleElement} */
+ this.customStyle = null;
+ }
+ _getStyleRules() {
+ return this.styleRules;
+ }
+}
+
+/* eslint-disable-next-line no-self-assign */
+StyleInfo.prototype['_getStyleRules'] = StyleInfo.prototype._getStyleRules;