Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1421)

Unified Diff: chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc

Issue 2612663002: Use main frame URL to identify referrer if sub-frame url is not available (Closed)
Patch Set: address comments from nparker@ Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « no previous file | chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698