Chromium Code Reviews| Index: content/browser/tracing/background_tracing_manager_browsertest.cc |
| diff --git a/content/browser/tracing/background_tracing_manager_browsertest.cc b/content/browser/tracing/background_tracing_manager_browsertest.cc |
| index f2cfb53f73745a59b26e2d229cc6b5b5d0ed0d29..ff3db42a5e0256e46ff4c340903c04099b7948d4 100644 |
| --- a/content/browser/tracing/background_tracing_manager_browsertest.cc |
| +++ b/content/browser/tracing/background_tracing_manager_browsertest.cc |
| @@ -20,6 +20,51 @@ |
| #include "third_party/zlib/zlib.h" |
| namespace content { |
| +namespace { |
| + |
| +class TestBackgroundTracingObserver |
| + : public BackgroundTracingManagerImpl::EnabledStateObserver { |
| + public: |
| + explicit TestBackgroundTracingObserver( |
| + base::Closure tracing_enabled_callback); |
| + ~TestBackgroundTracingObserver(); |
|
oystein (OOO til 10th of July)
2017/03/28 20:11:18
override
ssid
2017/03/28 21:02:03
Done.
|
| + |
| + void OnScenarioActivated(const BackgroundTracingConfigImpl& config) override; |
| + void OnTracingEnabled( |
| + BackgroundTracingConfigImpl::CategoryPreset preset) override; |
| + |
| + private: |
| + bool was_scenario_activated_; |
| + base::Closure tracing_enabled_callback_; |
| +}; |
| + |
| +TestBackgroundTracingObserver::TestBackgroundTracingObserver( |
| + base::Closure tracing_enabled_callback) |
| + : was_scenario_activated_(false) { |
| + tracing_enabled_callback_ = tracing_enabled_callback; |
|
oystein (OOO til 10th of July)
2017/03/28 20:11:18
nit: put this in the initializer list
ssid
2017/03/28 21:02:03
Done.
|
| + static_cast<BackgroundTracingManagerImpl*>( |
| + BackgroundTracingManager::GetInstance()) |
|
oystein (OOO til 10th of July)
2017/03/28 20:11:18
You should be able to call BackgroundTracingManage
ssid
2017/03/28 21:02:03
Ah I did not see it is public. Did this because it
|
| + ->AddEnabledStateObserver(this); |
| +} |
| + |
| +TestBackgroundTracingObserver::~TestBackgroundTracingObserver() { |
| + static_cast<BackgroundTracingManagerImpl*>( |
| + BackgroundTracingManager::GetInstance()) |
| + ->RemoveEnabledStateObserver(this); |
| + EXPECT_TRUE(was_scenario_activated_); |
| +} |
| + |
| +void TestBackgroundTracingObserver::OnScenarioActivated( |
| + const BackgroundTracingConfigImpl& config) { |
| + was_scenario_activated_ = true; |
| +} |
| + |
| +void TestBackgroundTracingObserver::OnTracingEnabled( |
| + BackgroundTracingConfigImpl::CategoryPreset preset) { |
| + tracing_enabled_callback_.Run(); |
| +} |
| + |
| +} // namespace |
| class BackgroundTracingManagerBrowserTest : public ContentBrowserTest { |
| public: |
| @@ -279,8 +324,7 @@ IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
| "preemptive_test"); |
| base::RunLoop wait_for_activated; |
| - BackgroundTracingManager::GetInstance()->SetTracingEnabledCallbackForTesting( |
| - wait_for_activated.QuitClosure()); |
| + TestBackgroundTracingObserver observer(wait_for_activated.QuitClosure()); |
| EXPECT_TRUE(BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| std::move(config), upload_config_wrapper.get_receive_callback(), |
| BackgroundTracingManager::ANONYMIZE_DATA)); |
| @@ -330,8 +374,7 @@ IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
| "preemptive_test"); |
| base::RunLoop wait_for_activated; |
| - BackgroundTracingManager::GetInstance()->SetTracingEnabledCallbackForTesting( |
| - wait_for_activated.QuitClosure()); |
| + TestBackgroundTracingObserver observer(wait_for_activated.QuitClosure()); |
| EXPECT_TRUE(BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| std::move(config), upload_config_wrapper.get_receive_callback(), |
| BackgroundTracingManager::ANONYMIZE_DATA)); |
| @@ -376,8 +419,7 @@ IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
| "preemptive_test"); |
| base::RunLoop wait_for_activated; |
| - BackgroundTracingManager::GetInstance()->SetTracingEnabledCallbackForTesting( |
| - wait_for_activated.QuitClosure()); |
| + TestBackgroundTracingObserver observer(wait_for_activated.QuitClosure()); |
| EXPECT_TRUE(BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| std::move(config), upload_config_wrapper.get_receive_callback(), |
| BackgroundTracingManager::ANONYMIZE_DATA)); |
| @@ -1410,6 +1452,9 @@ IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
| BackgroundTracingManager::GetInstance()->RegisterTriggerType( |
| "reactive_test"); |
| + base::RunLoop wait_for_tracing_enabled; |
| + TestBackgroundTracingObserver observer( |
| + wait_for_tracing_enabled.QuitClosure()); |
| EXPECT_TRUE(BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| std::move(config), upload_config_wrapper.get_receive_callback(), |
| BackgroundTracingManager::NO_DATA_FILTERING)); |
| @@ -1417,12 +1462,6 @@ IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
| BackgroundTracingManager::GetInstance()->WhenIdle( |
| base::Bind(&DisableScenarioWhenIdle)); |
| - base::RunLoop wait_for_tracing_enabled; |
| - static_cast<BackgroundTracingManagerImpl*>( |
| - BackgroundTracingManager::GetInstance()) |
| - ->SetTracingEnabledCallbackForTesting( |
| - wait_for_tracing_enabled.QuitClosure()); |
| - |
| BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
| trigger_handle, |
| base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |