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

Unified Diff: chrome/browser/visitedlink_master.cc

Issue 342068: Third patch in getting rid of caching MessageLoop pointers and always using C... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 2 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/visitedlink_master.h ('k') | chrome/browser/visitedlink_perftest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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() {
« no previous file with comments | « chrome/browser/visitedlink_master.h ('k') | chrome/browser/visitedlink_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698