Index: content/browser/devtools/devtools_manager.cc |
diff --git a/content/browser/devtools/devtools_manager.cc b/content/browser/devtools/devtools_manager.cc |
index 3b24d5d70c0d526b2170934693241c9746a8712c..f405185a24d3c43c8165cf1a6a65a843d8330ee1 100644 |
--- a/content/browser/devtools/devtools_manager.cc |
+++ b/content/browser/devtools/devtools_manager.cc |
@@ -14,6 +14,12 @@ |
namespace content { |
+namespace { |
+ |
+int kObserverThrottleInterval = 500; // ms |
+ |
+} // namespace |
+ |
// static |
DevToolsManager* DevToolsManager::GetInstance() { |
return Singleton<DevToolsManager>::get(); |
@@ -91,10 +97,14 @@ void DevToolsManager::UpdateTargetListThrottled() { |
} |
update_target_list_scheduled_ = true; |
- base::MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- update_target_list_callback_.callback(), |
- observer_throttle_interval_); |
+ if (scheduler_.is_null()) { |
+ base::MessageLoop::current()->PostDelayedTask( |
+ FROM_HERE, |
+ update_target_list_callback_.callback(), |
+ base::TimeDelta::FromMilliseconds(kObserverThrottleInterval)); |
+ } else { |
+ scheduler_.Run(update_target_list_callback_.callback()); |
+ } |
update_target_list_required_ = false; |
if (!delegate_) { |
@@ -113,14 +123,8 @@ void DevToolsManager::NotifyTargetListChanged( |
STLDeleteContainerPointers(targets.begin(), targets.end()); |
} |
-// static |
-base::TimeDelta DevToolsManager::observer_throttle_interval_ = |
- base::TimeDelta::FromMilliseconds(500); |
- |
-// static |
-void DevToolsManager::SetObserverThrottleIntervalForTest( |
- base::TimeDelta interval) { |
- observer_throttle_interval_ = interval; |
+void DevToolsManager::SetSchedulerForTest(Scheduler scheduler) { |
+ scheduler_ = scheduler; |
} |
} // namespace content |