Sha256: 0ced58e71faa811a78461a94487e17baed95fd79cc3fc44e95f86a955cca7743

Contents?: true

Size: 1.69 KB

Versions: 19

Compression:

Stored size: 1.69 KB

Contents

goog.provide('webfont.modules.google.GoogleFontApi');

goog.require('webfont.modules.google.FontApiUrlBuilder');
goog.require('webfont.modules.google.FontApiParser');
goog.require('webfont.FontWatchRunner');
goog.require('webfont.StyleSheetWaiter');

/**
 * @constructor
 * @implements {webfont.FontModule}
 */
webfont.modules.google.GoogleFontApi = function(domHelper, configuration) {
  this.domHelper_ = domHelper;
  this.configuration_ = configuration;
};

/**
 * @const
 * @type {string}
 */
webfont.modules.google.GoogleFontApi.NAME = 'google';

goog.scope(function () {
  var GoogleFontApi = webfont.modules.google.GoogleFontApi,
      FontWatchRunner = webfont.FontWatchRunner,
      StyleSheetWaiter = webfont.StyleSheetWaiter,
      FontApiUrlBuilder = webfont.modules.google.FontApiUrlBuilder,
      FontApiParser = webfont.modules.google.FontApiParser;

  GoogleFontApi.METRICS_COMPATIBLE_FONTS = {
    "Arimo": true,
    "Cousine": true,
    "Tinos": true
  };

  GoogleFontApi.prototype.load = function(onReady) {
    var waiter = new StyleSheetWaiter();
    var domHelper = this.domHelper_;
    var fontApiUrlBuilder = new FontApiUrlBuilder(
        this.configuration_['api'],
        domHelper.getProtocol(),
        this.configuration_['text']
    );
    var fontFamilies = this.configuration_['families'];
    fontApiUrlBuilder.setFontFamilies(fontFamilies);

    var fontApiParser = new FontApiParser(fontFamilies);
    fontApiParser.parse();

    domHelper.loadStylesheet(fontApiUrlBuilder.build(), waiter.startWaitingLoad());
    waiter.waitWhileNeededThen(function() {
      onReady(fontApiParser.getFonts(), fontApiParser.getFontTestStrings(), GoogleFontApi.METRICS_COMPATIBLE_FONTS);
    });
  };
});

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
webfontloader-1.6.27 src/modules/google/googlefontapi.js
webfontloader-1.6.26 src/modules/google/googlefontapi.js
webfontloader-1.6.25 src/modules/google/googlefontapi.js
webfontloader-1.6.24 src/modules/google/googlefontapi.js
webfontloader-1.6.23 src/modules/google/googlefontapi.js
webfontloader-1.6.22 src/modules/google/googlefontapi.js
webfontloader-1.6.21 src/modules/google/googlefontapi.js
webfontloader-1.6.20 src/modules/google/googlefontapi.js
webfontloader-1.6.19 src/modules/google/googlefontapi.js
webfontloader-1.6.18 src/modules/google/googlefontapi.js
webfontloader-1.6.16 src/modules/google/googlefontapi.js
webfontloader-1.6.15 src/modules/google/googlefontapi.js
webfontloader-1.6.14 src/modules/google/googlefontapi.js
webfontloader-1.6.13 src/modules/google/googlefontapi.js
webfontloader-1.6.12 src/modules/google/googlefontapi.js
webfontloader-1.6.11 src/modules/google/googlefontapi.js
webfontloader-1.6.10 src/modules/google/googlefontapi.js
webfontloader-1.6.9 src/modules/google/googlefontapi.js
webfontloader-1.6.8 src/modules/google/googlefontapi.js