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

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

Issue 2943913002: [Android WebAPK] Make webapk_installer.cc return proto as base64 string
Patch Set: Merge branch 'master' into background_updates00 Created 3 years, 5 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
« no previous file with comments | « chrome/browser/android/webapk/webapk_installer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/webapk/webapk_update_manager.cc
diff --git a/chrome/browser/android/webapk/webapk_update_manager.cc b/chrome/browser/android/webapk/webapk_update_manager.cc
index 9af9a7b61e1576ef1e376bbc2b91d201257a56ec..10d3569f50f00983c13b23838ebbc41aa66930c1 100644
--- a/chrome/browser/android/webapk/webapk_update_manager.cc
+++ b/chrome/browser/android/webapk/webapk_update_manager.cc
@@ -13,6 +13,7 @@
#include "base/android/jni_string.h"
#include "base/android/scoped_java_ref.h"
#include "base/bind.h"
+#include "base/files/file_path.h"
#include "base/memory/ptr_util.h"
#include "base/strings/string16.h"
#include "base/threading/thread_task_runner_handle.h"
@@ -33,10 +34,10 @@ using base::android::ScopedJavaGlobalRef;
namespace {
-// Called with the serialized proto to send to the WebAPK server.
-void OnBuiltProto(const JavaRef<jobject>& java_callback,
- std::unique_ptr<std::vector<uint8_t>> proto) {
- base::android::RunCallbackAndroid(java_callback, *proto);
+// Called after saving the update request proto either succeeds or fails.
+void OnStoredUpdateRequest(const JavaRef<jobject>& java_callback,
+ bool success) {
+ base::android::RunCallbackAndroid(java_callback, success);
}
// Called after the update either succeeds or fails.
@@ -52,9 +53,10 @@ void OnUpdated(const JavaRef<jobject>& java_callback,
} // anonymous namespace
// static JNI method.
-static void BuildUpdateWebApkProto(
+static void StoreWebApkUpdateRequestToDisk(
JNIEnv* env,
const JavaParamRef<jclass>& clazz,
+ const JavaParamRef<jstring>& java_file_path,
const JavaParamRef<jstring>& java_start_url,
const JavaParamRef<jstring>& java_scope,
const JavaParamRef<jstring>& java_name,
@@ -76,6 +78,8 @@ static void BuildUpdateWebApkProto(
const JavaParamRef<jobject>& java_callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+ std::string file_path = ConvertJavaStringToUTF8(env, java_file_path);
+
ShortcutInfo info(GURL(ConvertJavaStringToUTF8(env, java_start_url)));
info.scope = GURL(ConvertJavaStringToUTF8(env, java_scope));
info.name = ConvertJavaStringToUTF16(env, java_name);
@@ -118,21 +122,20 @@ static void BuildUpdateWebApkProto(
std::string webapk_package;
ConvertJavaStringToUTF8(env, java_webapk_package, &webapk_package);
- WebApkInstaller::BuildProto(
- info, primary_icon, badge_icon, webapk_package,
+ WebApkInstaller::StoreUpdateRequestToDisk(
+ base::FilePath(file_path), info, primary_icon, badge_icon, webapk_package,
std::to_string(java_webapk_version), icon_url_to_murmur2_hash,
java_is_manifest_stale,
- base::Bind(&OnBuiltProto, ScopedJavaGlobalRef<jobject>(java_callback)));
+ base::Bind(&OnStoredUpdateRequest,
+ ScopedJavaGlobalRef<jobject>(java_callback)));
}
// static JNI method.
-static void UpdateWebApk(JNIEnv* env,
- const JavaParamRef<jclass>& clazz,
- const JavaParamRef<jstring>& java_webapk_package,
- const JavaParamRef<jstring>& java_start_url,
- const JavaParamRef<jstring>& java_short_name,
- const JavaParamRef<jbyteArray>& java_serialized_proto,
- const JavaParamRef<jobject>& java_callback) {
+static void UpdateWebApkFromStoredRequest(
+ JNIEnv* env,
+ const JavaParamRef<jclass>& clazz,
+ const JavaParamRef<jstring>& java_request_file_path,
+ const JavaParamRef<jobject>& java_callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
ScopedJavaGlobalRef<jobject> callback_ref(java_callback);
@@ -146,15 +149,8 @@ static void UpdateWebApk(JNIEnv* env,
return;
}
- std::string webapk_package =
- ConvertJavaStringToUTF8(env, java_webapk_package);
- GURL start_url = GURL(ConvertJavaStringToUTF8(env, java_start_url));
- base::string16 short_name = ConvertJavaStringToUTF16(env, java_short_name);
- std::unique_ptr<std::vector<uint8_t>> serialized_proto =
- base::MakeUnique<std::vector<uint8_t>>();
- JavaByteArrayToByteVector(env, java_serialized_proto, serialized_proto.get());
-
+ std::string request_file_path =
+ ConvertJavaStringToUTF8(env, java_request_file_path);
WebApkInstallService::Get(profile)->UpdateAsync(
- webapk_package, start_url, short_name, std::move(serialized_proto),
- base::Bind(&OnUpdated, callback_ref));
+ base::FilePath(request_file_path), base::Bind(&OnUpdated, callback_ref));
}
« no previous file with comments | « chrome/browser/android/webapk/webapk_installer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698