diff options
-rw-r--r-- | chrome/browser/errorpage_browsertest.cc | 48 | ||||
-rw-r--r-- | chrome/browser/errorpage_uitest.cc | 33 | ||||
-rw-r--r-- | chrome/browser/google_util.cc | 3 | ||||
-rw-r--r-- | chrome/browser/google_util.h | 2 | ||||
-rw-r--r-- | chrome/browser/net/url_request_mock_link_doctor_job.cc | 40 | ||||
-rw-r--r-- | chrome/browser/net/url_request_mock_link_doctor_job.h | 23 | ||||
-rw-r--r-- | chrome/browser/net/url_request_mock_util.cc | 2 | ||||
-rw-r--r-- | chrome/browser/tab_contents/tab_contents.cc | 6 | ||||
-rw-r--r-- | chrome/chrome.gyp | 2 | ||||
-rw-r--r-- | chrome/test/data/mock-link-doctor.html | 4 | ||||
-rw-r--r-- | chrome/test/data/mock-link-doctor.html.mock-http-headers | 2 | ||||
-rw-r--r-- | chrome/test/in_process_browser_test.cc | 3 |
12 files changed, 52 insertions, 116 deletions
diff --git a/chrome/browser/errorpage_browsertest.cc b/chrome/browser/errorpage_browsertest.cc index 2a5a195..338c521 100644 --- a/chrome/browser/errorpage_browsertest.cc +++ b/chrome/browser/errorpage_browsertest.cc @@ -14,6 +14,17 @@ namespace { class ErrorPageBrowserTest : public InProcessBrowserTest { + protected: + // We're generally not sure what the title will be exactly (it comes from + // external source, and may be localized etc), but it will alway contain the + // hostname, so we check for that. + // For a proper way to do that http://crbug.com/18365 has been filed. + void AssertCurrentTabTitleContains(const std::string& text) { + string16 title; + EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); + EXPECT_NE(string16::npos, title.find(ASCIIToUTF16(text))) << + "could not find \"" << text << "\" in \"" << title << "\""; + } }; using ui_test_utils::NavigateToURL; @@ -24,27 +35,23 @@ using ui_test_utils::NavigateToURLBlockUntilNavigationsComplete; IN_PROC_BROWSER_TEST_F(ErrorPageBrowserTest, DNSError_Basic) { GURL test_url(URLRequestFailedDnsJob::kTestUrl); - string16 title; - NavigateToURLBlockUntilNavigationsComplete(browser(), test_url, 2); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); } // Test that a DNS error occuring in the main frame does not result in an // additional session history entry. IN_PROC_BROWSER_TEST_F(ErrorPageBrowserTest, DNSError_GoBack1) { GURL test_url(URLRequestFailedDnsJob::kTestUrl); - string16 title; NavigateToURL(browser(), URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); NavigateToURLBlockUntilNavigationsComplete(browser(), test_url, 2); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); browser()->GoBack(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); + string16 title; ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); EXPECT_EQ(ASCIIToUTF16("Title Of Awesomeness"), title); } @@ -53,22 +60,20 @@ IN_PROC_BROWSER_TEST_F(ErrorPageBrowserTest, DNSError_GoBack1) { // additional session history entry. IN_PROC_BROWSER_TEST_F(ErrorPageBrowserTest, DNSError_GoBack2) { GURL test_url(URLRequestFailedDnsJob::kTestUrl); - string16 title; NavigateToURL(browser(), URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); NavigateToURLBlockUntilNavigationsComplete(browser(), test_url, 2); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); NavigateToURL(browser(), URLRequestMockHTTPJob::GetMockUrl(L"title3.html")); browser()->GoBack(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationsInCurrentTab(browser(), 2)); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); browser()->GoBack(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); + string16 title; ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); EXPECT_EQ(ASCIIToUTF16("Title Of Awesomeness"), title); } @@ -77,54 +82,49 @@ IN_PROC_BROWSER_TEST_F(ErrorPageBrowserTest, DNSError_GoBack2) { // additional session history entry. IN_PROC_BROWSER_TEST_F(ErrorPageBrowserTest, DNSError_GoBackAndForward1) { GURL test_url(URLRequestFailedDnsJob::kTestUrl); - string16 title; NavigateToURL(browser(), URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); NavigateToURLBlockUntilNavigationsComplete(browser(), test_url, 2); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); NavigateToURL(browser(), URLRequestMockHTTPJob::GetMockUrl(L"title3.html")); browser()->GoBack(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationsInCurrentTab(browser(), 2)); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); browser()->GoBack(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); browser()->GoForward(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationsInCurrentTab(browser(), 2)); + AssertCurrentTabTitleContains(test_url.host()); } // Test that a DNS error occuring in the main frame does not result in an // additional session history entry. IN_PROC_BROWSER_TEST_F(ErrorPageBrowserTest, DNSError_GoBackAndForward2) { GURL test_url(URLRequestFailedDnsJob::kTestUrl); - string16 title; NavigateToURL(browser(), URLRequestMockHTTPJob::GetMockUrl(L"title3.html")); NavigateToURLBlockUntilNavigationsComplete(browser(), test_url, 2); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); NavigateToURL(browser(), URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); browser()->GoBack(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationsInCurrentTab(browser(), 2)); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); browser()->GoBack(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); browser()->GoForward(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationsInCurrentTab(browser(), 2)); - EXPECT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); - EXPECT_EQ(ASCIIToUTF16("Mock Link Doctor"), title); + AssertCurrentTabTitleContains(test_url.host()); browser()->GoForward(CURRENT_TAB); ASSERT_TRUE(ui_test_utils::WaitForNavigationInCurrentTab(browser())); + string16 title; ASSERT_TRUE(ui_test_utils::GetCurrentTabTitle(browser(), &title)); EXPECT_EQ(ASCIIToUTF16("Title Of Awesomeness"), title); } diff --git a/chrome/browser/errorpage_uitest.cc b/chrome/browser/errorpage_uitest.cc index 7480157..8a4c3a0 100644 --- a/chrome/browser/errorpage_uitest.cc +++ b/chrome/browser/errorpage_uitest.cc @@ -19,6 +19,15 @@ class ErrorPageTest : public UITest { } return false; } + bool WaitForTitleContaining(const std::string& title_substring) { + for (int i = 0; i < 100; ++i) { + std::wstring title = GetActiveTabTitle(); + if (title.find(UTF8ToWide(title_substring)) != std::wstring::npos) + return true; + PlatformThread::Sleep(sleep_timeout_ms() / 10); + } + return false; + } }; TEST_F(ErrorPageTest, DNSError_Basic) { @@ -26,7 +35,7 @@ TEST_F(ErrorPageTest, DNSError_Basic) { NavigateToURLBlockUntilNavigationsComplete(test_url, 2); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); } // Flaky, see http://crbug.com/19361 and http://crbug.com/19395. @@ -37,7 +46,7 @@ TEST_F(ErrorPageTest, DISABLED_DNSError_GoBack1) { NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); NavigateToURL(test_url); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); GetActiveTab()->GoBack(); @@ -52,11 +61,11 @@ TEST_F(ErrorPageTest, DISABLED_DNSError_GoBack2) { NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); NavigateToURL(test_url); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title3.html")); GetActiveTab()->GoBack(); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); GetActiveTab()->GoBack(); EXPECT_TRUE(WaitForTitleMatching(L"Title Of Awesomeness")); @@ -71,15 +80,15 @@ TEST_F(ErrorPageTest, DISABLED_DNSError_GoBack2AndForward) { NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); NavigateToURL(test_url); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title3.html")); GetActiveTab()->GoBack(); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); GetActiveTab()->GoBack(); GetActiveTab()->GoForward(); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); } // Flaky, see http://crbug.com/19361 and http://crbug.com/19395. @@ -91,14 +100,14 @@ TEST_F(ErrorPageTest, DISABLED_DNSError_GoBack2Forward2) { NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title3.html")); NavigateToURL(test_url); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); GetActiveTab()->GoBack(); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); GetActiveTab()->GoBack(); GetActiveTab()->GoForward(); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining(test_url.host())); GetActiveTab()->GoForward(); EXPECT_TRUE(WaitForTitleMatching(L"Title Of Awesomeness")); @@ -152,13 +161,13 @@ TEST_F(ErrorPageTest, Page404) { NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"page404.html")); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining("page404.html")); } TEST_F(ErrorPageTest, Page404_GoBack) { NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); NavigateToURL(URLRequestMockHTTPJob::GetMockUrl(L"page404.html")); - EXPECT_TRUE(WaitForTitleMatching(L"Mock Link Doctor")); + EXPECT_TRUE(WaitForTitleContaining("page404.html")); GetActiveTab()->GoBack(); diff --git a/chrome/browser/google_util.cc b/chrome/browser/google_util.cc index 9cb5e22..0949d2f 100644 --- a/chrome/browser/google_util.cc +++ b/chrome/browser/google_util.cc @@ -31,9 +31,6 @@ GURL AppendParam(const GURL& url, namespace google_util { -const char kLinkDoctorBaseURL[] = - "http://linkhelp.clients.google.com/tbproxy/lh/fixurl"; - GURL AppendGoogleLocaleParam(const GURL& url) { return AppendParam(url, "hl", g_browser_process->GetApplicationLocale()); diff --git a/chrome/browser/google_util.h b/chrome/browser/google_util.h index a4f99e3..d24ae89 100644 --- a/chrome/browser/google_util.h +++ b/chrome/browser/google_util.h @@ -11,8 +11,6 @@ class GURL; namespace google_util { -extern const char kLinkDoctorBaseURL[]; - // Adds the Google locale string to the URL (e.g., hl=en-US). This does not // check to see if the param already exists. GURL AppendGoogleLocaleParam(const GURL& url); diff --git a/chrome/browser/net/url_request_mock_link_doctor_job.cc b/chrome/browser/net/url_request_mock_link_doctor_job.cc deleted file mode 100644 index 88ef438..0000000 --- a/chrome/browser/net/url_request_mock_link_doctor_job.cc +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) 2009 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 "chrome/browser/net/url_request_mock_link_doctor_job.h" - -#include "base/path_service.h" -#include "chrome/browser/google_util.h" -#include "chrome/common/chrome_paths.h" -#include "googleurl/src/gurl.h" -#include "net/url_request/url_request_filter.h" - -namespace { - -FilePath GetMockFilePath() { - FilePath test_dir; - bool success = PathService::Get(chrome::DIR_TEST_DATA, &test_dir); - DCHECK(success); - return test_dir.AppendASCII("mock-link-doctor.html"); -} - -} // namespace - -/* static */ -URLRequestJob* URLRequestMockLinkDoctorJob::Factory(URLRequest* request, - const std::string& scheme) { - return new URLRequestMockLinkDoctorJob(request); -} - -/* static */ -void URLRequestMockLinkDoctorJob::AddUrlHandler() { - URLRequestFilter* filter = URLRequestFilter::GetInstance(); - filter->AddHostnameHandler("http", - GURL(google_util::kLinkDoctorBaseURL).host(), - URLRequestMockLinkDoctorJob::Factory); -} - -URLRequestMockLinkDoctorJob::URLRequestMockLinkDoctorJob(URLRequest* request) - : URLRequestMockHTTPJob(request, GetMockFilePath()) { -} diff --git a/chrome/browser/net/url_request_mock_link_doctor_job.h b/chrome/browser/net/url_request_mock_link_doctor_job.h deleted file mode 100644 index 74fd00e..0000000 --- a/chrome/browser/net/url_request_mock_link_doctor_job.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) 2009 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. -// -// A URLRequestJob class that substitutes LinkDoctor requests. - -#ifndef CHROME_BROWSER_NET_URL_REQUEST_MOCK_LINK_DOCTOR_JOB_H_ -#define CHROME_BROWSER_NET_URL_REQUEST_MOCK_LINK_DOCTOR_JOB_H_ - -#include "chrome/browser/net/url_request_mock_http_job.h" - -class URLRequestMockLinkDoctorJob : public URLRequestMockHTTPJob { - public: - URLRequestMockLinkDoctorJob(URLRequest* request); - virtual ~URLRequestMockLinkDoctorJob() { } - - static URLRequest::ProtocolFactory Factory; - - // Adds the testing URLs to the URLRequestFilter. - static void AddUrlHandler(); -}; - -# endif // CHROME_BROWSER_NET_URL_REQUEST_MOCK_LINK_DOCTOR_JOB_H_ diff --git a/chrome/browser/net/url_request_mock_util.cc b/chrome/browser/net/url_request_mock_util.cc index 680ed1d..9a559b1 100644 --- a/chrome/browser/net/url_request_mock_util.cc +++ b/chrome/browser/net/url_request_mock_util.cc @@ -10,7 +10,6 @@ #include "chrome/browser/chrome_thread.h" #include "chrome/browser/net/url_request_failed_dns_job.h" #include "chrome/browser/net/url_request_mock_http_job.h" -#include "chrome/browser/net/url_request_mock_link_doctor_job.h" #include "chrome/browser/net/url_request_slow_download_job.h" #include "chrome/browser/net/url_request_slow_http_job.h" #include "chrome/common/chrome_paths.h" @@ -27,7 +26,6 @@ void SetUrlRequestMocksEnabled(bool enabled) { URLRequestFilter::GetInstance()->ClearHandlers(); URLRequestFailedDnsJob::AddUrlHandler(); - URLRequestMockLinkDoctorJob::AddUrlHandler(); URLRequestSlowDownloadJob::AddUrlHandler(); std::wstring root_http; diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc index 7056fe5..18880c1 100644 --- a/chrome/browser/tab_contents/tab_contents.cc +++ b/chrome/browser/tab_contents/tab_contents.cc @@ -141,6 +141,9 @@ const float kMaxHeightFactor = 0.6; // contents. const int kJavascriptMessageExpectedDelay = 1000; +const char kLinkDoctorBaseURL[] = + "http://linkhelp.clients.google.com/tbproxy/lh/fixurl"; + // The list of prefs we want to observe. const wchar_t* kPrefsToObserve[] = { prefs::kAlternateErrorPagesEnabled, @@ -2256,8 +2259,7 @@ GURL TabContents::GetAlternateErrorPageURL() const { PrefService* prefs = profile()->GetPrefs(); DCHECK(prefs); if (prefs->GetBoolean(prefs::kAlternateErrorPagesEnabled)) { - url = google_util::AppendGoogleLocaleParam( - GURL(google_util::kLinkDoctorBaseURL)); + url = google_util::AppendGoogleLocaleParam(GURL(kLinkDoctorBaseURL)); url = google_util::AppendGoogleTLDParam(url); } return url; diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 82f17f5..49f8fa5 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -1449,8 +1449,6 @@ # are currently used by production code in automation_provider.cc. 'browser/net/url_request_mock_http_job.cc', 'browser/net/url_request_mock_http_job.h', - 'browser/net/url_request_mock_link_doctor_job.cc', - 'browser/net/url_request_mock_link_doctor_job.h', 'browser/net/url_request_mock_util.cc', 'browser/net/url_request_mock_util.h', 'browser/net/url_request_slow_download_job.cc', diff --git a/chrome/test/data/mock-link-doctor.html b/chrome/test/data/mock-link-doctor.html deleted file mode 100644 index e1e12a3..0000000 --- a/chrome/test/data/mock-link-doctor.html +++ /dev/null @@ -1,4 +0,0 @@ -<html> -<head><title>Mock Link Doctor</title></head> -<body></body> -</html> diff --git a/chrome/test/data/mock-link-doctor.html.mock-http-headers b/chrome/test/data/mock-link-doctor.html.mock-http-headers deleted file mode 100644 index 57fae25..0000000 --- a/chrome/test/data/mock-link-doctor.html.mock-http-headers +++ /dev/null @@ -1,2 +0,0 @@ -HTTP/1.0 200 OK -Content-type: text/html diff --git a/chrome/test/in_process_browser_test.cc b/chrome/test/in_process_browser_test.cc index 629525b..0c58c55 100644 --- a/chrome/test/in_process_browser_test.cc +++ b/chrome/test/in_process_browser_test.cc @@ -246,6 +246,9 @@ void InProcessBrowserTest::ConfigureHostResolverProc( // TODO(phajdan.jr): remove, http://crbug.com/2635 host_resolver_proc->AllowDirectLookup("*.google.com"); + // TODO(phajdan.jr): remove, http://crbug.com/18365 + host_resolver_proc->AllowDirectLookup("*.gstatic.com"); + // See http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol // We don't want the test code to use it. host_resolver_proc->AddSimulatedFailure("wpad"); |