Chromium Code Reviews| 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 bb9e030916de819706c9df62fcac2f8e18429aad..6e11cc1ec9e31d23566c864094dd5735e3927e10 100644 |
| --- a/chrome/browser/android/webapk/webapk_installer.cc |
| +++ b/chrome/browser/android/webapk/webapk_installer.cc |
| @@ -4,6 +4,8 @@ |
| #include "chrome/browser/android/webapk/webapk_installer.h" |
| +#include <stdlib.h> |
| + |
| #include "base/android/build_info.h" |
| #include "base/android/jni_android.h" |
| #include "base/android/jni_string.h" |
| @@ -22,6 +24,7 @@ |
| #include "chrome/browser/android/webapk/webapk.pb.h" |
| #include "chrome/browser/android/webapk/webapk_icon_hasher.h" |
| #include "chrome/browser/profiles/profile.h" |
| +#include "chrome/common/chrome_switches.h" |
| #include "components/variations/variations_associated_data.h" |
| #include "components/version_info/version_info.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -341,6 +344,14 @@ void WebApkInstaller::OnURLFetchComplete(const net::URLFetcher* source) { |
| OnFailure(); |
| return; |
| } |
| + |
| + if (base::FeatureList::IsEnabled(chrome::android::kPlayInstallWebApks)){ |
| + InstallWebApkFromPlayStore(response->package_name(), |
| + std::atoi(response->version().c_str()), |
| + response->token()); |
|
pkotwicz
2016/11/24 22:59:20
Ideally, Google Play installs will work when:
- Go
|
| + return; |
| + } |
| + |
| OnGotWebApkDownloadUrl(signed_download_url, response->package_name()); |
| } |
| @@ -412,6 +423,22 @@ void WebApkInstaller::SendRequest(std::unique_ptr<webapk::WebApk> request_proto, |
| url_fetcher_->Start(); |
| } |
| +void WebApkInstaller::InstallWebApkFromPlayStore( |
| + const std::string& package_name, int version, const std::string& token) { |
| + webapk_package_ = package_name; |
| + |
| + JNIEnv* env = base::android::AttachCurrentThread(); |
| + base::android::ScopedJavaLocalRef<jstring> java_webapk_package = |
| + base::android::ConvertUTF8ToJavaString(env, webapk_package_); |
| + base::android::ScopedJavaLocalRef<jstring> java_title = |
| + base::android::ConvertUTF16ToJavaString(env, shortcut_info_.user_title); |
| + base::android::ScopedJavaLocalRef<jstring> java_token = |
| + base::android::ConvertUTF8ToJavaString(env, token); |
| + |
| + Java_WebApkInstaller_installWebApkFromPlayStoreAsyncAndMonitorInstallation( |
| + env, java_ref_, java_webapk_package, version, java_title, java_token); |
| +} |
| + |
| void WebApkInstaller::OnGotWebApkDownloadUrl(const GURL& download_url, |
| const std::string& package_name) { |
| webapk_package_ = package_name; |