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);
}