code: function(first) {
          var reader  = this._reader,
              url     = first || "",
              c;
  
          for (c = reader.peek(); c; c = reader.peek()) {
              // Note that the grammar at
              // https://www.w3.org/TR/CSS2/grammar.html#scanner
              // incorrectly includes the backslash character in the
              // `url` production, although it is correctly omitted in
              // the `baduri1` production.
              if (nonascii.test(c) || /^[\-!#$%&*-\[\]-~]$/.test(c)) {
                  url += c;
                  reader.read();
              } else if (c === "\\") {
                  if (/^[^\r\n\f]$/.test(reader.peek(2))) {
                      url += this.readEscape(reader.read(), true);
                  } else {
                      break; // bad escape sequence.
                  }
              } else {
                  break; // bad character
              }
          }
  
          return url;
      }
docs: This method never fails, although it may return an empty string.