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

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: Updates based on the latest code review feedback 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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 96
97 void OfflinePageBridge::OfflinePageModelChanged(OfflinePageModel* model) { 97 void OfflinePageBridge::OfflinePageModelChanged(OfflinePageModel* model) {
98 DCHECK_EQ(offline_page_model_, model); 98 DCHECK_EQ(offline_page_model_, model);
99 JNIEnv* env = base::android::AttachCurrentThread(); 99 JNIEnv* env = base::android::AttachCurrentThread();
100 ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env); 100 ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env);
101 if (obj.is_null()) 101 if (obj.is_null())
102 return; 102 return;
103 Java_OfflinePageBridge_offlinePageModelChanged(env, obj.obj()); 103 Java_OfflinePageBridge_offlinePageModelChanged(env, obj.obj());
104 } 104 }
105 105
106 void OfflinePageBridge::OfflinePageDeleted(int64 bookmark_id) {
107 JNIEnv* env = base::android::AttachCurrentThread();
108 ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env);
109 if (obj.is_null())
110 return;
111 Java_OfflinePageBridge_offlinePageDeleted(env, obj.obj(), bookmark_id);
112 }
113
106 void OfflinePageBridge::GetAllPages(JNIEnv* env, 114 void OfflinePageBridge::GetAllPages(JNIEnv* env,
107 jobject obj, 115 jobject obj,
108 jobject j_result_obj) { 116 jobject j_result_obj) {
109 DCHECK(offline_page_model_->is_loaded()); 117 DCHECK(offline_page_model_->is_loaded());
110 DCHECK(j_result_obj); 118 DCHECK(j_result_obj);
111 const std::vector<OfflinePageItem>& offline_pages = 119 const std::vector<OfflinePageItem>& offline_pages =
112 offline_page_model_->GetAllPages(); 120 offline_page_model_->GetAllPages();
113 ToJavaOfflinePageList(env, j_result_obj, offline_pages); 121 ToJavaOfflinePageList(env, j_result_obj, offline_pages);
114 } 122 }
115 123
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 202
195 std::vector<int64> bookmark_ids; 203 std::vector<int64> bookmark_ids;
196 base::android::JavaLongArrayToInt64Vector(env, bookmark_ids_array, 204 base::android::JavaLongArrayToInt64Vector(env, bookmark_ids_array,
197 &bookmark_ids); 205 &bookmark_ids);
198 206
199 offline_page_model_->DeletePagesByBookmarkId( 207 offline_page_model_->DeletePagesByBookmarkId(
200 bookmark_ids, 208 bookmark_ids,
201 base::Bind(&DeletePageCallback, j_callback_ref)); 209 base::Bind(&DeletePageCallback, j_callback_ref));
202 } 210 }
203 211
212 void OfflinePageBridge::CheckMetadataConsistency(JNIEnv* env, jobject obj) {
213 offline_page_model_->CheckForExternalFileDeletion();
214 }
215
204 void OfflinePageBridge::NotifyIfDoneLoading() const { 216 void OfflinePageBridge::NotifyIfDoneLoading() const {
205 if (!offline_page_model_->is_loaded()) 217 if (!offline_page_model_->is_loaded())
206 return; 218 return;
207 JNIEnv* env = base::android::AttachCurrentThread(); 219 JNIEnv* env = base::android::AttachCurrentThread();
208 ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env); 220 ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env);
209 if (obj.is_null()) 221 if (obj.is_null())
210 return; 222 return;
211 Java_OfflinePageBridge_offlinePageModelLoaded(env, obj.obj()); 223 Java_OfflinePageBridge_offlinePageModelLoaded(env, obj.obj());
212 } 224 }
213 225
(...skipping 26 matching lines...) Expand all
240 return reinterpret_cast<jlong>(new OfflinePageBridge( 252 return reinterpret_cast<jlong>(new OfflinePageBridge(
241 env, obj, ProfileAndroid::FromProfileAndroid(j_profile))); 253 env, obj, ProfileAndroid::FromProfileAndroid(j_profile)));
242 } 254 }
243 255
244 bool RegisterOfflinePageBridge(JNIEnv* env) { 256 bool RegisterOfflinePageBridge(JNIEnv* env) {
245 return RegisterNativesImpl(env); 257 return RegisterNativesImpl(env);
246 } 258 }
247 259
248 } // namespace android 260 } // namespace android
249 } // namespace offline_pages 261 } // namespace offline_pages
OLDNEW
« no previous file with comments | « chrome/browser/android/offline_pages/offline_page_bridge.h ('k') | components/offline_pages/offline_page_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698