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() { |