Index: chrome/browser/visitedlink_master.cc |
=================================================================== |
--- chrome/browser/visitedlink_master.cc (revision 19822) |
+++ chrome/browser/visitedlink_master.cc (working copy) |
@@ -199,24 +199,24 @@ |
uint8 salt_[LINK_SALT_LENGTH]; |
// Stores the fingerprints we computed on the background thread. |
- std::vector<VisitedLinkMaster::Fingerprint> fingerprints_; |
+ VisitedLinkCommon::Fingerprints fingerprints_; |
}; |
// VisitedLinkMaster ---------------------------------------------------------- |
VisitedLinkMaster::VisitedLinkMaster(base::Thread* file_thread, |
- PostNewTableEvent* poster, |
+ Listener* listener, |
Profile* profile) { |
- InitMembers(file_thread, poster, profile); |
+ InitMembers(file_thread, listener, profile); |
} |
VisitedLinkMaster::VisitedLinkMaster(base::Thread* file_thread, |
- PostNewTableEvent* poster, |
+ Listener* listener, |
HistoryService* history_service, |
bool suppress_rebuild, |
const FilePath& filename, |
int32 default_table_size) { |
- InitMembers(file_thread, poster, NULL); |
+ InitMembers(file_thread, listener, NULL); |
database_name_override_ = filename; |
table_size_override_ = default_table_size; |
@@ -236,14 +236,16 @@ |
} |
void VisitedLinkMaster::InitMembers(base::Thread* file_thread, |
- PostNewTableEvent* poster, |
+ Listener* listener, |
Profile* profile) { |
+ DCHECK(listener); |
+ |
if (file_thread) |
file_thread_ = file_thread->message_loop(); |
else |
file_thread_ = NULL; |
- post_new_table_event_ = poster; |
+ listener_ = listener; |
file_ = NULL; |
shared_memory_ = NULL; |
shared_memory_serial_ = 0; |
@@ -348,6 +350,8 @@ |
// us, otherwise, schedule writing the new table to disk ourselves. |
if (!ResizeTableIfNecessary()) |
WriteFullTable(); |
+ |
+ listener_->Reset(); |
} |
void VisitedLinkMaster::DeleteURLs(const std::set<GURL>& urls) { |
@@ -356,6 +360,8 @@ |
if (urls.empty()) |
return; |
+ listener_->Reset(); |
+ |
if (table_builder_) { |
// A rebuild is in progress, save this deletion in the temporary list so |
// it can be added once rebuild is complete. |
@@ -411,6 +417,8 @@ |
// End of probe sequence found, insert here. |
hash_table_[cur_hash] = fingerprint; |
used_items_++; |
+ // Notify listener that a new visited link was added. |
+ listener_->Add(fingerprint); |
return cur_hash; |
} |
@@ -805,7 +813,7 @@ |
// Send an update notification to all child processes so they read the new |
// table. |
- post_new_table_event_(shared_memory_); |
+ listener_->NewTable(shared_memory_); |
#ifndef NDEBUG |
DebugValidate(); |
@@ -908,7 +916,7 @@ |
deleted_since_rebuild_.clear(); |
// Send an update notification to all child processes. |
- post_new_table_event_(shared_memory_); |
+ listener_->NewTable(shared_memory_); |
WriteFullTable(); |
} |