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

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

Issue 1397233002: [Offline pages] Detecting missing offline copy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Passing only ID and paths for verification Created 5 years, 2 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 "base/android/jni_array.h" 7 #include "base/android/jni_array.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 void OfflinePageBridge::Destroy(JNIEnv*, jobject) { 87 void OfflinePageBridge::Destroy(JNIEnv*, jobject) {
88 offline_page_model_->RemoveObserver(this); 88 offline_page_model_->RemoveObserver(this);
89 delete this; 89 delete this;
90 } 90 }
91 91
92 void OfflinePageBridge::OfflinePageModelLoaded(OfflinePageModel* model) { 92 void OfflinePageBridge::OfflinePageModelLoaded(OfflinePageModel* model) {
93 DCHECK_EQ(offline_page_model_, model); 93 DCHECK_EQ(offline_page_model_, model);
94 NotifyIfDoneLoading(); 94 NotifyIfDoneLoading();
95 } 95 }
96 96
97 void OfflinePageBridge::OfflinePageDeleted(int64 bookmark_id) {
98 if (!offline_page_model_->is_loaded())
99 return;
100 JNIEnv* env = base::android::AttachCurrentThread();
101 ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env);
102 if (obj.is_null())
103 return;
104 Java_OfflinePageBridge_offlinePageDeleted(env, obj.obj(), bookmark_id);
105 }
106
97 void OfflinePageBridge::GetAllPages(JNIEnv* env, 107 void OfflinePageBridge::GetAllPages(JNIEnv* env,
98 jobject obj, 108 jobject obj,
99 jobject j_result_obj) { 109 jobject j_result_obj) {
100 DCHECK(offline_page_model_->is_loaded()); 110 DCHECK(offline_page_model_->is_loaded());
101 DCHECK(j_result_obj); 111 DCHECK(j_result_obj);
102 const std::vector<OfflinePageItem>& offline_pages = 112 const std::vector<OfflinePageItem>& offline_pages =
103 offline_page_model_->GetAllPages(); 113 offline_page_model_->GetAllPages();
104 ToJavaOfflinePageList(env, j_result_obj, offline_pages); 114 ToJavaOfflinePageList(env, j_result_obj, offline_pages);
105 } 115 }
106 116
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 195
186 std::vector<int64> bookmark_ids; 196 std::vector<int64> bookmark_ids;
187 base::android::JavaLongArrayToInt64Vector(env, bookmark_ids_array, 197 base::android::JavaLongArrayToInt64Vector(env, bookmark_ids_array,
188 &bookmark_ids); 198 &bookmark_ids);
189 199
190 offline_page_model_->DeletePagesByBookmarkId( 200 offline_page_model_->DeletePagesByBookmarkId(
191 bookmark_ids, 201 bookmark_ids,
192 base::Bind(&DeletePageCallback, j_callback_ref)); 202 base::Bind(&DeletePageCallback, j_callback_ref));
193 } 203 }
194 204
205 void OfflinePageBridge::CheckMetadataConsistency(JNIEnv* env, jobject obj) {
206 offline_page_model_->CheckForExternalFileDeletion();
207 }
208
195 void OfflinePageBridge::NotifyIfDoneLoading() const { 209 void OfflinePageBridge::NotifyIfDoneLoading() const {
196 if (!offline_page_model_->is_loaded()) 210 if (!offline_page_model_->is_loaded())
197 return; 211 return;
198 JNIEnv* env = base::android::AttachCurrentThread(); 212 JNIEnv* env = base::android::AttachCurrentThread();
199 ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env); 213 ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env);
200 if (obj.is_null()) 214 if (obj.is_null())
201 return; 215 return;
202 Java_OfflinePageBridge_offlinePageModelLoaded(env, obj.obj()); 216 Java_OfflinePageBridge_offlinePageModelLoaded(env, obj.obj());
203 } 217 }
204 218
(...skipping 26 matching lines...) Expand all
231 return reinterpret_cast<jlong>(new OfflinePageBridge( 245 return reinterpret_cast<jlong>(new OfflinePageBridge(
232 env, obj, ProfileAndroid::FromProfileAndroid(j_profile))); 246 env, obj, ProfileAndroid::FromProfileAndroid(j_profile)));
233 } 247 }
234 248
235 bool RegisterOfflinePageBridge(JNIEnv* env) { 249 bool RegisterOfflinePageBridge(JNIEnv* env) {
236 return RegisterNativesImpl(env); 250 return RegisterNativesImpl(env);
237 } 251 }
238 252
239 } // namespace android 253 } // namespace android
240 } // namespace offline_pages 254 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698