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

Unified Diff: chrome/browser/android_provider_service.cc

Issue 10217010: Completed the code path from AndroidProviderService to HistoryBackend. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Init Created 8 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android_provider_service.cc
diff --git a/chrome/browser/android_provider_service.cc b/chrome/browser/android_provider_service.cc
new file mode 100644
index 0000000000000000000000000000000000000000..f70062f9383282e76a56cc34eb48a2f1997f41ea
--- /dev/null
+++ b/chrome/browser/android_provider_service.cc
@@ -0,0 +1,197 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/android_provider_service.h"
+
+#include "chrome/browser/history/history.h"
+#include "chrome/browser/profiles/profile.h"
+
+AndroidProviderService::AndroidProviderService(Profile* profile)
+ : profile_(profile) {
+}
+
+AndroidProviderService::~AndroidProviderService() {
+}
+
+void AndroidProviderService::QueryHistoryAndBookmarks(
+ const std::vector<history::HistoryAndBookmarkRow::ColumnID>& projections,
+ const std::string selection,
+ const std::vector<string16>& selection_args,
+ const std::string sort_order,
+ CancelableRequestConsumerBase* consumer,
+ const QueryCallback& callback) {
+ QueryRequest* request = new QueryRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs) {
+ hs->QueryHistoryAndBookmarks(request, projections, selection,
+ selection_args, sort_order);
+ } else {
+ ForwardEmptyQueryResultAsync(request);
+ }
+}
+
+void AndroidProviderService::UpdateHistoryAndBookmarks(
+ const history::HistoryAndBookmarkRow& row,
+ const std::string& selection,
+ const std::vector<string16>& selection_args,
+ CancelableRequestConsumerBase* consumer,
+ const UpdateCallback& callback) {
+ UpdateRequest* request = new UpdateRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->UpdateHistoryAndBookmarks(request, row, selection, selection_args);
+ else
+ ForwardEmptyUpdateResultAsync(request);
+}
+
+void AndroidProviderService::DeleteHistoryAndBookmarks(
+ const std::string& selection,
+ const std::vector<string16>& selection_args,
+ CancelableRequestConsumerBase* consumer,
+ const DeleteCallback& callback) {
+ DeleteRequest* request = new DeleteRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->DeleteHistoryAndBookmarks(request, selection, selection_args);
+ else
+ ForwardEmptyDeleteResultAsync(request);
+}
+
+void AndroidProviderService::InsertHistoryAndBookmark(
+ const history::HistoryAndBookmarkRow& values,
+ CancelableRequestConsumerBase* consumer,
+ const InsertCallback& callback) {
+ InsertRequest* request = new InsertRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->InsertHistoryAndBookmark(request, values);
+ else
+ ForwardEmptyInsertResultAsync(request);
+}
+
+void AndroidProviderService::DeleteHistory(
+ const std::string& selection,
+ const std::vector<string16>& selection_args,
+ CancelableRequestConsumerBase* consumer,
+ const DeleteCallback& callback) {
+ DeleteRequest* request = new DeleteRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->DeleteHistory(request, selection, selection_args);
+ else
+ ForwardEmptyDeleteResultAsync(request);
+}
+
+void AndroidProviderService::MoveStatement(
+ history::AndroidStatement* statement,
+ int current_pos,
+ int destination,
+ CancelableRequestConsumerBase* consumer,
+ const MoveStatementCallback& callback) {
+ MoveStatementRequest* request = new MoveStatementRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->MoveStatement(request, statement, current_pos, destination);
+ else
+ ForwardEmptyMoveStatementResultAsync(request, current_pos);
+}
+
+void AndroidProviderService::CloseStatement(
+ history::AndroidStatement* statement) {
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->CloseStatement(statement);
+}
+
+void AndroidProviderService::InsertSearchTerm(
+ const history::SearchRow& row,
+ CancelableRequestConsumerBase* consumer,
+ const InsertCallback& callback) {
+ InsertRequest* request = new InsertRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->InsertSearchTerm(request, row);
+ else
+ ForwardEmptyInsertResultAsync(request);
+}
+
+void AndroidProviderService::UpdateSearchTerms(
+ const history::SearchRow& row,
+ const std::string& selection,
+ const std::vector<string16>& selection_args,
+ CancelableRequestConsumerBase* consumer,
+ const UpdateCallback& callback) {
+ UpdateRequest* request = new UpdateRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->UpdateSearchTerms(request, row, selection, selection_args);
+ else
+ ForwardEmptyUpdateResultAsync(request);
+}
+
+void AndroidProviderService::DeleteSearchTerms(
+ const std::string& selection,
+ const std::vector<string16>& selection_args,
+ CancelableRequestConsumerBase* consumer,
+ const DeleteCallback& callback) {
+ DeleteRequest* request = new DeleteRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs)
+ hs->DeleteSearchTerms(request, selection, selection_args);
+ else
+ ForwardEmptyDeleteResultAsync(request);
+}
+
+void AndroidProviderService::QuerySearchTerms(
+ const std::vector<history::SearchRow::ColumnID>& projections,
+ const std::string selection,
+ const std::vector<string16>& selection_args,
+ const std::string sort_order,
+ CancelableRequestConsumerBase* consumer,
+ const QueryCallback& callback) {
+ QueryRequest* request = new QueryRequest(callback);
+ AddRequest(request, consumer);
+ HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS);
+ if (hs) {
+ hs->QuerySearchTerms(request, projections, selection, selection_args,
+ sort_order);
+ } else {
+ ForwardEmptyQueryResultAsync(request);
+ }
+}
+
+void AndroidProviderService::ForwardEmptyInsertResultAsync(
+ InsertRequest* request) {
+ request->ForwardResultAsync(request->handle(), false, 0);
sky 2012/04/25 15:57:25 These methods are buying you anything. Inline the
michaelbai 2012/04/26 05:32:48 Done.
+}
+
+void AndroidProviderService::ForwardEmptyQueryResultAsync(
+ QueryRequest* request) {
+ request->ForwardResultAsync(request->handle(), false, 0);
+}
+
+void AndroidProviderService::ForwardEmptyUpdateResultAsync(
+ UpdateRequest* request) {
+ request->ForwardResultAsync(request->handle(), false, 0);
+}
+
+void AndroidProviderService::ForwardEmptyDeleteResultAsync(
+ DeleteRequest* request) {
+ request->ForwardResultAsync(request->handle(), false, 0);
+}
+
+void AndroidProviderService::ForwardEmptyMoveStatementResultAsync(
+ MoveStatementRequest* request,
+ int value) {
+ request->ForwardResultAsync(request->handle(), value);
+}

Powered by Google App Engine
This is Rietveld 408576698