Index: chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc |
diff --git a/chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc b/chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc |
index 0e4c257f67a5d036f56d4c4f81b0711ccfc24753..e5ce193f1633e2b403d80af40fd60b047a9cb103 100644 |
--- a/chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc |
+++ b/chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc |
@@ -1054,11 +1054,10 @@ IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
// Click a link in a subframe and start download. |
IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
SubFrameDirectDownload) { |
- ui_test_utils::NavigateToURL( |
- browser(), embedded_test_server()->GetURL(kMultiFrameTestURL)); |
+ GURL initial_url = embedded_test_server()->GetURL(kSingleFrameTestURL); |
+ ClickTestLink("sub_frame_download_attribution", 1, initial_url); |
std::string test_name = |
base::StringPrintf("%s', '%s", "iframe1", "iframe_direct_download"); |
- GURL initial_url = embedded_test_server()->GetURL(kSingleFrameTestURL); |
GURL multi_frame_test_url = |
embedded_test_server()->GetURL(kMultiFrameTestURL); |
GURL iframe_url = embedded_test_server()->GetURL(kIframeDirectDownloadURL); |
@@ -1083,8 +1082,8 @@ IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
true, // has_committed |
false, // has_server_redirect |
nav_map->at(initial_url).at(0)); |
- VerifyNavigationEvent(GURL(), // source_url |
- GURL(), // source_main_frame_url |
+ VerifyNavigationEvent(initial_url, // source_url |
+ initial_url, // source_main_frame_url |
multi_frame_test_url, // original_request_url |
multi_frame_test_url, // destination_url |
true, // is_user_initiated, |
@@ -1118,7 +1117,7 @@ IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
VerifyHostToIpMap(); |
auto referrer_chain = IdentifyReferrerChain(GetDownload()); |
- ASSERT_EQ(2U, referrer_chain.size()); |
+ ASSERT_EQ(4U, referrer_chain.size()); |
VerifyReferrerChainEntry(download_url, // url |
ReferrerChainEntry::DOWNLOAD_URL, // type |
test_server_ip, // ip_address |
@@ -1133,16 +1132,29 @@ IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
multi_frame_test_url, // referrer_main_frame_url |
false, // is_retargeting |
referrer_chain[1]); |
+ VerifyReferrerChainEntry(multi_frame_test_url, // url |
+ ReferrerChainEntry::CLIENT_REDIRECT, // type |
+ test_server_ip, // ip_address |
+ initial_url, // referrer_url |
+ initial_url, // referrer_main_frame_url |
+ false, // is_retargeting |
+ referrer_chain[2]); |
+ VerifyReferrerChainEntry(initial_url, // url |
+ ReferrerChainEntry::LANDING_REFERRER, // type |
+ test_server_ip, // ip_address |
+ GURL(), // referrer_url |
+ GURL(), // referrer_main_frame_url |
+ false, // is_retargeting |
+ referrer_chain[3]); |
} |
// Click a link in a subframe and open download in a new tab. |
IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
SubFrameNewTabDownload) { |
- ui_test_utils::NavigateToURL( |
- browser(), embedded_test_server()->GetURL(kMultiFrameTestURL)); |
+ GURL initial_url = embedded_test_server()->GetURL(kSingleFrameTestURL); |
+ ClickTestLink("sub_frame_download_attribution", 1, initial_url); |
std::string test_name = |
base::StringPrintf("%s', '%s", "iframe2", "iframe_new_tab_download"); |
- GURL initial_url = embedded_test_server()->GetURL(kSingleFrameTestURL); |
GURL multi_frame_test_url = |
embedded_test_server()->GetURL(kMultiFrameTestURL); |
GURL iframe_url = embedded_test_server()->GetURL(kIframeDirectDownloadURL); |
@@ -1154,7 +1166,7 @@ IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
std::string test_server_ip(embedded_test_server()->host_port_pair().host()); |
auto nav_map = navigation_map(); |
ASSERT_TRUE(nav_map); |
- ASSERT_EQ(std::size_t(6), nav_map->size()); |
+ ASSERT_EQ(6U, nav_map->size()); |
ASSERT_EQ(1U, nav_map->at(multi_frame_test_url).size()); |
ASSERT_EQ(1U, nav_map->at(iframe_url).size()); |
ASSERT_EQ(1U, nav_map->at(iframe_retargeting_url).size()); |
@@ -1169,8 +1181,8 @@ IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
true, // has_committed |
false, // has_server_redirect |
nav_map->at(initial_url).at(0)); |
- VerifyNavigationEvent(GURL(), // source_url |
- GURL(), // source_main_frame_url |
+ VerifyNavigationEvent(initial_url, // source_url |
+ initial_url, // source_main_frame_url |
multi_frame_test_url, // original_request_url |
multi_frame_test_url, // destination_url |
true, // is_user_initiated, |
@@ -1220,7 +1232,7 @@ IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
VerifyHostToIpMap(); |
auto referrer_chain = IdentifyReferrerChain(GetDownload()); |
- EXPECT_EQ(std::size_t(3), referrer_chain.size()); |
+ EXPECT_EQ(5U, referrer_chain.size()); |
VerifyReferrerChainEntry(download_url, // url |
ReferrerChainEntry::DOWNLOAD_URL, // type |
test_server_ip, // ip_address |
@@ -1242,6 +1254,20 @@ IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
multi_frame_test_url, // referrer_main_frame_url |
false, // is_retargeting |
referrer_chain[2]); |
+ VerifyReferrerChainEntry(multi_frame_test_url, // url |
+ ReferrerChainEntry::CLIENT_REDIRECT, // type |
+ test_server_ip, // ip_address |
+ initial_url, // referrer_url |
+ initial_url, // referrer_main_frame_url |
+ false, // is_retargeting |
+ referrer_chain[3]); |
+ VerifyReferrerChainEntry(initial_url, // url |
+ ReferrerChainEntry::LANDING_REFERRER, // type |
+ test_server_ip, // ip_address |
+ GURL(), // referrer_url |
+ GURL(), // referrer_main_frame_url |
+ false, // is_retargeting |
+ referrer_chain[4]); |
} |
// Click a link which redirects to the landing page, and then click on the |