code: function loadStyleSheet(module, path) {
          var result = new $.Deferred();
  
          loadFile(module, path)
              .done(function (content) {
                  var url = this.url;
  
                  if (url.slice(-5) === ".less") {
                      parseLessCode(content, url)
                          .done(function (css) {
                              result.resolve(addEmbeddedStyleSheet(css));
                          })
                          .fail(result.reject);
                  } else {
                      var deferred = new $.Deferred(),
                          link = addLinkedStyleSheet(url, deferred);
  
                      deferred
                          .done(function () {
                              result.resolve(link);
                          })
                          .fail(result.reject);
                  }
              })
              .fail(result.reject);
  
          // Summarize error info to console for easier debugging
          result.fail(function (error, textStatus, httpError) {
              if (error.readyState !== undefined) {
                  // If first arg is a jQXHR object, the real error info is in the next two args
                  console.error("[Extension] Unable to read stylesheet " + path + ":", textStatus, httpError);
              } else {
                  console.error("[Extension] Unable to process stylesheet " + path, error);
              }
          });
  
          return result.promise();
      }
docs: Loads a style sheet (CSS or LESS) relative to the extension module.
  
  @param {!module} module Module provided by RequireJS
  @param {!string} path Relative path from the extension folder to a CSS or LESS file
  @return {!$.Promise} A promise object that is resolved with an HTML node if the file can be loaded.