summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/errorpage_browsertest.cc48
-rw-r--r--chrome/browser/errorpage_uitest.cc33
-rw-r--r--chrome/browser/google_util.cc3
-rw-r--r--chrome/browser/google_util.h2
-rw-r--r--chrome/browser/net/url_request_mock_link_doctor_job.cc40
-rw-r--r--chrome/browser/net/url_request_mock_link_doctor_job.h23
-rw-r--r--chrome/browser/net/url_request_mock_util.cc2
-rw-r--r--chrome/browser/tab_contents/tab_contents.cc6
-rw-r--r--chrome/chrome.gyp2
-rw-r--r--chrome/test/data/mock-link-doctor.html4
-rw-r--r--chrome/test/data/mock-link-doctor.html.mock-http-headers2
-rw-r--r--chrome/test/in_process_browser_test.cc3
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");