| Index: components/offline_pages/background/request_queue_store_sql.cc
|
| diff --git a/components/offline_pages/background/request_queue_store_sql.cc b/components/offline_pages/background/request_queue_store_sql.cc
|
| index 8f3ad762e62d1dd0401596dab456b8b454c5f406..164207aaf18616200dc18a48490abfea835941ab 100644
|
| --- a/components/offline_pages/background/request_queue_store_sql.cc
|
| +++ b/components/offline_pages/background/request_queue_store_sql.cc
|
| @@ -114,12 +114,18 @@ void BuildFailedResultList(const std::vector<int64_t>& request_ids,
|
| request_id, RequestQueue::UpdateRequestResult::STORE_FAILURE));
|
| }
|
|
|
| -bool DeleteRequestById(sql::Connection* db, int64_t request_id) {
|
| +RequestQueue::UpdateRequestResult DeleteRequestById(sql::Connection* db,
|
| + int64_t request_id) {
|
| const char kSql[] =
|
| "DELETE FROM " REQUEST_QUEUE_TABLE_NAME " WHERE request_id=?";
|
| sql::Statement statement(db->GetCachedStatement(SQL_FROM_HERE, kSql));
|
| statement.BindInt64(0, request_id);
|
| - return statement.Run();
|
| + if (!statement.Run())
|
| + return RequestQueue::UpdateRequestResult::STORE_FAILURE;
|
| + else if (db->GetLastChangeCount() == 0)
|
| + return RequestQueue::UpdateRequestResult::REQUEST_DOES_NOT_EXIST;
|
| + else
|
| + return RequestQueue::UpdateRequestResult::SUCCESS;
|
| }
|
|
|
| bool ChangeRequestState(sql::Connection* db,
|
| @@ -150,15 +156,11 @@ bool DeleteRequestsByIds(sql::Connection* db,
|
| // the queue of requests that got deleted.
|
| for (int64_t request_id : request_ids) {
|
| SavePageRequest request = GetOneRequest(db, request_id);
|
| - RequestQueue::UpdateRequestResult result;
|
| - if (DeleteRequestById(db, request_id)) {
|
| - result = RequestQueue::UpdateRequestResult::SUCCESS;
|
| - requests.push_back(request);
|
| - } else {
|
| - result = RequestQueue::UpdateRequestResult::REQUEST_DOES_NOT_EXIST;
|
| - }
|
| + RequestQueue::UpdateRequestResult result =
|
| + DeleteRequestById(db, request_id);
|
| results.push_back(std::make_pair(request_id, result));
|
| - requests.push_back(request);
|
| + if (result == RequestQueue::UpdateRequestResult::SUCCESS)
|
| + requests.push_back(request);
|
| }
|
|
|
| if (!transaction.Commit()) {
|
|
|