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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
48 #include "testing/gtest/include/gtest/gtest.h" | 48 #include "testing/gtest/include/gtest/gtest.h" |
49 #include "ui/base/l10n/l10n_util.h" | 49 #include "ui/base/l10n/l10n_util.h" |
50 #include "ui/base/page_transition_types.h" | 50 #include "ui/base/page_transition_types.h" |
51 | 51 |
52 using content::WebContents; | 52 using content::WebContents; |
53 using task_manager::browsertest_util::MatchAboutBlankTab; | 53 using task_manager::browsertest_util::MatchAboutBlankTab; |
54 using task_manager::browsertest_util::MatchAnyApp; | 54 using task_manager::browsertest_util::MatchAnyApp; |
55 using task_manager::browsertest_util::MatchAnyExtension; | 55 using task_manager::browsertest_util::MatchAnyExtension; |
56 using task_manager::browsertest_util::MatchAnySubframe; | 56 using task_manager::browsertest_util::MatchAnySubframe; |
57 using task_manager::browsertest_util::MatchAnyTab; | 57 using task_manager::browsertest_util::MatchAnyTab; |
58 using task_manager::browsertest_util::MatchAnyUtility; | |
58 using task_manager::browsertest_util::MatchApp; | 59 using task_manager::browsertest_util::MatchApp; |
59 using task_manager::browsertest_util::MatchExtension; | 60 using task_manager::browsertest_util::MatchExtension; |
60 using task_manager::browsertest_util::MatchSubframe; | 61 using task_manager::browsertest_util::MatchSubframe; |
61 using task_manager::browsertest_util::MatchTab; | 62 using task_manager::browsertest_util::MatchTab; |
63 using task_manager::browsertest_util::MatchUtility; | |
62 using task_manager::browsertest_util::WaitForTaskManagerRows; | 64 using task_manager::browsertest_util::WaitForTaskManagerRows; |
63 using task_manager::browsertest_util::WaitForTaskManagerStatToExceed; | 65 using task_manager::browsertest_util::WaitForTaskManagerStatToExceed; |
64 | 66 |
65 namespace { | 67 namespace { |
66 | 68 |
67 const base::FilePath::CharType* kTitle1File = FILE_PATH_LITERAL("title1.html"); | 69 const base::FilePath::CharType* kTitle1File = FILE_PATH_LITERAL("title1.html"); |
68 | 70 |
69 } // namespace | 71 } // namespace |
70 | 72 |
71 class TaskManagerBrowserTest : public ExtensionBrowserTest { | 73 class TaskManagerBrowserTest : public ExtensionBrowserTest { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
113 } | 115 } |
114 return -1; | 116 return -1; |
115 } | 117 } |
116 | 118 |
117 protected: | 119 protected: |
118 void SetUpCommandLine(base::CommandLine* command_line) override { | 120 void SetUpCommandLine(base::CommandLine* command_line) override { |
119 ExtensionBrowserTest::SetUpCommandLine(command_line); | 121 ExtensionBrowserTest::SetUpCommandLine(command_line); |
120 | 122 |
121 // Do not launch device discovery process. | 123 // Do not launch device discovery process. |
122 command_line->AppendSwitch(switches::kDisableDeviceDiscoveryNotifications); | 124 command_line->AppendSwitch(switches::kDisableDeviceDiscoveryNotifications); |
125 | |
126 // Enable out-of-process proxy resolver. Use a trivial PAC script to ensure | |
127 // that some javascript is being executed. | |
128 command_line->AppendSwitch(switches::kV8PacMojoOutOfProcess); | |
129 command_line->AppendSwitchASCII( | |
130 switches::kProxyPacUrl, | |
131 "data:,function FindProxyForURL(url, host){return \"DIRECT;\";}"); | |
123 } | 132 } |
124 | 133 |
125 private: | 134 private: |
126 DISALLOW_COPY_AND_ASSIGN(TaskManagerBrowserTest); | 135 DISALLOW_COPY_AND_ASSIGN(TaskManagerBrowserTest); |
127 }; | 136 }; |
128 | 137 |
129 // Parameterized variant of TaskManagerBrowserTest which runs with/without | 138 // Parameterized variant of TaskManagerBrowserTest which runs with/without |
130 // --site-per-process, which enables out of process iframes (OOPIFs). | 139 // --site-per-process, which enables out of process iframes (OOPIFs). |
131 class TaskManagerOOPIFBrowserTest : public TaskManagerBrowserTest, | 140 class TaskManagerOOPIFBrowserTest : public TaskManagerBrowserTest, |
132 public testing::WithParamInterface<bool> { | 141 public testing::WithParamInterface<bool> { |
(...skipping 701 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
834 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( | 843 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( |
835 MatchTab("title1.html"), task_manager::browsertest_util::V8_MEMORY, | 844 MatchTab("title1.html"), task_manager::browsertest_util::V8_MEMORY, |
836 minimal_heap_size)); | 845 minimal_heap_size)); |
837 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( | 846 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( |
838 MatchTab("title1.html"), task_manager::browsertest_util::V8_MEMORY_USED, | 847 MatchTab("title1.html"), task_manager::browsertest_util::V8_MEMORY_USED, |
839 minimal_heap_size)); | 848 minimal_heap_size)); |
840 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); | 849 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); |
841 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchTab("title1.html"))); | 850 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchTab("title1.html"))); |
842 } | 851 } |
843 | 852 |
853 // Checks that task manager counts utility process JS heap size. | |
854 IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, UtilityJSHeapMemory) { | |
855 ShowTaskManager(); | |
856 ui_test_utils::NavigateToURL(browser(), GetTestURL()); | |
857 // The PAC script is trivial, so don't expect a large heap. | |
858 size_t minimal_heap_size = 1024; | |
859 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( | |
860 MatchUtility( | |
861 l10n_util::GetStringUTF16(IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME)), | |
862 task_manager::browsertest_util::V8_MEMORY, | |
863 minimal_heap_size)); | |
864 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerStatToExceed( | |
865 MatchUtility( | |
866 l10n_util::GetStringUTF16(IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME)), | |
867 task_manager::browsertest_util::V8_MEMORY_USED, | |
868 minimal_heap_size)); | |
869 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyUtility())); | |
870 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows( | |
871 1, MatchUtility(l10n_util::GetStringUTF16( | |
872 IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME)))); | |
ncarter (slow)
2015/05/11 20:35:40
Thanks!!!
| |
873 } | |
874 | |
844 IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, DevToolsNewDockedWindow) { | 875 IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, DevToolsNewDockedWindow) { |
845 ShowTaskManager(); // Task manager shown BEFORE dev tools window. | 876 ShowTaskManager(); // Task manager shown BEFORE dev tools window. |
846 | 877 |
847 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); | 878 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); |
848 DevToolsWindow* devtools = | 879 DevToolsWindow* devtools = |
849 DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), true); | 880 DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), true); |
850 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(2, MatchAnyTab())); | 881 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(2, MatchAnyTab())); |
851 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(2, MatchAnyTab())); | 882 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(2, MatchAnyTab())); |
852 DevToolsWindowTesting::CloseDevToolsWindowSync(devtools); | 883 DevToolsWindowTesting::CloseDevToolsWindowSync(devtools); |
853 } | 884 } |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1160 WaitForTaskManagerRows(1, MatchTab("Title Of Awesomeness"))); | 1191 WaitForTaskManagerRows(1, MatchTab("Title Of Awesomeness"))); |
1161 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnySubframe())); | 1192 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnySubframe())); |
1162 | 1193 |
1163 HideTaskManager(); | 1194 HideTaskManager(); |
1164 ShowTaskManager(); | 1195 ShowTaskManager(); |
1165 | 1196 |
1166 ASSERT_NO_FATAL_FAILURE( | 1197 ASSERT_NO_FATAL_FAILURE( |
1167 WaitForTaskManagerRows(1, MatchTab("Title Of Awesomeness"))); | 1198 WaitForTaskManagerRows(1, MatchTab("Title Of Awesomeness"))); |
1168 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnySubframe())); | 1199 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnySubframe())); |
1169 } | 1200 } |
OLD | NEW |