code: public SafeStyleBuilder backgroundImageAppendUrl(String url) {
      url = SafeUrls.sanitize(url).getSafeUrlString();
      try {
        url = ESCAPER_BACKGROUND_IMAGE.escape(url);
      } catch (IllegalArgumentException e) {  // Happens if url contains invalid surrogate sequences.
        url = INNOCUOUS_PROPERTY_STRING;
      }
      String urlValue = "url(" + url + ")";
      appendToProperty("background-image", urlValue);
      return this;
    }
docs: Appends a {@code url} value to the {@code background-image} property, if necessary inserting
  a leading comma. The {@code url} value will be inserted inside a {@code url} function call.
  
  <p>The {@code url} is validated as safe, as determined by {@link SafeUrls#sanitize(String)}.
  It also percent-encoded to prevent it from interefering with the structure of the surrounding
  CSS.
  
  <p>TODO(mlourenco): The right thing to do would be to CSS-escape but percent-encoding is
  easier for now because we don't have a CSS-escaper. As URLs in CSS are likely to point to
  domains we control it seems extremely unlikely that this will break anything.
  
  @see "http://dev.w3.org/csswg/css-backgrounds/#background-image"