summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbates@chromium.org <jbates@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-02 01:38:59 +0000
committerjbates@chromium.org <jbates@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-02 01:38:59 +0000
commit400d323d53525a13fbfc47efa8a95c4b13cbccb9 (patch)
treef647ecce497271c180d9e62d88a4fcfb73328dc9
parent95d9e253aeb47ef0004edc29c9a8c442106b9488 (diff)
downloadchromium_src-400d323d53525a13fbfc47efa8a95c4b13cbccb9.zip
chromium_src-400d323d53525a13fbfc47efa8a95c4b13cbccb9.tar.gz
chromium_src-400d323d53525a13fbfc47efa8a95c4b13cbccb9.tar.bz2
Currently, base/timer.cc calls PostTask with FROM_HERE as the Location, so the original code that created the delayed callback is lost.
This change adds a tracked_objects::Location parameter to the APIs in base/timer.h so we can trace the PostTask callbacks. The other files are touched to add the FROM_HERE Location parameter. Review URL: http://codereview.chromium.org/7812036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99284 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--base/system_monitor/system_monitor.cc2
-rw-r--r--base/timer.cc2
-rw-r--r--base/timer.h34
-rw-r--r--base/timer_unittest.cc18
-rw-r--r--chrome/browser/autocomplete/autocomplete.cc3
-rw-r--r--chrome/browser/autocomplete/search_provider.cc3
-rw-r--r--chrome/browser/bookmarks/bookmark_drop_info.cc2
-rw-r--r--chrome/browser/browser_process_impl.cc2
-rw-r--r--chrome/browser/chromeos/cros/login_library.cc2
-rw-r--r--chrome/browser/chromeos/cros/power_library.cc1
-rw-r--r--chrome/browser/chromeos/customization_document.cc3
-rw-r--r--chrome/browser/chromeos/login/network_screen.cc3
-rw-r--r--chrome/browser/chromeos/login/screen_locker.cc3
-rw-r--r--chrome/browser/chromeos/login/update_screen.cc3
-rw-r--r--chrome/browser/chromeos/login/web_page_screen.cc3
-rw-r--r--chrome/browser/chromeos/login/web_page_view.cc6
-rw-r--r--chrome/browser/chromeos/login/wizard_controller.cc1
-rw-r--r--chrome/browser/chromeos/setting_level_bubble.cc6
-rw-r--r--chrome/browser/chromeos/status/clock_menu_button.cc2
-rw-r--r--chrome/browser/chromeos/status/memory_menu_button.cc3
-rw-r--r--chrome/browser/chromeos/upgrade_detector_chromeos.cc2
-rw-r--r--chrome/browser/component_updater/component_updater_service.cc4
-rw-r--r--chrome/browser/enumerate_modules_model_win.cc2
-rw-r--r--chrome/browser/extensions/extension_updater.cc2
-rw-r--r--chrome/browser/extensions/extension_web_socket_proxy_private_api.cc2
-rw-r--r--chrome/browser/extensions/extensions_quota_service.cc3
-rw-r--r--chrome/browser/history/top_sites.cc2
-rw-r--r--chrome/browser/instant/instant_controller.cc7
-rw-r--r--chrome/browser/instant/instant_loader.cc2
-rw-r--r--chrome/browser/internal_auth.cc2
-rw-r--r--chrome/browser/net/predictor_unittest.cc2
-rw-r--r--chrome/browser/notifications/notification_ui_manager.cc2
-rw-r--r--chrome/browser/oom_priority_manager.cc3
-rw-r--r--chrome/browser/policy/delayed_work_scheduler.cc3
-rw-r--r--chrome/browser/prerender/prerender_manager.cc4
-rw-r--r--chrome/browser/printing/print_job.cc2
-rw-r--r--chrome/browser/printing/print_view_manager.cc3
-rw-r--r--chrome/browser/process_singleton_linux.cc2
-rw-r--r--chrome/browser/profiles/profile_impl.cc2
-rw-r--r--chrome/browser/renderer_host/safe_browsing_resource_handler.cc3
-rw-r--r--chrome/browser/safe_browsing/protocol_manager.cc7
-rw-r--r--chrome/browser/sessions/session_restore.cc2
-rw-r--r--chrome/browser/spellchecker/spellcheck_host_metrics.cc2
-rw-r--r--chrome/browser/sync/engine/sync_scheduler.cc6
-rw-r--r--chrome/browser/sync/glue/database_model_worker_unittest.cc2
-rw-r--r--chrome/browser/sync/glue/sync_backend_host.cc2
-rw-r--r--chrome/browser/sync/notifier/registration_manager.cc2
-rw-r--r--chrome/browser/sync/profile_sync_service.cc2
-rw-r--r--chrome/browser/ui/fullscreen_exit_bubble.cc8
-rw-r--r--chrome/browser/ui/gtk/browser_window_gtk.cc6
-rw-r--r--chrome/browser/ui/gtk/download/download_item_gtk.cc2
-rw-r--r--chrome/browser/ui/gtk/reload_button_gtk.cc4
-rw-r--r--chrome/browser/ui/gtk/status_bubble_gtk.cc5
-rw-r--r--chrome/browser/ui/gtk/tabs/dragged_tab_controller_gtk.cc2
-rw-r--r--chrome/browser/ui/panels/auto_hiding_desktop_bar_win.cc2
-rw-r--r--chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc3
-rw-r--r--chrome/browser/ui/views/download/download_item_view.cc2
-rw-r--r--chrome/browser/ui/views/frame/browser_view.cc2
-rw-r--r--chrome/browser/ui/views/reload_button.cc4
-rw-r--r--chrome/browser/ui/views/tab_contents/tab_contents_view_views.cc4
-rw-r--r--chrome/browser/ui/views/tabs/dragged_tab_controller.cc2
-rw-r--r--chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc1
-rw-r--r--chrome/browser/ui/webui/flash_ui.cc2
-rw-r--r--chrome/browser/ui/webui/ntp/new_tab_ui.cc4
-rw-r--r--chrome/browser/upgrade_detector_impl.cc4
-rw-r--r--chrome/browser/visitedlink/visitedlink_event_listener.cc2
-rw-r--r--chrome/common/important_file_writer.cc2
-rw-r--r--chrome/renderer/extensions/extension_dispatcher.cc4
-rw-r--r--content/browser/download/download_file_manager.cc3
-rw-r--r--content/browser/download/download_item.cc3
-rw-r--r--content/browser/download/download_resource_handler.cc3
-rw-r--r--content/browser/net/url_request_slow_http_job.cc2
-rw-r--r--content/browser/renderer_host/browser_render_process_host.cc2
-rw-r--r--content/browser/renderer_host/render_widget_host.cc2
-rw-r--r--content/browser/renderer_host/resource_dispatcher_host.cc2
-rw-r--r--content/renderer/render_process_impl.cc2
-rw-r--r--content/renderer/render_thread.cc2
-rw-r--r--content/renderer/render_view.cc7
-rw-r--r--jingle/glue/pseudotcp_adapter.cc3
-rw-r--r--jingle/notifier/communicator/login.cc2
-rw-r--r--media/audio/audio_input_controller.cc2
-rw-r--r--media/audio/audio_output_dispatcher.cc2
-rw-r--r--media/filters/adaptive_demuxer.cc3
-rw-r--r--net/base/network_change_notifier_win.cc2
-rw-r--r--net/curvecp/messenger.cc11
-rw-r--r--net/disk_cache/backend_impl.cc2
-rw-r--r--net/disk_cache/disk_cache_test_util.cc2
-rw-r--r--net/dns/dns_transaction.cc2
-rw-r--r--net/http/http_response_body_drainer.cc3
-rw-r--r--net/proxy/dhcp_proxy_script_adapter_fetcher_win.cc2
-rw-r--r--net/proxy/dhcp_proxy_script_adapter_fetcher_win_unittest.cc2
-rw-r--r--net/proxy/dhcp_proxy_script_fetcher_win.cc2
-rw-r--r--net/proxy/dhcp_proxy_script_fetcher_win_unittest.cc6
-rw-r--r--net/proxy/init_proxy_resolver.cc3
-rw-r--r--net/proxy/proxy_config_service_linux.cc6
-rw-r--r--net/socket/client_socket_pool_base.cc6
-rw-r--r--net/socket/ssl_client_socket_nss.cc2
-rw-r--r--net/socket/transport_client_socket_pool.cc2
-rw-r--r--remoting/host/heartbeat_sender.cc6
-rw-r--r--remoting/host/screen_recorder.cc2
-rw-r--r--ui/base/animation/animation_container.cc2
-rw-r--r--views/controls/menu/menu_controller.cc10
-rw-r--r--views/controls/throbber.cc10
-rw-r--r--views/repeat_controller.cc6
-rw-r--r--views/touchui/touch_factory.cc3
-rw-r--r--webkit/fileapi/obfuscated_file_system_file_util.cc4
-rw-r--r--webkit/glue/resource_fetcher.cc2
-rw-r--r--webkit/glue/resource_fetcher_unittest.cc3
-rw-r--r--webkit/glue/webkitclient_impl.cc4
-rw-r--r--webkit/plugins/npapi/webplugin_delegate_impl_mac.mm5
-rw-r--r--webkit/quota/quota_database.cc4
-rw-r--r--webkit/quota/quota_manager.cc3
-rw-r--r--webkit/quota/quota_temporary_storage_evictor.cc6
-rw-r--r--webkit/tools/test_shell/layout_test_controller.cc2
-rw-r--r--webkit/tools/test_shell/simple_resource_loader_bridge.cc2
115 files changed, 235 insertions, 178 deletions
diff --git a/base/system_monitor/system_monitor.cc b/base/system_monitor/system_monitor.cc
index 7b1349c..2631789 100644
--- a/base/system_monitor/system_monitor.cc
+++ b/base/system_monitor/system_monitor.cc
@@ -27,7 +27,7 @@ SystemMonitor::SystemMonitor()
DCHECK(MessageLoop::current());
#if defined(ENABLE_BATTERY_MONITORING)
- delayed_battery_check_.Start(
+ delayed_battery_check_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kDelayedBatteryCheckMs), this,
&SystemMonitor::BatteryCheck);
#endif // defined(ENABLE_BATTERY_MONITORING)
diff --git a/base/timer.cc b/base/timer.cc
index ce5fab6..8c06693 100644
--- a/base/timer.cc
+++ b/base/timer.cc
@@ -21,7 +21,7 @@ void BaseTimer_Helper::InitiateDelayedTask(TimerTask* timer_task) {
delayed_task_ = timer_task;
delayed_task_->timer_ = this;
MessageLoop::current()->PostDelayedTask(
- FROM_HERE, timer_task,
+ timer_task->posted_from_, timer_task,
static_cast<int>(timer_task->delay_.InMillisecondsRoundedUp()));
}
diff --git a/base/timer.h b/base/timer.h
index 2e21582..30cb109 100644
--- a/base/timer.h
+++ b/base/timer.h
@@ -87,9 +87,14 @@ class BASE_EXPORT BaseTimer_Helper {
// We have access to the timer_ member so we can orphan this task.
class TimerTask : public Task {
public:
- explicit TimerTask(TimeDelta delay) : timer_(NULL), delay_(delay) {
+ TimerTask(const tracked_objects::Location& posted_from,
+ TimeDelta delay)
+ : posted_from_(posted_from),
+ timer_(NULL),
+ delay_(delay) {
}
virtual ~TimerTask() {}
+ tracked_objects::Location posted_from_;
BaseTimer_Helper* timer_;
TimeDelta delay_;
};
@@ -116,9 +121,12 @@ class BaseTimer : public BaseTimer_Helper {
// Call this method to start the timer. It is an error to call this method
// while the timer is already running.
- void Start(TimeDelta delay, Receiver* receiver, ReceiverMethod method) {
+ void Start(const tracked_objects::Location& posted_from,
+ TimeDelta delay,
+ Receiver* receiver,
+ ReceiverMethod method) {
DCHECK(!IsRunning());
- InitiateDelayedTask(new TimerTask(delay, receiver, method));
+ InitiateDelayedTask(new TimerTask(posted_from, delay, receiver, method));
}
// Call this method to stop the timer. It is a no-op if the timer is not
@@ -138,8 +146,11 @@ class BaseTimer : public BaseTimer_Helper {
class TimerTask : public BaseTimer_Helper::TimerTask {
public:
- TimerTask(TimeDelta delay, Receiver* receiver, ReceiverMethod method)
- : BaseTimer_Helper::TimerTask(delay),
+ TimerTask(const tracked_objects::Location& posted_from,
+ TimeDelta delay,
+ Receiver* receiver,
+ ReceiverMethod method)
+ : BaseTimer_Helper::TimerTask(posted_from, delay),
receiver_(receiver),
method_(method) {
}
@@ -162,7 +173,7 @@ class BaseTimer : public BaseTimer_Helper {
}
TimerTask* Clone() const {
- return new TimerTask(delay_, receiver_, method_);
+ return new TimerTask(posted_from_, delay_, receiver_, method_);
}
private:
@@ -221,8 +232,12 @@ class DelayTimer {
public:
typedef void (Receiver::*ReceiverMethod)();
- DelayTimer(TimeDelta delay, Receiver* receiver, ReceiverMethod method)
- : receiver_(receiver),
+ DelayTimer(const tracked_objects::Location& posted_from,
+ TimeDelta delay,
+ Receiver* receiver,
+ ReceiverMethod method)
+ : posted_from_(posted_from),
+ receiver_(receiver),
method_(method),
delay_(delay) {
}
@@ -242,7 +257,7 @@ class DelayTimer {
// The timer isn't running, or will expire too late, so restart it.
timer_.Stop();
- timer_.Start(delay, this, &DelayTimer<Receiver>::Check);
+ timer_.Start(posted_from_, delay, this, &DelayTimer<Receiver>::Check);
}
void Check() {
@@ -259,6 +274,7 @@ class DelayTimer {
(receiver_->*method_)();
}
+ tracked_objects::Location posted_from_;
Receiver *const receiver_;
const ReceiverMethod method_;
const TimeDelta delay_;
diff --git a/base/timer_unittest.cc b/base/timer_unittest.cc
index bb0eade..0013bcc 100644
--- a/base/timer_unittest.cc
+++ b/base/timer_unittest.cc
@@ -19,7 +19,7 @@ class OneShotTimerTester {
delay_ms_(milliseconds) {
}
void Start() {
- timer_.Start(TimeDelta::FromMilliseconds(delay_ms_), this,
+ timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(delay_ms_), this,
&OneShotTimerTester::Run);
}
private:
@@ -39,7 +39,7 @@ class OneShotSelfDeletingTimerTester {
timer_(new base::OneShotTimer<OneShotSelfDeletingTimerTester>()) {
}
void Start() {
- timer_->Start(TimeDelta::FromMilliseconds(10), this,
+ timer_->Start(FROM_HERE, TimeDelta::FromMilliseconds(10), this,
&OneShotSelfDeletingTimerTester::Run);
}
private:
@@ -59,7 +59,7 @@ class RepeatingTimerTester {
}
void Start() {
- timer_.Start(TimeDelta::FromMilliseconds(10), this,
+ timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(10), this,
&RepeatingTimerTester::Run);
}
private:
@@ -176,7 +176,7 @@ void RunTest_DelayTimer_NoCall(MessageLoop::Type message_loop_type) {
// If Delay is never called, the timer shouldn't go off.
DelayTimerTarget target;
- base::DelayTimer<DelayTimerTarget> timer(
+ base::DelayTimer<DelayTimerTarget> timer(FROM_HERE,
TimeDelta::FromMilliseconds(1), &target, &DelayTimerTarget::Signal);
bool did_run = false;
@@ -191,7 +191,7 @@ void RunTest_DelayTimer_OneCall(MessageLoop::Type message_loop_type) {
MessageLoop loop(message_loop_type);
DelayTimerTarget target;
- base::DelayTimer<DelayTimerTarget> timer(
+ base::DelayTimer<DelayTimerTarget> timer(FROM_HERE,
TimeDelta::FromMilliseconds(1), &target, &DelayTimerTarget::Signal);
timer.Reset();
@@ -225,7 +225,7 @@ void RunTest_DelayTimer_Reset(MessageLoop::Type message_loop_type) {
// If Delay is never called, the timer shouldn't go off.
DelayTimerTarget target;
- base::DelayTimer<DelayTimerTarget> timer(
+ base::DelayTimer<DelayTimerTarget> timer(FROM_HERE,
TimeDelta::FromMilliseconds(50), &target, &DelayTimerTarget::Signal);
timer.Reset();
@@ -233,8 +233,8 @@ void RunTest_DelayTimer_Reset(MessageLoop::Type message_loop_type) {
base::OneShotTimer<ResetHelper> timers[20];
for (size_t i = 0; i < arraysize(timers); ++i) {
- timers[i].Start(TimeDelta::FromMilliseconds(i * 10), &reset_helper,
- &ResetHelper::Reset);
+ timers[i].Start(FROM_HERE, TimeDelta::FromMilliseconds(i * 10),
+ &reset_helper, &ResetHelper::Reset);
}
bool did_run = false;
@@ -260,7 +260,7 @@ void RunTest_DelayTimer_Deleted(MessageLoop::Type message_loop_type) {
{
base::DelayTimer<DelayTimerFatalTarget> timer(
- TimeDelta::FromMilliseconds(50), &target,
+ FROM_HERE, TimeDelta::FromMilliseconds(50), &target,
&DelayTimerFatalTarget::Signal);
timer.Reset();
}
diff --git a/chrome/browser/autocomplete/autocomplete.cc b/chrome/browser/autocomplete/autocomplete.cc
index 585fdd5..8d1a363 100644
--- a/chrome/browser/autocomplete/autocomplete.cc
+++ b/chrome/browser/autocomplete/autocomplete.cc
@@ -1018,6 +1018,7 @@ void AutocompleteController::CheckIfDone() {
void AutocompleteController::StartExpireTimer() {
if (result_.HasCopiedMatches())
- expire_timer_.Start(base::TimeDelta::FromMilliseconds(kExpireTimeMS),
+ expire_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kExpireTimeMS),
this, &AutocompleteController::ExpireCopiedEntries);
}
diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc
index 11a335b..c50b8c8 100644
--- a/chrome/browser/autocomplete/search_provider.cc
+++ b/chrome/browser/autocomplete/search_provider.cc
@@ -365,7 +365,8 @@ void SearchProvider::StartOrStopSuggestQuery(bool minimal_changes) {
// Kick off a timer that will start the URL fetch if it completes before
// the user types another character.
int delay = query_suggest_immediately_ ? 0 : kQueryDelayMs;
- timer_.Start(TimeDelta::FromMilliseconds(delay), this, &SearchProvider::Run);
+ timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(delay), this,
+ &SearchProvider::Run);
}
bool SearchProvider::IsQuerySuitableForSuggest() const {
diff --git a/chrome/browser/bookmarks/bookmark_drop_info.cc b/chrome/browser/bookmarks/bookmark_drop_info.cc
index 30d1f03..1b0b3e6 100644
--- a/chrome/browser/bookmarks/bookmark_drop_info.cc
+++ b/chrome/browser/bookmarks/bookmark_drop_info.cc
@@ -42,7 +42,7 @@ void BookmarkDropInfo::Update(const views::DropTargetEvent& event) {
scroll_up_ = (last_y_ <= top_margin_ + views::kAutoscrollSize);
if (scroll_up_ || scroll_down) {
if (!scroll_timer_.IsRunning()) {
- scroll_timer_.Start(
+ scroll_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(views::kAutoscrollRowTimerMS),
this,
&BookmarkDropInfo::Scroll);
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index c46580a..ca60f3b 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -652,7 +652,7 @@ void BrowserProcessImpl::Observe(int type,
#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
void BrowserProcessImpl::StartAutoupdateTimer() {
- autoupdate_timer_.Start(
+ autoupdate_timer_.Start(FROM_HERE,
base::TimeDelta::FromHours(kUpdateCheckIntervalHours),
this,
&BrowserProcessImpl::OnAutoupdateTimer);
diff --git a/chrome/browser/chromeos/cros/login_library.cc b/chrome/browser/chromeos/cros/login_library.cc
index af42d4a..238b52b 100644
--- a/chrome/browser/chromeos/cros/login_library.cc
+++ b/chrome/browser/chromeos/cros/login_library.cc
@@ -89,7 +89,7 @@ class LoginLibraryImpl : public LoginLibrary {
// just kills us so settings may be lost. See http://crosbug.com/13102
local_state_->CommitPendingWrite();
timer_.Start(
- base::TimeDelta::FromSeconds(3), this,
+ FROM_HERE, base::TimeDelta::FromSeconds(3), this,
&JobRestartRequest::RestartJob);
// Post task on file thread thus it occurs last on task queue, so it
// would be executed after committing pending write on file thread.
diff --git a/chrome/browser/chromeos/cros/power_library.cc b/chrome/browser/chromeos/cros/power_library.cc
index a8e62dc..721202b 100644
--- a/chrome/browser/chromeos/cros/power_library.cc
+++ b/chrome/browser/chromeos/cros/power_library.cc
@@ -172,6 +172,7 @@ class PowerLibraryStubImpl : public PowerLibrary {
battery_percentage_(20),
pause_count_(0) {
timer_.Start(
+ FROM_HERE,
base::TimeDelta::FromMilliseconds(100),
this,
&PowerLibraryStubImpl::Update);
diff --git a/chrome/browser/chromeos/customization_document.cc b/chrome/browser/chromeos/customization_document.cc
index 4f944e6..bd47d4a 100644
--- a/chrome/browser/chromeos/customization_document.cc
+++ b/chrome/browser/chromeos/customization_document.cc
@@ -346,7 +346,8 @@ void ServicesCustomizationDocument::OnURLFetchComplete(
NetworkLibrary* network = CrosLibrary::Get()->GetNetworkLibrary();
if (!network->Connected() && num_retries_ < kMaxFetchRetries) {
num_retries_++;
- retry_timer_.Start(base::TimeDelta::FromSeconds(kRetriesDelayInSec),
+ retry_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromSeconds(kRetriesDelayInSec),
this, &ServicesCustomizationDocument::StartFileFetch);
return;
}
diff --git a/chrome/browser/chromeos/login/network_screen.cc b/chrome/browser/chromeos/login/network_screen.cc
index 7fabbb9..a860934e 100644
--- a/chrome/browser/chromeos/login/network_screen.cc
+++ b/chrome/browser/chromeos/login/network_screen.cc
@@ -170,7 +170,8 @@ void NetworkScreen::StopWaitingForConnection(const string16& network_id) {
void NetworkScreen::WaitForConnection(const string16& network_id) {
if (network_id_ != network_id || !connection_timer_.IsRunning()) {
connection_timer_.Stop();
- connection_timer_.Start(base::TimeDelta::FromSeconds(kConnectionTimeoutSec),
+ connection_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromSeconds(kConnectionTimeoutSec),
this,
&NetworkScreen::OnConnectionTimeout);
}
diff --git a/chrome/browser/chromeos/login/screen_locker.cc b/chrome/browser/chromeos/login/screen_locker.cc
index fe1616b..b9d40f9 100644
--- a/chrome/browser/chromeos/login/screen_locker.cc
+++ b/chrome/browser/chromeos/login/screen_locker.cc
@@ -675,7 +675,8 @@ class LockerInputEventObserver : public MessageLoopForUI::Observer {
explicit LockerInputEventObserver(ScreenLocker* screen_locker)
: screen_locker_(screen_locker),
ALLOW_THIS_IN_INITIALIZER_LIST(
- timer_(base::TimeDelta::FromSeconds(kScreenSaverIdleTimeout), this,
+ timer_(FROM_HERE,
+ base::TimeDelta::FromSeconds(kScreenSaverIdleTimeout), this,
&LockerInputEventObserver::StartScreenSaver)) {
}
diff --git a/chrome/browser/chromeos/login/update_screen.cc b/chrome/browser/chromeos/login/update_screen.cc
index 8e70834..676c22e 100644
--- a/chrome/browser/chromeos/login/update_screen.cc
+++ b/chrome/browser/chromeos/login/update_screen.cc
@@ -156,7 +156,8 @@ void UpdateScreen::UpdateStatusChanged(UpdateLibrary* library) {
actor_->ShowCurtain(false);
VLOG(1) << "Initiate reboot after update";
CrosLibrary::Get()->GetUpdateLibrary()->RebootAfterUpdate();
- reboot_timer_.Start(base::TimeDelta::FromSeconds(reboot_check_delay_),
+ reboot_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromSeconds(reboot_check_delay_),
this,
&UpdateScreen::OnWaitForRebootTimeElapsed);
} else {
diff --git a/chrome/browser/chromeos/login/web_page_screen.cc b/chrome/browser/chromeos/login/web_page_screen.cc
index 694cad7..ae5d33f 100644
--- a/chrome/browser/chromeos/login/web_page_screen.cc
+++ b/chrome/browser/chromeos/login/web_page_screen.cc
@@ -50,7 +50,8 @@ void WebPageScreen::OnNetworkTimeout() {
void WebPageScreen::StartTimeoutTimer() {
StopTimeoutTimer();
- timeout_timer_.Start(TimeDelta::FromSeconds(kNetworkTimeoutSec),
+ timeout_timer_.Start(FROM_HERE,
+ TimeDelta::FromSeconds(kNetworkTimeoutSec),
this,
&WebPageScreen::OnNetworkTimeout);
}
diff --git a/chrome/browser/chromeos/login/web_page_view.cc b/chrome/browser/chromeos/login/web_page_view.cc
index 7c4826d..4ce06c5 100644
--- a/chrome/browser/chromeos/login/web_page_view.cc
+++ b/chrome/browser/chromeos/login/web_page_view.cc
@@ -123,7 +123,8 @@ void WebPageView::Init() {
connecting_label_->SetVisible(false);
AddChildView(connecting_label_ );
- start_timer_.Start(TimeDelta::FromMilliseconds(kStartDelayMs),
+ start_timer_.Start(FROM_HERE,
+ TimeDelta::FromMilliseconds(kStartDelayMs),
this,
&WebPageView::ShowWaitingControls);
}
@@ -150,7 +151,8 @@ void WebPageView::ShowPageContent() {
// TODO(nkostylev): Show throbber as an overlay until page has been rendered.
start_timer_.Stop();
if (!stop_timer_.IsRunning()) {
- stop_timer_.Start(TimeDelta::FromMilliseconds(kStopDelayMs),
+ stop_timer_.Start(FROM_HERE,
+ TimeDelta::FromMilliseconds(kStopDelayMs),
this,
&WebPageView::ShowRenderedPage);
}
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index a2445314..5fc5e5e 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -502,6 +502,7 @@ void WizardController::SetCurrentScreenSmooth(WizardScreen* new_current,
if (use_smoothing) {
smooth_show_timer_.Start(
+ FROM_HERE,
base::TimeDelta::FromMilliseconds(kShowDelayMs),
this,
&WizardController::ShowCurrentScreen);
diff --git a/chrome/browser/chromeos/setting_level_bubble.cc b/chrome/browser/chromeos/setting_level_bubble.cc
index 116c445..7a35a99 100644
--- a/chrome/browser/chromeos/setting_level_bubble.cc
+++ b/chrome/browser/chromeos/setting_level_bubble.cc
@@ -148,7 +148,8 @@ void SettingLevelBubble::ShowBubble(double percent, bool enabled) {
view_->SetEnabled(enabled);
}
- hide_timer_.Start(base::TimeDelta::FromMilliseconds(kBubbleShowTimeoutMs),
+ hide_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kBubbleShowTimeoutMs),
this, &SettingLevelBubble::OnHideTimeout);
}
@@ -232,7 +233,8 @@ void SettingLevelBubble::UpdateTargetPercent(double percent) {
target_time_ = now + TimeDelta::FromMilliseconds(duration_ms);
if (!is_animating_) {
- animation_timer_.Start(TimeDelta::FromMilliseconds(kAnimationIntervalMs),
+ animation_timer_.Start(FROM_HERE,
+ TimeDelta::FromMilliseconds(kAnimationIntervalMs),
this,
&SettingLevelBubble::OnAnimationTimeout);
is_animating_ = true;
diff --git a/chrome/browser/chromeos/status/clock_menu_button.cc b/chrome/browser/chromeos/status/clock_menu_button.cc
index ac5b0b6..5df5502 100644
--- a/chrome/browser/chromeos/status/clock_menu_button.cc
+++ b/chrome/browser/chromeos/status/clock_menu_button.cc
@@ -80,7 +80,7 @@ void ClockMenuButton::UpdateTextAndSetNextTimer() {
// called just a teeny bit early, then it will skip the next minute.
seconds_left += kTimerSlopSeconds;
- timer_.Start(base::TimeDelta::FromSeconds(seconds_left), this,
+ timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(seconds_left), this,
&ClockMenuButton::UpdateTextAndSetNextTimer);
}
diff --git a/chrome/browser/chromeos/status/memory_menu_button.cc b/chrome/browser/chromeos/status/memory_menu_button.cc
index fe4c33c..cda69ff 100644
--- a/chrome/browser/chromeos/status/memory_menu_button.cc
+++ b/chrome/browser/chromeos/status/memory_menu_button.cc
@@ -66,7 +66,8 @@ MemoryMenuButton::~MemoryMenuButton() {
void MemoryMenuButton::UpdateTextAndSetNextTimer() {
UpdateText();
- timer_.Start(base::TimeDelta::FromSeconds(kUpdateIntervalSeconds), this,
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromSeconds(kUpdateIntervalSeconds), this,
&MemoryMenuButton::UpdateTextAndSetNextTimer);
}
diff --git a/chrome/browser/chromeos/upgrade_detector_chromeos.cc b/chrome/browser/chromeos/upgrade_detector_chromeos.cc
index 809ba4a..9445c04 100644
--- a/chrome/browser/chromeos/upgrade_detector_chromeos.cc
+++ b/chrome/browser/chromeos/upgrade_detector_chromeos.cc
@@ -37,7 +37,7 @@ void UpgradeDetectorChromeos::UpdateStatusChanged(
// Setup timer to to move along the upgrade advisory system.
upgrade_notification_timer_.Start(
- base::TimeDelta::FromMilliseconds(kNotifyCycleTimeMs),
+ FROM_HERE, base::TimeDelta::FromMilliseconds(kNotifyCycleTimeMs),
this, &UpgradeDetectorChromeos::NotifyOnUpgrade);
}
diff --git a/chrome/browser/component_updater/component_updater_service.cc b/chrome/browser/component_updater/component_updater_service.cc
index 8b78857..d92516a 100644
--- a/chrome/browser/component_updater/component_updater_service.cc
+++ b/chrome/browser/component_updater/component_updater_service.cc
@@ -336,7 +336,7 @@ ComponentUpdateService::Status CrxUpdateService::Start() {
Source<ComponentUpdateService>(this),
NotificationService::NoDetails());
- timer_.Start(base::TimeDelta::FromSeconds(config_->InitialDelay()),
+ timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(config_->InitialDelay()),
this, &CrxUpdateService::ProcessPendingItems);
return kOk;
}
@@ -374,7 +374,7 @@ void CrxUpdateService::ScheduleNextRun(bool step_delay) {
return;
}
- timer_.Start(base::TimeDelta::FromSeconds(delay),
+ timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(delay),
this, &CrxUpdateService::ProcessPendingItems);
}
diff --git a/chrome/browser/enumerate_modules_model_win.cc b/chrome/browser/enumerate_modules_model_win.cc
index e056cd4..694de06 100644
--- a/chrome/browser/enumerate_modules_model_win.cc
+++ b/chrome/browser/enumerate_modules_model_win.cc
@@ -904,7 +904,7 @@ EnumerateModulesModel::EnumerateModulesModel()
suspected_bad_modules_detected_(0) {
const CommandLine& cmd_line = *CommandLine::ForCurrentProcess();
if (cmd_line.HasSwitch(switches::kConflictingModulesCheck)) {
- check_modules_timer_.Start(
+ check_modules_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kModuleCheckDelayMs),
this, &EnumerateModulesModel::ScanNow);
}
diff --git a/chrome/browser/extensions/extension_updater.cc b/chrome/browser/extensions/extension_updater.cc
index 2bd4e6b..bede960 100644
--- a/chrome/browser/extensions/extension_updater.cc
+++ b/chrome/browser/extensions/extension_updater.cc
@@ -942,7 +942,7 @@ void ExtensionUpdater::ScheduleNextCheck(const TimeDelta& target_delay) {
prefs_->SetInt64(kNextExtensionsUpdateCheck, next.ToInternalValue());
prefs_->ScheduleSavePersistentPrefs();
- timer_.Start(actual_delay, this, &ExtensionUpdater::TimerFired);
+ timer_.Start(FROM_HERE, actual_delay, this, &ExtensionUpdater::TimerFired);
}
void ExtensionUpdater::TimerFired() {
diff --git a/chrome/browser/extensions/extension_web_socket_proxy_private_api.cc b/chrome/browser/extensions/extension_web_socket_proxy_private_api.cc
index 1eaf24c..9b38568 100644
--- a/chrome/browser/extensions/extension_web_socket_proxy_private_api.cc
+++ b/chrome/browser/extensions/extension_web_socket_proxy_private_api.cc
@@ -59,7 +59,7 @@ bool WebSocketProxyPrivateGetPassportForTCPFunction::RunImpl() {
if (delay_response) {
const int kTimeout = 3;
- timer_.Start(base::TimeDelta::FromSeconds(kTimeout),
+ timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(kTimeout),
this, &WebSocketProxyPrivateGetPassportForTCPFunction::Finalize);
} else {
Finalize();
diff --git a/chrome/browser/extensions/extensions_quota_service.cc b/chrome/browser/extensions/extensions_quota_service.cc
index 0c41656..6c441b1 100644
--- a/chrome/browser/extensions/extensions_quota_service.cc
+++ b/chrome/browser/extensions/extensions_quota_service.cc
@@ -18,7 +18,8 @@ const char QuotaLimitHeuristic::kGenericOverQuotaError[] =
ExtensionsQuotaService::ExtensionsQuotaService() {
if (MessageLoop::current() != NULL) { // Null in unit tests.
- purge_timer_.Start(base::TimeDelta::FromDays(kPurgeIntervalInDays),
+ purge_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromDays(kPurgeIntervalInDays),
this, &ExtensionsQuotaService::Purge);
}
}
diff --git a/chrome/browser/history/top_sites.cc b/chrome/browser/history/top_sites.cc
index d6bb0dc..25e333b 100644
--- a/chrome/browser/history/top_sites.cc
+++ b/chrome/browser/history/top_sites.cc
@@ -946,7 +946,7 @@ void TopSites::RestartQueryForTopSitesTimer(base::TimeDelta delta) {
timer_start_time_ = base::TimeTicks::Now();
timer_.Stop();
- timer_.Start(delta, this, &TopSites::TimerFired);
+ timer_.Start(FROM_HERE, delta, this, &TopSites::TimerFired);
}
void TopSites::OnHistoryMigrationWrittenToDisk(TopSitesBackend::Handle handle) {
diff --git a/chrome/browser/instant/instant_controller.cc b/chrome/browser/instant/instant_controller.cc
index deac866..f24cf5e 100644
--- a/chrome/browser/instant/instant_controller.cc
+++ b/chrome/browser/instant/instant_controller.cc
@@ -520,7 +520,7 @@ void InstantController::InstantStatusChanged(InstantLoader* loader) {
// Status isn't ok, start a timer that when fires shows the result. This
// delays showing 403 pages and the like.
show_timer_.Stop();
- show_timer_.Start(
+ show_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kShowDelayMS),
this, &InstantController::ShowTimerFired);
UpdateDisplayableLoader();
@@ -669,7 +669,8 @@ void InstantController::ScheduleUpdate(const GURL& url) {
scheduled_url_ = url;
update_timer_.Stop();
- update_timer_.Start(base::TimeDelta::FromMilliseconds(kUpdateDelayMS),
+ update_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kUpdateDelayMS),
this, &InstantController::ProcessScheduledUpdate);
}
@@ -724,7 +725,7 @@ void InstantController::UpdateLoader(const TemplateURL* template_url,
user_text, verbatim, suggested_text)) {
show_timer_.Stop();
if (!new_loader->http_status_ok()) {
- show_timer_.Start(
+ show_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kShowDelayMS),
this, &InstantController::ShowTimerFired);
}
diff --git a/chrome/browser/instant/instant_loader.cc b/chrome/browser/instant/instant_loader.cc
index 8b28bc0..cb2d593 100644
--- a/chrome/browser/instant/instant_loader.cc
+++ b/chrome/browser/instant/instant_loader.cc
@@ -684,7 +684,7 @@ void InstantLoader::SetOmniboxBounds(const gfx::Rect& bounds) {
if (omnibox_bounds_.height() > last_omnibox_bounds_.height()) {
SendBoundsToPage(false);
} else {
- update_bounds_timer_.Start(
+ update_bounds_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kUpdateBoundsDelayMS),
this, &InstantLoader::ProcessBoundsChange);
}
diff --git a/chrome/browser/internal_auth.cc b/chrome/browser/internal_auth.cc
index ac8d91f..76e32b4 100644
--- a/chrome/browser/internal_auth.cc
+++ b/chrome/browser/internal_auth.cc
@@ -343,7 +343,7 @@ class InternalAuthGenerationService : public base::ThreadChecker {
void GenerateNewKey() {
DCHECK(CalledOnValidThread());
if (!timer_.IsRunning()) {
- timer_.Start(
+ timer_.Start(FROM_HERE,
base::TimeDelta::FromMicroseconds(
kKeyRegenerationSoftTicks * kTickUs),
this,
diff --git a/chrome/browser/net/predictor_unittest.cc b/chrome/browser/net/predictor_unittest.cc
index 70a39c9..23b4ca0 100644
--- a/chrome/browser/net/predictor_unittest.cc
+++ b/chrome/browser/net/predictor_unittest.cc
@@ -85,7 +85,7 @@ class PredictorTest : public testing::Test {
void WaitForResolution(Predictor* predictor, const UrlList& hosts) {
HelperTimer* timer = new HelperTimer();
- timer->Start(TimeDelta::FromMilliseconds(100),
+ timer->Start(FROM_HERE, TimeDelta::FromMilliseconds(100),
new WaitForResolutionHelper(predictor, hosts, timer),
&WaitForResolutionHelper::Run);
MessageLoop::current()->Run();
diff --git a/chrome/browser/notifications/notification_ui_manager.cc b/chrome/browser/notifications/notification_ui_manager.cc
index a2fdf24..f4ed3d8 100644
--- a/chrome/browser/notifications/notification_ui_manager.cc
+++ b/chrome/browser/notifications/notification_ui_manager.cc
@@ -164,7 +164,7 @@ void NotificationUIManager::CheckUserState() {
ShowNotifications();
} else if (!user_state_check_timer_.IsRunning()) {
// Start a timer to detect the moment at which the user becomes active.
- user_state_check_timer_.Start(
+ user_state_check_timer_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(kUserStatePollingIntervalSeconds), this,
&NotificationUIManager::CheckUserState);
}
diff --git a/chrome/browser/oom_priority_manager.cc b/chrome/browser/oom_priority_manager.cc
index fcd7a91..d3db051 100644
--- a/chrome/browser/oom_priority_manager.cc
+++ b/chrome/browser/oom_priority_manager.cc
@@ -48,7 +48,8 @@ OomPriorityManager::~OomPriorityManager() {
void OomPriorityManager::StartTimer() {
if (!timer_.IsRunning()) {
- timer_.Start(TimeDelta::FromSeconds(ADJUSTMENT_INTERVAL_SECONDS),
+ timer_.Start(FROM_HERE,
+ TimeDelta::FromSeconds(ADJUSTMENT_INTERVAL_SECONDS),
this,
&OomPriorityManager::AdjustOomPriorities);
}
diff --git a/chrome/browser/policy/delayed_work_scheduler.cc b/chrome/browser/policy/delayed_work_scheduler.cc
index b751cb6..35fd049 100644
--- a/chrome/browser/policy/delayed_work_scheduler.cc
+++ b/chrome/browser/policy/delayed_work_scheduler.cc
@@ -30,7 +30,8 @@ void DelayedWorkScheduler::PostDelayedWork(
const base::Closure& callback,
int64 delay) {
callback_ = callback;
- timer_.Start(base::TimeDelta::FromMilliseconds(delay),
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(delay),
this,
&DelayedWorkScheduler::DoDelayedWork);
}
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index b33d31f..6c53557 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -180,7 +180,7 @@ class PrerenderManager::MostVisitedSites : public NotificationObserver {
if (profile && profile->GetTopSitesWithoutCreating()) {
Init();
} else {
- timer_.Start(base::TimeDelta::FromSeconds(3), this,
+ timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(3), this,
&prerender::PrerenderManager::MostVisitedSites::Init);
}
}
@@ -795,7 +795,7 @@ void PrerenderManager::StartSchedulingPeriodicCleanups() {
DCHECK(CalledOnValidThread());
if (repeating_timer_.IsRunning())
return;
- repeating_timer_.Start(
+ repeating_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kPeriodicCleanupIntervalMs),
this,
&PrerenderManager::PeriodicCleanup);
diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc
index c1e61e3..0b180a2 100644
--- a/chrome/browser/printing/print_job.cc
+++ b/chrome/browser/printing/print_job.cc
@@ -183,7 +183,7 @@ bool PrintJob::FlushJob(int timeout_ms) {
// wrong.
base::OneShotTimer<MessageLoop> quit_task;
if (timeout_ms) {
- quit_task.Start(TimeDelta::FromMilliseconds(timeout_ms),
+ quit_task.Start(FROM_HERE, TimeDelta::FromMilliseconds(timeout_ms),
MessageLoop::current(), &MessageLoop::Quit);
}
diff --git a/chrome/browser/printing/print_view_manager.cc b/chrome/browser/printing/print_view_manager.cc
index 2fbd080..015b1f3 100644
--- a/chrome/browser/printing/print_view_manager.cc
+++ b/chrome/browser/printing/print_view_manager.cc
@@ -481,7 +481,8 @@ bool PrintViewManager::RunInnerMessageLoop() {
// memory-bound.
static const int kPrinterSettingsTimeout = 60000;
base::OneShotTimer<MessageLoop> quit_timer;
- quit_timer.Start(TimeDelta::FromMilliseconds(kPrinterSettingsTimeout),
+ quit_timer.Start(FROM_HERE,
+ TimeDelta::FromMilliseconds(kPrinterSettingsTimeout),
MessageLoop::current(), &MessageLoop::Quit);
inside_inner_message_loop_ = true;
diff --git a/chrome/browser/process_singleton_linux.cc b/chrome/browser/process_singleton_linux.cc
index 9055e59..f4808e6 100644
--- a/chrome/browser/process_singleton_linux.cc
+++ b/chrome/browser/process_singleton_linux.cc
@@ -470,7 +470,7 @@ class ProcessSingleton::LinuxWatcher
// Wait for reads.
MessageLoopForIO::current()->WatchFileDescriptor(
fd, true, MessageLoopForIO::WATCH_READ, &fd_reader_, this);
- timer_.Start(base::TimeDelta::FromSeconds(kTimeoutInSeconds),
+ timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(kTimeoutInSeconds),
this, &SocketReader::OnTimerExpiry);
}
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
index 1ddbd12..0b3acf5 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -310,7 +310,7 @@ ProfileImpl::ProfileImpl(const FilePath& path,
DCHECK(!path.empty()) << "Using an empty path will attempt to write " <<
"profile files to the root directory!";
- create_session_service_timer_.Start(
+ create_session_service_timer_.Start(FROM_HERE,
TimeDelta::FromMilliseconds(kCreateSessionServiceDelayMS), this,
&ProfileImpl::EnsureSessionServiceCreated);
diff --git a/chrome/browser/renderer_host/safe_browsing_resource_handler.cc b/chrome/browser/renderer_host/safe_browsing_resource_handler.cc
index 043b6e0..97a2bb9 100644
--- a/chrome/browser/renderer_host/safe_browsing_resource_handler.cc
+++ b/chrome/browser/renderer_host/safe_browsing_resource_handler.cc
@@ -282,7 +282,8 @@ bool SafeBrowsingResourceHandler::CheckUrl(const GURL& url) {
url_check_start_time_ = base::TimeTicks::Now();
// Start a timer to abort the check if it takes too long.
- timer_.Start(base::TimeDelta::FromMilliseconds(kCheckUrlTimeoutMs),
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kCheckUrlTimeoutMs),
this, &SafeBrowsingResourceHandler::OnCheckUrlTimeout);
return false;
diff --git a/chrome/browser/safe_browsing/protocol_manager.cc b/chrome/browser/safe_browsing/protocol_manager.cc
index 78c1bab..f412b04 100644
--- a/chrome/browser/safe_browsing/protocol_manager.cc
+++ b/chrome/browser/safe_browsing/protocol_manager.cc
@@ -502,8 +502,8 @@ void SafeBrowsingProtocolManager::ForceScheduleNextUpdate(
DCHECK_GE(next_update_msec, 0);
// Unschedule any current timer.
update_timer_.Stop();
- update_timer_.Start(TimeDelta::FromMilliseconds(next_update_msec), this,
- &SafeBrowsingProtocolManager::GetNextUpdate);
+ update_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(next_update_msec),
+ this, &SafeBrowsingProtocolManager::GetNextUpdate);
}
// According to section 5 of the SafeBrowsing protocol specification, we must
@@ -620,7 +620,8 @@ void SafeBrowsingProtocolManager::OnGetChunksComplete(
request_->Start();
// Begin the update request timeout.
- update_timer_.Start(TimeDelta::FromSeconds(kSbMaxUpdateWaitSec), this,
+ update_timer_.Start(FROM_HERE, TimeDelta::FromSeconds(kSbMaxUpdateWaitSec),
+ this,
&SafeBrowsingProtocolManager::UpdateResponseTimeout);
}
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc
index 2cbe188..ddf793d 100644
--- a/chrome/browser/sessions/session_restore.cc
+++ b/chrome/browser/sessions/session_restore.cc
@@ -222,7 +222,7 @@ void TabLoader::LoadNextTab() {
force_load_timer_.Stop();
// Each time we load a tab we also set a timer to force us to start loading
// the next tab if this one doesn't load quickly enough.
- force_load_timer_.Start(
+ force_load_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(force_load_delay_),
this, &TabLoader::ForceLoadTimerFired);
}
diff --git a/chrome/browser/spellchecker/spellcheck_host_metrics.cc b/chrome/browser/spellchecker/spellcheck_host_metrics.cc
index 87021cb..1ad9ba4 100644
--- a/chrome/browser/spellchecker/spellcheck_host_metrics.cc
+++ b/chrome/browser/spellchecker/spellcheck_host_metrics.cc
@@ -14,7 +14,7 @@ SpellCheckHostMetrics::SpellCheckHostMetrics()
replaced_word_count_(0),
start_time_(base::Time::Now()) {
const uint64 kHistogramTimerDurationInMinutes = 30;
- recording_timer_.Start(
+ recording_timer_.Start(FROM_HERE,
base::TimeDelta::FromMinutes(kHistogramTimerDurationInMinutes),
this, &SpellCheckHostMetrics::OnHistogramTimerExpired);
RecordWordCounts();
diff --git a/chrome/browser/sync/engine/sync_scheduler.cc b/chrome/browser/sync/engine/sync_scheduler.cc
index 3782aff..d7d68ab 100644
--- a/chrome/browser/sync/engine/sync_scheduler.cc
+++ b/chrome/browser/sync/engine/sync_scheduler.cc
@@ -901,13 +901,13 @@ void SyncScheduler::AdjustPolling(const SyncSessionJob* old_job) {
// Adjust poll rate.
poll_timer_.Stop();
- poll_timer_.Start(poll, this, &SyncScheduler::PollTimerCallback);
+ poll_timer_.Start(FROM_HERE, poll, this, &SyncScheduler::PollTimerCallback);
}
void SyncScheduler::RestartWaiting() {
CHECK(wait_interval_.get());
wait_interval_->timer.Stop();
- wait_interval_->timer.Start(wait_interval_->length,
+ wait_interval_->timer.Start(FROM_HERE, wait_interval_->length,
this, &SyncScheduler::DoCanaryJob);
}
@@ -1077,7 +1077,7 @@ void SyncScheduler::OnSilencedUntil(const base::TimeTicks& silenced_until) {
DCHECK_EQ(MessageLoop::current(), sync_loop_);
wait_interval_.reset(new WaitInterval(WaitInterval::THROTTLED,
silenced_until - TimeTicks::Now()));
- wait_interval_->timer.Start(wait_interval_->length, this,
+ wait_interval_->timer.Start(FROM_HERE, wait_interval_->length, this,
&SyncScheduler::Unthrottle);
}
diff --git a/chrome/browser/sync/glue/database_model_worker_unittest.cc b/chrome/browser/sync/glue/database_model_worker_unittest.cc
index 40fc978..150dd31 100644
--- a/chrome/browser/sync/glue/database_model_worker_unittest.cc
+++ b/chrome/browser/sync/glue/database_model_worker_unittest.cc
@@ -38,7 +38,7 @@ class DatabaseModelWorkerTest : public testing::Test {
void ScheduleWork() {
scoped_ptr<Callback0::Type> c(NewCallback(this,
&DatabaseModelWorkerTest::DoWork));
- timer()->Start(TimeDelta::FromSeconds(10),
+ timer()->Start(FROM_HERE, TimeDelta::FromSeconds(10),
this, &DatabaseModelWorkerTest::Timeout);
worker()->DoWorkAndWaitUntilDone(c.get());
}
diff --git a/chrome/browser/sync/glue/sync_backend_host.cc b/chrome/browser/sync/glue/sync_backend_host.cc
index 486ca47..f8a1849 100644
--- a/chrome/browser/sync/glue/sync_backend_host.cc
+++ b/chrome/browser/sync/glue/sync_backend_host.cc
@@ -896,7 +896,7 @@ void SyncBackendHost::Core::HandleAuthErrorEventOnFrontendLoop(
}
void SyncBackendHost::Core::StartSavingChanges() {
- save_changes_timer_.Start(
+ save_changes_timer_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(kSaveChangesIntervalSeconds),
this, &Core::SaveChanges);
}
diff --git a/chrome/browser/sync/notifier/registration_manager.cc b/chrome/browser/sync/notifier/registration_manager.cc
index 0308dbe..b505729 100644
--- a/chrome/browser/sync/notifier/registration_manager.cc
+++ b/chrome/browser/sync/notifier/registration_manager.cc
@@ -192,7 +192,7 @@ void RegistrationManager::TryRegisterType(syncable::ModelType model_type,
<< syncable::ModelTypeToString(model_type) << " in "
<< delay.InMilliseconds() << " ms";
status->registration_timer.Stop();
- status->registration_timer.Start(
+ status->registration_timer.Start(FROM_HERE,
delay, status, &RegistrationManager::RegistrationStatus::DoRegister);
double next_delay_seconds =
CalculateBackoff(static_cast<double>(status->next_delay.InSeconds()),
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
index 4d23502..80c6009 100644
--- a/chrome/browser/sync/profile_sync_service.cc
+++ b/chrome/browser/sync/profile_sync_service.cc
@@ -482,7 +482,7 @@ void ProfileSyncService::Shutdown(bool sync_disabled) {
void ProfileSyncService::ClearServerData() {
clear_server_data_state_ = CLEAR_CLEARING;
- clear_server_data_timer_.Start(
+ clear_server_data_timer_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(kSyncClearDataTimeoutInSeconds), this,
&ProfileSyncService::OnClearServerDataTimeout);
backend_->RequestClearServerData();
diff --git a/chrome/browser/ui/fullscreen_exit_bubble.cc b/chrome/browser/ui/fullscreen_exit_bubble.cc
index 8c42fa1..be3db4e 100644
--- a/chrome/browser/ui/fullscreen_exit_bubble.cc
+++ b/chrome/browser/ui/fullscreen_exit_bubble.cc
@@ -26,11 +26,12 @@ FullscreenExitBubble::~FullscreenExitBubble() {
void FullscreenExitBubble::StartWatchingMouse() {
// Start the initial delay timer and begin watching the mouse.
- initial_delay_.Start(base::TimeDelta::FromMilliseconds(kInitialDelayMs), this,
+ initial_delay_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kInitialDelayMs), this,
&FullscreenExitBubble::CheckMousePosition);
gfx::Point cursor_pos = GetCursorScreenPoint();
last_mouse_pos_ = cursor_pos;
- mouse_position_checker_.Start(
+ mouse_position_checker_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(1000 / kPositionCheckHz), this,
&FullscreenExitBubble::CheckMousePosition);
}
@@ -62,7 +63,8 @@ void FullscreenExitBubble::CheckMousePosition() {
if (cursor_pos != last_mouse_pos_) {
// The mouse moved; reset the idle timer.
idle_timeout_.Stop(); // If the timer isn't running, this is a no-op.
- idle_timeout_.Start(base::TimeDelta::FromMilliseconds(kIdleTimeMs), this,
+ idle_timeout_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kIdleTimeMs), this,
&FullscreenExitBubble::CheckMousePosition);
}
last_mouse_pos_ = cursor_pos;
diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc
index 4c52e9f..94f6066 100644
--- a/chrome/browser/ui/gtk/browser_window_gtk.cc
+++ b/chrome/browser/ui/gtk/browser_window_gtk.cc
@@ -792,7 +792,7 @@ void BrowserWindowGtk::UpdateLoadingAnimations(bool should_animate) {
if (should_animate) {
if (!loading_animation_timer_.IsRunning()) {
// Loads are happening, and the timer isn't running, so start it.
- loading_animation_timer_.Start(
+ loading_animation_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kLoadingAnimationFrameTimeMs), this,
&BrowserWindowGtk::LoadingAnimationCallback);
}
@@ -1419,8 +1419,8 @@ gboolean BrowserWindowGtk::OnConfigure(GtkWidget* widget,
// (In that case Stop() is a no-op.)
if (!debounce_timer_disabled_) {
window_configure_debounce_timer_.Stop();
- window_configure_debounce_timer_.Start(base::TimeDelta::FromMilliseconds(
- kDebounceTimeoutMilliseconds), this,
+ window_configure_debounce_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kDebounceTimeoutMilliseconds), this,
&BrowserWindowGtk::OnDebouncedBoundsChanged);
}
diff --git a/chrome/browser/ui/gtk/download/download_item_gtk.cc b/chrome/browser/ui/gtk/download/download_item_gtk.cc
index 5766738..5f9218e 100644
--- a/chrome/browser/ui/gtk/download/download_item_gtk.cc
+++ b/chrome/browser/ui/gtk/download/download_item_gtk.cc
@@ -424,7 +424,7 @@ void DownloadItemGtk::UpdateDownloadProgress() {
void DownloadItemGtk::StartDownloadProgress() {
if (progress_timer_.IsRunning())
return;
- progress_timer_.Start(
+ progress_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(download_util::kProgressRateMs), this,
&DownloadItemGtk::UpdateDownloadProgress);
}
diff --git a/chrome/browser/ui/gtk/reload_button_gtk.cc b/chrome/browser/ui/gtk/reload_button_gtk.cc
index d6e2501..b945934 100644
--- a/chrome/browser/ui/gtk/reload_button_gtk.cc
+++ b/chrome/browser/ui/gtk/reload_button_gtk.cc
@@ -119,7 +119,7 @@ void ReloadButtonGtk::ChangeMode(Mode mode, bool force) {
// Go ahead and change to reload after a bit, which allows repeated reloads
// without moving the mouse.
if (!stop_to_reload_timer_.IsRunning()) {
- stop_to_reload_timer_.Start(stop_to_reload_timer_delay_, this,
+ stop_to_reload_timer_.Start(FROM_HERE, stop_to_reload_timer_delay_, this,
&ReloadButtonGtk::OnStopToReloadTimer);
}
}
@@ -185,7 +185,7 @@ void ReloadButtonGtk::OnClicked(GtkWidget* /* sender */) {
// here as the browser will do that when it actually starts loading (which
// may happen synchronously, thus the need to do this before telling the
// browser to execute the reload command).
- double_click_timer_.Start(double_click_timer_delay_, this,
+ double_click_timer_.Start(FROM_HERE, double_click_timer_delay_, this,
&ReloadButtonGtk::OnDoubleClickTimer);
if (browser_)
diff --git a/chrome/browser/ui/gtk/status_bubble_gtk.cc b/chrome/browser/ui/gtk/status_bubble_gtk.cc
index df31d84..6640a8b 100644
--- a/chrome/browser/ui/gtk/status_bubble_gtk.cc
+++ b/chrome/browser/ui/gtk/status_bubble_gtk.cc
@@ -99,7 +99,8 @@ void StatusBubbleGtk::SetStatusTextToURL() {
int desired_width = parent->allocation.width;
if (!expanded()) {
expand_timer_.Stop();
- expand_timer_.Start(base::TimeDelta::FromMilliseconds(kExpandHoverDelay),
+ expand_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kExpandHoverDelay),
this, &StatusBubbleGtk::ExpandURL);
// When not expanded, we limit the size to one third the browser's
// width.
@@ -133,7 +134,7 @@ void StatusBubbleGtk::Hide() {
void StatusBubbleGtk::SetStatusTextTo(const std::string& status_utf8) {
if (status_utf8.empty()) {
hide_timer_.Stop();
- hide_timer_.Start(base::TimeDelta::FromMilliseconds(kHideDelay),
+ hide_timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(kHideDelay),
this, &StatusBubbleGtk::Hide);
} else {
gtk_label_set_text(GTK_LABEL(label_.get()), status_utf8.c_str());
diff --git a/chrome/browser/ui/gtk/tabs/dragged_tab_controller_gtk.cc b/chrome/browser/ui/gtk/tabs/dragged_tab_controller_gtk.cc
index 73dd699..ac08691 100644
--- a/chrome/browser/ui/gtk/tabs/dragged_tab_controller_gtk.cc
+++ b/chrome/browser/ui/gtk/tabs/dragged_tab_controller_gtk.cc
@@ -245,7 +245,7 @@ void DraggedTabControllerGtk::ContinueDragging() {
}
if (!target_tabstrip) {
- bring_to_front_timer_.Start(
+ bring_to_front_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kBringToFrontDelay), this,
&DraggedTabControllerGtk::BringWindowUnderMouseToFront);
}
diff --git a/chrome/browser/ui/panels/auto_hiding_desktop_bar_win.cc b/chrome/browser/ui/panels/auto_hiding_desktop_bar_win.cc
index 944c6b1..b10aadd 100644
--- a/chrome/browser/ui/panels/auto_hiding_desktop_bar_win.cc
+++ b/chrome/browser/ui/panels/auto_hiding_desktop_bar_win.cc
@@ -43,7 +43,7 @@ void AutoHidingDesktopBarWin::UpdateWorkArea(const gfx::Rect& work_area) {
// called due to the work area change.
if (taskbar_exists) {
if (!polling_timer_.IsRunning()) {
- polling_timer_.Start(
+ polling_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kCheckTaskbarPollingIntervalMs),
this,
&AutoHidingDesktopBarWin::OnPollingTimer);
diff --git a/chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc b/chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc
index 88e8194..216473d 100644
--- a/chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc
+++ b/chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc
@@ -478,7 +478,8 @@ void CompactLocationBarViewHost::StartAutoHideTimer() {
// Restart the timer.
auto_hide_timer_->Reset();
} else {
- auto_hide_timer_->Start(base::TimeDelta::FromSeconds(kHideTimeoutInSeconds),
+ auto_hide_timer_->Start(FROM_HERE,
+ base::TimeDelta::FromSeconds(kHideTimeoutInSeconds),
this, &CompactLocationBarViewHost::HideCallback);
}
}
diff --git a/chrome/browser/ui/views/download/download_item_view.cc b/chrome/browser/ui/views/download/download_item_view.cc
index 836504a..58c42d3 100644
--- a/chrome/browser/ui/views/download/download_item_view.cc
+++ b/chrome/browser/ui/views/download/download_item_view.cc
@@ -315,7 +315,7 @@ void DownloadItemView::UpdateDownloadProgress() {
void DownloadItemView::StartDownloadProgress() {
if (progress_timer_.IsRunning())
return;
- progress_timer_.Start(
+ progress_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(download_util::kProgressRateMs), this,
&DownloadItemView::UpdateDownloadProgress);
}
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 4020129..7f586b6 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -759,7 +759,7 @@ void BrowserView::UpdateLoadingAnimations(bool should_animate) {
if (!loading_animation_timer_.IsRunning()) {
// Loads are happening, and the timer isn't running, so start it.
last_animation_time_ = base::TimeTicks::Now();
- loading_animation_timer_.Start(
+ loading_animation_timer_.Start(FROM_HERE,
TimeDelta::FromMilliseconds(kLoadingAnimationFrameTimeMs), this,
&BrowserView::LoadingAnimationCallback);
}
diff --git a/chrome/browser/ui/views/reload_button.cc b/chrome/browser/ui/views/reload_button.cc
index 0670d63..db95490 100644
--- a/chrome/browser/ui/views/reload_button.cc
+++ b/chrome/browser/ui/views/reload_button.cc
@@ -60,7 +60,7 @@ void ReloadButton::ChangeMode(Mode mode, bool force) {
// Go ahead and change to reload after a bit, which allows repeated reloads
// without moving the mouse.
if (!stop_to_reload_timer_.IsRunning()) {
- stop_to_reload_timer_.Start(stop_to_reload_timer_delay_, this,
+ stop_to_reload_timer_.Start(FROM_HERE, stop_to_reload_timer_delay_, this,
&ReloadButton::OnStopToReloadTimer);
}
}
@@ -106,7 +106,7 @@ void ReloadButton::ButtonPressed(views::Button* /* button */,
// here as the browser will do that when it actually starts loading (which
// may happen synchronously, thus the need to do this before telling the
// browser to execute the reload command).
- double_click_timer_.Start(double_click_timer_delay_, this,
+ double_click_timer_.Start(FROM_HERE, double_click_timer_delay_, this,
&ReloadButton::OnDoubleClickTimer);
if (browser_)
diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_view_views.cc b/chrome/browser/ui/views/tab_contents/tab_contents_view_views.cc
index 0c2f2f3..ab91362 100644
--- a/chrome/browser/ui/views/tab_contents/tab_contents_view_views.cc
+++ b/chrome/browser/ui/views/tab_contents/tab_contents_view_views.cc
@@ -385,8 +385,8 @@ void TabContentsViewViews::OnNativeTabContentsViewMouseMove(bool motion) {
void TabContentsViewViews::OnNativeTabContentsViewDraggingEnded() {
if (close_tab_after_drag_ends_) {
- close_tab_timer_.Start(base::TimeDelta::FromMilliseconds(0), this,
- &TabContentsViewViews::CloseTab);
+ close_tab_timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(0),
+ this, &TabContentsViewViews::CloseTab);
}
tab_contents_->SystemDragEnded();
}
diff --git a/chrome/browser/ui/views/tabs/dragged_tab_controller.cc b/chrome/browser/ui/views/tabs/dragged_tab_controller.cc
index 685e0d5..eab3310 100644
--- a/chrome/browser/ui/views/tabs/dragged_tab_controller.cc
+++ b/chrome/browser/ui/views/tabs/dragged_tab_controller.cc
@@ -667,7 +667,7 @@ void DraggedTabController::ContinueDragging() {
Attach(target_tabstrip, screen_point);
}
if (!target_tabstrip) {
- bring_to_front_timer_.Start(
+ bring_to_front_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kBringToFrontDelay), this,
&DraggedTabController::BringWindowUnderMouseToFront);
}
diff --git a/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc b/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc
index ef94964..2f088a1 100644
--- a/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/mobile_setup_ui.cc
@@ -1127,6 +1127,7 @@ void MobileSetupHandler::ChangeState(chromeos::CellularNetwork* network,
// limbo by the network library.
if (!reconnect_timer_.IsRunning()) {
reconnect_timer_.Start(
+ FROM_HERE,
base::TimeDelta::FromMilliseconds(kReconnectTimerDelayMS),
this, &MobileSetupHandler::ReconnectTimerFired);
}
diff --git a/chrome/browser/ui/webui/flash_ui.cc b/chrome/browser/ui/webui/flash_ui.cc
index a973bfa..f69bc77 100644
--- a/chrome/browser/ui/webui/flash_ui.cc
+++ b/chrome/browser/ui/webui/flash_ui.cc
@@ -133,7 +133,7 @@ FlashDOMHandler::FlashDOMHandler()
// And lastly, we fire off a timer to make sure we never get stuck at the
// "Loading..." message.
- timeout_.Start(base::TimeDelta::FromMilliseconds(kTimeout),
+ timeout_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(kTimeout),
this, &FlashDOMHandler::OnTimeout);
}
diff --git a/chrome/browser/ui/webui/ntp/new_tab_ui.cc b/chrome/browser/ui/webui/ntp/new_tab_ui.cc
index b0ce383..2ad0c41 100644
--- a/chrome/browser/ui/webui/ntp/new_tab_ui.cc
+++ b/chrome/browser/ui/webui/ntp/new_tab_ui.cc
@@ -278,7 +278,7 @@ void NewTabUI::PaintTimeout() {
// Not enough quiet time has elapsed.
// Some more paints must've occurred since we set the timeout.
// Wait some more.
- timer_.Start(base::TimeDelta::FromMilliseconds(kTimeoutMs), this,
+ timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(kTimeoutMs), this,
&NewTabUI::PaintTimeout);
}
}
@@ -288,7 +288,7 @@ void NewTabUI::StartTimingPaint(RenderViewHost* render_view_host) {
last_paint_ = start_;
registrar_.Add(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DID_PAINT,
Source<RenderWidgetHost>(render_view_host));
- timer_.Start(base::TimeDelta::FromMilliseconds(kTimeoutMs), this,
+ timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(kTimeoutMs), this,
&NewTabUI::PaintTimeout);
}
diff --git a/chrome/browser/upgrade_detector_impl.cc b/chrome/browser/upgrade_detector_impl.cc
index d6fa033..34b58c1 100644
--- a/chrome/browser/upgrade_detector_impl.cc
+++ b/chrome/browser/upgrade_detector_impl.cc
@@ -159,7 +159,7 @@ UpgradeDetectorImpl::UpgradeDetectorImpl()
if (keystone_glue::KeystoneEnabled())
#endif
{
- detect_upgrade_timer_.Start(
+ detect_upgrade_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(GetCheckForUpgradeEveryMs()),
this, &UpgradeDetectorImpl::CheckForUpgrade);
}
@@ -195,7 +195,7 @@ void UpgradeDetectorImpl::UpgradeDetected() {
// and stop the timer.
int cycle_time = CmdLineInterval().empty() ? kNotifyCycleTimeMs :
kNotifyCycleTimeForTestingMs;
- upgrade_notification_timer_.Start(
+ upgrade_notification_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(cycle_time),
this, &UpgradeDetectorImpl::NotifyOnUpgrade);
}
diff --git a/chrome/browser/visitedlink/visitedlink_event_listener.cc b/chrome/browser/visitedlink/visitedlink_event_listener.cc
index 478faac..0741bc8 100644
--- a/chrome/browser/visitedlink/visitedlink_event_listener.cc
+++ b/chrome/browser/visitedlink/visitedlink_event_listener.cc
@@ -134,7 +134,7 @@ void VisitedLinkEventListener::Add(VisitedLinkMaster::Fingerprint fingerprint) {
pending_visited_links_.push_back(fingerprint);
if (!coalesce_timer_.IsRunning()) {
- coalesce_timer_.Start(
+ coalesce_timer_.Start(FROM_HERE,
TimeDelta::FromMilliseconds(kCommitIntervalMs), this,
&VisitedLinkEventListener::CommitVisitedLinks);
}
diff --git a/chrome/common/important_file_writer.cc b/chrome/common/important_file_writer.cc
index 73381d1..b7583d6 100644
--- a/chrome/common/important_file_writer.cc
+++ b/chrome/common/important_file_writer.cc
@@ -146,7 +146,7 @@ void ImportantFileWriter::ScheduleWrite(DataSerializer* serializer) {
}
if (!timer_.IsRunning()) {
- timer_.Start(commit_interval_, this,
+ timer_.Start(FROM_HERE, commit_interval_, this,
&ImportantFileWriter::DoScheduledWrite);
}
}
diff --git a/chrome/renderer/extensions/extension_dispatcher.cc b/chrome/renderer/extensions/extension_dispatcher.cc
index a21cabf..d2f06ef 100644
--- a/chrome/renderer/extensions/extension_dispatcher.cc
+++ b/chrome/renderer/extensions/extension_dispatcher.cc
@@ -79,7 +79,7 @@ void ExtensionDispatcher::WebKitInitialized() {
// For extensions, we want to ensure we call the IdleHandler every so often,
// even if the extension keeps up activity.
if (is_extension_process_) {
- forced_idle_timer_.Start(
+ forced_idle_timer_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(kMaxExtensionIdleHandlerDelayS),
RenderThread::current(), &RenderThread::IdleHandler);
}
@@ -118,7 +118,7 @@ void ExtensionDispatcher::IdleNotification() {
RenderThread::current()->idle_notification_delay_in_s()),
kMaxExtensionIdleHandlerDelayS);
forced_idle_timer_.Stop();
- forced_idle_timer_.Start(
+ forced_idle_timer_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(forced_delay_s),
RenderThread::current(), &RenderThread::IdleHandler);
}
diff --git a/content/browser/download/download_file_manager.cc b/content/browser/download/download_file_manager.cc
index f21c67b1..0df8a3f 100644
--- a/content/browser/download/download_file_manager.cc
+++ b/content/browser/download/download_file_manager.cc
@@ -88,7 +88,8 @@ DownloadFile* DownloadFileManager::GetDownloadFile(int id) {
void DownloadFileManager::StartUpdateTimer() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
if (!update_timer_.IsRunning()) {
- update_timer_.Start(base::TimeDelta::FromMilliseconds(kUpdatePeriodMs),
+ update_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kUpdatePeriodMs),
this, &DownloadFileManager::UpdateInProgressDownloads);
}
}
diff --git a/content/browser/download/download_item.cc b/content/browser/download/download_item.cc
index eefb8dd..fa6c436 100644
--- a/content/browser/download/download_item.cc
+++ b/content/browser/download/download_item.cc
@@ -325,7 +325,8 @@ void DownloadItem::StartProgressTimer() {
// TODO(rdsmith): Change to DCHECK after http://crbug.com/85408 resolved.
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- update_timer_.Start(base::TimeDelta::FromMilliseconds(kUpdateTimeMs), this,
+ update_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kUpdateTimeMs), this,
&DownloadItem::UpdateObservers);
}
diff --git a/content/browser/download/download_resource_handler.cc b/content/browser/download/download_resource_handler.cc
index 5846c63..003a34e 100644
--- a/content/browser/download/download_resource_handler.cc
+++ b/content/browser/download/download_resource_handler.cc
@@ -238,7 +238,8 @@ DownloadResourceHandler::~DownloadResourceHandler() {
void DownloadResourceHandler::StartPauseTimer() {
if (!pause_timer_.IsRunning())
- pause_timer_.Start(base::TimeDelta::FromMilliseconds(kThrottleTimeMs), this,
+ pause_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kThrottleTimeMs), this,
&DownloadResourceHandler::CheckWriteProgress);
}
diff --git a/content/browser/net/url_request_slow_http_job.cc b/content/browser/net/url_request_slow_http_job.cc
index 398298f..3f1a6b6 100644
--- a/content/browser/net/url_request_slow_http_job.cc
+++ b/content/browser/net/url_request_slow_http_job.cc
@@ -50,7 +50,7 @@ URLRequestSlowHTTPJob::URLRequestSlowHTTPJob(net::URLRequest* request,
: URLRequestMockHTTPJob(request, file_path) { }
void URLRequestSlowHTTPJob::Start() {
- delay_timer_.Start(TimeDelta::FromMilliseconds(kDelayMs), this,
+ delay_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(kDelayMs), this,
&URLRequestSlowHTTPJob::RealStart);
}
diff --git a/content/browser/renderer_host/browser_render_process_host.cc b/content/browser/renderer_host/browser_render_process_host.cc
index 51f7b5c..29b3e86 100644
--- a/content/browser/renderer_host/browser_render_process_host.cc
+++ b/content/browser/renderer_host/browser_render_process_host.cc
@@ -185,7 +185,7 @@ BrowserRenderProcessHost::BrowserRenderProcessHost(
visible_widgets_(0),
backgrounded_(true),
ALLOW_THIS_IN_INITIALIZER_LIST(cached_dibs_cleaner_(
- base::TimeDelta::FromSeconds(5),
+ FROM_HERE, base::TimeDelta::FromSeconds(5),
this, &BrowserRenderProcessHost::ClearTransportDIBCache)),
accessibility_enabled_(false),
is_initialized_(false) {
diff --git a/content/browser/renderer_host/render_widget_host.cc b/content/browser/renderer_host/render_widget_host.cc
index 2a506d0..e370fe4 100644
--- a/content/browser/renderer_host/render_widget_host.cc
+++ b/content/browser/renderer_host/render_widget_host.cc
@@ -482,7 +482,7 @@ void RenderWidgetHost::StartHangMonitorTimeout(TimeDelta delay) {
// fire sooner.
time_when_considered_hung_ = Time::Now() + delay;
hung_renderer_timer_.Stop();
- hung_renderer_timer_.Start(delay, this,
+ hung_renderer_timer_.Start(FROM_HERE, delay, this,
&RenderWidgetHost::CheckRendererIsUnresponsive);
}
diff --git a/content/browser/renderer_host/resource_dispatcher_host.cc b/content/browser/renderer_host/resource_dispatcher_host.cc
index cccc121..d845c8f 100644
--- a/content/browser/renderer_host/resource_dispatcher_host.cc
+++ b/content/browser/renderer_host/resource_dispatcher_host.cc
@@ -1575,7 +1575,7 @@ void ResourceDispatcherHost::InsertIntoResourceQueue(
// Make sure we have the load state monitor running
if (!update_load_states_timer_.IsRunning()) {
- update_load_states_timer_.Start(
+ update_load_states_timer_.Start(FROM_HERE,
TimeDelta::FromMilliseconds(kUpdateLoadStatesIntervalMsec),
this, &ResourceDispatcherHost::UpdateLoadStates);
}
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
index cc900cd..c5df75c 100644
--- a/content/renderer/render_process_impl.cc
+++ b/content/renderer/render_process_impl.cc
@@ -37,7 +37,7 @@
RenderProcessImpl::RenderProcessImpl()
: ALLOW_THIS_IN_INITIALIZER_LIST(shared_mem_cache_cleaner_(
- base::TimeDelta::FromSeconds(5),
+ FROM_HERE, base::TimeDelta::FromSeconds(5),
this, &RenderProcessImpl::ClearTransportDIBCache)),
transport_dib_next_sequence_number_(0) {
in_process_plugins_ = InProcessPlugins();
diff --git a/content/renderer/render_thread.cc b/content/renderer/render_thread.cc
index bda81425..dcd0846 100644
--- a/content/renderer/render_thread.cc
+++ b/content/renderer/render_thread.cc
@@ -688,7 +688,7 @@ void RenderThread::IdleHandler() {
void RenderThread::ScheduleIdleHandler(double initial_delay_s) {
idle_notification_delay_in_s_ = initial_delay_s;
idle_timer_.Stop();
- idle_timer_.Start(
+ idle_timer_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(static_cast<int64>(initial_delay_s)),
this, &RenderThread::IdleHandler);
}
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc
index 9ea7d42..4e04a09 100644
--- a/content/renderer/render_view.cc
+++ b/content/renderer/render_view.cc
@@ -1788,8 +1788,8 @@ void RenderView::StartNavStateSyncTimerIfNecessary() {
nav_state_sync_timer_.Stop();
}
- nav_state_sync_timer_.Start(
- TimeDelta::FromSeconds(delay), this, &RenderView::SyncNavigationState);
+ nav_state_sync_timer_.Start(FROM_HERE, TimeDelta::FromSeconds(delay), this,
+ &RenderView::SyncNavigationState);
}
void RenderView::setMouseOverURL(const WebURL& url) {
@@ -2842,7 +2842,8 @@ void RenderView::didUpdateLayout(WebFrame* frame) {
if (check_preferred_size_timer_.IsRunning())
return;
- check_preferred_size_timer_.Start(TimeDelta::FromMilliseconds(0), this,
+ check_preferred_size_timer_.Start(FROM_HERE,
+ TimeDelta::FromMilliseconds(0), this,
&RenderView::CheckPreferredSize);
}
diff --git a/jingle/glue/pseudotcp_adapter.cc b/jingle/glue/pseudotcp_adapter.cc
index a34ddd5..e2b3130 100644
--- a/jingle/glue/pseudotcp_adapter.cc
+++ b/jingle/glue/pseudotcp_adapter.cc
@@ -369,7 +369,8 @@ void PseudoTcpAdapter::Core::AdjustClock() {
long timeout = 0;
if (pseudo_tcp_.GetNextClock(PseudoTcp::Now(), timeout)) {
timer_.Stop();
- timer_.Start(base::TimeDelta::FromMilliseconds(std::max(timeout, 0L)), this,
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(std::max(timeout, 0L)), this,
&PseudoTcpAdapter::Core::HandleTcpClock);
}
}
diff --git a/jingle/notifier/communicator/login.cc b/jingle/notifier/communicator/login.cc
index 42fa0fc..70d3700 100644
--- a/jingle/notifier/communicator/login.cc
+++ b/jingle/notifier/communicator/login.cc
@@ -117,7 +117,7 @@ void Login::TryReconnect() {
VLOG(1) << "Reconnecting in "
<< reconnect_interval_.InSeconds() << " seconds";
reconnect_timer_.Start(
- reconnect_interval_, this, &Login::DoReconnect);
+ FROM_HERE, reconnect_interval_, this, &Login::DoReconnect);
delegate_->OnDisconnect();
}
diff --git a/media/audio/audio_input_controller.cc b/media/audio/audio_input_controller.cc
index da957e6..cedbb24 100644
--- a/media/audio/audio_input_controller.cc
+++ b/media/audio/audio_input_controller.cc
@@ -21,7 +21,7 @@ AudioInputController::AudioInputController(EventHandler* handler,
SyncWriter* sync_writer)
: handler_(handler),
stream_(NULL),
- ALLOW_THIS_IN_INITIALIZER_LIST(no_data_timer_(
+ ALLOW_THIS_IN_INITIALIZER_LIST(no_data_timer_(FROM_HERE,
base::TimeDelta::FromSeconds(kTimerResetInterval),
this,
&AudioInputController::DoReportNoDataError)),
diff --git a/media/audio/audio_output_dispatcher.cc b/media/audio/audio_output_dispatcher.cc
index c707069..ac08bcb 100644
--- a/media/audio/audio_output_dispatcher.cc
+++ b/media/audio/audio_output_dispatcher.cc
@@ -18,7 +18,7 @@ AudioOutputDispatcher::AudioOutputDispatcher(
pause_delay_milliseconds_(2 * params.samples_per_packet *
base::Time::kMillisecondsPerSecond / params.sample_rate),
paused_proxies_(0),
- ALLOW_THIS_IN_INITIALIZER_LIST(close_timer_(
+ ALLOW_THIS_IN_INITIALIZER_LIST(close_timer_(FROM_HERE,
base::TimeDelta::FromMilliseconds(close_delay_ms),
this, &AudioOutputDispatcher::ClosePendingStreams)) {
}
diff --git a/media/filters/adaptive_demuxer.cc b/media/filters/adaptive_demuxer.cc
index f08e32d..5902900 100644
--- a/media/filters/adaptive_demuxer.cc
+++ b/media/filters/adaptive_demuxer.cc
@@ -98,7 +98,8 @@ void StreamSwitchManager::Play() {
playing_ = true;
if (video_ids_.size() > 1) {
- timer_.Start(base::TimeDelta::FromMilliseconds(kSwitchTimerPeriod),
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kSwitchTimerPeriod),
this, &StreamSwitchManager::OnSwitchTimer);
}
}
diff --git a/net/base/network_change_notifier_win.cc b/net/base/network_change_notifier_win.cc
index 0d1f23c..91d6ffb 100644
--- a/net/base/network_change_notifier_win.cc
+++ b/net/base/network_change_notifier_win.cc
@@ -153,7 +153,7 @@ void NetworkChangeNotifierWin::OnObjectSignaled(HANDLE object) {
// The one second delay chosen here was determined experimentally
// by adamk on Windows 7.
timer_.Stop(); // cancel any already waiting notification
- timer_.Start(base::TimeDelta::FromSeconds(1), this,
+ timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(1), this,
&NetworkChangeNotifierWin::NotifyParentOfOnlineStateChange);
// Start watching for the next address change.
diff --git a/net/curvecp/messenger.cc b/net/curvecp/messenger.cc
index 703bc2e..ad6ed31 100644
--- a/net/curvecp/messenger.cc
+++ b/net/curvecp/messenger.cc
@@ -94,7 +94,8 @@ int Messenger::Write(IOBuffer* buf, int buf_len, CompletionCallback* callback) {
int len = send_buffer_.write(buf->data(), buf_len);
if (!send_timer_.IsRunning())
- send_timer_.Start(base::TimeDelta(), this, &Messenger::OnSendTimer);
+ send_timer_.Start(FROM_HERE, base::TimeDelta(),
+ this, &Messenger::OnSendTimer);
if (len)
return len;
@@ -183,7 +184,7 @@ void Messenger::OnSendMessageComplete(int result) {
LOG(ERROR) << "RttTimeout is " << rtt_.rtt_timeout();
base::TimeDelta delay =
base::TimeDelta::FromMicroseconds(rtt_.rtt_timeout());
- send_timeout_timer_.Start(delay, this, &Messenger::OnTimeout);
+ send_timeout_timer_.Start(FROM_HERE, delay, this, &Messenger::OnTimeout);
}
}
@@ -214,9 +215,9 @@ void Messenger::OnSendTimer() {
// Set the next send timer.
LOG(ERROR) << "SendRate is: " << rtt_.send_rate() << "us";
- send_timer_.Start(base::TimeDelta::FromMicroseconds(rtt_.send_rate()),
- this,
- &Messenger::OnSendTimer);
+ send_timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMicroseconds(rtt_.send_rate()),
+ this, &Messenger::OnSendTimer);
// Create a block from the send_buffer.
if (!sent_list_.is_full()) {
diff --git a/net/disk_cache/backend_impl.cc b/net/disk_cache/backend_impl.cc
index ed69dcd..3b2a4ca 100644
--- a/net/disk_cache/backend_impl.cc
+++ b/net/disk_cache/backend_impl.cc
@@ -472,7 +472,7 @@ int BackendImpl::SyncInit() {
trace_object_ = TraceObject::GetTraceObject();
// Create a recurrent timer of 30 secs.
int timer_delay = unit_test_ ? 1000 : 30000;
- timer_.Start(TimeDelta::FromMilliseconds(timer_delay), this,
+ timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(timer_delay), this,
&BackendImpl::OnStatsTimer);
}
diff --git a/net/disk_cache/disk_cache_test_util.cc b/net/disk_cache/disk_cache_test_util.cc
index 054a41e..b68e3eb 100644
--- a/net/disk_cache/disk_cache_test_util.cc
+++ b/net/disk_cache/disk_cache_test_util.cc
@@ -141,7 +141,7 @@ bool MessageLoopHelper::WaitUntilCacheIoFinished(int num_callbacks) {
ExpectCallbacks(num_callbacks);
// Create a recurrent timer of 50 mS.
if (!timer_.IsRunning())
- timer_.Start(TimeDelta::FromMilliseconds(50), this,
+ timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(50), this,
&MessageLoopHelper::TimerExpired);
MessageLoop::current()->Run();
return completed_;
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
index 6e287c8..30fd7bf 100644
--- a/net/dns/dns_transaction.cc
+++ b/net/dns/dns_transaction.cc
@@ -306,7 +306,7 @@ int DnsTransaction::DoReadResponseComplete(int rv) {
}
void DnsTransaction::StartTimer(base::TimeDelta delay) {
- timer_.Start(delay, this, &DnsTransaction::OnTimeout);
+ timer_.Start(FROM_HERE, delay, this, &DnsTransaction::OnTimeout);
}
void DnsTransaction::RevokeTimer() {
diff --git a/net/http/http_response_body_drainer.cc b/net/http/http_response_body_drainer.cc
index cf32aaa..aefb180 100644
--- a/net/http/http_response_body_drainer.cc
+++ b/net/http/http_response_body_drainer.cc
@@ -30,7 +30,8 @@ void HttpResponseBodyDrainer::Start(HttpNetworkSession* session) {
int rv = DoLoop(OK);
if (rv == ERR_IO_PENDING) {
- timer_.Start(base::TimeDelta::FromSeconds(kTimeoutInSeconds),
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromSeconds(kTimeoutInSeconds),
this,
&HttpResponseBodyDrainer::OnTimerFired);
session_ = session;
diff --git a/net/proxy/dhcp_proxy_script_adapter_fetcher_win.cc b/net/proxy/dhcp_proxy_script_adapter_fetcher_win.cc
index 6b7283d..aaefc27 100644
--- a/net/proxy/dhcp_proxy_script_adapter_fetcher_win.cc
+++ b/net/proxy/dhcp_proxy_script_adapter_fetcher_win.cc
@@ -58,7 +58,7 @@ void DhcpProxyScriptAdapterFetcher::Fetch(
state_ = STATE_WAIT_DHCP;
callback_ = callback;
- wait_timer_.Start(ImplGetTimeout(),
+ wait_timer_.Start(FROM_HERE, ImplGetTimeout(),
this, &DhcpProxyScriptAdapterFetcher::OnTimeout);
worker_thread_ = ImplCreateWorkerThread(AsWeakPtr());
worker_thread_->Start(adapter_name);
diff --git a/net/proxy/dhcp_proxy_script_adapter_fetcher_win_unittest.cc b/net/proxy/dhcp_proxy_script_adapter_fetcher_win_unittest.cc
index 47852a9..b8ed53c 100644
--- a/net/proxy/dhcp_proxy_script_adapter_fetcher_win_unittest.cc
+++ b/net/proxy/dhcp_proxy_script_adapter_fetcher_win_unittest.cc
@@ -53,7 +53,7 @@ class MockDhcpProxyScriptAdapterFetcher
// the caller.
fetcher_ = new MockProxyScriptFetcher();
if (fetcher_delay_ms_ != -1) {
- fetcher_timer_.Start(
+ fetcher_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(fetcher_delay_ms_),
this, &MockDhcpProxyScriptAdapterFetcher::OnFetcherTimer);
}
diff --git a/net/proxy/dhcp_proxy_script_fetcher_win.cc b/net/proxy/dhcp_proxy_script_fetcher_win.cc
index 5453284..000c918 100644
--- a/net/proxy/dhcp_proxy_script_fetcher_win.cc
+++ b/net/proxy/dhcp_proxy_script_fetcher_win.cc
@@ -169,7 +169,7 @@ void DhcpProxyScriptFetcherWin::OnFetcherDone(int result) {
// for the rest of the results.
if (state_ == STATE_NO_RESULTS) {
state_ = STATE_SOME_RESULTS;
- wait_timer_.Start(
+ wait_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(ImplGetMaxWaitMs()),
this, &DhcpProxyScriptFetcherWin::OnWaitTimer);
}
diff --git a/net/proxy/dhcp_proxy_script_fetcher_win_unittest.cc b/net/proxy/dhcp_proxy_script_fetcher_win_unittest.cc
index fe103b7..9ecd923 100644
--- a/net/proxy/dhcp_proxy_script_fetcher_win_unittest.cc
+++ b/net/proxy/dhcp_proxy_script_fetcher_win_unittest.cc
@@ -53,7 +53,7 @@ class RealFetchTester {
completion_callback_(this, &RealFetchTester::OnCompletion)),
on_completion_is_error_(false) {
// Make sure the test ends.
- timeout_.Start(
+ timeout_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(5), this, &RealFetchTester::OnTimeout);
}
@@ -72,7 +72,7 @@ class RealFetchTester {
// Put the cancellation into the queue before even running the
// test to avoid the chance of one of the adapter fetcher worker
// threads completing before cancellation. See http://crbug.com/86756.
- cancel_timer_.Start(base::TimeDelta::FromMilliseconds(0),
+ cancel_timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(0),
this, &RealFetchTester::OnCancelTimer);
RunTest();
}
@@ -225,7 +225,7 @@ class DummyDhcpProxyScriptAdapterFetcher
void Fetch(const std::string& adapter_name,
CompletionCallback* callback) OVERRIDE {
client_callback_ = callback;
- timer_.Start(base::TimeDelta::FromMilliseconds(fetch_delay_ms_),
+ timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(fetch_delay_ms_),
this, &DummyDhcpProxyScriptAdapterFetcher::OnTimer);
}
diff --git a/net/proxy/init_proxy_resolver.cc b/net/proxy/init_proxy_resolver.cc
index d2983b6..26d2e62 100644
--- a/net/proxy/init_proxy_resolver.cc
+++ b/net/proxy/init_proxy_resolver.cc
@@ -165,7 +165,8 @@ int InitProxyResolver::DoWait() {
return OK;
// Otherwise wait the specified amount of time.
- wait_timer_.Start(wait_delay_, this, &InitProxyResolver::OnWaitTimerFired);
+ wait_timer_.Start(FROM_HERE, wait_delay_, this,
+ &InitProxyResolver::OnWaitTimerFired);
net_log_.BeginEvent(NetLog::TYPE_INIT_PROXY_RESOLVER_WAIT, NULL);
return ERR_IO_PENDING;
}
diff --git a/net/proxy/proxy_config_service_linux.cc b/net/proxy/proxy_config_service_linux.cc
index 2e19589..1f601bd 100644
--- a/net/proxy/proxy_config_service_linux.cc
+++ b/net/proxy/proxy_config_service_linux.cc
@@ -453,7 +453,7 @@ class SettingGetterImplGConf : public ProxyConfigServiceLinux::SettingGetter {
// We don't use Reset() because the timer may not yet be running.
// (In that case Stop() is a no-op.)
debounce_timer_.Stop();
- debounce_timer_.Start(
+ debounce_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kDebounceTimeoutMilliseconds),
this, &SettingGetterImplGConf::OnDebouncedNotification);
}
@@ -781,7 +781,7 @@ GSettings* (*g_settings_new)(const gchar* schema);
// We don't use Reset() because the timer may not yet be running.
// (In that case Stop() is a no-op.)
debounce_timer_.Stop();
- debounce_timer_.Start(
+ debounce_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kDebounceTimeoutMilliseconds),
this, &SettingGetterImplGSettings::OnDebouncedNotification);
}
@@ -1341,7 +1341,7 @@ class SettingGetterImplKDE : public ProxyConfigServiceLinux::SettingGetter,
// We don't use Reset() because the timer may not yet be running.
// (In that case Stop() is a no-op.)
debounce_timer_.Stop();
- debounce_timer_.Start(base::TimeDelta::FromMilliseconds(
+ debounce_timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(
kDebounceTimeoutMilliseconds), this,
&SettingGetterImplKDE::OnDebouncedNotification);
}
diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc
index 24966c0..75fd528 100644
--- a/net/socket/client_socket_pool_base.cc
+++ b/net/socket/client_socket_pool_base.cc
@@ -90,7 +90,7 @@ void ConnectJob::Initialize(bool is_preconnect) {
int ConnectJob::Connect() {
if (timeout_duration_ != base::TimeDelta())
- timer_.Start(timeout_duration_, this, &ConnectJob::OnTimeout);
+ timer_.Start(FROM_HERE, timeout_duration_, this, &ConnectJob::OnTimeout);
idle_ = false;
@@ -131,7 +131,7 @@ void ConnectJob::NotifyDelegateOfCompletion(int rv) {
void ConnectJob::ResetTimer(base::TimeDelta remaining_time) {
timer_.Stop();
- timer_.Start(remaining_time, this, &ConnectJob::OnTimeout);
+ timer_.Start(FROM_HERE, remaining_time, this, &ConnectJob::OnTimeout);
}
void ConnectJob::LogConnectStart() {
@@ -697,7 +697,7 @@ void ClientSocketPoolBaseHelper::EnableConnectBackupJobs() {
void ClientSocketPoolBaseHelper::IncrementIdleCount() {
if (++idle_socket_count_ == 1)
- timer_.Start(TimeDelta::FromSeconds(kCleanupInterval), this,
+ timer_.Start(FROM_HERE, TimeDelta::FromSeconds(kCleanupInterval), this,
&ClientSocketPoolBaseHelper::OnCleanupTimerFired);
}
diff --git a/net/socket/ssl_client_socket_nss.cc b/net/socket/ssl_client_socket_nss.cc
index 617ddc3..11ee568 100644
--- a/net/socket/ssl_client_socket_nss.cc
+++ b/net/socket/ssl_client_socket_nss.cc
@@ -2053,7 +2053,7 @@ SECStatus SSLClientSocketNSS::OwnAuthCertHandler(void* arg,
if (false_start && !that->handshake_callback_called_) {
that->corked_ = true;
- that->uncork_timer_.Start(
+ that->uncork_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kCorkTimeoutMs),
that, &SSLClientSocketNSS::UncorkAfterTimeout);
}
diff --git a/net/socket/transport_client_socket_pool.cc b/net/socket/transport_client_socket_pool.cc
index aa0932f..8cb9570 100644
--- a/net/socket/transport_client_socket_pool.cc
+++ b/net/socket/transport_client_socket_pool.cc
@@ -223,7 +223,7 @@ int TransportConnectJob::DoTransportConnect() {
int rv = transport_socket_->Connect(&callback_);
if (rv == ERR_IO_PENDING &&
AddressListStartsWithIPv6AndHasAnIPv4Addr(addresses_)) {
- fallback_timer_.Start(
+ fallback_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kIPv6FallbackTimerInMs),
this, &TransportConnectJob::DoIPv6FallbackTransportConnect);
}
diff --git a/remoting/host/heartbeat_sender.cc b/remoting/host/heartbeat_sender.cc
index 589eb31..182c06e 100644
--- a/remoting/host/heartbeat_sender.cc
+++ b/remoting/host/heartbeat_sender.cc
@@ -77,7 +77,7 @@ void HeartbeatSender::OnSignallingConnected(SignalStrategy* signal_strategy,
base::Unretained(this)));
DoSendStanza();
- timer_.Start(base::TimeDelta::FromMilliseconds(interval_ms_), this,
+ timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(interval_ms_), this,
&HeartbeatSender::DoSendStanza);
}
@@ -143,8 +143,8 @@ void HeartbeatSender::SetInterval(int interval) {
// Restart the timer with the new interval.
if (state_ == STARTED) {
timer_.Stop();
- timer_.Start(base::TimeDelta::FromMilliseconds(interval_ms_), this,
- &HeartbeatSender::DoSendStanza);
+ timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(interval_ms_),
+ this, &HeartbeatSender::DoSendStanza);
}
}
}
diff --git a/remoting/host/screen_recorder.cc b/remoting/host/screen_recorder.cc
index d3f0e49..e0cf90a 100644
--- a/remoting/host/screen_recorder.cc
+++ b/remoting/host/screen_recorder.cc
@@ -181,7 +181,7 @@ void ScreenRecorder::StartCaptureTimer() {
base::TimeDelta interval = base::TimeDelta::FromMilliseconds(
static_cast<int>(base::Time::kMillisecondsPerSecond / max_rate_));
- capture_timer_.Start(interval, this, &ScreenRecorder::DoCapture);
+ capture_timer_.Start(FROM_HERE, interval, this, &ScreenRecorder::DoCapture);
}
void ScreenRecorder::DoCapture() {
diff --git a/ui/base/animation/animation_container.cc b/ui/base/animation/animation_container.cc
index 1e316cd..c82d26b 100644
--- a/ui/base/animation/animation_container.cc
+++ b/ui/base/animation/animation_container.cc
@@ -85,7 +85,7 @@ void AnimationContainer::SetMinTimerInterval(base::TimeDelta delta) {
// that shouldn't be a problem for uses of Animation/AnimationContainer.
timer_.Stop();
min_timer_interval_ = delta;
- timer_.Start(min_timer_interval_, this, &AnimationContainer::Run);
+ timer_.Start(FROM_HERE, min_timer_interval_, this, &AnimationContainer::Run);
}
TimeDelta AnimationContainer::GetMinInterval() {
diff --git a/views/controls/menu/menu_controller.cc b/views/controls/menu/menu_controller.cc
index 1858993..acad114 100644
--- a/views/controls/menu/menu_controller.cc
+++ b/views/controls/menu/menu_controller.cc
@@ -168,8 +168,9 @@ class MenuController::MenuScrollTask {
is_scrolling_up_ = new_is_up;
if (!scrolling_timer_.IsRunning()) {
- scrolling_timer_.Start(TimeDelta::FromMilliseconds(kScrollTimerMS), this,
- &MenuScrollTask::Run);
+ scrolling_timer_.Start(FROM_HERE,
+ TimeDelta::FromMilliseconds(kScrollTimerMS),
+ this, &MenuScrollTask::Run);
}
}
@@ -1437,7 +1438,7 @@ void MenuController::BuildMenuItemPath(MenuItemView* item,
}
void MenuController::StartShowTimer() {
- show_timer_.Start(TimeDelta::FromMilliseconds(kShowDelay), this,
+ show_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(kShowDelay), this,
&MenuController::CommitPendingSelection);
}
@@ -1446,7 +1447,8 @@ void MenuController::StopShowTimer() {
}
void MenuController::StartCancelAllTimer() {
- cancel_all_timer_.Start(TimeDelta::FromMilliseconds(kCloseOnExitTime),
+ cancel_all_timer_.Start(FROM_HERE,
+ TimeDelta::FromMilliseconds(kCloseOnExitTime),
this, &MenuController::CancelAll);
}
diff --git a/views/controls/throbber.cc b/views/controls/throbber.cc
index 34f20a8..741b0a6 100644
--- a/views/controls/throbber.cc
+++ b/views/controls/throbber.cc
@@ -34,7 +34,7 @@ void Throbber::Start() {
start_time_ = Time::Now();
- timer_.Start(frame_time_ - TimeDelta::FromMilliseconds(10),
+ timer_.Start(FROM_HERE, frame_time_ - TimeDelta::FromMilliseconds(10),
this, &Throbber::Run);
running_ = true;
@@ -110,8 +110,8 @@ void SmoothedThrobber::Start() {
stop_timer_.Stop();
if (!running_ && !start_timer_.IsRunning()) {
- start_timer_.Start(TimeDelta::FromMilliseconds(start_delay_ms_), this,
- &SmoothedThrobber::StartDelayOver);
+ start_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(start_delay_ms_),
+ this, &SmoothedThrobber::StartDelayOver);
}
}
@@ -124,8 +124,8 @@ void SmoothedThrobber::Stop() {
start_timer_.Stop();
stop_timer_.Stop();
- stop_timer_.Start(TimeDelta::FromMilliseconds(stop_delay_ms_), this,
- &SmoothedThrobber::StopDelayOver);
+ stop_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(stop_delay_ms_),
+ this, &SmoothedThrobber::StopDelayOver);
}
void SmoothedThrobber::StopDelayOver() {
diff --git a/views/repeat_controller.cc b/views/repeat_controller.cc
index bb70852..37e0892 100644
--- a/views/repeat_controller.cc
+++ b/views/repeat_controller.cc
@@ -25,8 +25,8 @@ RepeatController::~RepeatController() {
void RepeatController::Start() {
// The first timer is slightly longer than subsequent repeats.
- timer_.Start(TimeDelta::FromMilliseconds(kInitialRepeatDelay), this,
- &RepeatController::Run);
+ timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(kInitialRepeatDelay),
+ this, &RepeatController::Run);
}
void RepeatController::Stop() {
@@ -37,7 +37,7 @@ void RepeatController::Stop() {
// RepeatController, private:
void RepeatController::Run() {
- timer_.Start(TimeDelta::FromMilliseconds(kRepeatDelay), this,
+ timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(kRepeatDelay), this,
&RepeatController::Run);
callback_->Run();
}
diff --git a/views/touchui/touch_factory.cc b/views/touchui/touch_factory.cc
index 6580228..81dd41d 100644
--- a/views/touchui/touch_factory.cc
+++ b/views/touchui/touch_factory.cc
@@ -351,7 +351,8 @@ void TouchFactory::SetCursorVisible(bool show, bool start_timer) {
// The cursor is going to be shown. Reset the timer for hiding it.
if (show && start_timer) {
cursor_timer_.Stop();
- cursor_timer_.Start(base::TimeDelta::FromSeconds(kCursorIdleSeconds),
+ cursor_timer_.Start(
+ FROM_HERE, base::TimeDelta::FromSeconds(kCursorIdleSeconds),
this, &TouchFactory::HideCursorForInactivity);
} else {
cursor_timer_.Stop();
diff --git a/webkit/fileapi/obfuscated_file_system_file_util.cc b/webkit/fileapi/obfuscated_file_system_file_util.cc
index 11fae60..53c01f6 100644
--- a/webkit/fileapi/obfuscated_file_system_file_util.cc
+++ b/webkit/fileapi/obfuscated_file_system_file_util.cc
@@ -1192,8 +1192,8 @@ void ObfuscatedFileSystemFileUtil::MarkUsed() {
if (timer_.IsRunning())
timer_.Reset();
else
- timer_.Start(base::TimeDelta::FromSeconds(kFlushDelaySeconds), this,
- &ObfuscatedFileSystemFileUtil::DropDatabases);
+ timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(kFlushDelaySeconds),
+ this, &ObfuscatedFileSystemFileUtil::DropDatabases);
}
void ObfuscatedFileSystemFileUtil::DropDatabases() {
diff --git a/webkit/glue/resource_fetcher.cc b/webkit/glue/resource_fetcher.cc
index 28885b4..2a36503 100644
--- a/webkit/glue/resource_fetcher.cc
+++ b/webkit/glue/resource_fetcher.cc
@@ -127,7 +127,7 @@ ResourceFetcherWithTimeout::ResourceFetcherWithTimeout(
const GURL& url, WebFrame* frame, WebURLRequest::TargetType target_type,
int timeout_secs, Callback* callback)
: ResourceFetcher(url, frame, target_type, callback) {
- timeout_timer_.Start(TimeDelta::FromSeconds(timeout_secs), this,
+ timeout_timer_.Start(FROM_HERE, TimeDelta::FromSeconds(timeout_secs), this,
&ResourceFetcherWithTimeout::TimeoutFired);
}
diff --git a/webkit/glue/resource_fetcher_unittest.cc b/webkit/glue/resource_fetcher_unittest.cc
index 9ef0fc6..be878f3 100644
--- a/webkit/glue/resource_fetcher_unittest.cc
+++ b/webkit/glue/resource_fetcher_unittest.cc
@@ -70,7 +70,8 @@ class FetcherDelegate {
}
void StartTimer() {
- timer_.Start(base::TimeDelta::FromMilliseconds(kMaxWaitTimeMs),
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(kMaxWaitTimeMs),
this,
&FetcherDelegate::TimerFired);
}
diff --git a/webkit/glue/webkitclient_impl.cc b/webkit/glue/webkitclient_impl.cc
index 792a700a..48e8e6b 100644
--- a/webkit/glue/webkitclient_impl.cc
+++ b/webkit/glue/webkitclient_impl.cc
@@ -527,8 +527,8 @@ void WebKitClientImpl::setSharedTimerFireInterval(double interval_seconds) {
interval = 0;
shared_timer_.Stop();
- shared_timer_.Start(base::TimeDelta::FromMicroseconds(interval), this,
- &WebKitClientImpl::DoTimeout);
+ shared_timer_.Start(FROM_HERE, base::TimeDelta::FromMicroseconds(interval),
+ this, &WebKitClientImpl::DoTimeout);
}
void WebKitClientImpl::stopSharedTimer() {
diff --git a/webkit/plugins/npapi/webplugin_delegate_impl_mac.mm b/webkit/plugins/npapi/webplugin_delegate_impl_mac.mm
index bdd6eac..5de0b59 100644
--- a/webkit/plugins/npapi/webplugin_delegate_impl_mac.mm
+++ b/webkit/plugins/npapi/webplugin_delegate_impl_mac.mm
@@ -122,7 +122,8 @@ class CarbonIdleEventSource {
// Adds |delegate| to this visibility group.
void RegisterDelegate(WebPluginDelegateImpl* delegate) {
if (delegates_.empty()) {
- timer_.Start(base::TimeDelta::FromMilliseconds(timer_period_),
+ timer_.Start(FROM_HERE,
+ base::TimeDelta::FromMilliseconds(timer_period_),
this, &VisibilityGroup::SendIdleEvents);
}
delegates_.insert(delegate);
@@ -1023,7 +1024,7 @@ void WebPluginDelegateImpl::PluginVisibilityChanged() {
if (instance()->drawing_model() == NPDrawingModelCoreAnimation) {
bool plugin_visible = container_is_visible_ && !clip_rect_.IsEmpty();
if (plugin_visible && !redraw_timer_->IsRunning() && windowed_handle()) {
- redraw_timer_->Start(
+ redraw_timer_->Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kCoreAnimationRedrawPeriodMs),
this, &WebPluginDelegateImpl::DrawLayerInSurface);
} else if (!plugin_visible) {
diff --git a/webkit/quota/quota_database.cc b/webkit/quota/quota_database.cc
index c9f2056..d34451e 100644
--- a/webkit/quota/quota_database.cc
+++ b/webkit/quota/quota_database.cc
@@ -430,8 +430,8 @@ void QuotaDatabase::Commit() {
void QuotaDatabase::ScheduleCommit() {
if (timer_.IsRunning())
return;
- timer_.Start(base::TimeDelta::FromMilliseconds(kCommitIntervalMs), this,
- &QuotaDatabase::Commit);
+ timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(kCommitIntervalMs),
+ this, &QuotaDatabase::Commit);
}
bool QuotaDatabase::FindOriginUsedCount(
diff --git a/webkit/quota/quota_manager.cc b/webkit/quota/quota_manager.cc
index b5d9196..60d7c32 100644
--- a/webkit/quota/quota_manager.cc
+++ b/webkit/quota/quota_manager.cc
@@ -507,7 +507,8 @@ class QuotaManager::InitializeTask : public QuotaManager::DatabaseTaskBase {
virtual void DatabaseTaskCompleted() OVERRIDE {
manager()->need_initialize_origins_ = need_initialize_origins_;
manager()->DidInitializeTemporaryGlobalQuota(temporary_storage_quota_);
- manager()->histogram_timer_.Start(QuotaManager::kReportHistogramInterval,
+ manager()->histogram_timer_.Start(FROM_HERE,
+ QuotaManager::kReportHistogramInterval,
manager(),
&QuotaManager::ReportHistogram);
}
diff --git a/webkit/quota/quota_temporary_storage_evictor.cc b/webkit/quota/quota_temporary_storage_evictor.cc
index 8990331..49229c3 100644
--- a/webkit/quota/quota_temporary_storage_evictor.cc
+++ b/webkit/quota/quota_temporary_storage_evictor.cc
@@ -128,15 +128,15 @@ void QuotaTemporaryStorageEvictor::Start() {
if (histogram_timer_.IsRunning())
return;
- histogram_timer_.Start(kHistogramReportInterval, this,
+ histogram_timer_.Start(FROM_HERE, kHistogramReportInterval, this,
&QuotaTemporaryStorageEvictor::ReportPerHourHistogram);
}
void QuotaTemporaryStorageEvictor::StartEvictionTimerWithDelay(int delay_ms) {
if (eviction_timer_.IsRunning())
return;
- eviction_timer_.Start(base::TimeDelta::FromMilliseconds(delay_ms), this,
- &QuotaTemporaryStorageEvictor::ConsiderEviction);
+ eviction_timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(delay_ms),
+ this, &QuotaTemporaryStorageEvictor::ConsiderEviction);
}
void QuotaTemporaryStorageEvictor::ConsiderEviction() {
diff --git a/webkit/tools/test_shell/layout_test_controller.cc b/webkit/tools/test_shell/layout_test_controller.cc
index 5a32064..4b3fda1 100644
--- a/webkit/tools/test_shell/layout_test_controller.cc
+++ b/webkit/tools/test_shell/layout_test_controller.cc
@@ -103,7 +103,7 @@ void LayoutTestController::WorkQueue::ProcessWorkSoon() {
if (!queue_.empty()) {
// We delay processing queued work to avoid recursion problems.
- timer_.Start(base::TimeDelta(), this, &WorkQueue::ProcessWork);
+ timer_.Start(FROM_HERE, base::TimeDelta(), this, &WorkQueue::ProcessWork);
} else if (!wait_until_done_) {
shell_->TestFinished();
}
diff --git a/webkit/tools/test_shell/simple_resource_loader_bridge.cc b/webkit/tools/test_shell/simple_resource_loader_bridge.cc
index babefc1..73f9160 100644
--- a/webkit/tools/test_shell/simple_resource_loader_bridge.cc
+++ b/webkit/tools/test_shell/simple_resource_loader_bridge.cc
@@ -321,7 +321,7 @@ class RequestProxy : public net::URLRequest::Delegate,
if (request_->has_upload() &&
params->load_flags & net::LOAD_ENABLE_UPLOAD_PROGRESS) {
- upload_progress_timer_.Start(
+ upload_progress_timer_.Start(FROM_HERE,
base::TimeDelta::FromMilliseconds(kUpdateUploadProgressIntervalMsec),
this, &RequestProxy::MaybeUpdateUploadProgress);
}