Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1365)

Unified Diff: chrome/browser/extensions/api/processes/processes_apitest.cc

Issue 1584473004: Migrate ProcessesEventRouter to the new task manager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix nit. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/processes/processes_apitest.cc
diff --git a/chrome/browser/extensions/api/processes/processes_apitest.cc b/chrome/browser/extensions/api/processes/processes_apitest.cc
index caf3dcc5afa91d651b1348ee732d302b64593177..23d95dcc1c8bf66ba1dd64e580d6d3107763f964 100644
--- a/chrome/browser/extensions/api/processes/processes_apitest.cc
+++ b/chrome/browser/extensions/api/processes/processes_apitest.cc
@@ -3,51 +3,68 @@
// found in the LICENSE file.
#include "base/command_line.h"
+#include "chrome/browser/extensions/api/processes/processes_api.h"
#include "chrome/browser/extensions/extension_apitest.h"
-#include "chrome/browser/task_manager/task_manager.h"
-#include "chrome/browser/task_manager/task_manager_browsertest_util.h"
+#include "chrome/browser/task_management/task_manager_interface.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/browser/ui/browser_window.h"
#include "extensions/common/switches.h"
#include "extensions/test/extension_test_message_listener.h"
-using ProcessesApiTest = ExtensionApiTest;
+class ProcessesApiTest : public ExtensionApiTest {
+ public:
+ ProcessesApiTest() {}
+ ~ProcessesApiTest() override {}
-// Fails on some MSan bots crbug.com/591581.
-IN_PROC_BROWSER_TEST_F(ProcessesApiTest, DISABLED_Processes) {
+ int GetListenersCount() {
+ return extensions::ProcessesAPI::Get(profile())->
+ processes_event_router()->listeners_;
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ProcessesApiTest);
+};
+
+IN_PROC_BROWSER_TEST_F(ProcessesApiTest, Processes) {
ASSERT_TRUE(RunExtensionTest("processes/api")) << message_;
}
-IN_PROC_BROWSER_TEST_F(ProcessesApiTest, ProcessesVsTaskManager) {
- // This test is for the old implementation of the task manager. We must
- // explicitly disable the new one.
- task_manager::browsertest_util::EnableOldTaskManager();
-
- // Ensure task manager is not yet updating
- TaskManagerModel* model = TaskManager::GetInstance()->model();
- EXPECT_EQ(0, model->update_requests_);
- EXPECT_EQ(TaskManagerModel::IDLE, model->update_state_);
+IN_PROC_BROWSER_TEST_F(ProcessesApiTest, ProcessesApiListeners) {
+ EXPECT_EQ(0, GetListenersCount());
- // Load extension that adds listener in background page
- ExtensionTestMessageListener listener("ready", false);
- ASSERT_TRUE(LoadExtension(
- test_data_dir_.AppendASCII("processes").AppendASCII("onupdated")));
- ASSERT_TRUE(listener.WaitUntilSatisfied());
+ // Load extension that adds a listener in background page
+ ExtensionTestMessageListener listener1("ready", false /* will_reply */);
+ const extensions::Extension* extension1 = LoadExtension(
+ test_data_dir_.AppendASCII("processes").AppendASCII("onupdated"));
+ ASSERT_TRUE(extension1);
+ ASSERT_TRUE(listener1.WaitUntilSatisfied());
- // Ensure the task manager has started updating
- EXPECT_EQ(1, model->update_requests_);
- EXPECT_EQ(TaskManagerModel::TASK_PENDING, model->update_state_);
+ // The memory refresh type of the task manager may or may not be enabled by
+ // now depending on the presence of other task manager observers.
+ // Ensure the listeners count has changed.
+ EXPECT_EQ(1, GetListenersCount());
- // Now show the task manager and wait for it to be ready
- chrome::ShowTaskManager(browser());
+ // Load another extension that listen to the onUpdatedWithMemory.
+ ExtensionTestMessageListener listener2("ready", false /* will_reply */);
+ const extensions::Extension* extension2 = LoadExtension(
+ test_data_dir_.AppendASCII("processes").AppendASCII(
+ "onupdated_with_memory"));
+ ASSERT_TRUE(extension2);
+ ASSERT_TRUE(listener2.WaitUntilSatisfied());
- EXPECT_EQ(2, model->update_requests_);
- EXPECT_EQ(TaskManagerModel::TASK_PENDING, model->update_state_);
+ // The memory refresh type must be enabled now.
+ const task_management::TaskManagerInterface* task_manager =
+ task_management::TaskManagerInterface::GetTaskManager();
+ EXPECT_EQ(2, GetListenersCount());
+ EXPECT_TRUE(task_manager->IsResourceRefreshEnabled(
+ task_management::REFRESH_TYPE_MEMORY));
- // Unload the extension and check that listener count decreases
- UnloadExtension(last_loaded_extension_id());
- EXPECT_EQ(1, model->update_requests_);
+ // Unload the extensions and make sure the listeners count is updated.
+ UnloadExtension(extension2->id());
+ EXPECT_EQ(1, GetListenersCount());
+ UnloadExtension(extension1->id());
+ EXPECT_EQ(0, GetListenersCount());
}
IN_PROC_BROWSER_TEST_F(ProcessesApiTest, CannotTerminateBrowserProcess) {
« no previous file with comments | « chrome/browser/extensions/api/processes/processes_api.cc ('k') | chrome/browser/extensions/api/tabs/tabs_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698