Index: chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc |
diff --git a/chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc b/chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc |
index e8e1b18e7d15c8bbeff35e881b6d35a1179403bc..1494c49da5cda669ceb890204d2acf90a68214ce 100644 |
--- a/chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc |
+++ b/chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc |
@@ -84,7 +84,10 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { |
GetWebContents()->GetRenderViewHost()->GetRoutingID(); |
extractor_.reset(new PhishingDOMFeatureExtractor(&clock_)); |
- ASSERT_TRUE(StartTestServer()); |
+ embedded_test_server()->RegisterRequestHandler( |
+ base::Bind(&PhishingDOMFeatureExtractorTest::HandleRequest, |
+ base::Unretained(this))); |
+ ASSERT_TRUE(embedded_test_server()->Start()); |
host_resolver()->AddRule("*", "127.0.0.1"); |
} |
@@ -132,15 +135,6 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { |
"document.body.removeChild(document.getElementById('frame1'));")); |
} |
- bool StartTestServer() { |
- CHECK(!embedded_test_server_); |
- embedded_test_server_.reset(new net::test_server::EmbeddedTestServer()); |
- embedded_test_server_->RegisterRequestHandler( |
- base::Bind(&PhishingDOMFeatureExtractorTest::HandleRequest, |
- base::Unretained(this))); |
- return embedded_test_server_->InitializeAndWaitUntilReady(); |
- } |
- |
scoped_ptr<net::test_server::HttpResponse> HandleRequest( |
const net::test_server::HttpRequest& request) { |
std::map<std::string, std::string>::const_iterator host_it = |
@@ -167,7 +161,7 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { |
GURL::Replacements replace; |
replace.SetHostStr(host); |
replace.SetPathStr(path); |
- return embedded_test_server_->base_url().ReplaceComponents(replace); |
+ return embedded_test_server()->base_url().ReplaceComponents(replace); |
} |
// Returns the URL that was loaded. |
@@ -184,7 +178,6 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { |
// Any urls not in this map are served a 404 error. |
std::map<std::string, std::string> responses_; |
- scoped_ptr<net::test_server::EmbeddedTestServer> embedded_test_server_; |
MockFeatureExtractorClock clock_; |
scoped_ptr<PhishingDOMFeatureExtractor> extractor_; |
bool success_; // holds the success value from ExtractFeatures |
@@ -204,10 +197,12 @@ IN_PROC_BROWSER_TEST_F(PhishingDOMFeatureExtractorTest, FormFeatures) { |
std::string("http://cgi.host.com/submit")); |
expected_features.AddBooleanFeature(features::kPageActionURL + |
std::string("http://other.com/")); |
- expected_features.AddBooleanFeature(features::kPageActionURL + |
- std::string("http://host.com:") + |
- base::UintToString(embedded_test_server_->port()) + |
- std::string("/query")); |
+ |
+ GURL url = embedded_test_server()->GetURL("/query"); |
+ GURL::Replacements replace_host; |
+ replace_host.SetHostStr("host.com"); |
+ expected_features.AddBooleanFeature( |
+ features::kPageActionURL + url.ReplaceComponents(replace_host).spec()); |
FeatureMap features; |
LoadHtml( |
@@ -281,18 +276,16 @@ IN_PROC_BROWSER_TEST_F(PhishingDOMFeatureExtractorTest, LinkFeatures) { |
expected_features.AddBooleanFeature(features::kPageLinkDomain + |
std::string("chromium.org")); |
- net::SpawnedTestServer https_server( |
- net::SpawnedTestServer::TYPE_HTTPS, |
- net::SpawnedTestServer::kLocalhost, |
- base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); |
+ net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); |
+ https_server.ServeFilesFromSourceDirectory("chrome/test/data"); |
ASSERT_TRUE(https_server.Start()); |
// The PhishingDOMFeatureExtractor depends on URLs being domains and not IPs, |
// so use a domain. |
- std::string url_str = "https://host.com:"; |
- url_str += base::UintToString(https_server.host_port_pair().port()); |
- url_str += "/files/safe_browsing/secure_link_features.html"; |
- ui_test_utils::NavigateToURL(browser(), GURL(url_str)); |
+ GURL url = https_server.GetURL("/safe_browsing/secure_link_features.html"); |
+ GURL::Replacements replace_host; |
+ replace_host.SetHostStr("host.com"); |
+ ui_test_utils::NavigateToURL(browser(), url.ReplaceComponents(replace_host)); |
// Click through the certificate error interstitial. |
content::InterstitialPage* interstitial_page = |
@@ -332,18 +325,17 @@ IN_PROC_BROWSER_TEST_F(PhishingDOMFeatureExtractorTest, |
expected_features.AddRealFeature(features::kPageImgOtherDomainFreq, 0.5); |
features.Clear(); |
- net::SpawnedTestServer https_server( |
- net::SpawnedTestServer::TYPE_HTTPS, |
- net::SpawnedTestServer::kLocalhost, |
- base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); |
+ net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); |
+ https_server.ServeFilesFromSourceDirectory("chrome/test/data"); |
ASSERT_TRUE(https_server.Start()); |
// The PhishingDOMFeatureExtractor depends on URLs being domains and not IPs, |
// so use a domain. |
- std::string url_str = "https://host.com:"; |
- url_str += base::UintToString(https_server.host_port_pair().port()); |
- url_str += "/files/safe_browsing/secure_script_and_image.html"; |
- ui_test_utils::NavigateToURL(browser(), GURL(url_str)); |
+ GURL url = embedded_test_server()->GetURL( |
+ "/safe_browsing/secure_script_and_image.html"); |
+ GURL::Replacements replace_host; |
+ replace_host.SetHostStr("host.com"); |
+ ui_test_utils::NavigateToURL(browser(), url.ReplaceComponents(replace_host)); |
// Click through the certificate error interstitial. |
content::InterstitialPage* interstitial_page = |
@@ -361,7 +353,6 @@ IN_PROC_BROWSER_TEST_F(PhishingDOMFeatureExtractorTest, SubFrames) { |
// Test that features are aggregated across all frames. |
- std::string port = base::UintToString(embedded_test_server_->port()); |
responses_[GetURL("host2.com", "").spec()] = |
"<html><head><script></script><body>" |
"<form action=\"http://host4.com/\"><input type=checkbox></form>" |
@@ -402,15 +393,19 @@ IN_PROC_BROWSER_TEST_F(PhishingDOMFeatureExtractorTest, SubFrames) { |
std::string("http://host4.com/")); |
FeatureMap features; |
+ GURL url = embedded_test_server()->GetURL("/"); |
+ GURL::Replacements replace_host; |
+ replace_host.SetHostStr("host2.com"); |
+ GURL::Replacements replace_host_2; |
+ replace_host_2.SetHostStr("host3.com"); |
+ |
std::string html( |
"<html><body><input type=text><a href=\"info.html\">link</a>" |
- "<iframe src=\"http://host2.com:"); |
- html += port; |
- html += std::string( |
- "/\"></iframe>" |
- "<iframe src=\"http://host3.com:"); |
- html += port; |
- html += std::string("/\"></iframe></body></html>"); |
+ "<iframe src=\""); |
+ html += url.ReplaceComponents(replace_host).spec(); |
+ html += std::string("\"></iframe><iframe src=\""); |
+ html += url.ReplaceComponents(replace_host_2).spec(); |
+ html += std::string("\"></iframe></body></html>"); |
LoadHtml("host.com", html); |
ASSERT_TRUE(ExtractFeatures(&features)); |
@@ -473,10 +468,11 @@ IN_PROC_BROWSER_TEST_F(PhishingDOMFeatureExtractorTest, MAYBE_Continuation) { |
FeatureMap expected_features; |
expected_features.AddBooleanFeature(features::kPageHasForms); |
expected_features.AddRealFeature(features::kPageActionOtherDomainFreq, 0.5); |
- expected_features.AddBooleanFeature(features::kPageActionURL + |
- std::string("http://host.com:") + |
- base::UintToString(embedded_test_server_->port()) + |
- std::string("/ondomain")); |
+ GURL url = embedded_test_server()->GetURL("/ondomain"); |
+ GURL::Replacements replace_host; |
+ replace_host.SetHostStr("host.com"); |
+ expected_features.AddBooleanFeature( |
+ features::kPageActionURL + url.ReplaceComponents(replace_host).spec()); |
expected_features.AddBooleanFeature(features::kPageActionURL + |
std::string("http://host2.com/")); |