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

Side by Side Diff: components/history/core/browser/history_service.cc

Issue 2107493002: Offer user to send feedback from profile error dialog (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Yet more compile errors 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // The history system runs on a background thread so that potentially slow 5 // The history system runs on a background thread so that potentially slow
6 // database operations don't delay the browser. This backend processing is 6 // database operations don't delay the browser. This backend processing is
7 // represented by HistoryBackend. The HistoryService's job is to dispatch to 7 // represented by HistoryBackend. The HistoryService's job is to dispatch to
8 // that thread. 8 // that thread.
9 // 9 //
10 // Main thread History thread 10 // Main thread History thread
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 // the history service (otherwise we would have to manually AddRef and 100 // the history service (otherwise we would have to manually AddRef and
101 // Release when the Backend has a reference to us). 101 // Release when the Backend has a reference to us).
102 class HistoryService::BackendDelegate : public HistoryBackend::Delegate { 102 class HistoryService::BackendDelegate : public HistoryBackend::Delegate {
103 public: 103 public:
104 BackendDelegate( 104 BackendDelegate(
105 const base::WeakPtr<HistoryService>& history_service, 105 const base::WeakPtr<HistoryService>& history_service,
106 const scoped_refptr<base::SequencedTaskRunner>& service_task_runner) 106 const scoped_refptr<base::SequencedTaskRunner>& service_task_runner)
107 : history_service_(history_service), 107 : history_service_(history_service),
108 service_task_runner_(service_task_runner) {} 108 service_task_runner_(service_task_runner) {}
109 109
110 void NotifyProfileError(sql::InitStatus init_status) override { 110 void NotifyProfileError(
111 sql::InitStatus init_status,
112 const sql::DatabaseDiagnosticMap& diagnostics) override {
111 // Send to the history service on the main thread. 113 // Send to the history service on the main thread.
112 service_task_runner_->PostTask( 114 service_task_runner_->PostTask(
113 FROM_HERE, base::Bind(&HistoryService::NotifyProfileError, 115 FROM_HERE, base::Bind(&HistoryService::NotifyProfileError,
114 history_service_, init_status)); 116 history_service_, init_status, diagnostics));
115 } 117 }
116 118
117 void SetInMemoryBackend( 119 void SetInMemoryBackend(
118 std::unique_ptr<InMemoryHistoryBackend> backend) override { 120 std::unique_ptr<InMemoryHistoryBackend> backend) override {
119 // Send the backend to the history service on the main thread. 121 // Send the backend to the history service on the main thread.
120 service_task_runner_->PostTask( 122 service_task_runner_->PostTask(
121 FROM_HERE, base::Bind(&HistoryService::SetInMemoryBackend, 123 FROM_HERE, base::Bind(&HistoryService::SetInMemoryBackend,
122 history_service_, base::Passed(&backend))); 124 history_service_, base::Passed(&backend)));
123 } 125 }
124 126
(...skipping 834 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 void HistoryService::SetInMemoryBackend( 961 void HistoryService::SetInMemoryBackend(
960 std::unique_ptr<InMemoryHistoryBackend> mem_backend) { 962 std::unique_ptr<InMemoryHistoryBackend> mem_backend) {
961 DCHECK(thread_checker_.CalledOnValidThread()); 963 DCHECK(thread_checker_.CalledOnValidThread());
962 DCHECK(!in_memory_backend_) << "Setting mem DB twice"; 964 DCHECK(!in_memory_backend_) << "Setting mem DB twice";
963 in_memory_backend_.reset(mem_backend.release()); 965 in_memory_backend_.reset(mem_backend.release());
964 966
965 // The database requires additional initialization once we own it. 967 // The database requires additional initialization once we own it.
966 in_memory_backend_->AttachToHistoryService(this); 968 in_memory_backend_->AttachToHistoryService(this);
967 } 969 }
968 970
969 void HistoryService::NotifyProfileError(sql::InitStatus init_status) { 971 void HistoryService::NotifyProfileError(
972 sql::InitStatus init_status,
973 const sql::DatabaseDiagnosticMap& diagnostics) {
970 DCHECK(thread_checker_.CalledOnValidThread()); 974 DCHECK(thread_checker_.CalledOnValidThread());
971 if (history_client_) 975 if (history_client_)
972 history_client_->NotifyProfileError(init_status); 976 history_client_->NotifyProfileError(init_status, diagnostics);
973 } 977 }
974 978
975 void HistoryService::DeleteURL(const GURL& url) { 979 void HistoryService::DeleteURL(const GURL& url) {
976 DCHECK(thread_) << "History service being called after cleanup"; 980 DCHECK(thread_) << "History service being called after cleanup";
977 DCHECK(thread_checker_.CalledOnValidThread()); 981 DCHECK(thread_checker_.CalledOnValidThread());
978 // We will update the visited links when we observe the delete notifications. 982 // We will update the visited links when we observe the delete notifications.
979 ScheduleTask(PRIORITY_NORMAL, base::Bind(&HistoryBackend::DeleteURL, 983 ScheduleTask(PRIORITY_NORMAL, base::Bind(&HistoryBackend::DeleteURL,
980 history_backend_.get(), url)); 984 history_backend_.get(), url));
981 } 985 }
982 986
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 return favicon_changed_callback_list_.Add(callback); 1136 return favicon_changed_callback_list_.Add(callback);
1133 } 1137 }
1134 1138
1135 void HistoryService::NotifyFaviconsChanged(const std::set<GURL>& page_urls, 1139 void HistoryService::NotifyFaviconsChanged(const std::set<GURL>& page_urls,
1136 const GURL& icon_url) { 1140 const GURL& icon_url) {
1137 DCHECK(thread_checker_.CalledOnValidThread()); 1141 DCHECK(thread_checker_.CalledOnValidThread());
1138 favicon_changed_callback_list_.Notify(page_urls, icon_url); 1142 favicon_changed_callback_list_.Notify(page_urls, icon_url);
1139 } 1143 }
1140 1144
1141 } // namespace history 1145 } // namespace history
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698