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

Side by Side Diff: chrome/browser/apps/guest_view/web_view_browsertest.cc

Issue 1912773002: Remove the old task manager view (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tapted's comments 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <queue> 5 #include <queue>
6 #include <utility> 6 #include <utility>
7 7
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
11 #include "base/process/process.h" 11 #include "base/process/process.h"
12 #include "base/single_thread_task_runner.h" 12 #include "base/single_thread_task_runner.h"
13 #include "base/strings/stringprintf.h" 13 #include "base/strings/stringprintf.h"
14 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
15 #include "base/thread_task_runner_handle.h" 15 #include "base/thread_task_runner_handle.h"
16 #include "build/build_config.h" 16 #include "build/build_config.h"
17 #include "chrome/app/chrome_command_ids.h" 17 #include "chrome/app/chrome_command_ids.h"
18 #include "chrome/browser/apps/app_browsertest_util.h" 18 #include "chrome/browser/apps/app_browsertest_util.h"
19 #include "chrome/browser/chrome_content_browser_client.h" 19 #include "chrome/browser/chrome_content_browser_client.h"
20 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 20 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
21 #include "chrome/browser/lifetime/application_lifetime.h" 21 #include "chrome/browser/lifetime/application_lifetime.h"
22 #include "chrome/browser/pdf/pdf_extension_test_util.h" 22 #include "chrome/browser/pdf/pdf_extension_test_util.h"
23 #include "chrome/browser/prerender/prerender_link_manager.h" 23 #include "chrome/browser/prerender/prerender_link_manager.h"
24 #include "chrome/browser/prerender/prerender_link_manager_factory.h" 24 #include "chrome/browser/prerender/prerender_link_manager_factory.h"
25 #include "chrome/browser/profiles/profile.h" 25 #include "chrome/browser/profiles/profile.h"
26 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" 26 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
27 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_uti l.h" 27 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_uti l.h"
28 #include "chrome/browser/task_management/task_management_browsertest_util.h" 28 #include "chrome/browser/task_management/task_management_browsertest_util.h"
29 #include "chrome/browser/task_manager/task_manager_browsertest_util.h"
30 #include "chrome/browser/ui/browser.h" 29 #include "chrome/browser/ui/browser.h"
31 #include "chrome/browser/ui/browser_dialogs.h" 30 #include "chrome/browser/ui/browser_dialogs.h"
32 #include "chrome/browser/ui/tabs/tab_strip_model.h" 31 #include "chrome/browser/ui/tabs/tab_strip_model.h"
33 #include "chrome/test/base/ui_test_utils.h" 32 #include "chrome/test/base/ui_test_utils.h"
34 #include "components/content_settings/core/browser/host_content_settings_map.h" 33 #include "components/content_settings/core/browser/host_content_settings_map.h"
35 #include "components/guest_view/browser/guest_view_manager.h" 34 #include "components/guest_view/browser/guest_view_manager.h"
36 #include "components/guest_view/browser/guest_view_manager_delegate.h" 35 #include "components/guest_view/browser/guest_view_manager_delegate.h"
37 #include "components/guest_view/browser/guest_view_manager_factory.h" 36 #include "components/guest_view/browser/guest_view_manager_factory.h"
38 #include "components/guest_view/browser/test_guest_view_manager.h" 37 #include "components/guest_view/browser/test_guest_view_manager.h"
39 #include "content/public/browser/gpu_data_manager.h" 38 #include "content/public/browser/gpu_data_manager.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 #include "content/public/browser/plugin_service.h" 78 #include "content/public/browser/plugin_service.h"
80 #include "content/public/common/webplugininfo.h" 79 #include "content/public/common/webplugininfo.h"
81 #include "content/public/test/ppapi_test_utils.h" 80 #include "content/public/test/ppapi_test_utils.h"
82 #endif 81 #endif
83 82
84 #if defined(OS_CHROMEOS) 83 #if defined(OS_CHROMEOS)
85 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" 84 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
86 #include "chrome/browser/chromeos/accessibility/speech_monitor.h" 85 #include "chrome/browser/chromeos/accessibility/speech_monitor.h"
87 #endif 86 #endif
88 87
88 #if defined(OS_MACOSX)
89 #include "chrome/browser/task_manager/task_manager_browsertest_util.h"
90 #endif // defined(OS_MACOSX)
91
89 using extensions::ContextMenuMatcher; 92 using extensions::ContextMenuMatcher;
90 using extensions::ExtensionsAPIClient; 93 using extensions::ExtensionsAPIClient;
91 using extensions::MenuItem; 94 using extensions::MenuItem;
92 using guest_view::GuestViewManager; 95 using guest_view::GuestViewManager;
93 using guest_view::TestGuestViewManager; 96 using guest_view::TestGuestViewManager;
94 using guest_view::TestGuestViewManagerFactory; 97 using guest_view::TestGuestViewManagerFactory;
95 using prerender::PrerenderLinkManager; 98 using prerender::PrerenderLinkManager;
96 using prerender::PrerenderLinkManagerFactory; 99 using prerender::PrerenderLinkManagerFactory;
100 using ui::MenuModel;
101
102 #if defined(OS_MACOSX)
97 using task_manager::browsertest_util::MatchAboutBlankTab; 103 using task_manager::browsertest_util::MatchAboutBlankTab;
98 using task_manager::browsertest_util::MatchAnyApp; 104 using task_manager::browsertest_util::MatchAnyApp;
99 using task_manager::browsertest_util::MatchAnyBackground; 105 using task_manager::browsertest_util::MatchAnyBackground;
100 using task_manager::browsertest_util::MatchAnyTab; 106 using task_manager::browsertest_util::MatchAnyTab;
101 using task_manager::browsertest_util::MatchAnyWebView; 107 using task_manager::browsertest_util::MatchAnyWebView;
102 using task_manager::browsertest_util::MatchApp; 108 using task_manager::browsertest_util::MatchApp;
103 using task_manager::browsertest_util::MatchBackground; 109 using task_manager::browsertest_util::MatchBackground;
104 using task_manager::browsertest_util::MatchWebView; 110 using task_manager::browsertest_util::MatchWebView;
105 using task_manager::browsertest_util::WaitForTaskManagerRows; 111 using task_manager::browsertest_util::WaitForTaskManagerRows;
106 using ui::MenuModel; 112 #endif // defined(OS_MACOSX)
107 113
108 namespace { 114 namespace {
109 const char kEmptyResponsePath[] = "/close-socket"; 115 const char kEmptyResponsePath[] = "/close-socket";
110 const char kRedirectResponsePath[] = "/server-redirect"; 116 const char kRedirectResponsePath[] = "/server-redirect";
111 const char kUserAgentRedirectResponsePath[] = "/detect-user-agent"; 117 const char kUserAgentRedirectResponsePath[] = "/detect-user-agent";
112 const char kCacheResponsePath[] = "/cache-control-response"; 118 const char kCacheResponsePath[] = "/cache-control-response";
113 const char kRedirectResponseFullPath[] = 119 const char kRedirectResponseFullPath[] =
114 "/extensions/platform_apps/web_view/shim/guest_redirect.html"; 120 "/extensions/platform_apps/web_view/shim/guest_redirect.html";
115 121
116 class TestInterstitialPageDelegate : public content::InterstitialPageDelegate { 122 class TestInterstitialPageDelegate : public content::InterstitialPageDelegate {
(...skipping 1356 matching lines...) Expand 10 before | Expand all | Expand 10 after
1473 "web_view/noprerenderer"); 1479 "web_view/noprerenderer");
1474 ASSERT_TRUE(guest_web_contents != NULL); 1480 ASSERT_TRUE(guest_web_contents != NULL);
1475 1481
1476 PrerenderLinkManager* prerender_link_manager = 1482 PrerenderLinkManager* prerender_link_manager =
1477 PrerenderLinkManagerFactory::GetForProfile( 1483 PrerenderLinkManagerFactory::GetForProfile(
1478 Profile::FromBrowserContext(guest_web_contents->GetBrowserContext())); 1484 Profile::FromBrowserContext(guest_web_contents->GetBrowserContext()));
1479 ASSERT_TRUE(prerender_link_manager != NULL); 1485 ASSERT_TRUE(prerender_link_manager != NULL);
1480 EXPECT_TRUE(prerender_link_manager->IsEmpty()); 1486 EXPECT_TRUE(prerender_link_manager->IsEmpty());
1481 } 1487 }
1482 1488
1489 // Old Task manager browser tests should only run on mac.
1490 #if defined(OS_MACOSX)
1483 // Verify that existing <webview>'s are detected when the task manager starts 1491 // Verify that existing <webview>'s are detected when the task manager starts
1484 // up. 1492 // up.
1485 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagerExistingWebView) { 1493 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagerExistingWebView) {
tapted 2016/04/27 13:01:45 These need to be moved to a separate file which is
1486 // This test is for the old implementation of the task manager. We must
1487 // explicitly disable the new one.
1488 task_manager::browsertest_util::EnableOldTaskManager();
1489
1490 ASSERT_TRUE(StartEmbeddedTestServer()); 1494 ASSERT_TRUE(StartEmbeddedTestServer());
1491 1495
1492 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html", 1496 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html",
1493 "web_view/task_manager"); 1497 "web_view/task_manager");
1494 1498
1495 chrome::ShowTaskManager(browser()); // Show task manager AFTER guest loads. 1499 chrome::ShowTaskManager(browser()); // Show task manager AFTER guest loads.
1496 1500
1497 const char* guest_title = "WebViewed test content"; 1501 const char* guest_title = "WebViewed test content";
1498 const char* app_name = "<webview> task manager test"; 1502 const char* app_name = "<webview> task manager test";
1499 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchWebView(guest_title))); 1503 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchWebView(guest_title)));
1500 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab())); 1504 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab()));
1501 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchApp(app_name))); 1505 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchApp(app_name)));
1502 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchBackground(app_name))); 1506 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchBackground(app_name)));
1503 1507
1504 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyWebView())); 1508 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyWebView()));
1505 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); 1509 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab()));
1506 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyApp())); 1510 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyApp()));
1507 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyBackground())); 1511 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyBackground()));
1508 } 1512 }
1509 1513
1510 // Verify that the task manager notices the creation of new <webview>'s. 1514 // Verify that the task manager notices the creation of new <webview>'s.
1511 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagerNewWebView) { 1515 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagerNewWebView) {
1512 // This test is for the old implementation of the task manager. We must
1513 // explicitly disable the new one.
1514 task_manager::browsertest_util::EnableOldTaskManager();
1515
1516 ASSERT_TRUE(StartEmbeddedTestServer()); 1516 ASSERT_TRUE(StartEmbeddedTestServer());
1517 1517
1518 chrome::ShowTaskManager(browser()); // Show task manager BEFORE guest loads. 1518 chrome::ShowTaskManager(browser()); // Show task manager BEFORE guest loads.
1519 1519
1520 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html", 1520 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html",
1521 "web_view/task_manager"); 1521 "web_view/task_manager");
1522 1522
1523 const char* guest_title = "WebViewed test content"; 1523 const char* guest_title = "WebViewed test content";
1524 const char* app_name = "<webview> task manager test"; 1524 const char* app_name = "<webview> task manager test";
1525 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchWebView(guest_title))); 1525 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchWebView(guest_title)));
1526 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab())); 1526 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab()));
1527 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchApp(app_name))); 1527 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchApp(app_name)));
1528 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchBackground(app_name))); 1528 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchBackground(app_name)));
1529 1529
1530 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyWebView())); 1530 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyWebView()));
1531 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); 1531 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab()));
1532 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyApp())); 1532 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyApp()));
1533 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyBackground())); 1533 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyBackground()));
1534 } 1534 }
1535 #endif // defined(OS_MACOSX)
1535 1536
1536 // This tests cookie isolation for packaged apps with webview tags. It navigates 1537 // This tests cookie isolation for packaged apps with webview tags. It navigates
1537 // the main browser window to a page that sets a cookie and loads an app with 1538 // the main browser window to a page that sets a cookie and loads an app with
1538 // multiple webview tags. Each tag sets a cookie and the test checks the proper 1539 // multiple webview tags. Each tag sets a cookie and the test checks the proper
1539 // storage isolation is enforced. 1540 // storage isolation is enforced.
1540 IN_PROC_BROWSER_TEST_P(WebViewTest, CookieIsolation) { 1541 IN_PROC_BROWSER_TEST_P(WebViewTest, CookieIsolation) {
1541 ASSERT_TRUE(StartEmbeddedTestServer()); 1542 ASSERT_TRUE(StartEmbeddedTestServer());
1542 // Navigate the browser to a page which writes a sample cookie 1543 // Navigate the browser to a page which writes a sample cookie
1543 // The cookie is "testCookie=1" 1544 // The cookie is "testCookie=1"
1544 GURL set_cookie_url = embedded_test_server()->GetURL( 1545 GURL set_cookie_url = embedded_test_server()->GetURL(
(...skipping 1546 matching lines...) Expand 10 before | Expand all | Expand 10 after
3091 // 4 tasks expected. The order is arbitrary. 3092 // 4 tasks expected. The order is arbitrary.
3092 // Tab: about:blank, 3093 // Tab: about:blank,
3093 // Background Page: <webview> task manager test, 3094 // Background Page: <webview> task manager test,
3094 // App: <webview> task manager test, 3095 // App: <webview> task manager test,
3095 // Webview: WebViewed test content. 3096 // Webview: WebViewed test content.
3096 EXPECT_EQ(4U, task_manager.tasks().size()); 3097 EXPECT_EQ(4U, task_manager.tasks().size());
3097 EXPECT_TRUE(HasExpectedGuestTask(task_manager, guest_contents)); 3098 EXPECT_TRUE(HasExpectedGuestTask(task_manager, guest_contents));
3098 } 3099 }
3099 3100
3100 #endif // defined(ENABLE_TASK_MANAGER) 3101 #endif // defined(ENABLE_TASK_MANAGER)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698