| 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..fc32bfba12632b421090d505f032c9669a72ed9f 100644 | 
| --- a/components/history/core/browser/history_backend.h | 
| +++ b/components/history/core/browser/history_backend.h | 
| @@ -113,7 +113,10 @@ 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; | 
| +    // |diagnostics| will contain information about the underlying database | 
| +    // which can help in identifying the cause of the profile error. | 
| +    virtual void NotifyProfileError(sql::InitStatus init_status, | 
| +                                    const std::string& 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 | 
| @@ -879,6 +882,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. | 
| +  std::string 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_; | 
|  |