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

Side by Side Diff: chrome/browser/android/webapk/webapk_update_manager.cc

Issue 2528073002: Add a flag in WebAPK's proto when the Web App Manifest is no longer available. (Closed)
Patch Set: Fix the compile error. Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/webapk/webapk_update_manager.h" 5 #include "chrome/browser/android/webapk/webapk_update_manager.h"
6 6
7 #include <jni.h> 7 #include <jni.h>
8 8
9 #include "base/android/jni_array.h" 9 #include "base/android/jni_array.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 const JavaParamRef<jclass>& clazz, 49 const JavaParamRef<jclass>& clazz,
50 const JavaParamRef<jstring>& java_id, 50 const JavaParamRef<jstring>& java_id,
51 const JavaParamRef<jstring>& java_start_url, 51 const JavaParamRef<jstring>& java_start_url,
52 const JavaParamRef<jstring>& java_scope, 52 const JavaParamRef<jstring>& java_scope,
53 const JavaParamRef<jstring>& java_name, 53 const JavaParamRef<jstring>& java_name,
54 const JavaParamRef<jstring>& java_short_name, 54 const JavaParamRef<jstring>& java_short_name,
55 const JavaParamRef<jstring>& java_best_icon_url, 55 const JavaParamRef<jstring>& java_best_icon_url,
56 const JavaParamRef<jstring>& java_best_icon_murmur2_hash, 56 const JavaParamRef<jstring>& java_best_icon_murmur2_hash,
57 const JavaParamRef<jobject>& java_best_icon_bitmap, 57 const JavaParamRef<jobject>& java_best_icon_bitmap,
58 const JavaParamRef<jobjectArray>& java_icon_urls, 58 const JavaParamRef<jobjectArray>& java_icon_urls,
59 const JavaParamRef<jobjectArray>& java_icon_hashs,
59 jint java_display_mode, 60 jint java_display_mode,
60 jint java_orientation, 61 jint java_orientation,
61 jlong java_theme_color, 62 jlong java_theme_color,
62 jlong java_background_color, 63 jlong java_background_color,
63 const JavaParamRef<jstring>& java_web_manifest_url, 64 const JavaParamRef<jstring>& java_web_manifest_url,
64 const JavaParamRef<jstring>& java_webapk_package, 65 const JavaParamRef<jstring>& java_webapk_package,
65 jint java_webapk_version) { 66 jint java_webapk_version,
67 jboolean java_stale_manifest) {
66 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 68 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
67 69
68 Profile* profile = ProfileManager::GetLastUsedProfile(); 70 Profile* profile = ProfileManager::GetLastUsedProfile();
69 if (profile == nullptr) { 71 if (profile == nullptr) {
70 NOTREACHED() << "Profile not found."; 72 NOTREACHED() << "Profile not found.";
71 return; 73 return;
72 } 74 }
73 75
74 std::string id(ConvertJavaStringToUTF8(env, java_id)); 76 std::string id(ConvertJavaStringToUTF8(env, java_id));
75 GURL start_url(ConvertJavaStringToUTF8(env, java_start_url)); 77 GURL start_url(ConvertJavaStringToUTF8(env, java_start_url));
76 GURL scope(ConvertJavaStringToUTF8(env, java_scope)); 78 GURL scope(ConvertJavaStringToUTF8(env, java_scope));
77 GURL web_manifest_url(ConvertJavaStringToUTF8(env, java_web_manifest_url)); 79 GURL web_manifest_url(ConvertJavaStringToUTF8(env, java_web_manifest_url));
78 GURL best_icon_url(ConvertJavaStringToUTF8(env, java_best_icon_url)); 80 GURL best_icon_url(ConvertJavaStringToUTF8(env, java_best_icon_url));
79 ShortcutInfo info(start_url); 81 ShortcutInfo info(start_url);
80 info.scope = scope; 82 info.scope = scope;
81 info.name = ConvertJavaStringToUTF16(env, java_name); 83 info.name = ConvertJavaStringToUTF16(env, java_name);
82 info.short_name = ConvertJavaStringToUTF16(env, java_short_name); 84 info.short_name = ConvertJavaStringToUTF16(env, java_short_name);
83 info.display = static_cast<blink::WebDisplayMode>(java_display_mode); 85 info.display = static_cast<blink::WebDisplayMode>(java_display_mode);
84 info.orientation = 86 info.orientation =
85 static_cast<blink::WebScreenOrientationLockType>(java_orientation); 87 static_cast<blink::WebScreenOrientationLockType>(java_orientation);
86 info.theme_color = (long)java_theme_color; 88 info.theme_color = (long)java_theme_color;
87 info.background_color = (long)java_background_color; 89 info.background_color = (long)java_background_color;
88 info.best_icon_url = best_icon_url; 90 info.best_icon_url = best_icon_url;
89 info.manifest_url = web_manifest_url; 91 info.manifest_url = web_manifest_url;
90 92
91 base::android::JavaArrayOfByteArrayToStringVector( 93 base::android::JavaArrayOfByteArrayToStringVector(
92 env, java_icon_urls.obj(), &info.icon_urls); 94 env, java_icon_urls.obj(), &info.icon_urls);
93 95
96 std::vector<std::string> icon_hashs;
97 if (java_icon_hashs != nullptr) {
98 base::android::AppendJavaStringArrayToStringVector(
99 env, java_icon_hashs.obj(), &icon_hashs);
100 }
101
94 gfx::JavaBitmap java_bitmap_lock(java_best_icon_bitmap); 102 gfx::JavaBitmap java_bitmap_lock(java_best_icon_bitmap);
95 SkBitmap best_icon_bitmap = 103 SkBitmap best_icon_bitmap =
96 gfx::CreateSkBitmapFromJavaBitmap(java_bitmap_lock); 104 gfx::CreateSkBitmapFromJavaBitmap(java_bitmap_lock);
97 best_icon_bitmap.setImmutable(); 105 best_icon_bitmap.setImmutable();
98 106
99 std::string best_icon_murmur2_hash; 107 std::string best_icon_murmur2_hash;
100 ConvertJavaStringToUTF8(env, java_best_icon_murmur2_hash, 108 ConvertJavaStringToUTF8(env, java_best_icon_murmur2_hash,
101 &best_icon_murmur2_hash); 109 &best_icon_murmur2_hash);
102 110
103 std::string webapk_package; 111 std::string webapk_package;
104 ConvertJavaStringToUTF8(env, java_webapk_package, &webapk_package); 112 ConvertJavaStringToUTF8(env, java_webapk_package, &webapk_package);
105 113
106 WebApkInstaller* installer = new WebApkInstaller(info, best_icon_bitmap); 114 WebApkInstaller* installer = new WebApkInstaller(info, best_icon_bitmap);
107 installer->UpdateAsync( 115 installer->UpdateAsync(
108 profile, 116 profile,
109 base::Bind(&WebApkUpdateManager::OnBuiltWebApk, id), 117 base::Bind(&WebApkUpdateManager::OnBuiltWebApk, id),
110 best_icon_murmur2_hash, webapk_package, java_webapk_version); 118 best_icon_murmur2_hash, webapk_package, java_webapk_version,
119 java_stale_manifest, icon_hashs);
111 } 120 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698