Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: chrome/browser/android/webapk/webapk_installer.cc

Issue 2259553002: Make AppBannerInfoBar install WebAPK. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/webapk/webapk_installer.cc
diff --git a/chrome/browser/android/webapk/webapk_installer.cc b/chrome/browser/android/webapk/webapk_installer.cc
index 07c07cc1b186e29f27837258dd0063eba285c9b4..233e66d43a7534453545a9324f62cf43890c04a9 100644
--- a/chrome/browser/android/webapk/webapk_installer.cc
+++ b/chrome/browser/android/webapk/webapk_installer.cc
@@ -147,17 +147,22 @@ WebApkInstaller::WebApkInstaller(const ShortcutInfo& shortcut_info,
WebApkInstaller::~WebApkInstaller() {}
-void WebApkInstaller::InstallAsync(content::BrowserContext* browser_context,
- const FinishCallback& finish_callback) {
+void WebApkInstaller::InstallAsync(
+ content::BrowserContext* browser_context,
+ const ShortcutHelper::WebApkPackageNameAvailableCallback& callback,
+ const FinishCallback& finish_callback) {
InstallAsyncWithURLRequestContextGetter(
Profile::FromBrowserContext(browser_context)->GetRequestContext(),
+ callback,
finish_callback);
}
void WebApkInstaller::InstallAsyncWithURLRequestContextGetter(
net::URLRequestContextGetter* request_context_getter,
+ const ShortcutHelper::WebApkPackageNameAvailableCallback& callback,
const FinishCallback& finish_callback) {
request_context_getter_ = request_context_getter;
+ package_available_callback_ = callback;
finish_callback_ = finish_callback;
task_type_ = INSTALL;
@@ -250,6 +255,7 @@ void WebApkInstaller::OnURLFetchComplete(const net::URLFetcher* source) {
OnFailure();
return;
}
+
OnGotWebApkDownloadUrl(signed_download_url, response->package_name());
}
@@ -375,6 +381,9 @@ void WebApkInstaller::OnWebApkMadeWorldReadable(
return;
}
+ if (package_available_callback_)
+ package_available_callback_.Run(package_name);
+
JNIEnv* env = base::android::AttachCurrentThread();
base::android::ScopedJavaLocalRef<jstring> java_file_path =
base::android::ConvertUTF8ToJavaString(env, file_path.value());
@@ -405,7 +414,10 @@ void WebApkInstaller::OnSuccess() {
}
void WebApkInstaller::OnFailure() {
- FinishCallback callback = finish_callback_;
+ ShortcutHelper::WebApkPackageNameAvailableCallback callback =
+ package_available_callback_;
+ FinishCallback finish_callback = finish_callback_;
delete this;
- callback.Run(false);
+ callback.Run("");
+ finish_callback.Run(false);
}

Powered by Google App Engine
This is Rietveld 408576698