UNPKG

@iccube/webfontloader

Version:

Web Font Loader gives you added control when using linked fonts via @font-face.

49 lines (43 loc) 1.07 kB
goog.provide('webfont.StyleSheetWaiter'); /** * A utility class for handling callback from DomHelper.loadStylesheet(). * * @constructor */ webfont.StyleSheetWaiter = function() { /** @private @type {number} */ this.waitingCount_ = 0; /** @private @type {Function} */ this.onReady_ = null; }; goog.scope(function () { var StyleSheetWaiter = webfont.StyleSheetWaiter; /** * @return {function(Error)} */ StyleSheetWaiter.prototype.startWaitingLoad = function() { var self = this; self.waitingCount_++; return function(error) { self.waitingCount_--; self.fireIfReady_(); }; }; /** * @param {Function} fn */ StyleSheetWaiter.prototype.waitWhileNeededThen = function(fn) { this.onReady_ = fn; this.fireIfReady_(); }; /** * @private */ StyleSheetWaiter.prototype.fireIfReady_ = function() { var isReady = 0 == this.waitingCount_; if (isReady && this.onReady_) { this.onReady_(); this.onReady_ = null; } }; });