aboutsummaryrefslogtreecommitdiff
path: root/catapult/third_party/polymer/components/shadycss/entrypoints/scoping-shim.js
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/third_party/polymer/components/shadycss/entrypoints/scoping-shim.js')
-rw-r--r--catapult/third_party/polymer/components/shadycss/entrypoints/scoping-shim.js106
1 files changed, 106 insertions, 0 deletions
diff --git a/catapult/third_party/polymer/components/shadycss/entrypoints/scoping-shim.js b/catapult/third_party/polymer/components/shadycss/entrypoints/scoping-shim.js
new file mode 100644
index 00000000..8e35a17e
--- /dev/null
+++ b/catapult/third_party/polymer/components/shadycss/entrypoints/scoping-shim.js
@@ -0,0 +1,106 @@
+/**
+@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 ScopingShim from '../src/scoping-shim.js';
+import {nativeCssVariables, nativeShadow, cssBuild} from '../src/style-settings.js';
+
+/** @const {ScopingShim} */
+const scopingShim = new ScopingShim();
+
+let ApplyShim, CustomStyleInterface;
+
+if (window['ShadyCSS']) {
+ ApplyShim = window['ShadyCSS']['ApplyShim'];
+ CustomStyleInterface = window['ShadyCSS']['CustomStyleInterface'];
+}
+
+window.ShadyCSS = {
+ ScopingShim: scopingShim,
+ /**
+ * @param {!HTMLTemplateElement} template
+ * @param {string} elementName
+ * @param {string=} elementExtends
+ */
+ prepareTemplate(template, elementName, elementExtends) {
+ scopingShim.flushCustomStyles();
+ scopingShim.prepareTemplate(template, elementName, elementExtends)
+ },
+
+ /**
+ * @param {!HTMLTemplateElement} template
+ * @param {string} elementName
+ */
+ prepareTemplateDom(template, elementName) {
+ scopingShim.prepareTemplateDom(template, elementName);
+ },
+
+ /**
+ * @param {!HTMLTemplateElement} template
+ * @param {string} elementName
+ * @param {string=} elementExtends
+ */
+ prepareTemplateStyles(template, elementName, elementExtends) {
+ scopingShim.flushCustomStyles();
+ scopingShim.prepareTemplateStyles(template, elementName, elementExtends)
+ },
+ /**
+ * @param {!HTMLElement} element
+ * @param {Object=} properties
+ */
+ styleSubtree(element, properties) {
+ scopingShim.flushCustomStyles();
+ scopingShim.styleSubtree(element, properties);
+ },
+
+ /**
+ * @param {!HTMLElement} element
+ */
+ styleElement(element) {
+ scopingShim.flushCustomStyles();
+ scopingShim.styleElement(element);
+ },
+
+ /**
+ * @param {Object=} properties
+ */
+ styleDocument(properties) {
+ scopingShim.flushCustomStyles();
+ scopingShim.styleDocument(properties);
+ },
+
+ flushCustomStyles() {
+ scopingShim.flushCustomStyles();
+ },
+
+ /**
+ * @param {Element} element
+ * @param {string} property
+ * @return {string}
+ */
+ getComputedStyleValue(element, property) {
+ return scopingShim.getComputedStyleValue(element, property);
+ },
+
+ nativeCss: nativeCssVariables,
+
+ nativeShadow: nativeShadow,
+
+ cssBuild: cssBuild
+};
+
+if (ApplyShim) {
+ window.ShadyCSS.ApplyShim = ApplyShim;
+}
+
+if (CustomStyleInterface) {
+ window.ShadyCSS.CustomStyleInterface = CustomStyleInterface;
+} \ No newline at end of file