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

Unified Diff: components/history/core/browser/history_backend.h

Issue 2107493002: Offer user to send feedback from profile error dialog (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: wchar_t Created 4 years, 5 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: components/history/core/browser/history_backend.h
diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h
index 0b952b4b4b8ac365694ec5fb0558123917c14526..a934d600a639b88142947df1fe9dc10538007cee 100644
--- a/components/history/core/browser/history_backend.h
+++ b/components/history/core/browser/history_backend.h
@@ -32,6 +32,7 @@
#include "components/history/core/browser/keyword_id.h"
#include "components/history/core/browser/thumbnail_database.h"
#include "components/history/core/browser/visit_tracker.h"
+#include "sql/db_diagnostic_map.h"
#include "sql/init_status.h"
class HistoryURLProvider;
@@ -113,7 +114,9 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>,
virtual ~Delegate() {}
// Called when the database cannot be read correctly for some reason.
- virtual void NotifyProfileError(sql::InitStatus init_status) = 0;
+ virtual void NotifyProfileError(
+ sql::InitStatus init_status,
+ const sql::DatabaseDiagnosticMap& diagnostics) = 0;
// Sets the in-memory history backend. The in-memory backend is created by
// the main backend. For non-unit tests, this happens on the background
@@ -824,6 +827,9 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>,
bool scheduled_kill_db_; // Database is being killed due to error.
std::unique_ptr<ThumbnailDatabase> thumbnail_db_;
+ // Invoked when an error occurs on the database connection.
+ sql::Connection::ErrorCallback error_callback_;
+
// Manages expiration between the various databases.
ExpireHistoryBackend expirer_;
@@ -879,6 +885,10 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>,
// Listens for the system being under memory pressure.
std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_;
+ // Contains diagnostic information about the sql database that will be filled
+ // when a catastrophic error occurs.
+ sql::DatabaseDiagnosticMap db_diagnostics_;
+
// Map from host to index in the TopHosts list. It is updated only by
// TopHosts(), so it's usually stale.
mutable base::hash_map<std::string, int> host_ranks_;

Powered by Google App Engine
This is Rietveld 408576698