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

Side by Side Diff: chrome/browser/ui/panels/panel_browsertest.cc

Issue 1956813002: [Part 1 of 6] Move MockWebContentsTaskManager into its own file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add Show() / ShowInactive() coverage. Created 4 years, 7 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/task_manager/task_manager_browsertest.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "chrome/app/chrome_command_ids.h" 10 #include "chrome/app/chrome_command_ids.h"
11 #include "chrome/browser/chrome_notification_types.h" 11 #include "chrome/browser/chrome_notification_types.h"
12 #include "chrome/browser/devtools/devtools_window.h" 12 #include "chrome/browser/devtools/devtools_window.h"
13 #include "chrome/browser/extensions/extension_apitest.h" 13 #include "chrome/browser/extensions/extension_apitest.h"
14 #include "chrome/browser/net/url_request_mock_util.h" 14 #include "chrome/browser/net/url_request_mock_util.h"
15 #include "chrome/browser/prefs/browser_prefs.h" 15 #include "chrome/browser/prefs/browser_prefs.h"
16 #include "chrome/browser/profiles/profile.h" 16 #include "chrome/browser/profiles/profile.h"
17 #include "chrome/browser/task_management/task_management_browsertest_util.h"
18 #include "chrome/browser/ui/browser.h" 17 #include "chrome/browser/ui/browser.h"
19 #include "chrome/browser/ui/browser_commands.h" 18 #include "chrome/browser/ui/browser_commands.h"
20 #include "chrome/browser/ui/browser_finder.h" 19 #include "chrome/browser/ui/browser_finder.h"
21 #include "chrome/browser/ui/browser_list.h" 20 #include "chrome/browser/ui/browser_list.h"
22 #include "chrome/browser/ui/browser_window.h" 21 #include "chrome/browser/ui/browser_window.h"
23 #include "chrome/browser/ui/panels/base_panel_browser_test.h" 22 #include "chrome/browser/ui/panels/base_panel_browser_test.h"
24 #include "chrome/browser/ui/panels/docked_panel_collection.h" 23 #include "chrome/browser/ui/panels/docked_panel_collection.h"
25 #include "chrome/browser/ui/panels/native_panel.h" 24 #include "chrome/browser/ui/panels/native_panel.h"
26 #include "chrome/browser/ui/panels/panel.h" 25 #include "chrome/browser/ui/panels/panel.h"
27 #include "chrome/browser/ui/panels/panel_manager.h" 26 #include "chrome/browser/ui/panels/panel_manager.h"
(...skipping 1732 matching lines...) Expand 10 before | Expand all | Expand 10 after
1760 #else 1759 #else
1761 #define MAYBE_FocusChangeEventOnMinimize FocusChangeEventOnMinimize 1760 #define MAYBE_FocusChangeEventOnMinimize FocusChangeEventOnMinimize
1762 #endif 1761 #endif
1763 IN_PROC_BROWSER_TEST_F(PanelExtensionApiTest, 1762 IN_PROC_BROWSER_TEST_F(PanelExtensionApiTest,
1764 MAYBE_FocusChangeEventOnMinimize) { 1763 MAYBE_FocusChangeEventOnMinimize) {
1765 // This is needed so the subsequently created panels can be activated. 1764 // This is needed so the subsequently created panels can be activated.
1766 // On a Mac, it transforms background-only test process into foreground one. 1765 // On a Mac, it transforms background-only test process into foreground one.
1767 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 1766 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
1768 ASSERT_TRUE(RunExtensionTest("panels/focus_change_on_minimize")) << message_; 1767 ASSERT_TRUE(RunExtensionTest("panels/focus_change_on_minimize")) << message_;
1769 } 1768 }
1770
1771 #if defined(ENABLE_TASK_MANAGER)
1772
1773 namespace {
1774
1775 base::string16 GetExpectedPrefix() {
1776 return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_EXTENSION_PREFIX,
1777 base::string16());
1778 }
1779
1780 const std::vector<task_management::WebContentsTag*>& GetTrackedTags() {
1781 return task_management::WebContentsTagsManager::GetInstance()->
1782 tracked_tags();
1783 }
1784
1785 // Tests that the task manager tags are recorded correctly as a result of
1786 // creating panels.
1787 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, TaskManagementTagsBasic) {
1788 // Browser tests start with a single tab.
1789 EXPECT_EQ(1U, GetTrackedTags().size());
1790
1791 // Create a bunch of panels.
1792 gfx::Rect bounds(300, 200, 250, 200);
1793 CreatePanelParams params("PanelTest1", bounds, SHOW_AS_ACTIVE);
1794 params.url = GURL("about:blank");
1795 CreatePanelWithParams(params);
1796 EXPECT_EQ(2U, GetTrackedTags().size());
1797
1798 params.name = std::string("PanelTest2_Detached");
1799 params.wait_for_fully_created = false;
1800 params.create_mode = PanelManager::CREATE_AS_DETACHED;
1801 CreatePanelWithParams(params);
1802 EXPECT_EQ(3U, GetTrackedTags().size());
1803
1804 params.name = std::string("PanelTest3_Docked");
1805 params.create_mode = PanelManager::CREATE_AS_DOCKED;
1806 CreatePanelWithParams(params);
1807 EXPECT_EQ(4U, GetTrackedTags().size());
1808
1809 params.name = std::string("PanelTest3_Inactive");
1810 params.show_flag = SHOW_AS_INACTIVE;
1811 CreatePanelWithParams(params);
1812 EXPECT_EQ(5U, GetTrackedTags().size());
1813
1814 // Close all panels and make sure the tags are removed.
1815 PanelManager::GetInstance()->CloseAll();
1816 EXPECT_EQ(1U, GetTrackedTags().size());
1817 }
1818
1819 // Tests that the task manager sees the PanelTasks as a result of creating
1820 // panels, and removes the PanelTasks as a result of closing panels.
1821 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, TaskManagementTasksProvided) {
1822 task_management::MockWebContentsTaskManager task_manager;
1823 // Browser tests start with a single tab.
1824 EXPECT_EQ(1U, GetTrackedTags().size());
1825
1826 // Create a single panel.
1827 gfx::Rect bounds(300, 200, 250, 200);
1828 CreatePanelParams params("PanelTest1", bounds, SHOW_AS_ACTIVE);
1829 params.url = GURL("about:blank");
1830 CreatePanelWithParams(params);
1831 EXPECT_EQ(2U, GetTrackedTags().size());
1832
1833 task_manager.StartObserving();
1834
1835 // The pre-existing tab and panel are provided.
1836 EXPECT_EQ(2U, task_manager.tasks().size());
1837
1838 // Create one more panel.
1839 params.name = std::string("PanelTest2");
1840 CreatePanelWithParams(params);
1841 EXPECT_EQ(3U, GetTrackedTags().size());
1842 ASSERT_EQ(3U, task_manager.tasks().size());
1843
1844 const task_management::Task* task = task_manager.tasks().back();
1845 EXPECT_EQ(task_management::Task::EXTENSION, task->GetType());
1846 const base::string16 title = task->title();
1847 const base::string16 expected_prefix = GetExpectedPrefix();
1848 EXPECT_TRUE(base::StartsWith(title,
1849 expected_prefix,
1850 base::CompareCase::INSENSITIVE_ASCII));
1851
1852 PanelManager::GetInstance()->CloseAll();
1853 EXPECT_EQ(1U, task_manager.tasks().size());
1854 }
1855
1856 } // namespace
1857
1858 #endif // defined(ENABLE_TASK_MANAGER)
OLDNEW
« no previous file with comments | « chrome/browser/task_manager/task_manager_browsertest.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698