Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/trace_event/trace_event.h" | |
| 6 #include "content/public/browser/background_tracing_manager.h" | 7 #include "content/public/browser/background_tracing_manager.h" |
| 7 #include "content/public/browser/background_tracing_preemptive_config.h" | 8 #include "content/public/browser/background_tracing_preemptive_config.h" |
| 8 #include "content/public/browser/background_tracing_reactive_config.h" | 9 #include "content/public/browser/background_tracing_reactive_config.h" |
| 9 #include "content/public/test/content_browser_test.h" | 10 #include "content/public/test/content_browser_test.h" |
| 10 #include "content/public/test/content_browser_test_utils.h" | 11 #include "content/public/test/content_browser_test_utils.h" |
| 11 #include "content/public/test/test_utils.h" | 12 #include "content/public/test/test_utils.h" |
| 12 | 13 |
| 13 namespace content { | 14 namespace content { |
| 14 | 15 |
| 15 class BackgroundTracingManagerBrowserTest : public ContentBrowserTest { | 16 class BackgroundTracingManagerBrowserTest : public ContentBrowserTest { |
| 16 public: | 17 public: |
| 17 BackgroundTracingManagerBrowserTest() {} | 18 BackgroundTracingManagerBrowserTest() {} |
| 18 | 19 |
| 19 private: | 20 private: |
| 20 DISALLOW_COPY_AND_ASSIGN(BackgroundTracingManagerBrowserTest); | 21 DISALLOW_COPY_AND_ASSIGN(BackgroundTracingManagerBrowserTest); |
| 21 }; | 22 }; |
| 22 | 23 |
| 23 class BackgroundTracingManagerUploadConfigWrapper { | 24 class BackgroundTracingManagerUploadConfigWrapper { |
| 24 public: | 25 public: |
| 25 BackgroundTracingManagerUploadConfigWrapper(const base::Closure& callback) | 26 BackgroundTracingManagerUploadConfigWrapper(const base::Closure& callback) |
| 26 : callback_(callback), receive_count_(0) { | 27 : callback_(callback), receive_count_(0) { |
| 27 receive_callback_ = | 28 receive_callback_ = |
| 28 base::Bind(&BackgroundTracingManagerUploadConfigWrapper::Upload, | 29 base::Bind(&BackgroundTracingManagerUploadConfigWrapper::Upload, |
| 29 base::Unretained(this)); | 30 base::Unretained(this)); |
| 30 } | 31 } |
| 31 | 32 |
| 32 void Upload(const base::RefCountedString* file_contents, | 33 void Upload(const scoped_refptr<base::RefCountedString>& file_contents, |
| 33 base::Callback<void()> done_callback) { | 34 base::Callback<void()> done_callback) { |
| 34 receive_count_ += 1; | 35 receive_count_ += 1; |
| 36 EXPECT_TRUE(file_contents); | |
| 37 last_file_contents_ = file_contents; | |
| 35 | 38 |
| 36 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 39 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| 37 base::Bind(done_callback)); | 40 base::Bind(done_callback)); |
| 38 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 41 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| 39 base::Bind(callback_)); | 42 base::Bind(callback_)); |
| 40 } | 43 } |
| 41 | 44 |
| 45 bool TraceHasMatchingString(const char* str) { | |
| 46 const std::string& json = last_file_contents_->data(); | |
| 47 return json.find(str) != std::string::npos; | |
| 48 } | |
| 49 | |
| 42 int get_receive_count() const { return receive_count_; } | 50 int get_receive_count() const { return receive_count_; } |
| 43 | 51 |
| 44 const BackgroundTracingManager::ReceiveCallback& get_receive_callback() | 52 const BackgroundTracingManager::ReceiveCallback& get_receive_callback() |
| 45 const { | 53 const { |
| 46 return receive_callback_; | 54 return receive_callback_; |
| 47 } | 55 } |
| 48 | 56 |
| 49 private: | 57 private: |
| 50 BackgroundTracingManager::ReceiveCallback receive_callback_; | 58 BackgroundTracingManager::ReceiveCallback receive_callback_; |
| 51 base::Closure callback_; | 59 base::Closure callback_; |
| 52 int receive_count_; | 60 int receive_count_; |
| 61 scoped_refptr<base::RefCountedString> last_file_contents_; | |
| 53 }; | 62 }; |
| 54 | 63 |
| 55 void StartedFinalizingCallback(base::Closure callback, | 64 void StartedFinalizingCallback(base::Closure callback, |
| 56 bool expected, | 65 bool expected, |
| 57 bool value) { | 66 bool value) { |
| 58 EXPECT_EQ(expected, value); | 67 EXPECT_EQ(expected, value); |
| 59 if (!callback.is_null()) | 68 if (!callback.is_null()) |
| 60 callback.Run(); | 69 callback.Run(); |
| 61 } | 70 } |
| 62 | 71 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 74 return config.Pass(); | 83 return config.Pass(); |
| 75 } | 84 } |
| 76 | 85 |
| 77 void SetupBackgroundTracingManager() { | 86 void SetupBackgroundTracingManager() { |
| 78 content::BackgroundTracingManager::GetInstance() | 87 content::BackgroundTracingManager::GetInstance() |
| 79 ->InvalidateTriggerHandlesForTesting(); | 88 ->InvalidateTriggerHandlesForTesting(); |
| 80 } | 89 } |
| 81 | 90 |
| 82 void DisableScenarioWhenIdle() { | 91 void DisableScenarioWhenIdle() { |
| 83 BackgroundTracingManager::GetInstance()->SetActiveScenario( | 92 BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| 84 NULL, BackgroundTracingManager::ReceiveCallback(), false); | 93 NULL, BackgroundTracingManager::ReceiveCallback(), base::Closure(), |
| 94 false); | |
| 85 } | 95 } |
| 86 | 96 |
| 87 // This tests that the endpoint receives the final trace data. | 97 // This tests that the endpoint receives the final trace data. |
| 88 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 98 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
| 89 ReceiveTraceFinalContentsOnTrigger) { | 99 ReceiveTraceFinalContentsOnTrigger) { |
| 90 { | 100 { |
| 91 SetupBackgroundTracingManager(); | 101 SetupBackgroundTracingManager(); |
| 92 | 102 |
| 93 base::RunLoop run_loop; | 103 base::RunLoop run_loop; |
| 94 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 104 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
| 95 run_loop.QuitClosure()); | 105 run_loop.QuitClosure()); |
| 96 | 106 |
| 97 scoped_ptr<BackgroundTracingPreemptiveConfig> config = | 107 scoped_ptr<BackgroundTracingPreemptiveConfig> config = |
| 98 CreatePreemptiveConfig(); | 108 CreatePreemptiveConfig(); |
| 99 | 109 |
| 100 BackgroundTracingManager::TriggerHandle handle = | 110 BackgroundTracingManager::TriggerHandle handle = |
| 101 BackgroundTracingManager::GetInstance()->RegisterTriggerType("test"); | 111 BackgroundTracingManager::GetInstance()->RegisterTriggerType("test"); |
| 102 | 112 |
| 103 BackgroundTracingManager::GetInstance()->SetActiveScenario( | 113 BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| 104 config.Pass(), upload_config_wrapper.get_receive_callback(), true); | 114 config.Pass(), upload_config_wrapper.get_receive_callback(), |
| 115 base::Closure(), true); | |
| 105 | 116 |
| 106 BackgroundTracingManager::GetInstance()->WhenIdle( | 117 BackgroundTracingManager::GetInstance()->WhenIdle( |
| 107 base::Bind(&DisableScenarioWhenIdle)); | 118 base::Bind(&DisableScenarioWhenIdle)); |
| 108 | 119 |
| 109 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 120 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
| 110 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 121 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
| 111 | 122 |
| 112 run_loop.Run(); | 123 run_loop.Run(); |
| 113 | 124 |
| 114 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 125 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 126 run_loop.QuitClosure()); | 137 run_loop.QuitClosure()); |
| 127 | 138 |
| 128 scoped_ptr<BackgroundTracingPreemptiveConfig> config = | 139 scoped_ptr<BackgroundTracingPreemptiveConfig> config = |
| 129 CreatePreemptiveConfig(); | 140 CreatePreemptiveConfig(); |
| 130 | 141 |
| 131 content::BackgroundTracingManager::TriggerHandle handle = | 142 content::BackgroundTracingManager::TriggerHandle handle = |
| 132 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( | 143 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( |
| 133 "test"); | 144 "test"); |
| 134 | 145 |
| 135 BackgroundTracingManager::GetInstance()->SetActiveScenario( | 146 BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| 136 config.Pass(), upload_config_wrapper.get_receive_callback(), true); | 147 config.Pass(), upload_config_wrapper.get_receive_callback(), |
| 148 base::Closure(), true); | |
| 137 | 149 |
| 138 BackgroundTracingManager::GetInstance()->WhenIdle( | 150 BackgroundTracingManager::GetInstance()->WhenIdle( |
| 139 base::Bind(&DisableScenarioWhenIdle)); | 151 base::Bind(&DisableScenarioWhenIdle)); |
| 140 | 152 |
| 141 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 153 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
| 142 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 154 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
| 143 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 155 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
| 144 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), false)); | 156 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), false)); |
| 145 | 157 |
| 146 run_loop.Run(); | 158 run_loop.Run(); |
| 147 | 159 |
| 148 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | 160 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); |
| 149 } | 161 } |
| 150 } | 162 } |
| 151 | 163 |
| 164 // This tests that non-whitelisted args get stripped if required. | |
| 165 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | |
| 166 NoWhitelistedArgsStripped) { | |
|
shatch
2015/05/22 22:25:05
Should you write 2 tests, enabled and disabled. Si
oystein (OOO til 10th of July)
2015/05/27 22:13:32
Test improved now, would've caught it.
| |
| 167 { | |
| 168 SetupBackgroundTracingManager(); | |
| 169 | |
| 170 base::RunLoop upload_run_loop; | |
| 171 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | |
| 172 upload_run_loop.QuitClosure()); | |
| 173 | |
| 174 scoped_ptr<BackgroundTracingPreemptiveConfig> config = | |
| 175 CreatePreemptiveConfig(); | |
| 176 config->compress_trace = false; | |
| 177 | |
| 178 content::BackgroundTracingManager::TriggerHandle handle = | |
| 179 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( | |
| 180 "test"); | |
| 181 | |
| 182 base::RunLoop enable_run_loop; | |
| 183 BackgroundTracingManager::GetInstance()->SetActiveScenario( | |
| 184 config.Pass(), upload_config_wrapper.get_receive_callback(), | |
| 185 enable_run_loop.QuitClosure(), true); | |
| 186 | |
| 187 enable_run_loop.Run(); | |
| 188 // NavigateToURL(shell(), GetTestUrl("", "title.html")); | |
|
shatch
2015/05/22 22:21:37
nit: Get rid of this.
oystein (OOO til 10th of July)
2015/05/27 22:13:33
Done.
| |
| 189 | |
| 190 TRACE_EVENT1("__metadata", "thread_name", "my_thread_name", 1); | |
| 191 TRACE_EVENT1("__metadata", "process_name", "my_process_name", 1); | |
| 192 | |
| 193 BackgroundTracingManager::GetInstance()->WhenIdle( | |
| 194 base::Bind(&DisableScenarioWhenIdle)); | |
| 195 | |
| 196 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | |
| 197 handle, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | |
| 198 | |
| 199 upload_run_loop.Run(); | |
| 200 | |
| 201 EXPECT_TRUE(upload_config_wrapper.get_receive_count() == 1); | |
| 202 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("__metadata")); | |
| 203 EXPECT_TRUE(upload_config_wrapper.TraceHasMatchingString("my_thread_name")); | |
| 204 EXPECT_TRUE( | |
| 205 !upload_config_wrapper.TraceHasMatchingString("my_process_name")); | |
| 206 } | |
| 207 } | |
| 208 | |
| 152 // This tests multiple triggers still only gathers once. | 209 // This tests multiple triggers still only gathers once. |
| 153 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 210 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
| 154 CallMultipleTriggersOnlyGatherOnce) { | 211 CallMultipleTriggersOnlyGatherOnce) { |
| 155 { | 212 { |
| 156 SetupBackgroundTracingManager(); | 213 SetupBackgroundTracingManager(); |
| 157 | 214 |
| 158 base::RunLoop run_loop; | 215 base::RunLoop run_loop; |
| 159 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 216 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
| 160 run_loop.QuitClosure()); | 217 run_loop.QuitClosure()); |
| 161 | 218 |
| 162 scoped_ptr<BackgroundTracingPreemptiveConfig> config = | 219 scoped_ptr<BackgroundTracingPreemptiveConfig> config = |
| 163 CreatePreemptiveConfig(); | 220 CreatePreemptiveConfig(); |
| 164 | 221 |
| 165 BackgroundTracingPreemptiveConfig::MonitoringRule rule; | 222 BackgroundTracingPreemptiveConfig::MonitoringRule rule; |
| 166 rule.type = | 223 rule.type = |
| 167 BackgroundTracingPreemptiveConfig::MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED; | 224 BackgroundTracingPreemptiveConfig::MONITOR_AND_DUMP_WHEN_TRIGGER_NAMED; |
| 168 rule.named_trigger_info.trigger_name = "test1"; | 225 rule.named_trigger_info.trigger_name = "test1"; |
| 169 config->configs.push_back(rule); | 226 config->configs.push_back(rule); |
| 170 | 227 |
| 171 rule.named_trigger_info.trigger_name = "test2"; | 228 rule.named_trigger_info.trigger_name = "test2"; |
| 172 config->configs.push_back(rule); | 229 config->configs.push_back(rule); |
| 173 | 230 |
| 174 BackgroundTracingManager::TriggerHandle handle1 = | 231 BackgroundTracingManager::TriggerHandle handle1 = |
| 175 BackgroundTracingManager::GetInstance()->RegisterTriggerType("test1"); | 232 BackgroundTracingManager::GetInstance()->RegisterTriggerType("test1"); |
| 176 BackgroundTracingManager::TriggerHandle handle2 = | 233 BackgroundTracingManager::TriggerHandle handle2 = |
| 177 BackgroundTracingManager::GetInstance()->RegisterTriggerType("test2"); | 234 BackgroundTracingManager::GetInstance()->RegisterTriggerType("test2"); |
| 178 | 235 |
| 179 BackgroundTracingManager::GetInstance()->SetActiveScenario( | 236 BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| 180 config.Pass(), upload_config_wrapper.get_receive_callback(), true); | 237 config.Pass(), upload_config_wrapper.get_receive_callback(), |
| 238 base::Closure(), true); | |
| 181 | 239 |
| 182 BackgroundTracingManager::GetInstance()->WhenIdle( | 240 BackgroundTracingManager::GetInstance()->WhenIdle( |
| 183 base::Bind(&DisableScenarioWhenIdle)); | 241 base::Bind(&DisableScenarioWhenIdle)); |
| 184 | 242 |
| 185 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 243 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
| 186 handle1, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); | 244 handle1, base::Bind(&StartedFinalizingCallback, base::Closure(), true)); |
| 187 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 245 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
| 188 handle2, | 246 handle2, |
| 189 base::Bind(&StartedFinalizingCallback, base::Closure(), false)); | 247 base::Bind(&StartedFinalizingCallback, base::Closure(), false)); |
| 190 | 248 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 232 (base::Closure())); | 290 (base::Closure())); |
| 233 | 291 |
| 234 scoped_ptr<BackgroundTracingPreemptiveConfig> config = | 292 scoped_ptr<BackgroundTracingPreemptiveConfig> config = |
| 235 CreatePreemptiveConfig(); | 293 CreatePreemptiveConfig(); |
| 236 | 294 |
| 237 content::BackgroundTracingManager::TriggerHandle handle = | 295 content::BackgroundTracingManager::TriggerHandle handle = |
| 238 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( | 296 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( |
| 239 "does_not_exist"); | 297 "does_not_exist"); |
| 240 | 298 |
| 241 BackgroundTracingManager::GetInstance()->SetActiveScenario( | 299 BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| 242 config.Pass(), upload_config_wrapper.get_receive_callback(), true); | 300 config.Pass(), upload_config_wrapper.get_receive_callback(), |
| 301 base::Closure(), true); | |
| 243 | 302 |
| 244 BackgroundTracingManager::GetInstance()->WhenIdle( | 303 BackgroundTracingManager::GetInstance()->WhenIdle( |
| 245 base::Bind(&DisableScenarioWhenIdle)); | 304 base::Bind(&DisableScenarioWhenIdle)); |
| 246 | 305 |
| 247 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 306 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
| 248 handle, | 307 handle, |
| 249 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); | 308 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); |
| 250 | 309 |
| 251 run_loop.Run(); | 310 run_loop.Run(); |
| 252 | 311 |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 268 CreatePreemptiveConfig(); | 327 CreatePreemptiveConfig(); |
| 269 | 328 |
| 270 content::BackgroundTracingManager::TriggerHandle handle = | 329 content::BackgroundTracingManager::TriggerHandle handle = |
| 271 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( | 330 content::BackgroundTracingManager::GetInstance()->RegisterTriggerType( |
| 272 "test"); | 331 "test"); |
| 273 | 332 |
| 274 content::BackgroundTracingManager::GetInstance() | 333 content::BackgroundTracingManager::GetInstance() |
| 275 ->InvalidateTriggerHandlesForTesting(); | 334 ->InvalidateTriggerHandlesForTesting(); |
| 276 | 335 |
| 277 BackgroundTracingManager::GetInstance()->SetActiveScenario( | 336 BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| 278 config.Pass(), upload_config_wrapper.get_receive_callback(), true); | 337 config.Pass(), upload_config_wrapper.get_receive_callback(), |
| 338 base::Closure(), true); | |
| 279 | 339 |
| 280 BackgroundTracingManager::GetInstance()->WhenIdle( | 340 BackgroundTracingManager::GetInstance()->WhenIdle( |
| 281 base::Bind(&DisableScenarioWhenIdle)); | 341 base::Bind(&DisableScenarioWhenIdle)); |
| 282 | 342 |
| 283 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( | 343 BackgroundTracingManager::GetInstance()->TriggerNamedEvent( |
| 284 handle, | 344 handle, |
| 285 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); | 345 base::Bind(&StartedFinalizingCallback, run_loop.QuitClosure(), false)); |
| 286 | 346 |
| 287 run_loop.Run(); | 347 run_loop.Run(); |
| 288 | 348 |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 303 new content::BackgroundTracingPreemptiveConfig()); | 363 new content::BackgroundTracingPreemptiveConfig()); |
| 304 | 364 |
| 305 BackgroundTracingPreemptiveConfig::MonitoringRule rule; | 365 BackgroundTracingPreemptiveConfig::MonitoringRule rule; |
| 306 rule.type = BackgroundTracingPreemptiveConfig:: | 366 rule.type = BackgroundTracingPreemptiveConfig:: |
| 307 MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE; | 367 MONITOR_AND_DUMP_WHEN_SPECIFIC_HISTOGRAM_AND_VALUE; |
| 308 rule.histogram_trigger_info.histogram_name_to_trigger_on = "fake"; | 368 rule.histogram_trigger_info.histogram_name_to_trigger_on = "fake"; |
| 309 rule.histogram_trigger_info.histogram_bin_to_trigger_on = 0; | 369 rule.histogram_trigger_info.histogram_bin_to_trigger_on = 0; |
| 310 config->configs.push_back(rule); | 370 config->configs.push_back(rule); |
| 311 | 371 |
| 312 bool result = BackgroundTracingManager::GetInstance()->SetActiveScenario( | 372 bool result = BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| 313 config.Pass(), upload_config_wrapper.get_receive_callback(), true); | 373 config.Pass(), upload_config_wrapper.get_receive_callback(), |
| 374 base::Closure(), true); | |
| 314 | 375 |
| 315 EXPECT_FALSE(result); | 376 EXPECT_FALSE(result); |
| 316 } | 377 } |
| 317 } | 378 } |
| 318 | 379 |
| 319 // This tests that reactive mode configs will fail. | 380 // This tests that reactive mode configs will fail. |
| 320 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, | 381 IN_PROC_BROWSER_TEST_F(BackgroundTracingManagerBrowserTest, |
| 321 DoesNotAllowReactiveConfig) { | 382 DoesNotAllowReactiveConfig) { |
| 322 { | 383 { |
| 323 SetupBackgroundTracingManager(); | 384 SetupBackgroundTracingManager(); |
| 324 | 385 |
| 325 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( | 386 BackgroundTracingManagerUploadConfigWrapper upload_config_wrapper( |
| 326 (base::Closure())); | 387 (base::Closure())); |
| 327 | 388 |
| 328 scoped_ptr<BackgroundTracingConfig> config( | 389 scoped_ptr<BackgroundTracingConfig> config( |
| 329 new BackgroundTracingReactiveConfig()); | 390 new BackgroundTracingReactiveConfig()); |
| 330 | 391 |
| 331 bool result = BackgroundTracingManager::GetInstance()->SetActiveScenario( | 392 bool result = BackgroundTracingManager::GetInstance()->SetActiveScenario( |
| 332 config.Pass(), upload_config_wrapper.get_receive_callback(), true); | 393 config.Pass(), upload_config_wrapper.get_receive_callback(), |
| 394 base::Closure(), true); | |
| 333 | 395 |
| 334 EXPECT_FALSE(result); | 396 EXPECT_FALSE(result); |
| 335 } | 397 } |
| 336 } | 398 } |
| 337 | 399 |
| 338 } // namespace content | 400 } // namespace content |
| OLD | NEW |