Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/shortcut_helper.h" | 5 #include "chrome/browser/android/shortcut_helper.h" |
| 6 | 6 |
| 7 #include <jni.h> | 7 #include <jni.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| (...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 324 DCHECK(jsplash_image_callback); | 324 DCHECK(jsplash_image_callback); |
| 325 base::Closure* splash_image_callback = | 325 base::Closure* splash_image_callback = |
| 326 reinterpret_cast<base::Closure*>(jsplash_image_callback); | 326 reinterpret_cast<base::Closure*>(jsplash_image_callback); |
| 327 splash_image_callback->Run(); | 327 splash_image_callback->Run(); |
| 328 delete splash_image_callback; | 328 delete splash_image_callback; |
| 329 } | 329 } |
| 330 | 330 |
| 331 void OnWebApksRetrieved(JNIEnv* env, | 331 void OnWebApksRetrieved(JNIEnv* env, |
| 332 const JavaParamRef<jclass>& clazz, | 332 const JavaParamRef<jclass>& clazz, |
| 333 const jlong jcallback_pointer, | 333 const jlong jcallback_pointer, |
| 334 const JavaParamRef<jobjectArray>& jnames, | |
| 334 const JavaParamRef<jobjectArray>& jshort_names, | 335 const JavaParamRef<jobjectArray>& jshort_names, |
| 335 const JavaParamRef<jobjectArray>& jpackage_names, | 336 const JavaParamRef<jobjectArray>& jpackage_names, |
| 336 const JavaParamRef<jintArray>& jshell_apk_versions, | 337 const JavaParamRef<jintArray>& jshell_apk_versions, |
| 337 const JavaParamRef<jintArray>& jversion_codes) { | 338 const JavaParamRef<jintArray>& jversion_codes, |
| 339 const JavaParamRef<jobjectArray>& juris, | |
| 340 const JavaParamRef<jobjectArray>& jscopes, | |
| 341 const JavaParamRef<jobjectArray>& jmanifest_urls, | |
| 342 const JavaParamRef<jobjectArray>& jmanifest_start_urls, | |
| 343 const JavaParamRef<jintArray>& jdisplay_modes, | |
| 344 const JavaParamRef<jintArray>& jorientations, | |
| 345 const JavaParamRef<jlongArray>& jtheme_colors, | |
| 346 const JavaParamRef<jlongArray>& jbackground_colors) { | |
| 338 DCHECK(jcallback_pointer); | 347 DCHECK(jcallback_pointer); |
| 348 std::vector<std::string> names; | |
| 349 base::android::AppendJavaStringArrayToStringVector(env, jnames, &names); | |
| 339 std::vector<std::string> short_names; | 350 std::vector<std::string> short_names; |
| 340 base::android::AppendJavaStringArrayToStringVector(env, jshort_names, | 351 base::android::AppendJavaStringArrayToStringVector(env, jshort_names, |
| 341 &short_names); | 352 &short_names); |
| 342 std::vector<std::string> package_names; | 353 std::vector<std::string> package_names; |
| 343 base::android::AppendJavaStringArrayToStringVector(env, jpackage_names, | 354 base::android::AppendJavaStringArrayToStringVector(env, jpackage_names, |
| 344 &package_names); | 355 &package_names); |
| 345 std::vector<int> shell_apk_versions; | 356 std::vector<int> shell_apk_versions; |
| 346 base::android::JavaIntArrayToIntVector(env, jshell_apk_versions, | 357 base::android::JavaIntArrayToIntVector(env, jshell_apk_versions, |
| 347 &shell_apk_versions); | 358 &shell_apk_versions); |
| 348 std::vector<int> version_codes; | 359 std::vector<int> version_codes; |
| 349 base::android::JavaIntArrayToIntVector(env, jversion_codes, &version_codes); | 360 base::android::JavaIntArrayToIntVector(env, jversion_codes, &version_codes); |
| 361 std::vector<std::string> uris; | |
| 362 base::android::AppendJavaStringArrayToStringVector(env, juris, &uris); | |
| 363 std::vector<std::string> scopes; | |
| 364 base::android::AppendJavaStringArrayToStringVector(env, jscopes, &scopes); | |
| 365 std::vector<std::string> manifest_urls; | |
| 366 base::android::AppendJavaStringArrayToStringVector(env, jmanifest_urls, | |
| 367 &manifest_urls); | |
| 368 std::vector<std::string> manifest_start_urls; | |
| 369 base::android::AppendJavaStringArrayToStringVector(env, jmanifest_start_urls, | |
| 370 &manifest_start_urls); | |
| 371 std::vector<int> display_modes; | |
| 372 base::android::JavaIntArrayToIntVector(env, jdisplay_modes, &display_modes); | |
| 373 std::vector<int> orientations; | |
| 374 base::android::JavaIntArrayToIntVector(env, jorientations, &orientations); | |
| 375 std::vector<int64_t> theme_colors; | |
| 376 base::android::JavaLongArrayToInt64Vector(env, jtheme_colors, &theme_colors); | |
| 377 std::vector<int64_t> background_colors; | |
| 378 base::android::JavaLongArrayToInt64Vector(env, jbackground_colors, | |
| 379 &background_colors); | |
| 350 | 380 |
| 381 DCHECK(short_names.size() == names.size()); | |
| 351 DCHECK(short_names.size() == package_names.size()); | 382 DCHECK(short_names.size() == package_names.size()); |
| 352 DCHECK(short_names.size() == shell_apk_versions.size()); | 383 DCHECK(short_names.size() == shell_apk_versions.size()); |
| 353 DCHECK(short_names.size() == version_codes.size()); | 384 DCHECK(short_names.size() == version_codes.size()); |
| 385 DCHECK(short_names.size() == uris.size()); | |
| 386 DCHECK(short_names.size() == scopes.size()); | |
| 387 DCHECK(short_names.size() == manifest_urls.size()); | |
| 388 DCHECK(short_names.size() == manifest_start_urls.size()); | |
| 389 DCHECK(short_names.size() == display_modes.size()); | |
| 390 DCHECK(short_names.size() == orientations.size()); | |
| 391 DCHECK(short_names.size() == theme_colors.size()); | |
| 392 DCHECK(short_names.size() == background_colors.size()); | |
| 354 | 393 |
| 355 std::vector<WebApkInfo> webapk_list; | 394 std::vector<WebApkInfo> webapk_list; |
| 356 webapk_list.reserve(short_names.size()); | 395 webapk_list.reserve(short_names.size()); |
| 357 for (size_t i = 0; i < short_names.size(); ++i) { | 396 for (size_t i = 0; i < short_names.size(); ++i) { |
| 358 webapk_list.push_back(WebApkInfo(std::move(short_names[i]), | 397 webapk_list.push_back(WebApkInfo( |
| 359 std::move(package_names[i]), | 398 std::move(names[i]), std::move(short_names[i]), |
| 360 shell_apk_versions[i], version_codes[i])); | 399 std::move(package_names[i]), shell_apk_versions[i], version_codes[i], |
| 400 std::move(uris[i]), std::move(scopes[i]), std::move(manifest_urls[i]), | |
| 401 std::move(manifest_start_urls[i]), | |
| 402 static_cast<blink::WebDisplayMode>(std::move(display_modes[i])), | |
|
pkotwicz
2017/02/27 20:50:59
The blink::WebDisplayMode does not need to be move
gonzalon
2017/02/27 21:33:17
Done.
| |
| 403 static_cast<blink::WebScreenOrientationLockType>( | |
| 404 std::move(orientations[i])), | |
|
pkotwicz
2017/02/27 20:50:59
The blink::WebScreenOrientationLockType does not n
gonzalon
2017/02/27 21:33:17
Done.
| |
| 405 std::move(theme_colors[i]), std::move(background_colors[i]))); | |
|
pkotwicz
2017/02/27 20:50:58
The colors don't need to be moved. The colors are
gonzalon
2017/02/27 21:33:17
Done.
| |
| 361 } | 406 } |
| 362 | 407 |
| 363 ShortcutHelper::WebApkInfoCallback* webapk_list_callback = | 408 ShortcutHelper::WebApkInfoCallback* webapk_list_callback = |
| 364 reinterpret_cast<ShortcutHelper::WebApkInfoCallback*>(jcallback_pointer); | 409 reinterpret_cast<ShortcutHelper::WebApkInfoCallback*>(jcallback_pointer); |
| 365 webapk_list_callback->Run(webapk_list); | 410 webapk_list_callback->Run(webapk_list); |
| 366 delete webapk_list_callback; | 411 delete webapk_list_callback; |
| 367 } | 412 } |
| 368 | 413 |
| 369 bool ShortcutHelper::RegisterShortcutHelper(JNIEnv* env) { | 414 bool ShortcutHelper::RegisterShortcutHelper(JNIEnv* env) { |
| 370 return RegisterNativesImpl(env); | 415 return RegisterNativesImpl(env); |
| 371 } | 416 } |
| OLD | NEW |