| 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
|
|
|