| Index: chrome/browser/visitedlink_master.cc
|
| ===================================================================
|
| --- chrome/browser/visitedlink_master.cc (revision 30650)
|
| +++ chrome/browser/visitedlink_master.cc (working copy)
|
| @@ -24,7 +24,6 @@
|
| #include "base/rand_util.h"
|
| #include "base/stack_container.h"
|
| #include "base/string_util.h"
|
| -#include "base/thread.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/history/history.h"
|
| #include "chrome/browser/profile.h"
|
| @@ -190,9 +189,6 @@
|
| // Owner of this object. MAY ONLY BE ACCESSED ON THE MAIN THREAD!
|
| VisitedLinkMaster* master_;
|
|
|
| - // The thread the visited link master is on where we will notify it.
|
| - MessageLoop* main_message_loop_;
|
| -
|
| // Indicates whether the operation has failed or not.
|
| bool success_;
|
|
|
| @@ -205,19 +201,17 @@
|
|
|
| // VisitedLinkMaster ----------------------------------------------------------
|
|
|
| -VisitedLinkMaster::VisitedLinkMaster(base::Thread* file_thread,
|
| - Listener* listener,
|
| +VisitedLinkMaster::VisitedLinkMaster(Listener* listener,
|
| Profile* profile) {
|
| - InitMembers(file_thread, listener, profile);
|
| + InitMembers(listener, profile);
|
| }
|
|
|
| -VisitedLinkMaster::VisitedLinkMaster(base::Thread* file_thread,
|
| - Listener* listener,
|
| +VisitedLinkMaster::VisitedLinkMaster(Listener* listener,
|
| HistoryService* history_service,
|
| bool suppress_rebuild,
|
| const FilePath& filename,
|
| int32 default_table_size) {
|
| - InitMembers(file_thread, listener, NULL);
|
| + InitMembers(listener, NULL);
|
|
|
| database_name_override_ = filename;
|
| table_size_override_ = default_table_size;
|
| @@ -236,16 +230,9 @@
|
| FreeURLTable();
|
| }
|
|
|
| -void VisitedLinkMaster::InitMembers(base::Thread* file_thread,
|
| - Listener* listener,
|
| - Profile* profile) {
|
| +void VisitedLinkMaster::InitMembers(Listener* listener, Profile* profile) {
|
| DCHECK(listener);
|
|
|
| - if (file_thread)
|
| - file_thread_ = file_thread->message_loop();
|
| - else
|
| - file_thread_ = NULL;
|
| -
|
| listener_ = listener;
|
| file_ = NULL;
|
| shared_memory_ = NULL;
|
| @@ -553,13 +540,8 @@
|
| hash_table_, table_length_ * sizeof(Fingerprint));
|
|
|
| // The hash table may have shrunk, so make sure this is the end.
|
| - if (file_thread_) {
|
| - AsyncSetEndOfFile* setter = new AsyncSetEndOfFile(file_);
|
| - file_thread_->PostTask(FROM_HERE, setter);
|
| - } else {
|
| - TruncateFile(file_);
|
| - }
|
| -
|
| + ChromeThread::PostTask(
|
| + ChromeThread::FILE, FROM_HERE, new AsyncSetEndOfFile(file_));
|
| return true;
|
| }
|
|
|
| @@ -754,14 +736,11 @@
|
| delete shared_memory_;
|
| shared_memory_ = NULL;
|
| }
|
| - if (file_) {
|
| - if (file_thread_) {
|
| - AsyncCloseHandle* closer = new AsyncCloseHandle(file_);
|
| - file_thread_->PostTask(FROM_HERE, closer);
|
| - } else {
|
| - fclose(file_);
|
| - }
|
| - }
|
| + if (!file_)
|
| + return;
|
| +
|
| + ChromeThread::PostTask(
|
| + ChromeThread::FILE, FROM_HERE, new AsyncCloseHandle(file_));
|
| }
|
|
|
| bool VisitedLinkMaster::ResizeTableIfNecessary() {
|
| @@ -941,15 +920,9 @@
|
| posted_asynchronous_operation_ = true;
|
| #endif
|
|
|
| - if (file_thread_) {
|
| - // Send the write to the other thread for execution to avoid blocking.
|
| - AsyncWriter* writer = new AsyncWriter(file, offset, data, data_size);
|
| - file_thread_->PostTask(FROM_HERE, writer);
|
| - } else {
|
| - // When there is no I/O thread, we are probably running in unit test mode,
|
| - // just do the write synchronously.
|
| - AsyncWriter::WriteToFile(file, offset, data, data_size);
|
| - }
|
| + ChromeThread::PostTask(
|
| + ChromeThread::FILE, FROM_HERE,
|
| + new AsyncWriter(file, offset, data, data_size));
|
| }
|
|
|
| void VisitedLinkMaster::WriteUsedItemCountToFile() {
|
| @@ -1000,7 +973,6 @@
|
| VisitedLinkMaster* master,
|
| const uint8 salt[LINK_SALT_LENGTH])
|
| : master_(master),
|
| - main_message_loop_(MessageLoop::current()),
|
| success_(true) {
|
| fingerprints_.reserve(4096);
|
| memcpy(salt_, salt, sizeof(salt));
|
| @@ -1025,8 +997,9 @@
|
|
|
| // Marshal to the main thread to notify the VisitedLinkMaster that the
|
| // rebuild is complete.
|
| - main_message_loop_->PostTask(FROM_HERE, NewRunnableMethod(this,
|
| - &TableBuilder::OnCompleteMainThread));
|
| + ChromeThread::PostTask(
|
| + ChromeThread::UI, FROM_HERE,
|
| + NewRunnableMethod(this, &TableBuilder::OnCompleteMainThread));
|
| }
|
|
|
| void VisitedLinkMaster::TableBuilder::OnCompleteMainThread() {
|
|
|