| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/offline_pages/offline_page_bridge.h" | 5 #include "chrome/browser/android/offline_pages/offline_page_bridge.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 JNIEnv* env, | 294 JNIEnv* env, |
| 295 const JavaParamRef<jobject>& obj, | 295 const JavaParamRef<jobject>& obj, |
| 296 jlong offline_id) { | 296 jlong offline_id) { |
| 297 const OfflinePageItem* offline_page = | 297 const OfflinePageItem* offline_page = |
| 298 offline_page_model_->MaybeGetPageByOfflineId(offline_id); | 298 offline_page_model_->MaybeGetPageByOfflineId(offline_id); |
| 299 if (!offline_page) | 299 if (!offline_page) |
| 300 return ScopedJavaLocalRef<jobject>(); | 300 return ScopedJavaLocalRef<jobject>(); |
| 301 return ToJavaOfflinePageItem(env, *offline_page); | 301 return ToJavaOfflinePageItem(env, *offline_page); |
| 302 } | 302 } |
| 303 | 303 |
| 304 ScopedJavaLocalRef<jobject> OfflinePageBridge::GetBestPageForOnlineURL( | 304 void OfflinePageBridge::SelectPageForOnlineUrl( |
| 305 JNIEnv* env, | 305 JNIEnv* env, |
| 306 const JavaParamRef<jobject>& obj, | 306 const JavaParamRef<jobject>& obj, |
| 307 const JavaParamRef<jstring>& online_url) { | 307 const JavaParamRef<jstring>& j_online_url, |
| 308 const OfflinePageItem* offline_page = | 308 int tab_id, |
| 309 offline_page_model_->MaybeGetBestPageForOnlineURL( | 309 const JavaParamRef<jobject>& j_callback_obj) { |
| 310 GURL(ConvertJavaStringToUTF8(env, online_url))); | 310 DCHECK(j_callback_obj); |
| 311 if (!offline_page) | 311 |
| 312 return ScopedJavaLocalRef<jobject>(); | 312 ScopedJavaGlobalRef<jobject> j_callback_ref; |
| 313 return ToJavaOfflinePageItem(env, *offline_page); | 313 j_callback_ref.Reset(env, j_callback_obj); |
| 314 |
| 315 OfflinePageUtils::SelectPageForOnlineURL( |
| 316 browser_context_, |
| 317 GURL(ConvertJavaStringToUTF8(env, j_online_url)), |
| 318 tab_id, |
| 319 base::Bind(&SingleOfflinePageItemCallback, j_callback_ref)); |
| 314 } | 320 } |
| 315 | 321 |
| 316 void OfflinePageBridge::GetPageByOfflineUrl( | 322 void OfflinePageBridge::GetPageByOfflineUrl( |
| 317 JNIEnv* env, | 323 JNIEnv* env, |
| 318 const JavaParamRef<jobject>& obj, | 324 const JavaParamRef<jobject>& obj, |
| 319 const JavaParamRef<jstring>& j_offline_url, | 325 const JavaParamRef<jstring>& j_offline_url, |
| 320 const JavaParamRef<jobject>& j_callback_obj) { | 326 const JavaParamRef<jobject>& j_callback_obj) { |
| 321 DCHECK(j_callback_obj); | 327 DCHECK(j_callback_obj); |
| 322 | 328 |
| 323 ScopedJavaGlobalRef<jobject> j_callback_ref; | 329 ScopedJavaGlobalRef<jobject> j_callback_ref; |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 ConvertUTF8ToJavaString(env, client_id.name_space).obj(), | 424 ConvertUTF8ToJavaString(env, client_id.name_space).obj(), |
| 419 ConvertUTF8ToJavaString(env, client_id.id).obj()); | 425 ConvertUTF8ToJavaString(env, client_id.id).obj()); |
| 420 } | 426 } |
| 421 | 427 |
| 422 bool RegisterOfflinePageBridge(JNIEnv* env) { | 428 bool RegisterOfflinePageBridge(JNIEnv* env) { |
| 423 return RegisterNativesImpl(env); | 429 return RegisterNativesImpl(env); |
| 424 } | 430 } |
| 425 | 431 |
| 426 } // namespace android | 432 } // namespace android |
| 427 } // namespace offline_pages | 433 } // namespace offline_pages |
| OLD | NEW |