| 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();
|
| }
|
|
|