| 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 "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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |