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

Unified Diff: chrome/browser/android/history_report/historic_visits_migration_task.cc

Issue 1141283003: Upstream oodles of Chrome for Android code into Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: final patch? Created 5 years, 7 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/history_report/historic_visits_migration_task.cc
diff --git a/chrome/browser/android/history_report/historic_visits_migration_task.cc b/chrome/browser/android/history_report/historic_visits_migration_task.cc
new file mode 100644
index 0000000000000000000000000000000000000000..b105e2f2ec52456292401f1659c6ce0645b8c5cf
--- /dev/null
+++ b/chrome/browser/android/history_report/historic_visits_migration_task.cc
@@ -0,0 +1,60 @@
+// Copyright 2015 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/history_report/historic_visits_migration_task.h"
+
+#include "chrome/browser/android/history_report/delta_file_commons.h"
+#include "chrome/browser/android/history_report/usage_report_util.h"
+#include "chrome/browser/android/history_report/usage_reports_buffer_service.h"
+#include "components/history/core/browser/android/android_history_types.h"
+#include "components/history/core/browser/history_backend.h"
+#include "components/history/core/browser/history_database.h"
+
+namespace {
+// The number of recent visits to fetch for a typed url.
+// Older visits are ignored.
+static const int kMaxTypedUrlVisits = 1000;
+}
+
+namespace history_report {
+
+HistoricVisitsMigrationTask::HistoricVisitsMigrationTask(
+ base::WaitableEvent* event,
+ UsageReportsBufferService* report_buffer_service)
+ : wait_event_(event), usage_reports_buffer_service_(report_buffer_service) {
+}
+
+bool HistoricVisitsMigrationTask::RunOnDBThread(
+ history::HistoryBackend* backend,
+ history::HistoryDatabase* db) {
+ history::URLRows typed_urls;
+ backend->GetAllTypedURLs(&typed_urls);
+
+ for (history::URLRows::const_iterator typed_url = typed_urls.begin();
+ typed_url != typed_urls.end();
+ ++typed_url) {
+ std::string url_id =
+ DeltaFileEntryWithData::UrlToId(typed_url->url().spec());
+ history::VisitVector url_visits;
+
+ if (usage_report_util::ShouldIgnoreUrl(typed_url->url())) {
+ continue;
+ }
+ backend->GetMostRecentVisitsForURL(
+ typed_url->id(), kMaxTypedUrlVisits, &url_visits);
+
+ for (history::VisitVector::const_iterator visit = url_visits.begin();
+ visit != url_visits.end();
+ ++visit) {
+ usage_reports_buffer_service_->AddVisit(
+ url_id,
+ visit->visit_time.ToJavaTime(),
+ usage_report_util::IsTypedVisit(visit->transition));
+ }
+ }
+ wait_event_->Signal();
+ return true;
+}
+
+} // namespace history_report

Powered by Google App Engine
This is Rietveld 408576698