Chromium Code Reviews| Index: chrome/browser/task_management/task_manager_browsertest.cc |
| diff --git a/chrome/browser/task_management/task_manager_browsertest.cc b/chrome/browser/task_management/task_manager_browsertest.cc |
| index 3b34761669eab8635e33dea2a535a1238608eefb..698dc2e3537618e68a237e376583e615aee9eb18 100644 |
| --- a/chrome/browser/task_management/task_manager_browsertest.cc |
| +++ b/chrome/browser/task_management/task_manager_browsertest.cc |
| @@ -850,6 +850,37 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, JSHeapMemory) { |
| ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchTab("title1.html"))); |
| } |
| +// Checks that task manager counts idle wakeups. |
| +IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, |
| + IdleWakeups) { |
|
ncarter (slow)
2016/07/28 21:37:27
I think this test is a good start. By its nature i
stanisc
2016/08/01 22:34:27
OK. I've implemented changes suggested below.
|
| + ShowTaskManager(); |
| + model()->ToggleColumnVisibility(ColumnSpecifier::IDLE_WAKEUPS); |
| + |
| + ui_test_utils::NavigateToURL(browser(), GetTestURL()); |
| + |
| + std::string test_js = |
| + "function myWait(n) {\n" |
|
ncarter (slow)
2016/07/28 21:37:27
I would probably make this an infinite setTimeout
stanisc
2016/08/01 22:34:27
Done.
|
| + " if (n < 1000) {\n" |
| + " setTimeout(function() { myWait(n + 1); }, 1)\n" |
| + " } else {\n" |
| + " window.domAutomationController.send(\"okay\");\n" |
| + " }\n" |
| + "}\n" |
| + "myWait(0);\n"; |
| + |
| + std::string ok; |
| + ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| + browser()->tab_strip_model()->GetActiveWebContents(), test_js, &ok)); |
|
ncarter (slow)
2016/07/28 21:37:27
ExecuteScriptAndExtractString will block until win
stanisc
2016/08/01 22:34:27
Done.
|
| + ASSERT_EQ("okay", ok); |
| + |
| + // The script above should trigger a lot of idle wakeups - up to 1000 per |
| + // second. Let's make sure we get at least 100 (in case the test runs slow). |
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( |
| + MatchTab("title1.html"), ColumnSpecifier::IDLE_WAKEUPS, 100)); |
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); |
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchTab("title1.html"))); |
| +} |
| + |
| // Checks that task manager counts utility process JS heap size. |
| IN_PROC_BROWSER_TEST_F(TaskManagerUtilityProcessBrowserTest, |
| UtilityJSHeapMemory) { |