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

Side by Side Diff: chrome/browser/history/history.cc

Issue 342048: Show a warning when the history files can't be read correctly.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 // separate class from the history service so that it can hold a reference to 87 // separate class from the history service so that it can hold a reference to
88 // the history service (otherwise we would have to manually AddRef and 88 // the history service (otherwise we would have to manually AddRef and
89 // Release when the Backend has a reference to us). 89 // Release when the Backend has a reference to us).
90 class HistoryService::BackendDelegate : public HistoryBackend::Delegate { 90 class HistoryService::BackendDelegate : public HistoryBackend::Delegate {
91 public: 91 public:
92 explicit BackendDelegate(HistoryService* history_service) 92 explicit BackendDelegate(HistoryService* history_service)
93 : history_service_(history_service), 93 : history_service_(history_service),
94 message_loop_(MessageLoop::current()) { 94 message_loop_(MessageLoop::current()) {
95 } 95 }
96 96
97 virtual void NotifyTooNew() { 97 virtual void NotifyProfileError(int message_id) {
98 // Send the backend to the history service on the main thread. 98 // Send the backend to the history service on the main thread.
99 message_loop_->PostTask(FROM_HERE, NewRunnableMethod(history_service_.get(), 99 message_loop_->PostTask(FROM_HERE, NewRunnableMethod(history_service_.get(),
100 &HistoryService::NotifyTooNew)); 100 &HistoryService::NotifyProfileError, message_id));
101 } 101 }
102 102
103 virtual void SetInMemoryBackend( 103 virtual void SetInMemoryBackend(
104 history::InMemoryHistoryBackend* backend) { 104 history::InMemoryHistoryBackend* backend) {
105 // Send the backend to the history service on the main thread. 105 // Send the backend to the history service on the main thread.
106 message_loop_->PostTask(FROM_HERE, NewRunnableMethod(history_service_.get(), 106 message_loop_->PostTask(FROM_HERE, NewRunnableMethod(history_service_.get(),
107 &HistoryService::SetInMemoryBackend, backend)); 107 &HistoryService::SetInMemoryBackend, backend));
108 } 108 }
109 109
110 virtual void BroadcastNotifications(NotificationType type, 110 virtual void BroadcastNotifications(NotificationType type,
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 659
660 void HistoryService::SetInMemoryBackend( 660 void HistoryService::SetInMemoryBackend(
661 history::InMemoryHistoryBackend* mem_backend) { 661 history::InMemoryHistoryBackend* mem_backend) {
662 DCHECK(!in_memory_backend_.get()) << "Setting mem DB twice"; 662 DCHECK(!in_memory_backend_.get()) << "Setting mem DB twice";
663 in_memory_backend_.reset(mem_backend); 663 in_memory_backend_.reset(mem_backend);
664 664
665 // The database requires additional initialization once we own it. 665 // The database requires additional initialization once we own it.
666 in_memory_backend_->AttachToHistoryService(profile_); 666 in_memory_backend_->AttachToHistoryService(profile_);
667 } 667 }
668 668
669 void HistoryService::NotifyTooNew() { 669 void HistoryService::NotifyProfileError(int message_id) {
670 Source<HistoryService> source(this); 670 Source<HistoryService> source(this);
671 NotificationService::current()->Notify(NotificationType::HISTORY_TOO_NEW, 671 NotificationService::current()->Notify(NotificationType::PROFILE_ERROR,
672 source, NotificationService::NoDetails()); 672 source, Details<int>(&message_id));
673 } 673 }
674 674
675 void HistoryService::DeleteURL(const GURL& url) { 675 void HistoryService::DeleteURL(const GURL& url) {
676 // We will update the visited links when we observe the delete notifications. 676 // We will update the visited links when we observe the delete notifications.
677 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURL, url); 677 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURL, url);
678 } 678 }
679 679
680 void HistoryService::ExpireHistoryBetween( 680 void HistoryService::ExpireHistoryBetween(
681 Time begin_time, Time end_time, 681 Time begin_time, Time end_time,
682 CancelableRequestConsumerBase* consumer, 682 CancelableRequestConsumerBase* consumer,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
725 ScheduleAndForget(PRIORITY_UI, &HistoryBackend::Init); 725 ScheduleAndForget(PRIORITY_UI, &HistoryBackend::Init);
726 } 726 }
727 727
728 void HistoryService::OnDBLoaded() { 728 void HistoryService::OnDBLoaded() {
729 LOG(INFO) << "History backend finished loading"; 729 LOG(INFO) << "History backend finished loading";
730 backend_loaded_ = true; 730 backend_loaded_ = true;
731 NotificationService::current()->Notify(NotificationType::HISTORY_LOADED, 731 NotificationService::current()->Notify(NotificationType::HISTORY_LOADED,
732 Source<Profile>(profile_), 732 Source<Profile>(profile_),
733 Details<HistoryService>(this)); 733 Details<HistoryService>(this));
734 } 734 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698