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

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

Issue 2373933003: [Offline pages] Updating RequestQueue::RemoveRequests to use a TaskQueue (Closed)
Patch Set: Addressing final feedback Created 4 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 <memory> 7 #include <memory>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 void OnGetAllRequestsDone( 162 void OnGetAllRequestsDone(
163 const ScopedJavaGlobalRef<jobject>& j_callback_obj, 163 const ScopedJavaGlobalRef<jobject>& j_callback_obj,
164 std::vector<std::unique_ptr<SavePageRequest>> all_requests) { 164 std::vector<std::unique_ptr<SavePageRequest>> all_requests) {
165 JNIEnv* env = base::android::AttachCurrentThread(); 165 JNIEnv* env = base::android::AttachCurrentThread();
166 166
167 ScopedJavaLocalRef<jobjectArray> j_result_obj = 167 ScopedJavaLocalRef<jobjectArray> j_result_obj =
168 CreateJavaSavePageRequests(env, std::move(all_requests)); 168 CreateJavaSavePageRequests(env, std::move(all_requests));
169 base::android::RunCallbackAndroid(j_callback_obj, j_result_obj); 169 base::android::RunCallbackAndroid(j_callback_obj, j_result_obj);
170 } 170 }
171 171
172 void OnRemoveRequestsDone( 172 RequestQueue::UpdateRequestResult ToUpdateRequestResult(
173 const ScopedJavaGlobalRef<jobject>& j_callback_obj, 173 ItemActionStatus status) {
174 const RequestQueue::UpdateMultipleRequestResults& removed_request_results) { 174 switch (status) {
175 case ItemActionStatus::SUCCESS:
176 return RequestQueue::UpdateRequestResult::SUCCESS;
177 case ItemActionStatus::NOT_FOUND:
178 return RequestQueue::UpdateRequestResult::REQUEST_DOES_NOT_EXIST;
179 case ItemActionStatus::STORE_ERROR:
180 return RequestQueue::UpdateRequestResult::STORE_FAILURE;
181 case ItemActionStatus::ALREADY_EXISTS:
182 default:
183 NOTREACHED();
184 }
185 return RequestQueue::UpdateRequestResult::STORE_FAILURE;
186 }
187
188 void OnRemoveRequestsDone(const ScopedJavaGlobalRef<jobject>& j_callback_obj,
189 const MultipleItemStatuses& removed_request_results) {
175 JNIEnv* env = base::android::AttachCurrentThread(); 190 JNIEnv* env = base::android::AttachCurrentThread();
176 191
177 std::vector<int> update_request_results; 192 std::vector<int> update_request_results;
178 std::vector<int64_t> update_request_ids; 193 std::vector<int64_t> update_request_ids;
179 194
180 for (std::pair<int64_t, RequestQueue::UpdateRequestResult> remove_result : 195 for (std::pair<int64_t, ItemActionStatus> remove_result :
181 removed_request_results) { 196 removed_request_results) {
182 update_request_ids.emplace_back(std::get<0>(remove_result)); 197 update_request_ids.emplace_back(std::get<0>(remove_result));
183 update_request_results.emplace_back( 198 update_request_results.emplace_back(
184 static_cast<int>(std::get<1>(remove_result))); 199 static_cast<int>(ToUpdateRequestResult(std::get<1>(remove_result))));
185 } 200 }
186 201
187 ScopedJavaLocalRef<jlongArray> j_result_ids = 202 ScopedJavaLocalRef<jlongArray> j_result_ids =
188 base::android::ToJavaLongArray(env, update_request_ids); 203 base::android::ToJavaLongArray(env, update_request_ids);
189 ScopedJavaLocalRef<jintArray> j_result_codes = 204 ScopedJavaLocalRef<jintArray> j_result_codes =
190 base::android::ToJavaIntArray(env, update_request_results); 205 base::android::ToJavaIntArray(env, update_request_results);
191 206
192 Java_RequestsRemovedCallback_onResult(env, j_callback_obj, j_result_ids, 207 Java_RequestsRemovedCallback_onResult(env, j_callback_obj, j_result_ids,
193 j_result_codes); 208 j_result_codes);
194 } 209 }
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 env, ConvertUTF8ToJavaString(env, client_id.name_space), 555 env, ConvertUTF8ToJavaString(env, client_id.name_space),
541 ConvertUTF8ToJavaString(env, client_id.id)); 556 ConvertUTF8ToJavaString(env, client_id.id));
542 } 557 }
543 558
544 bool RegisterOfflinePageBridge(JNIEnv* env) { 559 bool RegisterOfflinePageBridge(JNIEnv* env) {
545 return RegisterNativesImpl(env); 560 return RegisterNativesImpl(env);
546 } 561 }
547 562
548 } // namespace android 563 } // namespace android
549 } // namespace offline_pages 564 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698