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 <memory> | 7 #include <memory> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 JNIEnv* env = base::android::AttachCurrentThread(); | 131 JNIEnv* env = base::android::AttachCurrentThread(); |
132 ScopedJavaLocalRef<jobject> j_result; | 132 ScopedJavaLocalRef<jobject> j_result; |
133 | 133 |
134 if (result) | 134 if (result) |
135 j_result = ToJavaOfflinePageItem(env, *result); | 135 j_result = ToJavaOfflinePageItem(env, *result); |
136 base::android::RunCallbackAndroid(j_callback_obj, j_result); | 136 base::android::RunCallbackAndroid(j_callback_obj, j_result); |
137 } | 137 } |
138 | 138 |
139 ScopedJavaLocalRef<jobjectArray> CreateJavaSavePageRequests( | 139 ScopedJavaLocalRef<jobjectArray> CreateJavaSavePageRequests( |
140 JNIEnv* env, | 140 JNIEnv* env, |
141 const std::vector<SavePageRequest>& requests) { | 141 std::vector<std::unique_ptr<SavePageRequest>> requests) { |
142 ScopedJavaLocalRef<jclass> save_page_request_clazz = base::android::GetClass( | 142 ScopedJavaLocalRef<jclass> save_page_request_clazz = base::android::GetClass( |
143 env, "org/chromium/chrome/browser/offlinepages/SavePageRequest"); | 143 env, "org/chromium/chrome/browser/offlinepages/SavePageRequest"); |
144 jobjectArray joa = env->NewObjectArray( | 144 jobjectArray joa = env->NewObjectArray( |
145 requests.size(), save_page_request_clazz.obj(), nullptr); | 145 requests.size(), save_page_request_clazz.obj(), nullptr); |
146 base::android::CheckException(env); | 146 base::android::CheckException(env); |
147 | 147 |
148 for (size_t i = 0; i < requests.size(); ++i) { | 148 for (size_t i = 0; i < requests.size(); ++i) { |
149 SavePageRequest request = requests[i]; | 149 SavePageRequest request = *(requests[i]); |
150 ScopedJavaLocalRef<jstring> name_space = | 150 ScopedJavaLocalRef<jstring> name_space = |
151 ConvertUTF8ToJavaString(env, request.client_id().name_space); | 151 ConvertUTF8ToJavaString(env, request.client_id().name_space); |
152 ScopedJavaLocalRef<jstring> id = | 152 ScopedJavaLocalRef<jstring> id = |
153 ConvertUTF8ToJavaString(env, request.client_id().id); | 153 ConvertUTF8ToJavaString(env, request.client_id().id); |
154 ScopedJavaLocalRef<jstring> url = | 154 ScopedJavaLocalRef<jstring> url = |
155 ConvertUTF8ToJavaString(env, request.url().spec()); | 155 ConvertUTF8ToJavaString(env, request.url().spec()); |
156 | 156 |
157 ScopedJavaLocalRef<jobject> j_save_page_request = | 157 ScopedJavaLocalRef<jobject> j_save_page_request = |
158 Java_SavePageRequest_create(env, (int)request.request_state(), | 158 Java_SavePageRequest_create(env, (int)request.request_state(), |
159 request.request_id(), url, name_space, id); | 159 request.request_id(), url, name_space, id); |
160 env->SetObjectArrayElement(joa, i, j_save_page_request.obj()); | 160 env->SetObjectArrayElement(joa, i, j_save_page_request.obj()); |
161 } | 161 } |
162 | 162 |
163 return ScopedJavaLocalRef<jobjectArray>(env, joa); | 163 return ScopedJavaLocalRef<jobjectArray>(env, joa); |
164 } | 164 } |
165 | 165 |
166 void OnGetAllRequestsDone(const ScopedJavaGlobalRef<jobject>& j_callback_obj, | 166 void OnGetAllRequestsDone( |
167 const std::vector<SavePageRequest>& all_requests) { | 167 const ScopedJavaGlobalRef<jobject>& j_callback_obj, |
| 168 std::vector<std::unique_ptr<SavePageRequest>> all_requests) { |
168 JNIEnv* env = base::android::AttachCurrentThread(); | 169 JNIEnv* env = base::android::AttachCurrentThread(); |
169 | 170 |
170 ScopedJavaLocalRef<jobjectArray> j_result_obj = | 171 ScopedJavaLocalRef<jobjectArray> j_result_obj = |
171 CreateJavaSavePageRequests(env, all_requests); | 172 CreateJavaSavePageRequests(env, std::move(all_requests)); |
172 base::android::RunCallbackAndroid(j_callback_obj, j_result_obj); | 173 base::android::RunCallbackAndroid(j_callback_obj, j_result_obj); |
173 } | 174 } |
174 | 175 |
175 void OnRemoveRequestsDone( | 176 void OnRemoveRequestsDone( |
176 const ScopedJavaGlobalRef<jobject>& j_callback_obj, | 177 const ScopedJavaGlobalRef<jobject>& j_callback_obj, |
177 const RequestQueue::UpdateMultipleRequestResults& removed_request_results) { | 178 const RequestQueue::UpdateMultipleRequestResults& removed_request_results) { |
178 JNIEnv* env = base::android::AttachCurrentThread(); | 179 JNIEnv* env = base::android::AttachCurrentThread(); |
179 | 180 |
180 std::vector<int> update_request_results; | 181 std::vector<int> update_request_results; |
181 std::vector<int64_t> update_request_ids; | 182 std::vector<int64_t> update_request_ids; |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 env, ConvertUTF8ToJavaString(env, client_id.name_space), | 535 env, ConvertUTF8ToJavaString(env, client_id.name_space), |
535 ConvertUTF8ToJavaString(env, client_id.id)); | 536 ConvertUTF8ToJavaString(env, client_id.id)); |
536 } | 537 } |
537 | 538 |
538 bool RegisterOfflinePageBridge(JNIEnv* env) { | 539 bool RegisterOfflinePageBridge(JNIEnv* env) { |
539 return RegisterNativesImpl(env); | 540 return RegisterNativesImpl(env); |
540 } | 541 } |
541 | 542 |
542 } // namespace android | 543 } // namespace android |
543 } // namespace offline_pages | 544 } // namespace offline_pages |
OLD | NEW |