OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/task_manager/task_manager.h" | 5 #include "chrome/browser/task_manager/task_manager.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
769 | 769 |
770 // Check that we get some value for the cache columns. | 770 // Check that we get some value for the cache columns. |
771 DCHECK_NE(model()->GetResourceWebCoreImageCacheSize(resource_count), | 771 DCHECK_NE(model()->GetResourceWebCoreImageCacheSize(resource_count), |
772 l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT)); | 772 l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT)); |
773 DCHECK_NE(model()->GetResourceWebCoreScriptsCacheSize(resource_count), | 773 DCHECK_NE(model()->GetResourceWebCoreScriptsCacheSize(resource_count), |
774 l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT)); | 774 l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT)); |
775 DCHECK_NE(model()->GetResourceWebCoreCSSCacheSize(resource_count), | 775 DCHECK_NE(model()->GetResourceWebCoreCSSCacheSize(resource_count), |
776 l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT)); | 776 l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT)); |
777 } | 777 } |
778 | 778 |
779 // Checks that task manager counts a worker thread JS heap size. | 779 // Checks that task manager counts a worker thread JS heap size. |
ncarter (slow)
2015/03/23 23:33:08
Unfortunately, this has been disabled for a while,
| |
780 // http://crbug.com/241066 | 780 // http://crbug.com/241066 |
781 // Flaky, http://crbug.com/259368 | 781 // Flaky, http://crbug.com/259368 |
ncarter (slow)
2015/03/23 23:33:08
Remove this line, since we're fixing this bug.
| |
782 IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, DISABLED_WebWorkerJSHeapMemory) { | 782 IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, DISABLED_WebWorkerJSHeapMemory) { |
ncarter (slow)
2015/03/23 23:33:08
Remove the DISABLED_ so that the bots will start r
| |
783 ui_test_utils::NavigateToURL(browser(), GetTestURL()); | 783 ui_test_utils::NavigateToURL(browser(), GetTestURL()); |
ncarter (slow)
2015/03/23 23:33:08
Call ShowTaskManager() -- before or after the Navi
| |
784 const int extra_timeout_ms = 500; | 784 const int extra_timeout_ms = 500; |
785 size_t minimal_heap_size = 2 * 1024 * 1024 * sizeof(void*); | 785 size_t minimal_heap_size = 2 * 1024 * 1024 * sizeof(void*); |
786 std::string test_js = base::StringPrintf( | 786 std::string test_js = base::StringPrintf( |
787 "var blob = new Blob([\n" | 787 "var blob = new Blob([\n" |
788 " 'mem = new Array(%lu);',\n" | 788 " 'mem = new Array(%lu);',\n" |
789 " 'for (var i = 0; i < mem.length; i += 16) mem[i] = i;',\n" | 789 " 'for (var i = 0; i < mem.length; i += 16) mem[i] = i;',\n" |
790 " 'postMessage();']);\n" | 790 " 'postMessage(i);']);\n" |
791 "blobURL = window.URL.createObjectURL(blob);\n" | 791 "blobURL = window.URL.createObjectURL(blob);\n" |
792 "worker = new Worker(blobURL);\n" | 792 "worker = new Worker(blobURL);\n" |
793 "// Give the task manager few seconds to poll for JS heap sizes.\n" | 793 "// Give the task manager few seconds to poll for JS heap sizes.\n" |
794 "worker.onmessage = setTimeout.bind(\n" | 794 "worker.onmessage = setTimeout.bind(\n" |
795 " this,\n" | 795 " this,\n" |
796 " function () { window.domAutomationController.send(true); },\n" | 796 " function () { window.domAutomationController.send(true); },\n" |
797 " %d);\n" | 797 " %d);\n" |
798 "worker.postMessage();\n", | 798 "worker.postMessage('go');\n", |
799 static_cast<unsigned long>(minimal_heap_size), | 799 static_cast<unsigned long>(minimal_heap_size), |
800 GetUpdateTimeMs() + extra_timeout_ms); | 800 GetUpdateTimeMs() + extra_timeout_ms); |
801 bool ok; | 801 bool ok; |
802 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( | 802 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( |
803 browser()->tab_strip_model()->GetActiveWebContents(), test_js, &ok)); | 803 browser()->tab_strip_model()->GetActiveWebContents(), test_js, &ok)); |
804 ASSERT_TRUE(ok); | 804 ASSERT_TRUE(ok); |
805 | 805 |
ncarter (slow)
2015/03/23 23:33:08
Add two lines here:
ASSERT_NO_FATAL_FAILURE(WaitF
| |
806 int resource_index = TaskManager::GetInstance()->model()->ResourceCount() - 1; | 806 int resource_index = TaskManager::GetInstance()->model()->ResourceCount() - 1; |
ncarter (slow)
2015/03/23 23:33:08
Change this to:
int resource_index = FindResource
| |
807 size_t result; | 807 size_t result; |
808 | 808 |
809 ASSERT_TRUE(model()->GetV8Memory(resource_index, &result)); | 809 ASSERT_TRUE(model()->GetV8Memory(resource_index, &result)); |
810 LOG(INFO) << "Got V8 Heap Size " << result << " bytes"; | 810 LOG(INFO) << "Got V8 Heap Size " << result << " bytes"; |
811 EXPECT_GE(result, minimal_heap_size); | 811 EXPECT_GE(result, minimal_heap_size); |
812 | 812 |
813 ASSERT_TRUE(model()->GetV8MemoryUsed(resource_index, &result)); | 813 ASSERT_TRUE(model()->GetV8MemoryUsed(resource_index, &result)); |
814 LOG(INFO) << "Got V8 Used Heap Size " << result << " bytes"; | 814 LOG(INFO) << "Got V8 Used Heap Size " << result << " bytes"; |
815 EXPECT_GE(result, minimal_heap_size); | 815 EXPECT_GE(result, minimal_heap_size); |
816 } | 816 } |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1087 } else { | 1087 } else { |
1088 ASSERT_NO_FATAL_FAILURE( | 1088 ASSERT_NO_FATAL_FAILURE( |
1089 WaitForTaskManagerRows(0, MatchSubframe("http://b.com/"))); | 1089 WaitForTaskManagerRows(0, MatchSubframe("http://b.com/"))); |
1090 ASSERT_NO_FATAL_FAILURE( | 1090 ASSERT_NO_FATAL_FAILURE( |
1091 WaitForTaskManagerRows(1, MatchSubframe("http://c.com/"))); | 1091 WaitForTaskManagerRows(1, MatchSubframe("http://c.com/"))); |
1092 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnySubframe())); | 1092 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnySubframe())); |
1093 } | 1093 } |
1094 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchTab("aac"))); | 1094 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchTab("aac"))); |
1095 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); | 1095 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); |
1096 } | 1096 } |
OLD | NEW |