| Index: chrome/browser/safe_browsing/malware_details_unittest.cc
|
| diff --git a/chrome/browser/safe_browsing/malware_details_unittest.cc b/chrome/browser/safe_browsing/malware_details_unittest.cc
|
| index 8b4dae492ac01c696205497cf478a9b2a0f81cf1..57b8c4f93a14460384098fe4267ecf457f5f22a0 100644
|
| --- a/chrome/browser/safe_browsing/malware_details_unittest.cc
|
| +++ b/chrome/browser/safe_browsing/malware_details_unittest.cc
|
| @@ -34,26 +34,30 @@
|
| #include "net/url_request/url_request_context.h"
|
| #include "net/url_request/url_request_context_getter.h"
|
|
|
| -static const char* kOriginalLandingURL = "http://www.originallandingpage.com/";
|
| -static const char* kHttpsURL = "https://www.url.com/";
|
| -static const char* kDOMChildURL = "http://www.domparent.com/";
|
| -static const char* kDOMParentURL = "http://www.domchild.com/";
|
| -static const char* kFirstRedirectURL = "http://redirectone.com/";
|
| -static const char* kSecondRedirectURL = "http://redirecttwo.com/";
|
| -
|
| -static const char* kMalwareURL = "http://www.malware.com/";
|
| +// Mixture of HTTP and HTTPS. No special treatment for HTTPS.
|
| +static const char* kOriginalLandingURL =
|
| + "http://www.originallandingpage.com/with/path";
|
| +static const char* kDOMChildURL = "https://www.domparent.com/with/path";
|
| +static const char* kDOMParentURL = "https://www.domchild.com/with/path";
|
| +static const char* kFirstRedirectURL = "http://redirectone.com/with/path";
|
| +static const char* kSecondRedirectURL = "https://redirecttwo.com/with/path";
|
| +static const char* kReferrerURL = "http://www.referrer.com/with/path";
|
| +
|
| +static const char* kMalwareURL = "http://www.malware.com/with/path";
|
| static const char* kMalwareHeaders =
|
| "HTTP/1.1 200 OK\n"
|
| "Content-Type: image/jpeg\n";
|
| static const char* kMalwareData = "exploit();";
|
|
|
| -static const char* kLandingURL = "http://www.landingpage.com/";
|
| +static const char* kLandingURL = "http://www.landingpage.com/with/path";
|
| static const char* kLandingHeaders =
|
| "HTTP/1.1 200 OK\n"
|
| "Content-Type: text/html\n"
|
| "Content-Length: 1024\n"
|
| "Set-Cookie: tastycookie\n"; // This header is stripped.
|
| -static const char* kLandingData = "<iframe src='http://www.malware.com'>";
|
| +static const char* kLandingData =
|
| + "<iframe src='http://www.malware.com/with/path'>";
|
| +
|
|
|
| using content::BrowserThread;
|
| using content::WebContents;
|
| @@ -131,7 +135,6 @@ class MalwareDetailsWrap : public MalwareDetails {
|
| const SafeBrowsingUIManager::UnsafeResource& unsafe_resource,
|
| net::URLRequestContextGetter* request_context_getter)
|
| : MalwareDetails(ui_manager, web_contents, unsafe_resource) {
|
| -
|
| request_context_getter_ = request_context_getter;
|
| }
|
|
|
| @@ -321,8 +324,10 @@ class MalwareDetailsTest : public ChromeRenderViewHostTestHarness {
|
| // Tests creating a simple malware report.
|
| TEST_F(MalwareDetailsTest, MalwareSubResource) {
|
| // Start a load.
|
| - controller().LoadURL(GURL(kLandingURL), content::Referrer(),
|
| - ui::PAGE_TRANSITION_TYPED, std::string());
|
| + controller().LoadURL(
|
| + GURL(kLandingURL),
|
| + content::Referrer(GURL(kReferrerURL), blink::WebReferrerPolicyDefault),
|
| + ui::PAGE_TRANSITION_TYPED, std::string());
|
|
|
| UnsafeResource resource;
|
| InitResource(&resource, true, GURL(kMalwareURL));
|
| @@ -338,7 +343,9 @@ TEST_F(MalwareDetailsTest, MalwareSubResource) {
|
| ClientMalwareReportRequest expected;
|
| expected.set_malware_url(kMalwareURL);
|
| expected.set_page_url(kLandingURL);
|
| - expected.set_referrer_url("");
|
| + // Note that the referrer policy is not actually enacted here, since that's
|
| + // done in Blink.
|
| + expected.set_referrer_url(kReferrerURL);
|
|
|
| ClientMalwareReportRequest::Resource* pb_resource = expected.add_resources();
|
| pb_resource->set_id(0);
|
| @@ -346,6 +353,9 @@ TEST_F(MalwareDetailsTest, MalwareSubResource) {
|
| pb_resource = expected.add_resources();
|
| pb_resource->set_id(1);
|
| pb_resource->set_url(kMalwareURL);
|
| + pb_resource = expected.add_resources();
|
| + pb_resource->set_id(2);
|
| + pb_resource->set_url(kReferrerURL);
|
|
|
| VerifyResults(actual, expected);
|
| }
|
| @@ -384,7 +394,7 @@ TEST_F(MalwareDetailsTest, MalwareSubResourceWithOriginalUrl) {
|
| pb_resource = expected.add_resources();
|
| pb_resource->set_id(2);
|
| pb_resource->set_url(kMalwareURL);
|
| - // The Resource for kMmalwareUrl should have the Resource for
|
| + // The Resource for kMalwareUrl should have the Resource for
|
| // kOriginalLandingURL (with id 1) as parent.
|
| pb_resource->set_parent_id(1);
|
|
|
| @@ -446,29 +456,6 @@ TEST_F(MalwareDetailsTest, MalwareDOMDetails) {
|
| VerifyResults(actual, expected);
|
| }
|
|
|
| -// Verify that https:// urls are dropped.
|
| -TEST_F(MalwareDetailsTest, NotPublicUrl) {
|
| - controller().LoadURL(GURL(kHttpsURL), content::Referrer(),
|
| - ui::PAGE_TRANSITION_TYPED, std::string());
|
| - UnsafeResource resource;
|
| - InitResource(&resource, true, GURL(kMalwareURL));
|
| - scoped_refptr<MalwareDetailsWrap> report = new MalwareDetailsWrap(
|
| - ui_manager_.get(), web_contents(), resource, NULL);
|
| -
|
| - std::string serialized = WaitForSerializedReport(report.get());
|
| - ClientMalwareReportRequest actual;
|
| - actual.ParseFromString(serialized);
|
| -
|
| - ClientMalwareReportRequest expected;
|
| - expected.set_malware_url(kMalwareURL); // No page_url
|
| - expected.set_referrer_url("");
|
| -
|
| - ClientMalwareReportRequest::Resource* pb_resource = expected.add_resources();
|
| - pb_resource->set_url(kMalwareURL); // Only one resource
|
| -
|
| - VerifyResults(actual, expected);
|
| -}
|
| -
|
| // Tests creating a malware report where there are redirect urls to an unsafe
|
| // resource url
|
| TEST_F(MalwareDetailsTest, MalwareWithRedirectUrl) {
|
| @@ -573,8 +560,8 @@ TEST_F(MalwareDetailsTest, HTTPCache) {
|
| pb_header->set_name("Set-Cookie");
|
| pb_header->set_value(""); // The cookie is dropped.
|
| pb_response->set_body(kLandingData);
|
| - pb_response->set_bodylength(37);
|
| - pb_response->set_bodydigest("9ca97475598a79bc1e8fc9bd6c72cd35");
|
| + pb_response->set_bodylength(47);
|
| + pb_response->set_bodydigest("5abb4e63d806ec2c16a40b2699700554");
|
| pb_response->set_remote_ip("1.2.3.4:80");
|
|
|
| pb_resource = expected.add_resources();
|
|
|