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

Side by Side Diff: chrome/browser/android/offline_pages/evaluation/offline_page_evaluation_bridge.cc

Issue 2564163002: [Offline Pages] Remove load state from public OfflinePageModel API. (Closed)
Patch Set: Fix broken tests. 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/offline_pages/evaluation/offline_page_evaluatio n_bridge.h" 5 #include "chrome/browser/android/offline_pages/evaluation/offline_page_evaluatio n_bridge.h"
6 6
7 #include "base/android/callback_android.h" 7 #include "base/android/callback_android.h"
8 #include "base/android/jni_android.h" 8 #include "base/android/jni_android.h"
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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 JNIEnv* env, 205 JNIEnv* env,
206 content::BrowserContext* browser_context, 206 content::BrowserContext* browser_context,
207 OfflinePageModel* offline_page_model, 207 OfflinePageModel* offline_page_model,
208 RequestCoordinator* request_coordinator) 208 RequestCoordinator* request_coordinator)
209 : browser_context_(browser_context), 209 : browser_context_(browser_context),
210 offline_page_model_(offline_page_model), 210 offline_page_model_(offline_page_model),
211 request_coordinator_(request_coordinator) { 211 request_coordinator_(request_coordinator) {
212 java_ref_.Reset(Java_OfflinePageEvaluationBridge_create( 212 java_ref_.Reset(Java_OfflinePageEvaluationBridge_create(
213 env, reinterpret_cast<jlong>(this))); 213 env, reinterpret_cast<jlong>(this)));
214 214
215 NotifyIfDoneLoading();
216 offline_page_model_->AddObserver(this); 215 offline_page_model_->AddObserver(this);
217 request_coordinator_->AddObserver(this); 216 request_coordinator_->AddObserver(this);
218 offline_page_model_->GetLogger()->SetClient(this); 217 offline_page_model_->GetLogger()->SetClient(this);
219 request_coordinator_->GetLogger()->SetClient(this); 218 request_coordinator_->GetLogger()->SetClient(this);
220 } 219 }
221 220
222 OfflinePageEvaluationBridge::~OfflinePageEvaluationBridge() { 221 OfflinePageEvaluationBridge::~OfflinePageEvaluationBridge() {
223 JNIEnv* env = base::android::AttachCurrentThread(); 222 JNIEnv* env = base::android::AttachCurrentThread();
224 Java_OfflinePageEvaluationBridge_offlinePageEvaluationBridgeDestroyed( 223 Java_OfflinePageEvaluationBridge_offlinePageEvaluationBridgeDestroyed(
225 env, java_ref_); 224 env, java_ref_);
226 } 225 }
227 226
228 // Implement OfflinePageModel::Observer 227 // Implement OfflinePageModel::Observer
229 void OfflinePageEvaluationBridge::OfflinePageModelLoaded(
230 OfflinePageModel* model) {
231 DCHECK_EQ(offline_page_model_, model);
232 NotifyIfDoneLoading();
233 }
234
235 void OfflinePageEvaluationBridge::OfflinePageAdded( 228 void OfflinePageEvaluationBridge::OfflinePageAdded(
236 OfflinePageModel* model, 229 OfflinePageModel* model,
237 const OfflinePageItem& added_page) {} 230 const OfflinePageItem& added_page) {}
238 231
239 void OfflinePageEvaluationBridge::OfflinePageDeleted( 232 void OfflinePageEvaluationBridge::OfflinePageDeleted(
240 int64_t offline_id, 233 int64_t offline_id,
241 const ClientId& client_id) {} 234 const ClientId& client_id) {}
242 235
243 // Implement RequestCoordinator::Observer 236 // Implement RequestCoordinator::Observer
244 void OfflinePageEvaluationBridge::OnAdded(const SavePageRequest& request) { 237 void OfflinePageEvaluationBridge::OnAdded(const SavePageRequest& request) {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 const JavaParamRef<jobject>& obj, 323 const JavaParamRef<jobject>& obj,
331 const JavaParamRef<jlongArray>& j_request_ids, 324 const JavaParamRef<jlongArray>& j_request_ids,
332 const JavaParamRef<jobject>& j_callback_obj) { 325 const JavaParamRef<jobject>& j_callback_obj) {
333 std::vector<int64_t> request_ids; 326 std::vector<int64_t> request_ids;
334 base::android::JavaLongArrayToInt64Vector(env, j_request_ids, &request_ids); 327 base::android::JavaLongArrayToInt64Vector(env, j_request_ids, &request_ids);
335 ScopedJavaGlobalRef<jobject> j_callback_ref(j_callback_obj); 328 ScopedJavaGlobalRef<jobject> j_callback_ref(j_callback_obj);
336 request_coordinator_->RemoveRequests( 329 request_coordinator_->RemoveRequests(
337 request_ids, base::Bind(&OnRemoveRequestsDone, j_callback_ref)); 330 request_ids, base::Bind(&OnRemoveRequestsDone, j_callback_ref));
338 } 331 }
339 332
340 void OfflinePageEvaluationBridge::NotifyIfDoneLoading() const {
341 if (!offline_page_model_->is_loaded())
342 return;
343 JNIEnv* env = base::android::AttachCurrentThread();
344 Java_OfflinePageEvaluationBridge_offlinePageModelLoaded(env, java_ref_);
345 }
346
347 } // namespace android 333 } // namespace android
348 } // namespace offline_pages 334 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698