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

Side by Side Diff: chrome/browser/android/offline_pages/offline_page_bridge.cc

Issue 2225213002: Make GetBestPageForOnlineURL async (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address feedback Created 4 years, 4 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 unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698