Index: content/browser/browser_main_loop.cc |
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc |
index 8bcc3d33b9d7dbcce684b216cbebca7d7ed1a5ce..c7b1998667996b772b5ebfa6ab941f887355e5c5 100644 |
--- a/content/browser/browser_main_loop.cc |
+++ b/content/browser/browser_main_loop.cc |
@@ -598,7 +598,6 @@ void BrowserMainLoop::CreateStartupTasks() { |
int BrowserMainLoop::CreateThreads() { |
TRACE_EVENT0("startup", "BrowserMainLoop::CreateThreads"); |
- base::Thread::Options default_options; |
base::Thread::Options io_message_loop_options; |
io_message_loop_options.message_loop_type = base::MessageLoop::TYPE_IO; |
base::Thread::Options ui_message_loop_options; |
@@ -613,7 +612,7 @@ int BrowserMainLoop::CreateThreads() { |
thread_id < BrowserThread::ID_COUNT; |
++thread_id) { |
scoped_ptr<BrowserProcessSubThread>* thread_to_start = NULL; |
- base::Thread::Options* options = &default_options; |
+ base::Thread::Options options; |
switch (thread_id) { |
case BrowserThread::DB: |
@@ -621,6 +620,7 @@ int BrowserMainLoop::CreateThreads() { |
"BrowserMainLoop::CreateThreads:start", |
"Thread", "BrowserThread::DB"); |
thread_to_start = &db_thread_; |
+ options.timer_slack = base::TIMER_SLACK_MAXIMUM; |
break; |
case BrowserThread::FILE_USER_BLOCKING: |
TRACE_EVENT_BEGIN1("startup", |
@@ -637,30 +637,33 @@ int BrowserMainLoop::CreateThreads() { |
// On Windows, the FILE thread needs to be have a UI message loop |
// which pumps messages in such a way that Google Update can |
// communicate back to us. |
- options = &ui_message_loop_options; |
+ options = ui_message_loop_options; |
#else |
- options = &io_message_loop_options; |
+ options = io_message_loop_options; |
#endif |
+ options.timer_slack = base::TIMER_SLACK_MAXIMUM; |
break; |
case BrowserThread::PROCESS_LAUNCHER: |
TRACE_EVENT_BEGIN1("startup", |
"BrowserMainLoop::CreateThreads:start", |
"Thread", "BrowserThread::PROCESS_LAUNCHER"); |
thread_to_start = &process_launcher_thread_; |
+ options.timer_slack = base::TIMER_SLACK_MAXIMUM; |
break; |
case BrowserThread::CACHE: |
TRACE_EVENT_BEGIN1("startup", |
"BrowserMainLoop::CreateThreads:start", |
"Thread", "BrowserThread::CACHE"); |
thread_to_start = &cache_thread_; |
- options = &io_message_loop_options; |
+ options = io_message_loop_options; |
+ options.timer_slack = base::TIMER_SLACK_MAXIMUM; |
break; |
case BrowserThread::IO: |
TRACE_EVENT_BEGIN1("startup", |
"BrowserMainLoop::CreateThreads:start", |
"Thread", "BrowserThread::IO"); |
thread_to_start = &io_thread_; |
- options = &io_message_loop_options; |
+ options = io_message_loop_options; |
break; |
case BrowserThread::UI: |
case BrowserThread::ID_COUNT: |
@@ -673,7 +676,7 @@ int BrowserMainLoop::CreateThreads() { |
if (thread_to_start) { |
(*thread_to_start).reset(new BrowserProcessSubThread(id)); |
- (*thread_to_start)->StartWithOptions(*options); |
+ (*thread_to_start)->StartWithOptions(options); |
} else { |
NOTREACHED(); |
} |