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

Unified Diff: chrome/browser/renderer_host/test/render_view_host_manager_browsertest.cc

Issue 6575009: Move files out of chrome\browser\renderer_host\test alongside their source. ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 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/renderer_host/test/render_view_host_manager_browsertest.cc
===================================================================
--- chrome/browser/renderer_host/test/render_view_host_manager_browsertest.cc (revision 75800)
+++ chrome/browser/renderer_host/test/render_view_host_manager_browsertest.cc (working copy)
@@ -1,277 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/file_util.h"
-#include "base/path_service.h"
-#include "base/ref_counted.h"
-#include "chrome/browser/download/download_manager.h"
-#include "chrome/browser/extensions/extension_error_reporter.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/renderer_host/site_instance.h"
-#include "chrome/browser/tab_contents/tab_contents.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/common/chrome_paths.h"
-#include "chrome/common/notification_details.h"
-#include "chrome/common/notification_observer.h"
-#include "chrome/common/notification_registrar.h"
-#include "chrome/common/notification_type.h"
-#include "chrome/test/in_process_browser_test.h"
-#include "chrome/test/ui_test_utils.h"
-#include "net/base/net_util.h"
-#include "net/test/test_server.h"
-
-class RenderViewHostManagerTest : public InProcessBrowserTest {
- public:
- RenderViewHostManagerTest() {
- EnableDOMAutomation();
- }
-
- static bool GetFilePathWithHostAndPortReplacement(
- const std::string& original_file_path,
- const net::HostPortPair& host_port_pair,
- std::string* replacement_path) {
- std::vector<net::TestServer::StringPair> replacement_text;
- replacement_text.push_back(
- make_pair("REPLACE_WITH_HOST_AND_PORT", host_port_pair.ToString()));
- return net::TestServer::GetFilePathWithReplacements(
- original_file_path, replacement_text, replacement_path);
- }
-};
-
-// Test for crbug.com/24447. Following a cross-site link with rel=noreferrer
-// and target=_blank should create a new SiteInstance.
-IN_PROC_BROWSER_TEST_F(RenderViewHostManagerTest,
- SwapProcessWithRelNoreferrerAndTargetBlank) {
- // Start two servers with different sites.
- ASSERT_TRUE(test_server()->Start());
- net::TestServer https_server_(
- net::TestServer::TYPE_HTTPS,
- FilePath(FILE_PATH_LITERAL("chrome/test/data")));
- ASSERT_TRUE(https_server_.Start());
-
- // Load a page with links that open in a new window.
- std::string replacement_path;
- ASSERT_TRUE(GetFilePathWithHostAndPortReplacement(
- "files/click-noreferrer-links.html",
- https_server_.host_port_pair(),
- &replacement_path));
- ui_test_utils::NavigateToURL(browser(),
- test_server()->GetURL(replacement_path));
-
- // Get the original SiteInstance for later comparison.
- scoped_refptr<SiteInstance> orig_site_instance(
- browser()->GetSelectedTabContents()->GetSiteInstance());
- EXPECT_TRUE(orig_site_instance != NULL);
-
- // Test clicking a rel=noreferrer + target=blank link.
- bool success = false;
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- browser()->GetSelectedTabContents()->render_view_host(), L"",
- L"window.domAutomationController.send(clickNoRefTargetBlankLink());",
- &success));
- EXPECT_TRUE(success);
- // Wait for the cross-site transition to finish.
- ui_test_utils::WaitForLoadStop(
- &(browser()->GetSelectedTabContents()->controller()));
-
- // Opens in new tab.
- EXPECT_EQ(2, browser()->tab_count());
- EXPECT_EQ(1, browser()->selected_index());
- EXPECT_EQ(L"Title Of Awesomeness",
- browser()->GetSelectedTabContents()->GetTitle());
-
- // Should have a new SiteInstance.
- scoped_refptr<SiteInstance> noref_blank_site_instance(
- browser()->GetSelectedTabContents()->GetSiteInstance());
- EXPECT_NE(orig_site_instance, noref_blank_site_instance);
-}
-
-// Test for crbug.com/24447. Following a cross-site link with just
-// target=_blank should not create a new SiteInstance.
-// Disabled, http://crbug.com/67532.
-IN_PROC_BROWSER_TEST_F(RenderViewHostManagerTest,
- DISABLED_DontSwapProcessWithOnlyTargetBlank) {
- // Start two servers with different sites.
- ASSERT_TRUE(test_server()->Start());
- net::TestServer https_server_(
- net::TestServer::TYPE_HTTPS,
- FilePath(FILE_PATH_LITERAL("chrome/test/data")));
- ASSERT_TRUE(https_server_.Start());
-
- // Load a page with links that open in a new window.
- std::string replacement_path;
- ASSERT_TRUE(GetFilePathWithHostAndPortReplacement(
- "files/click-noreferrer-links.html",
- https_server_.host_port_pair(),
- &replacement_path));
- ui_test_utils::NavigateToURL(browser(),
- test_server()->GetURL(replacement_path));
-
- // Get the original SiteInstance for later comparison.
- scoped_refptr<SiteInstance> orig_site_instance(
- browser()->GetSelectedTabContents()->GetSiteInstance());
- EXPECT_TRUE(orig_site_instance != NULL);
-
- // Test clicking a target=blank link.
- bool success = false;
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- browser()->GetSelectedTabContents()->render_view_host(), L"",
- L"window.domAutomationController.send(clickTargetBlankLink());",
- &success));
- EXPECT_TRUE(success);
- // Wait for the cross-site transition to finish.
- ui_test_utils::WaitForLoadStop(
- &(browser()->GetSelectedTabContents()->controller()));
-
- // Opens in new tab.
- EXPECT_EQ(2, browser()->tab_count());
- EXPECT_EQ(1, browser()->selected_index());
- EXPECT_EQ(L"Title Of Awesomeness",
- browser()->GetSelectedTabContents()->GetTitle());
-
- // Should have the same SiteInstance.
- scoped_refptr<SiteInstance> blank_site_instance(
- browser()->GetSelectedTabContents()->GetSiteInstance());
- EXPECT_EQ(orig_site_instance, blank_site_instance);
-}
-
-// Test for crbug.com/24447. Following a cross-site link with rel=noreferrer
-// and no target=_blank should not create a new SiteInstance.
-IN_PROC_BROWSER_TEST_F(RenderViewHostManagerTest,
- DontSwapProcessWithOnlyRelNoreferrer) {
- // Start two servers with different sites.
- ASSERT_TRUE(test_server()->Start());
- net::TestServer https_server_(
- net::TestServer::TYPE_HTTPS,
- FilePath(FILE_PATH_LITERAL("chrome/test/data")));
- ASSERT_TRUE(https_server_.Start());
-
- // Load a page with links that open in a new window.
- std::string replacement_path;
- ASSERT_TRUE(GetFilePathWithHostAndPortReplacement(
- "files/click-noreferrer-links.html",
- https_server_.host_port_pair(),
- &replacement_path));
- ui_test_utils::NavigateToURL(browser(),
- test_server()->GetURL(replacement_path));
-
- // Get the original SiteInstance for later comparison.
- scoped_refptr<SiteInstance> orig_site_instance(
- browser()->GetSelectedTabContents()->GetSiteInstance());
- EXPECT_TRUE(orig_site_instance != NULL);
-
- // Test clicking a rel=noreferrer link.
- bool success = false;
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- browser()->GetSelectedTabContents()->render_view_host(), L"",
- L"window.domAutomationController.send(clickNoRefLink());",
- &success));
- EXPECT_TRUE(success);
- // Wait for the cross-site transition to finish.
- ui_test_utils::WaitForLoadStop(
- &(browser()->GetSelectedTabContents()->controller()));
-
- // Opens in same tab.
- EXPECT_EQ(1, browser()->tab_count());
- EXPECT_EQ(0, browser()->selected_index());
- EXPECT_EQ(L"Title Of Awesomeness",
- browser()->GetSelectedTabContents()->GetTitle());
-
- // Should have the same SiteInstance.
- scoped_refptr<SiteInstance> noref_site_instance(
- browser()->GetSelectedTabContents()->GetSiteInstance());
- EXPECT_EQ(orig_site_instance, noref_site_instance);
-}
-
-// Hangs flakily in Win, http://crbug.com/45040.
-#if defined(OS_WIN)
-#define MAYBE_ChromeURLAfterDownload DISABLED_ChromeURLAfterDownload
-#else
-#defne MAYBE_ChromeURLAfterDownload ChromeURLAfterDownload
-#endif // defined(OS_WIN)
-
-// Test for crbug.com/14505. This tests that chrome:// urls are still functional
-// after download of a file while viewing another chrome://.
-IN_PROC_BROWSER_TEST_F(RenderViewHostManagerTest,
- MAYBE_ChromeURLAfterDownload) {
- GURL downloads_url("chrome://downloads");
- GURL extensions_url("chrome://extensions");
- FilePath zip_download;
- ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &zip_download));
- zip_download = zip_download.AppendASCII("zip").AppendASCII("test.zip");
- GURL zip_url = net::FilePathToFileURL(zip_download);
-
- ui_test_utils::NavigateToURL(browser(), downloads_url);
- ui_test_utils::NavigateToURL(browser(), zip_url);
- ui_test_utils::WaitForDownloadCount(
- browser()->profile()->GetDownloadManager(), 1);
- ui_test_utils::NavigateToURL(browser(), extensions_url);
-
- TabContents *contents = browser()->GetSelectedTabContents();
- ASSERT_TRUE(contents);
- bool webui_responded = false;
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- contents->render_view_host(),
- L"",
- L"window.domAutomationController.send(window.webui_responded_);",
- &webui_responded));
- EXPECT_TRUE(webui_responded);
-}
-
-class BrowserClosedObserver : public NotificationObserver {
- public:
- explicit BrowserClosedObserver(Browser* browser) {
- registrar_.Add(this, NotificationType::BROWSER_CLOSED,
- Source<Browser>(browser));
- ui_test_utils::RunMessageLoop();
- }
-
- // NotificationObserver
- virtual void Observe(NotificationType type,
- const NotificationSource& source,
- const NotificationDetails& details) {
- switch (type.value) {
- case NotificationType::BROWSER_CLOSED:
- MessageLoopForUI::current()->Quit();
- break;
- }
- }
-
- private:
- NotificationRegistrar registrar_;
-};
-
-// Test for crbug.com/12745. This tests that if a download is initiated from
-// a chrome:// page that has registered and onunload handler, the browser
-// will be able to close.
-// TODO(rafaelw): The fix for 12745 has now also been reverted. Another fix
-// must be found before this can be re-enabled.
-IN_PROC_BROWSER_TEST_F(RenderViewHostManagerTest,
- DISABLED_BrowserCloseAfterDownload) {
- GURL downloads_url("chrome://downloads");
- FilePath zip_download;
- ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &zip_download));
- zip_download = zip_download.AppendASCII("zip").AppendASCII("test.zip");
- ASSERT_TRUE(file_util::PathExists(zip_download));
- GURL zip_url = net::FilePathToFileURL(zip_download);
-
- ui_test_utils::NavigateToURL(browser(), downloads_url);
- TabContents *contents = browser()->GetSelectedTabContents();
- ASSERT_TRUE(contents);
- bool result = false;
- EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
- contents->render_view_host(),
- L"",
- L"window.onunload = function() { var do_nothing = 0; }; "
- L"window.domAutomationController.send(true);",
- &result));
- EXPECT_TRUE(result);
- ui_test_utils::NavigateToURL(browser(), zip_url);
-
- ui_test_utils::WaitForDownloadCount(
- browser()->profile()->GetDownloadManager(), 1);
-
- browser()->CloseWindow();
- BrowserClosedObserver wait_for_close(browser());
-}

Powered by Google App Engine
This is Rietveld 408576698