/** @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 documentWait from './document-wait.js'; /** * @typedef {HTMLStyleElement | {getStyle: function():HTMLStyleElement}} */ export let CustomStyleProvider; const SEEN_MARKER = '__seenByShadyCSS'; const CACHED_STYLE = '__shadyCSSCachedStyle'; /** @type {?function(!HTMLStyleElement)} */ let transformFn = null; /** @type {?function()} */ let validateFn = null; /** This interface is provided to add document-level