| 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 bcd1312adcfcce6250eba4ce757c6f964ebfe7b2..5d13c532a6f1c08af84ae2eb7eca42ca61b43106 100644
|
| --- a/chrome/browser/task_manager/task_manager_browsertest.cc
|
| +++ b/chrome/browser/task_manager/task_manager_browsertest.cc
|
| @@ -55,10 +55,12 @@ using task_manager::browsertest_util::MatchAnyApp;
|
| using task_manager::browsertest_util::MatchAnyExtension;
|
| using task_manager::browsertest_util::MatchAnySubframe;
|
| using task_manager::browsertest_util::MatchAnyTab;
|
| +using task_manager::browsertest_util::MatchAnyUtility;
|
| using task_manager::browsertest_util::MatchApp;
|
| using task_manager::browsertest_util::MatchExtension;
|
| using task_manager::browsertest_util::MatchSubframe;
|
| using task_manager::browsertest_util::MatchTab;
|
| +using task_manager::browsertest_util::MatchUtility;
|
| using task_manager::browsertest_util::WaitForTaskManagerRows;
|
| using task_manager::browsertest_util::WaitForTaskManagerStatToExceed;
|
|
|
| @@ -126,6 +128,26 @@ class TaskManagerBrowserTest : public ExtensionBrowserTest {
|
| DISALLOW_COPY_AND_ASSIGN(TaskManagerBrowserTest);
|
| };
|
|
|
| +class TaskManagerUtilityProcessBrowserTest : public TaskManagerBrowserTest {
|
| + public:
|
| + TaskManagerUtilityProcessBrowserTest() {}
|
| +
|
| + protected:
|
| + void SetUpCommandLine(base::CommandLine* command_line) override {
|
| + TaskManagerBrowserTest::SetUpCommandLine(command_line);
|
| +
|
| + // Enable out-of-process proxy resolver. Use a trivial PAC script to ensure
|
| + // that some javascript is being executed.
|
| + command_line->AppendSwitch(switches::kV8PacMojoOutOfProcess);
|
| + command_line->AppendSwitchASCII(
|
| + switches::kProxyPacUrl,
|
| + "data:,function FindProxyForURL(url, host){return \"DIRECT;\";}");
|
| + }
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(TaskManagerUtilityProcessBrowserTest);
|
| +};
|
| +
|
| // Parameterized variant of TaskManagerBrowserTest which runs with/without
|
| // --site-per-process, which enables out of process iframes (OOPIFs).
|
| class TaskManagerOOPIFBrowserTest : public TaskManagerBrowserTest,
|
| @@ -841,6 +863,29 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, JSHeapMemory) {
|
| 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) {
|
| + ShowTaskManager();
|
| + ui_test_utils::NavigateToURL(browser(), GetTestURL());
|
| + // The PAC script is trivial, so don't expect a large heap.
|
| + size_t minimal_heap_size = 1024;
|
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed(
|
| + MatchUtility(
|
| + l10n_util::GetStringUTF16(IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME)),
|
| + task_manager::browsertest_util::V8_MEMORY,
|
| + minimal_heap_size));
|
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed(
|
| + MatchUtility(
|
| + l10n_util::GetStringUTF16(IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME)),
|
| + task_manager::browsertest_util::V8_MEMORY_USED,
|
| + minimal_heap_size));
|
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyUtility()));
|
| + ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(
|
| + 1, MatchUtility(l10n_util::GetStringUTF16(
|
| + IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME))));
|
| +}
|
| +
|
| IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, DevToolsNewDockedWindow) {
|
| ShowTaskManager(); // Task manager shown BEFORE dev tools window.
|
|
|
|
|