Pass in extra parameters to WebApkBuilder#buildWebApkAsync()

This CL:
- Passes in the same parameters to WebApkBuilder#buildWebApkAsync() as those
  passed to ShortcutHelper#createWebappShortcutIntent(). This is necessary
  because WebAPKs and Web apps use the same splash screen rendering logic.
- Passes in the Web Manifest URL and the icon URL to
  WebApkBuilder#buildWebApkAsync(). If the Chrome server has previously
  generated a WebAPK for a (manifestUrl, iconURL) pair, it is possible to
  download a WebAPK for the (manifestUrl, iconURL) pair from the Chrome server
  without uploading the icon bitmap to the server.

BUG=619739

Review-Url: https://codereview.chromium.org/2064943002
Cr-Commit-Position: refs/heads/master@{#403523}
diff --git a/chrome/browser/android/shortcut_helper.cc b/chrome/browser/android/shortcut_helper.cc
index 25dd8d9..e4769d9 100644
--- a/chrome/browser/android/shortcut_helper.cc
+++ b/chrome/browser/android/shortcut_helper.cc
@@ -78,9 +78,13 @@
       base::android::ConvertUTF16ToJavaString(env, info.name);
   ScopedJavaLocalRef<jstring> java_short_name =
       base::android::ConvertUTF16ToJavaString(env, info.short_name);
+  ScopedJavaLocalRef<jstring> java_icon_url =
+      base::android::ConvertUTF8ToJavaString(env, info.icon_url.spec());
   ScopedJavaLocalRef<jobject> java_bitmap;
   if (icon_bitmap.getSize())
     java_bitmap = gfx::ConvertToJavaBitmap(&icon_bitmap);
+  ScopedJavaLocalRef<jstring> java_manifest_url =
+      base::android::ConvertUTF8ToJavaString(env, info.manifest_url.spec());
 
   uintptr_t callback_pointer = 0;
   if (info.display == blink::WebDisplayModeStandalone ||
@@ -101,13 +105,14 @@
       java_user_title.obj(),
       java_name.obj(),
       java_short_name.obj(),
+      java_icon_url.obj(),
       java_bitmap.obj(),
       info.display,
       info.orientation,
       info.source,
       info.theme_color,
       info.background_color,
-      info.is_icon_generated,
+      java_manifest_url.obj(),
       callback_pointer);
 }