Chromium Code Reviews| Index: chrome/browser/task_manager/task_manager_browsertest.cc |
| diff --git a/chrome/browser/task_manager/task_manager_browsertest.cc b/chrome/browser/task_manager/task_manager_browsertest.cc |
| index 51e133c5d75743e3fe9bdca0bb700e10838b202d..977fc85cabfa1215547d228b677b74eb78f343b6 100644 |
| --- a/chrome/browser/task_manager/task_manager_browsertest.cc |
| +++ b/chrome/browser/task_manager/task_manager_browsertest.cc |
| @@ -672,6 +672,76 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, JSHeapMemory) { |
| ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchTab("title1.html"))); |
| } |
| +IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, SentDataObserved) { |
| + ShowTaskManager(); |
| + GURL test_gurl = embedded_test_server()->GetURL("/title1.html"); |
| + |
| + ui_test_utils::NavigateToURL(browser(), test_gurl); |
| + std::string test_js = R"( |
| + document.title = 'network use'; |
| + var mem = new Uint8Array(16 << 20); |
| + for (var i = 0; i < mem.length; i += 16) { |
| + mem[i] = i; |
| + } |
| + var formData = new FormData(); |
| + formData.append('StringKey1', new Blob([mem])); |
| + var request = |
| + new Request(location.href, {method: 'POST', body: formData}); |
| + fetch(request).then(response => response.text()); |
| + )"; |
| + |
| + browser() |
| + ->tab_strip_model() |
| + ->GetActiveWebContents() |
| + ->GetMainFrame() |
| + ->ExecuteJavaScriptForTests(base::UTF8ToUTF16(test_js)); |
|
ncarter (slow)
2017/06/20 19:52:27
Add in:
// TODO(cburn): The assertion below curre
cburn
2017/06/20 21:34:55
Done.
|
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( |
| + MatchTab("network use"), ColumnSpecifier::NETWORK_USE, 16000000)); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, TotalSentDataObserved) { |
| + ShowTaskManager(); |
| + GURL test_gurl = embedded_test_server()->GetURL("/title1.html"); |
| + |
| + ui_test_utils::NavigateToURL(browser(), test_gurl); |
| + std::string test_js = R"( |
| + document.title = 'network use'; |
| + var mem = new Uint8Array(16 << 20); |
| + for (var i = 0; i < mem.length; i += 16) { |
| + mem[i] = i; |
| + } |
| + var formData = new FormData(); |
| + formData.append('StringKey1', new Blob([mem])); |
| + var request = |
| + new Request(location.href, {method: 'POST', body: formData}); |
| + fetch(request).then(response => response.text()); |
| + )"; |
| + |
| + browser() |
| + ->tab_strip_model() |
| + ->GetActiveWebContents() |
| + ->GetMainFrame() |
| + ->ExecuteJavaScriptForTests(base::UTF8ToUTF16(test_js)); |
| + |
| + // This test uses |setTimeout| to exceed the Nyquist ratio to ensure that at |
| + // least 1 refresh has happened of no traffic. |
| + test_js = R"( |
| + var request = |
| + new Request(location.href, {method: 'POST', body: formData}); |
| + setTimeout( |
| + () => {fetch(request).then(response => response.text())}, 2000); |
| + )"; |
| + |
| + browser() |
| + ->tab_strip_model() |
| + ->GetActiveWebContents() |
| + ->GetMainFrame() |
| + ->ExecuteJavaScriptForTests(base::UTF8ToUTF16(test_js)); |
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( |
| + MatchTab("network use"), ColumnSpecifier::TOTAL_NETWORK_USE, |
| + 16000000 * 2)); |
| +} |
| + |
| // Checks that task manager counts idle wakeups. |
| // Flakily fails on Mac: http://crbug.com/639939 |
| #if defined(OS_MACOSX) |