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

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

Issue 1922683003: Make old task manager tests work against new task manager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix OSX function call namespace 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 | « no previous file | chrome/browser/extensions/app_background_page_apitest.cc » ('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 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"
(...skipping 1465 matching lines...) Expand 10 before | Expand all | Expand 10 after
1476 PrerenderLinkManager* prerender_link_manager = 1476 PrerenderLinkManager* prerender_link_manager =
1477 PrerenderLinkManagerFactory::GetForProfile( 1477 PrerenderLinkManagerFactory::GetForProfile(
1478 Profile::FromBrowserContext(guest_web_contents->GetBrowserContext())); 1478 Profile::FromBrowserContext(guest_web_contents->GetBrowserContext()));
1479 ASSERT_TRUE(prerender_link_manager != NULL); 1479 ASSERT_TRUE(prerender_link_manager != NULL);
1480 EXPECT_TRUE(prerender_link_manager->IsEmpty()); 1480 EXPECT_TRUE(prerender_link_manager->IsEmpty());
1481 } 1481 }
1482 1482
1483 // Verify that existing <webview>'s are detected when the task manager starts 1483 // Verify that existing <webview>'s are detected when the task manager starts
1484 // up. 1484 // up.
1485 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagerExistingWebView) { 1485 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagerExistingWebView) {
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()); 1486 ASSERT_TRUE(StartEmbeddedTestServer());
1491 1487
1492 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html", 1488 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html",
1493 "web_view/task_manager"); 1489 "web_view/task_manager");
1494 1490
1495 chrome::ShowTaskManager(browser()); // Show task manager AFTER guest loads. 1491 chrome::ShowTaskManager(browser()); // Show task manager AFTER guest loads.
1496 1492
1497 const char* guest_title = "WebViewed test content"; 1493 const char* guest_title = "WebViewed test content";
1498 const char* app_name = "<webview> task manager test"; 1494 const char* app_name = "<webview> task manager test";
1499 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchWebView(guest_title))); 1495 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchWebView(guest_title)));
1500 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab())); 1496 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAboutBlankTab()));
1501 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchApp(app_name))); 1497 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchApp(app_name)));
1502 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchBackground(app_name))); 1498 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchBackground(app_name)));
1503 1499
1504 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyWebView())); 1500 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyWebView()));
1505 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab())); 1501 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab()));
1506 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyApp())); 1502 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyApp()));
1507 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyBackground())); 1503 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyBackground()));
1508 } 1504 }
1509 1505
1510 // Verify that the task manager notices the creation of new <webview>'s. 1506 // Verify that the task manager notices the creation of new <webview>'s.
1511 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagerNewWebView) { 1507 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()); 1508 ASSERT_TRUE(StartEmbeddedTestServer());
1517 1509
1518 chrome::ShowTaskManager(browser()); // Show task manager BEFORE guest loads. 1510 chrome::ShowTaskManager(browser()); // Show task manager BEFORE guest loads.
1519 1511
1520 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html", 1512 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html",
1521 "web_view/task_manager"); 1513 "web_view/task_manager");
1522 1514
1523 const char* guest_title = "WebViewed test content"; 1515 const char* guest_title = "WebViewed test content";
1524 const char* app_name = "<webview> task manager test"; 1516 const char* app_name = "<webview> task manager test";
1525 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchWebView(guest_title))); 1517 ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchWebView(guest_title)));
(...skipping 1483 matching lines...) Expand 10 before | Expand all | Expand 10 after
3009 gfx::Point embedder_origin = 3001 gfx::Point embedder_origin =
3010 GetEmbedderWebContents()->GetContainerBounds().origin(); 3002 GetEmbedderWebContents()->GetContainerBounds().origin();
3011 guest_rect.Offset(-embedder_origin.x(), -embedder_origin.y()); 3003 guest_rect.Offset(-embedder_origin.x(), -embedder_origin.y());
3012 3004
3013 // Generate and send synthetic touch event. 3005 // Generate and send synthetic touch event.
3014 content::SimulateTouchPressAt(GetEmbedderWebContents(), 3006 content::SimulateTouchPressAt(GetEmbedderWebContents(),
3015 guest_rect.CenterPoint()); 3007 guest_rect.CenterPoint());
3016 EXPECT_TRUE(aura_webview->HasFocus()); 3008 EXPECT_TRUE(aura_webview->HasFocus());
3017 } 3009 }
3018 #endif 3010 #endif
3019
3020 #if defined(ENABLE_TASK_MANAGER)
3021
3022 namespace {
3023
3024 base::string16 GetExpectedPrefix(content::WebContents* web_contents) {
3025 DCHECK(web_contents);
3026 guest_view::GuestViewBase* guest =
3027 guest_view::GuestViewBase::FromWebContents(web_contents);
3028 DCHECK(guest);
3029
3030 return l10n_util::GetStringFUTF16(guest->GetTaskPrefix(), base::string16());
3031 }
3032
3033 const std::vector<task_management::WebContentsTag*>& GetTrackedTags() {
3034 return task_management::WebContentsTagsManager::GetInstance()->
3035 tracked_tags();
3036 }
3037
3038 bool HasExpectedGuestTask(
3039 const task_management::MockWebContentsTaskManager& task_manager,
3040 content::WebContents* guest_contents) {
3041 bool found = false;
3042 for (auto* task: task_manager.tasks()) {
3043 if (task->GetType() != task_management::Task::GUEST)
3044 continue;
3045 EXPECT_FALSE(found);
3046 found = true;
3047 const base::string16 title = task->title();
3048 const base::string16 expected_prefix = GetExpectedPrefix(guest_contents);
3049 EXPECT_TRUE(base::StartsWith(title, expected_prefix,
3050 base::CompareCase::INSENSITIVE_ASCII));
3051 }
3052 return found;
3053 }
3054
3055 } // namespace
3056
3057 // Tests that the pre-existing WebViews are provided to the task manager.
3058 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagementPreExistingWebViews) {
3059 ASSERT_TRUE(StartEmbeddedTestServer());
3060
3061 // Browser tests start with a single tab.
3062 EXPECT_EQ(1U, GetTrackedTags().size());
3063
3064 content::WebContents* guest_contents =
3065 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html",
3066 "web_view/task_manager");
3067
3068 task_management::MockWebContentsTaskManager task_manager;
3069 task_manager.StartObserving();
3070
3071 // The pre-existing tab and guest tasks are provided.
3072 // 4 tasks expected. The order is arbitrary.
3073 // Tab: about:blank,
3074 // Background Page: <webview> task manager test,
3075 // App: <webview> task manager test,
3076 // Webview: WebViewed test content.
3077 EXPECT_EQ(4U, task_manager.tasks().size());
3078 EXPECT_TRUE(HasExpectedGuestTask(task_manager, guest_contents));
3079 }
3080
3081 // Tests that the post-existing WebViews are provided to the task manager.
3082 IN_PROC_BROWSER_TEST_P(WebViewTest, TaskManagementPostExistingWebViews) {
3083 ASSERT_TRUE(StartEmbeddedTestServer());
3084
3085 // Browser tests start with a single tab.
3086 EXPECT_EQ(1U, GetTrackedTags().size());
3087
3088 task_management::MockWebContentsTaskManager task_manager;
3089 task_manager.StartObserving();
3090
3091 // Only the "about:blank" tab shows at the moment.
3092 ASSERT_EQ(1U, task_manager.tasks().size());
3093 const task_management::Task* about_blank_task = task_manager.tasks().back();
3094 EXPECT_EQ(task_management::Task::RENDERER, about_blank_task->GetType());
3095 EXPECT_EQ(base::UTF8ToUTF16("Tab: about:blank"), about_blank_task->title());
3096
3097 // Now load a guest web view.
3098 content::WebContents* guest_contents =
3099 LoadGuest("/extensions/platform_apps/web_view/task_manager/guest.html",
3100 "web_view/task_manager");
3101 // 4 tasks expected. The order is arbitrary.
3102 // Tab: about:blank,
3103 // Background Page: <webview> task manager test,
3104 // App: <webview> task manager test,
3105 // Webview: WebViewed test content.
3106 EXPECT_EQ(4U, task_manager.tasks().size());
3107 EXPECT_TRUE(HasExpectedGuestTask(task_manager, guest_contents));
3108 }
3109
3110 #endif // defined(ENABLE_TASK_MANAGER)
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/extensions/app_background_page_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698