OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/notifications/notification_platform_bridge_android.h" | 5 #include "chrome/browser/notifications/notification_platform_bridge_android.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/android/jni_array.h" | 10 #include "base/android/jni_array.h" |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 const std::string& profile_id, | 176 const std::string& profile_id, |
177 bool incognito, | 177 bool incognito, |
178 const Notification& notification) { | 178 const Notification& notification) { |
179 JNIEnv* env = AttachCurrentThread(); | 179 JNIEnv* env = AttachCurrentThread(); |
180 // TODO(miguelg): Store the notification type in java instead of assuming it's | 180 // TODO(miguelg): Store the notification type in java instead of assuming it's |
181 // persistent once/if non persistent notifications are ever implemented on | 181 // persistent once/if non persistent notifications are ever implemented on |
182 // Android. | 182 // Android. |
183 DCHECK_EQ(notification_type, NotificationCommon::PERSISTENT); | 183 DCHECK_EQ(notification_type, NotificationCommon::PERSISTENT); |
184 | 184 |
185 GURL origin_url(notification.origin_url().GetOrigin()); | 185 GURL origin_url(notification.origin_url().GetOrigin()); |
186 ScopedJavaLocalRef<jstring> webapk_package; | 186 |
187 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 187 GURL scope_url(notification.service_worker_scope()); |
188 switches::kEnableWebApk)) { | 188 if (!scope_url.is_valid()) |
189 GURL scope_url(notification.service_worker_scope()); | 189 scope_url = origin_url; |
190 if (!scope_url.is_valid()) | 190 ScopedJavaLocalRef<jstring> j_scope_url = |
191 scope_url = origin_url; | |
192 ScopedJavaLocalRef<jstring> j_scope_url = | |
193 ConvertUTF8ToJavaString(env, scope_url.spec()); | 191 ConvertUTF8ToJavaString(env, scope_url.spec()); |
194 webapk_package = Java_NotificationPlatformBridge_queryWebApkPackage( | 192 ScopedJavaLocalRef<jstring> webapk_package = |
195 env, java_object_, j_scope_url); | 193 Java_NotificationPlatformBridge_queryWebApkPackage( |
196 } else { | 194 env, java_object_, j_scope_url); |
197 webapk_package = ConvertUTF8ToJavaString(env, ""); | |
198 } | |
199 | 195 |
200 ScopedJavaLocalRef<jstring> j_notification_id = | 196 ScopedJavaLocalRef<jstring> j_notification_id = |
201 ConvertUTF8ToJavaString(env, notification_id); | 197 ConvertUTF8ToJavaString(env, notification_id); |
202 ScopedJavaLocalRef<jstring> j_origin = | 198 ScopedJavaLocalRef<jstring> j_origin = |
203 ConvertUTF8ToJavaString(env, origin_url.spec()); | 199 ConvertUTF8ToJavaString(env, origin_url.spec()); |
204 ScopedJavaLocalRef<jstring> tag = | 200 ScopedJavaLocalRef<jstring> tag = |
205 ConvertUTF8ToJavaString(env, notification.tag()); | 201 ConvertUTF8ToJavaString(env, notification.tag()); |
206 ScopedJavaLocalRef<jstring> title = | 202 ScopedJavaLocalRef<jstring> title = |
207 ConvertUTF16ToJavaString(env, notification.title()); | 203 ConvertUTF16ToJavaString(env, notification.title()); |
208 ScopedJavaLocalRef<jstring> body = | 204 ScopedJavaLocalRef<jstring> body = |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 RegeneratedNotificationInfo() {} | 299 RegeneratedNotificationInfo() {} |
304 | 300 |
305 NotificationPlatformBridgeAndroid::RegeneratedNotificationInfo:: | 301 NotificationPlatformBridgeAndroid::RegeneratedNotificationInfo:: |
306 RegeneratedNotificationInfo(const std::string& origin, | 302 RegeneratedNotificationInfo(const std::string& origin, |
307 const std::string& tag, | 303 const std::string& tag, |
308 const std::string& webapk_package) | 304 const std::string& webapk_package) |
309 : origin(origin), tag(tag), webapk_package(webapk_package) {} | 305 : origin(origin), tag(tag), webapk_package(webapk_package) {} |
310 | 306 |
311 NotificationPlatformBridgeAndroid::RegeneratedNotificationInfo:: | 307 NotificationPlatformBridgeAndroid::RegeneratedNotificationInfo:: |
312 ~RegeneratedNotificationInfo() {} | 308 ~RegeneratedNotificationInfo() {} |
OLD | NEW |