| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "chrome/browser/history/history_backend.h" |
| 6 |
| 7 #include "chrome/browser/history/android/android_provider_backend.h" |
| 8 |
| 9 namespace history { |
| 10 |
| 11 void HistoryBackend::InsertHistoryAndBookmark( |
| 12 scoped_refptr<InsertRequest> request, |
| 13 const HistoryAndBookmarkRow& row) { |
| 14 if (request->canceled()) |
| 15 return; |
| 16 |
| 17 AndroidURLID id = 0; |
| 18 if (android_provider_backend_.get()) |
| 19 id = android_provider_backend_->InsertHistoryAndBookmark(row); |
| 20 |
| 21 request->ForwardResult(request->handle(), id != 0, id); |
| 22 } |
| 23 |
| 24 void HistoryBackend::QueryHistoryAndBookmarks( |
| 25 scoped_refptr<QueryRequest> request, |
| 26 const std::vector<HistoryAndBookmarkRow::ColumnID>& projections, |
| 27 const std::string& selection, |
| 28 const std::vector<string16>& selection_args, |
| 29 const std::string& sort_order) { |
| 30 if (request->canceled()) |
| 31 return; |
| 32 |
| 33 AndroidStatement* statement = NULL; |
| 34 if (android_provider_backend_.get()) { |
| 35 statement = android_provider_backend_->QueryHistoryAndBookmarks( |
| 36 projections, selection, selection_args, sort_order); |
| 37 } |
| 38 request->ForwardResult(request->handle(), statement, statement); |
| 39 } |
| 40 |
| 41 void HistoryBackend::UpdateHistoryAndBookmarks( |
| 42 scoped_refptr<UpdateRequest> request, |
| 43 const HistoryAndBookmarkRow& row, |
| 44 const std::string& selection, |
| 45 const std::vector<string16>& selection_args) { |
| 46 if (request->canceled()) |
| 47 return; |
| 48 |
| 49 int count = 0; |
| 50 bool result = false; |
| 51 if (android_provider_backend_.get()) { |
| 52 result = android_provider_backend_->UpdateHistoryAndBookmarks(row, |
| 53 selection, selection_args, &count); |
| 54 } |
| 55 |
| 56 request->ForwardResult(request->handle(), result, count); |
| 57 } |
| 58 |
| 59 void HistoryBackend::DeleteHistoryAndBookmarks( |
| 60 scoped_refptr<DeleteRequest> request, |
| 61 const std::string& selection, |
| 62 const std::vector<string16>& selection_args) { |
| 63 if (request->canceled()) |
| 64 return; |
| 65 |
| 66 int count = 0; |
| 67 bool result = false; |
| 68 if (android_provider_backend_.get()) |
| 69 result = android_provider_backend_->DeleteHistoryAndBookmarks(selection, |
| 70 selection_args, &count); |
| 71 |
| 72 request->ForwardResult(request->handle(), result, count); |
| 73 } |
| 74 |
| 75 void HistoryBackend::DeleteHistory( |
| 76 scoped_refptr<DeleteRequest> request, |
| 77 const std::string& selection, |
| 78 const std::vector<string16>& selection_args) { |
| 79 if (request->canceled()) |
| 80 return; |
| 81 |
| 82 int count = 0; |
| 83 bool result = false; |
| 84 if (android_provider_backend_.get()) { |
| 85 result = android_provider_backend_->DeleteHistory(selection, selection_args, |
| 86 &count); |
| 87 } |
| 88 request->ForwardResult(request->handle(), result, count); |
| 89 } |
| 90 |
| 91 // Statement ------------------------------------------------------------------- |
| 92 |
| 93 void HistoryBackend::MoveStatement( |
| 94 scoped_refptr<MoveStatementRequest> request, |
| 95 history::AndroidStatement* statement, |
| 96 int current_pos, |
| 97 int destination) { |
| 98 DCHECK_LE(-1, current_pos); |
| 99 DCHECK_LE(-1, destination); |
| 100 |
| 101 int cur = current_pos; |
| 102 if (current_pos > destination) { |
| 103 statement->statement()->Reset(false); |
| 104 cur = -1; |
| 105 } |
| 106 for (; cur < destination; ++cur) { |
| 107 if (!statement->statement()->Step()) |
| 108 break; |
| 109 } |
| 110 |
| 111 request->ForwardResult(request->handle(), cur); |
| 112 } |
| 113 |
| 114 void HistoryBackend::CloseStatement(AndroidStatement* statement) { |
| 115 delete statement; |
| 116 } |
| 117 |
| 118 // Search Term ----------------------------------------------------------------- |
| 119 |
| 120 void HistoryBackend::InsertSearchTerm(scoped_refptr<InsertRequest> request, |
| 121 const SearchRow& row) { |
| 122 if (request->canceled()) |
| 123 return; |
| 124 |
| 125 SearchTermID id = 0; |
| 126 if (android_provider_backend_.get()) |
| 127 id = android_provider_backend_->InsertSearchTerm(row); |
| 128 |
| 129 request->ForwardResult(request->handle(), id != 0, id); |
| 130 } |
| 131 |
| 132 void HistoryBackend::UpdateSearchTerms( |
| 133 scoped_refptr<UpdateRequest> request, |
| 134 const SearchRow& row, |
| 135 const std::string& selection, |
| 136 const std::vector<string16> selection_args) { |
| 137 if (request->canceled()) |
| 138 return; |
| 139 |
| 140 int count = 0; |
| 141 bool result = false; |
| 142 if (android_provider_backend_.get()) { |
| 143 result = android_provider_backend_->UpdateSearchTerms(row, selection, |
| 144 selection_args, &count); |
| 145 } |
| 146 request->ForwardResult(request->handle(), result, count); |
| 147 } |
| 148 |
| 149 void HistoryBackend::DeleteSearchTerms( |
| 150 scoped_refptr<DeleteRequest> request, |
| 151 const std::string& selection, |
| 152 const std::vector<string16> selection_args) { |
| 153 if (request->canceled()) |
| 154 return; |
| 155 |
| 156 int count = 0; |
| 157 bool result = false; |
| 158 if (android_provider_backend_.get()) { |
| 159 result = android_provider_backend_->DeleteSearchTerms(selection, |
| 160 selection_args, &count); |
| 161 } |
| 162 |
| 163 request->ForwardResult(request->handle(), result, count); |
| 164 } |
| 165 |
| 166 void HistoryBackend::QuerySearchTerms( |
| 167 scoped_refptr<QueryRequest> request, |
| 168 const std::vector<SearchRow::ColumnID>& projections, |
| 169 const std::string& selection, |
| 170 const std::vector<string16>& selection_args, |
| 171 const std::string& sort_order) { |
| 172 if (request->canceled()) |
| 173 return; |
| 174 |
| 175 AndroidStatement* statement = NULL; |
| 176 if (android_provider_backend_.get()) |
| 177 statement = android_provider_backend_->QuerySearchTerms(projections, |
| 178 selection, selection_args, sort_order); |
| 179 |
| 180 request->ForwardResult(request->handle(), statement, statement); |
| 181 } |
| 182 |
| 183 } // namespace history |
| OLD | NEW |