OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/strings/stringprintf.h" | 5 #include "base/strings/stringprintf.h" |
6 #include "chrome/browser/chrome_notification_types.h" | 6 #include "chrome/browser/chrome_notification_types.h" |
7 #include "chrome/browser/download/download_prefs.h" | 7 #include "chrome/browser/download/download_prefs.h" |
8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
9 #include "chrome/browser/safe_browsing/download_protection_service.h" | 9 #include "chrome/browser/safe_browsing/download_protection_service.h" |
10 #include "chrome/browser/safe_browsing/safe_browsing_navigation_observer.h" | 10 #include "chrome/browser/safe_browsing/safe_browsing_navigation_observer.h" |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 } else { | 243 } else { |
244 ASSERT_EQ(1, actual_entry.ip_addresses_size()); | 244 ASSERT_EQ(1, actual_entry.ip_addresses_size()); |
245 EXPECT_EQ(expected_ip_address, actual_entry.ip_addresses(0)); | 245 EXPECT_EQ(expected_ip_address, actual_entry.ip_addresses(0)); |
246 } | 246 } |
247 EXPECT_EQ(expected_referrer_url.spec(), actual_entry.referrer_url()); | 247 EXPECT_EQ(expected_referrer_url.spec(), actual_entry.referrer_url()); |
248 EXPECT_EQ(expected_referrer_main_frame_url.spec(), | 248 EXPECT_EQ(expected_referrer_main_frame_url.spec(), |
249 actual_entry.referrer_main_frame_url()); | 249 actual_entry.referrer_main_frame_url()); |
250 EXPECT_EQ(expected_is_retargeting, actual_entry.is_retargeting()); | 250 EXPECT_EQ(expected_is_retargeting, actual_entry.is_retargeting()); |
251 } | 251 } |
252 | 252 |
253 std::vector<ReferrerChainEntry> IdentifyReferrerChain( | 253 std::vector<ReferrerChainEntry> IdentifyReferrerChainForDownload( |
254 DownloadItem* download) { | 254 DownloadItem* download) { |
255 std::vector<ReferrerChainEntry> referrer_chain; | 255 std::vector<ReferrerChainEntry> referrer_chain; |
256 int download_tab_id = | 256 int download_tab_id = |
257 SessionTabHelper::IdForTab(download->GetWebContents()); | 257 SessionTabHelper::IdForTab(download->GetWebContents()); |
258 // IdentifyReferrerChain should return SUCCESS(1), SUCCESS_LANDING_PAGE(2), | 258 // IdentifyReferrerChain should return SUCCESS(1), SUCCESS_LANDING_PAGE(2), |
259 // or SUCCESS_LANDING_REFERRER(3) in all these tests. | 259 // or SUCCESS_LANDING_REFERRER(3) in all these tests. |
260 EXPECT_LE(observer_manager_->IdentifyReferrerChain( | 260 EXPECT_LE(observer_manager_->IdentifyReferrerChainForDownload( |
261 download->GetURL(), download_tab_id, | 261 download->GetURL(), download_tab_id, |
262 2, // kDownloadAttributionUserGestureLimit | 262 2, // kDownloadAttributionUserGestureLimit |
263 &referrer_chain), | 263 &referrer_chain), |
264 SafeBrowsingNavigationObserverManager::SUCCESS_LANDING_REFERRER); | 264 SafeBrowsingNavigationObserverManager::SUCCESS_LANDING_REFERRER); |
265 return referrer_chain; | 265 return referrer_chain; |
266 } | 266 } |
267 | 267 |
| 268 std::vector<ReferrerChainEntry> IdentifyReferrerChainForPPAPIDownload( |
| 269 const GURL& initiating_frame_url, |
| 270 content::WebContents* web_contents) { |
| 271 std::vector<ReferrerChainEntry> referrer_chain; |
| 272 EXPECT_LE(observer_manager_->IdentifyReferrerChainForPPAPIDownload( |
| 273 initiating_frame_url, |
| 274 web_contents, |
| 275 2, // kDownloadAttributionUserGestureLimit) |
| 276 &referrer_chain), |
| 277 SafeBrowsingNavigationObserverManager::SUCCESS_LANDING_REFERRER); |
| 278 return referrer_chain; |
| 279 } |
| 280 |
268 void VerifyHostToIpMap() { | 281 void VerifyHostToIpMap() { |
269 // Since all testing pages have the same host, there is only one entry in | 282 // Since all testing pages have the same host, there is only one entry in |
270 // host_to_ip_map_. | 283 // host_to_ip_map_. |
271 SafeBrowsingNavigationObserverManager::HostToIpMap* actual_host_ip_map = | 284 SafeBrowsingNavigationObserverManager::HostToIpMap* actual_host_ip_map = |
272 host_to_ip_map(); | 285 host_to_ip_map(); |
273 ASSERT_EQ(1U, actual_host_ip_map->size()); | 286 ASSERT_EQ(1U, actual_host_ip_map->size()); |
274 auto ip_list = | 287 auto ip_list = |
275 actual_host_ip_map->at(embedded_test_server()->base_url().host()); | 288 actual_host_ip_map->at(embedded_test_server()->base_url().host()); |
276 ASSERT_EQ(1U, ip_list.size()); | 289 ASSERT_EQ(1U, ip_list.size()); |
277 EXPECT_EQ(embedded_test_server()->host_port_pair().host(), | 290 EXPECT_EQ(embedded_test_server()->host_port_pair().host(), |
278 ip_list.back().ip); | 291 ip_list.back().ip); |
279 } | 292 } |
280 | 293 |
| 294 void SimulateUserGesture(){ |
| 295 observer_manager_->RecordUserGestureForWebContents( |
| 296 browser()->tab_strip_model()->GetActiveWebContents(), |
| 297 base::Time::Now()); |
| 298 } |
| 299 |
281 SafeBrowsingNavigationObserverManager::NavigationMap* navigation_map() { | 300 SafeBrowsingNavigationObserverManager::NavigationMap* navigation_map() { |
282 return observer_manager_->navigation_map(); | 301 return observer_manager_->navigation_map(); |
283 } | 302 } |
284 | 303 |
285 SafeBrowsingNavigationObserverManager::HostToIpMap* host_to_ip_map() { | 304 SafeBrowsingNavigationObserverManager::HostToIpMap* host_to_ip_map() { |
286 return observer_manager_->host_to_ip_map(); | 305 return observer_manager_->host_to_ip_map(); |
287 } | 306 } |
288 | 307 |
289 protected: | 308 protected: |
290 SafeBrowsingNavigationObserverManager* observer_manager_; | 309 SafeBrowsingNavigationObserverManager* observer_manager_; |
(...skipping 26 matching lines...) Expand all Loading... |
317 VerifyNavigationEvent(GURL(), // source_url | 336 VerifyNavigationEvent(GURL(), // source_url |
318 GURL(), // source_main_frame_url | 337 GURL(), // source_main_frame_url |
319 download_url, // original_request_url | 338 download_url, // original_request_url |
320 download_url, // destination_url | 339 download_url, // destination_url |
321 true, // is_user_initiated, | 340 true, // is_user_initiated, |
322 false, // has_committed | 341 false, // has_committed |
323 false, // has_server_redirect | 342 false, // has_server_redirect |
324 nav_map->at(download_url).at(0)); | 343 nav_map->at(download_url).at(0)); |
325 VerifyHostToIpMap(); | 344 VerifyHostToIpMap(); |
326 | 345 |
327 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 346 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
328 ASSERT_EQ(1U, referrer_chain.size()); | 347 ASSERT_EQ(1U, referrer_chain.size()); |
329 VerifyReferrerChainEntry(download_url, // url | 348 VerifyReferrerChainEntry(download_url, // url |
330 ReferrerChainEntry::DOWNLOAD_URL, // type | 349 ReferrerChainEntry::DOWNLOAD_URL, // type |
331 test_server_ip, // ip_address | 350 test_server_ip, // ip_address |
332 GURL(), // referrer_url | 351 GURL(), // referrer_url |
333 GURL(), // referrer_main_frame_url | 352 GURL(), // referrer_main_frame_url |
334 false, // is_retargeting | 353 false, // is_retargeting |
335 referrer_chain[0]); | 354 referrer_chain[0]); |
336 } | 355 } |
337 // Click on a link and start download on the same page. | 356 // Click on a link and start download on the same page. |
(...skipping 18 matching lines...) Expand all Loading... |
356 VerifyNavigationEvent(initial_url, // source_url | 375 VerifyNavigationEvent(initial_url, // source_url |
357 initial_url, // source_main_frame_url | 376 initial_url, // source_main_frame_url |
358 download_url, // original_request_url | 377 download_url, // original_request_url |
359 download_url, // destination_url | 378 download_url, // destination_url |
360 true, // is_user_initiated, | 379 true, // is_user_initiated, |
361 false, // has_committed | 380 false, // has_committed |
362 false, // has_server_redirect | 381 false, // has_server_redirect |
363 nav_map->at(download_url).at(0)); | 382 nav_map->at(download_url).at(0)); |
364 VerifyHostToIpMap(); | 383 VerifyHostToIpMap(); |
365 | 384 |
366 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 385 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
367 ASSERT_EQ(2U, referrer_chain.size()); | 386 ASSERT_EQ(2U, referrer_chain.size()); |
368 VerifyReferrerChainEntry(download_url, // url | 387 VerifyReferrerChainEntry(download_url, // url |
369 ReferrerChainEntry::DOWNLOAD_URL, // type | 388 ReferrerChainEntry::DOWNLOAD_URL, // type |
370 test_server_ip, // ip_address | 389 test_server_ip, // ip_address |
371 initial_url, // referrer_url | 390 initial_url, // referrer_url |
372 initial_url, // referrer_main_frame_url | 391 initial_url, // referrer_main_frame_url |
373 false, // is_retargeting | 392 false, // is_retargeting |
374 referrer_chain[0]); | 393 referrer_chain[0]); |
375 VerifyReferrerChainEntry(initial_url, // url | 394 VerifyReferrerChainEntry(initial_url, // url |
376 ReferrerChainEntry::LANDING_PAGE, // type | 395 ReferrerChainEntry::LANDING_PAGE, // type |
(...skipping 28 matching lines...) Expand all Loading... |
405 VerifyNavigationEvent(initial_url, // source_url | 424 VerifyNavigationEvent(initial_url, // source_url |
406 initial_url, // source_main_frame_url | 425 initial_url, // source_main_frame_url |
407 download_url, // original_request_url | 426 download_url, // original_request_url |
408 download_url, // destination_url | 427 download_url, // destination_url |
409 true, // is_user_initiated, | 428 true, // is_user_initiated, |
410 false, // has_committed | 429 false, // has_committed |
411 false, // has_server_redirect | 430 false, // has_server_redirect |
412 nav_map->at(download_url).at(0)); | 431 nav_map->at(download_url).at(0)); |
413 VerifyHostToIpMap(); | 432 VerifyHostToIpMap(); |
414 | 433 |
415 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 434 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
416 ASSERT_EQ(2U, referrer_chain.size()); | 435 ASSERT_EQ(2U, referrer_chain.size()); |
417 VerifyReferrerChainEntry(download_url, // url | 436 VerifyReferrerChainEntry(download_url, // url |
418 ReferrerChainEntry::DOWNLOAD_URL, // type | 437 ReferrerChainEntry::DOWNLOAD_URL, // type |
419 test_server_ip, // ip_address | 438 test_server_ip, // ip_address |
420 initial_url, // referrer_url | 439 initial_url, // referrer_url |
421 initial_url, // referrer_main_frame_url | 440 initial_url, // referrer_main_frame_url |
422 false, // is_retargeting | 441 false, // is_retargeting |
423 referrer_chain[0]); | 442 referrer_chain[0]); |
424 VerifyReferrerChainEntry(initial_url, // url | 443 VerifyReferrerChainEntry(initial_url, // url |
425 ReferrerChainEntry::LANDING_PAGE, // type | 444 ReferrerChainEntry::LANDING_PAGE, // type |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 VerifyNavigationEvent(GURL(), // source_url | 487 VerifyNavigationEvent(GURL(), // source_url |
469 GURL(), // source_main_frame_url | 488 GURL(), // source_main_frame_url |
470 download_url, // original_request_url | 489 download_url, // original_request_url |
471 download_url, // destination_url | 490 download_url, // destination_url |
472 false, // is_user_initiated, | 491 false, // is_user_initiated, |
473 false, // has_committed | 492 false, // has_committed |
474 false, // has_server_redirect | 493 false, // has_server_redirect |
475 nav_map->at(download_url).at(1)); | 494 nav_map->at(download_url).at(1)); |
476 VerifyHostToIpMap(); | 495 VerifyHostToIpMap(); |
477 | 496 |
478 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 497 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
479 ASSERT_EQ(2U, referrer_chain.size()); | 498 ASSERT_EQ(2U, referrer_chain.size()); |
480 VerifyReferrerChainEntry(download_url, // url | 499 VerifyReferrerChainEntry(download_url, // url |
481 ReferrerChainEntry::DOWNLOAD_URL, // type | 500 ReferrerChainEntry::DOWNLOAD_URL, // type |
482 test_server_ip, // ip_address | 501 test_server_ip, // ip_address |
483 initial_url, // referrer_url | 502 initial_url, // referrer_url |
484 initial_url, // referrer_main_frame_url | 503 initial_url, // referrer_main_frame_url |
485 true, // is_retargeting | 504 true, // is_retargeting |
486 referrer_chain[0]); | 505 referrer_chain[0]); |
487 VerifyReferrerChainEntry(initial_url, // url | 506 VerifyReferrerChainEntry(initial_url, // url |
488 ReferrerChainEntry::LANDING_PAGE, // type | 507 ReferrerChainEntry::LANDING_PAGE, // type |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 VerifyNavigationEvent(redirect_url, // source_url | 548 VerifyNavigationEvent(redirect_url, // source_url |
530 redirect_url, // source_main_frame_url | 549 redirect_url, // source_main_frame_url |
531 download_url, // original_request_url | 550 download_url, // original_request_url |
532 download_url, // destination_url | 551 download_url, // destination_url |
533 false, // is_user_initiated, | 552 false, // is_user_initiated, |
534 false, // has_committed | 553 false, // has_committed |
535 false, // has_server_redirect | 554 false, // has_server_redirect |
536 nav_map->at(download_url).at(0)); | 555 nav_map->at(download_url).at(0)); |
537 VerifyHostToIpMap(); | 556 VerifyHostToIpMap(); |
538 | 557 |
539 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 558 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
540 ASSERT_EQ(std::size_t(3), referrer_chain.size()); | 559 ASSERT_EQ(std::size_t(3), referrer_chain.size()); |
541 VerifyReferrerChainEntry(download_url, // url | 560 VerifyReferrerChainEntry(download_url, // url |
542 ReferrerChainEntry::DOWNLOAD_URL, // type | 561 ReferrerChainEntry::DOWNLOAD_URL, // type |
543 test_server_ip, // ip_address | 562 test_server_ip, // ip_address |
544 redirect_url, // referrer_url | 563 redirect_url, // referrer_url |
545 redirect_url, // referrer_main_frame_url | 564 redirect_url, // referrer_main_frame_url |
546 false, // is_retargeting | 565 false, // is_retargeting |
547 referrer_chain[0]); | 566 referrer_chain[0]); |
548 VerifyReferrerChainEntry(redirect_url, // url | 567 VerifyReferrerChainEntry(redirect_url, // url |
549 ReferrerChainEntry::CLIENT_REDIRECT, // type | 568 ReferrerChainEntry::CLIENT_REDIRECT, // type |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
606 VerifyNavigationEvent(redirect_url, // source_url | 625 VerifyNavigationEvent(redirect_url, // source_url |
607 redirect_url, // source_main_frame_url | 626 redirect_url, // source_main_frame_url |
608 download_url, // original_request_url | 627 download_url, // original_request_url |
609 download_url, // destination_url | 628 download_url, // destination_url |
610 false, // is_user_initiated, | 629 false, // is_user_initiated, |
611 false, // has_committed | 630 false, // has_committed |
612 false, // has_server_redirect | 631 false, // has_server_redirect |
613 nav_map->at(download_url).at(0)); | 632 nav_map->at(download_url).at(0)); |
614 VerifyHostToIpMap(); | 633 VerifyHostToIpMap(); |
615 | 634 |
616 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 635 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
617 ASSERT_EQ(std::size_t(3), referrer_chain.size()); | 636 ASSERT_EQ(std::size_t(3), referrer_chain.size()); |
618 VerifyReferrerChainEntry(download_url, // url | 637 VerifyReferrerChainEntry(download_url, // url |
619 ReferrerChainEntry::DOWNLOAD_URL, // type | 638 ReferrerChainEntry::DOWNLOAD_URL, // type |
620 test_server_ip, // ip_address | 639 test_server_ip, // ip_address |
621 redirect_url, // referrer_url | 640 redirect_url, // referrer_url |
622 redirect_url, // referrer_main_frame_url | 641 redirect_url, // referrer_main_frame_url |
623 false, // is_retargeting | 642 false, // is_retargeting |
624 referrer_chain[0]); | 643 referrer_chain[0]); |
625 VerifyReferrerChainEntry(redirect_url, // url | 644 VerifyReferrerChainEntry(redirect_url, // url |
626 ReferrerChainEntry::CLIENT_REDIRECT, // type | 645 ReferrerChainEntry::CLIENT_REDIRECT, // type |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
684 VerifyNavigationEvent(second_redirect_url, // source_url | 703 VerifyNavigationEvent(second_redirect_url, // source_url |
685 second_redirect_url, // source_main_frame_url | 704 second_redirect_url, // source_main_frame_url |
686 download_url, // original_request_url | 705 download_url, // original_request_url |
687 download_url, // destination_url | 706 download_url, // destination_url |
688 false, // is_user_initiated, | 707 false, // is_user_initiated, |
689 false, // has_committed | 708 false, // has_committed |
690 false, // has_server_redirect | 709 false, // has_server_redirect |
691 nav_map->at(download_url).at(0)); | 710 nav_map->at(download_url).at(0)); |
692 VerifyHostToIpMap(); | 711 VerifyHostToIpMap(); |
693 | 712 |
694 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 713 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
695 ASSERT_EQ(std::size_t(4), referrer_chain.size()); | 714 ASSERT_EQ(std::size_t(4), referrer_chain.size()); |
696 VerifyReferrerChainEntry(download_url, // url | 715 VerifyReferrerChainEntry(download_url, // url |
697 ReferrerChainEntry::DOWNLOAD_URL, // type | 716 ReferrerChainEntry::DOWNLOAD_URL, // type |
698 test_server_ip, // ip_address | 717 test_server_ip, // ip_address |
699 second_redirect_url, // referrer_url | 718 second_redirect_url, // referrer_url |
700 second_redirect_url, // referrer_main_frame_url | 719 second_redirect_url, // referrer_main_frame_url |
701 false, // is_retargeting | 720 false, // is_retargeting |
702 referrer_chain[0]); | 721 referrer_chain[0]); |
703 VerifyReferrerChainEntry(second_redirect_url, // url | 722 VerifyReferrerChainEntry(second_redirect_url, // url |
704 ReferrerChainEntry::CLIENT_REDIRECT, // type | 723 ReferrerChainEntry::CLIENT_REDIRECT, // type |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
746 nav_map->at(initial_url).at(0)); | 765 nav_map->at(initial_url).at(0)); |
747 VerifyNavigationEvent(initial_url, // source_url | 766 VerifyNavigationEvent(initial_url, // source_url |
748 initial_url, // source_main_frame_url | 767 initial_url, // source_main_frame_url |
749 download_url, // original_request_url | 768 download_url, // original_request_url |
750 download_url, // destination_url | 769 download_url, // destination_url |
751 true, // is_user_initiated, | 770 true, // is_user_initiated, |
752 false, // has_committed | 771 false, // has_committed |
753 false, // has_server_redirect | 772 false, // has_server_redirect |
754 nav_map->at(download_url).at(0)); | 773 nav_map->at(download_url).at(0)); |
755 | 774 |
756 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 775 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
757 ASSERT_EQ(2U, referrer_chain.size()); | 776 ASSERT_EQ(2U, referrer_chain.size()); |
758 VerifyReferrerChainEntry(download_url, // url | 777 VerifyReferrerChainEntry(download_url, // url |
759 ReferrerChainEntry::DOWNLOAD_URL, // type | 778 ReferrerChainEntry::DOWNLOAD_URL, // type |
760 test_server_ip, // ip_address | 779 test_server_ip, // ip_address |
761 initial_url, // referrer_url | 780 initial_url, // referrer_url |
762 initial_url, // referrer_main_frame_url | 781 initial_url, // referrer_main_frame_url |
763 false, // is_retargeting | 782 false, // is_retargeting |
764 referrer_chain[0]); | 783 referrer_chain[0]); |
765 VerifyReferrerChainEntry(initial_url, // url | 784 VerifyReferrerChainEntry(initial_url, // url |
766 ReferrerChainEntry::LANDING_PAGE, // type | 785 ReferrerChainEntry::LANDING_PAGE, // type |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
805 VerifyNavigationEvent(redirect_url, // source_url | 824 VerifyNavigationEvent(redirect_url, // source_url |
806 redirect_url, // source_main_frame_url | 825 redirect_url, // source_main_frame_url |
807 download_url, // original_request_url | 826 download_url, // original_request_url |
808 download_url, // destination_url | 827 download_url, // destination_url |
809 false, // is_user_initiated, | 828 false, // is_user_initiated, |
810 false, // has_committed | 829 false, // has_committed |
811 false, // has_server_redirect | 830 false, // has_server_redirect |
812 nav_map->at(download_url).at(0)); | 831 nav_map->at(download_url).at(0)); |
813 VerifyHostToIpMap(); | 832 VerifyHostToIpMap(); |
814 | 833 |
815 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 834 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
816 ASSERT_EQ(std::size_t(3), referrer_chain.size()); | 835 ASSERT_EQ(std::size_t(3), referrer_chain.size()); |
817 VerifyReferrerChainEntry(download_url, // url | 836 VerifyReferrerChainEntry(download_url, // url |
818 ReferrerChainEntry::DOWNLOAD_URL, // type | 837 ReferrerChainEntry::DOWNLOAD_URL, // type |
819 test_server_ip, // ip_address | 838 test_server_ip, // ip_address |
820 redirect_url, // referrer_url | 839 redirect_url, // referrer_url |
821 redirect_url, // referrer_main_frame_url | 840 redirect_url, // referrer_main_frame_url |
822 false, // is_retargeting | 841 false, // is_retargeting |
823 referrer_chain[0]); | 842 referrer_chain[0]); |
824 VerifyReferrerChainEntry(redirect_url, // url | 843 VerifyReferrerChainEntry(redirect_url, // url |
825 ReferrerChainEntry::CLIENT_REDIRECT, // type | 844 ReferrerChainEntry::CLIENT_REDIRECT, // type |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
884 download_url, // original_request_url | 903 download_url, // original_request_url |
885 download_url, // destination_url | 904 download_url, // destination_url |
886 false, // is_user_initiated, | 905 false, // is_user_initiated, |
887 false, // has_committed | 906 false, // has_committed |
888 false, // has_server_redirect | 907 false, // has_server_redirect |
889 nav_map->at(download_url).at(0)); | 908 nav_map->at(download_url).at(0)); |
890 EXPECT_EQ(nav_map->at(download_url).at(0).source_tab_id, | 909 EXPECT_EQ(nav_map->at(download_url).at(0).source_tab_id, |
891 nav_map->at(download_url).at(0).target_tab_id); | 910 nav_map->at(download_url).at(0).target_tab_id); |
892 VerifyHostToIpMap(); | 911 VerifyHostToIpMap(); |
893 | 912 |
894 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 913 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
895 ASSERT_EQ(std::size_t(3), referrer_chain.size()); | 914 ASSERT_EQ(std::size_t(3), referrer_chain.size()); |
896 VerifyReferrerChainEntry(download_url, // url | 915 VerifyReferrerChainEntry(download_url, // url |
897 ReferrerChainEntry::DOWNLOAD_URL, // type | 916 ReferrerChainEntry::DOWNLOAD_URL, // type |
898 test_server_ip, // ip_address | 917 test_server_ip, // ip_address |
899 blank_url, // referrer_url | 918 blank_url, // referrer_url |
900 blank_url, // referrer_main_frame_url | 919 blank_url, // referrer_main_frame_url |
901 false, // is_retargeting | 920 false, // is_retargeting |
902 referrer_chain[0]); | 921 referrer_chain[0]); |
903 VerifyReferrerChainEntry(blank_url, // url | 922 VerifyReferrerChainEntry(blank_url, // url |
904 ReferrerChainEntry::CLIENT_REDIRECT, // type | 923 ReferrerChainEntry::CLIENT_REDIRECT, // type |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
965 download_url, // original_request_url | 984 download_url, // original_request_url |
966 download_url, // destination_url | 985 download_url, // destination_url |
967 false, // is_user_initiated, | 986 false, // is_user_initiated, |
968 false, // has_committed | 987 false, // has_committed |
969 false, // has_server_redirect | 988 false, // has_server_redirect |
970 nav_map->at(download_url).at(0)); | 989 nav_map->at(download_url).at(0)); |
971 EXPECT_TRUE(nav_map->at(download_url).at(0).source_tab_id == | 990 EXPECT_TRUE(nav_map->at(download_url).at(0).source_tab_id == |
972 nav_map->at(download_url).at(0).target_tab_id); | 991 nav_map->at(download_url).at(0).target_tab_id); |
973 VerifyHostToIpMap(); | 992 VerifyHostToIpMap(); |
974 | 993 |
975 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 994 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
976 ASSERT_EQ(std::size_t(3), referrer_chain.size()); | 995 ASSERT_EQ(std::size_t(3), referrer_chain.size()); |
977 VerifyReferrerChainEntry(download_url, // url | 996 VerifyReferrerChainEntry(download_url, // url |
978 ReferrerChainEntry::DOWNLOAD_URL, // type | 997 ReferrerChainEntry::DOWNLOAD_URL, // type |
979 "", // ip_address | 998 "", // ip_address |
980 blank_url, // referrer_url | 999 blank_url, // referrer_url |
981 blank_url, // referrer_main_frame_url | 1000 blank_url, // referrer_main_frame_url |
982 false, // is_retargeting | 1001 false, // is_retargeting |
983 referrer_chain[0]); | 1002 referrer_chain[0]); |
984 VerifyReferrerChainEntry(blank_url, // url | 1003 VerifyReferrerChainEntry(blank_url, // url |
985 ReferrerChainEntry::CLIENT_REDIRECT, // type | 1004 ReferrerChainEntry::CLIENT_REDIRECT, // type |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1026 VerifyNavigationEvent(initial_url, // source_url | 1045 VerifyNavigationEvent(initial_url, // source_url |
1027 initial_url, // source_main_frame_url | 1046 initial_url, // source_main_frame_url |
1028 download_url, // original_request_url | 1047 download_url, // original_request_url |
1029 download_url, // destination_url | 1048 download_url, // destination_url |
1030 true, // is_user_initiated, | 1049 true, // is_user_initiated, |
1031 false, // has_committed | 1050 false, // has_committed |
1032 false, // has_server_redirect | 1051 false, // has_server_redirect |
1033 nav_map->at(download_url).at(0)); | 1052 nav_map->at(download_url).at(0)); |
1034 VerifyHostToIpMap(); | 1053 VerifyHostToIpMap(); |
1035 | 1054 |
1036 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 1055 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
1037 ASSERT_EQ(2U, referrer_chain.size()); | 1056 ASSERT_EQ(2U, referrer_chain.size()); |
1038 VerifyReferrerChainEntry(download_url, // url | 1057 VerifyReferrerChainEntry(download_url, // url |
1039 ReferrerChainEntry::DOWNLOAD_URL, // type | 1058 ReferrerChainEntry::DOWNLOAD_URL, // type |
1040 "", // ip_address | 1059 "", // ip_address |
1041 initial_url, // referrer_url | 1060 initial_url, // referrer_url |
1042 initial_url, // referrer_main_frame_url | 1061 initial_url, // referrer_main_frame_url |
1043 false, // is_retargeting | 1062 false, // is_retargeting |
1044 referrer_chain[0]); | 1063 referrer_chain[0]); |
1045 VerifyReferrerChainEntry(initial_url, // url | 1064 VerifyReferrerChainEntry(initial_url, // url |
1046 ReferrerChainEntry::LANDING_PAGE, // type | 1065 ReferrerChainEntry::LANDING_PAGE, // type |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1110 VerifyNavigationEvent(iframe_url, // source_url | 1129 VerifyNavigationEvent(iframe_url, // source_url |
1111 multi_frame_test_url, // source_main_frame_url | 1130 multi_frame_test_url, // source_main_frame_url |
1112 download_url, // original_request_url | 1131 download_url, // original_request_url |
1113 download_url, // destination_url | 1132 download_url, // destination_url |
1114 true, // is_user_initiated, | 1133 true, // is_user_initiated, |
1115 false, // has_committed | 1134 false, // has_committed |
1116 false, // has_server_redirect | 1135 false, // has_server_redirect |
1117 nav_map->at(download_url).at(0)); | 1136 nav_map->at(download_url).at(0)); |
1118 VerifyHostToIpMap(); | 1137 VerifyHostToIpMap(); |
1119 | 1138 |
1120 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 1139 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
1121 ASSERT_EQ(2U, referrer_chain.size()); | 1140 ASSERT_EQ(2U, referrer_chain.size()); |
1122 VerifyReferrerChainEntry(download_url, // url | 1141 VerifyReferrerChainEntry(download_url, // url |
1123 ReferrerChainEntry::DOWNLOAD_URL, // type | 1142 ReferrerChainEntry::DOWNLOAD_URL, // type |
1124 test_server_ip, // ip_address | 1143 test_server_ip, // ip_address |
1125 iframe_url, // referrer_url | 1144 iframe_url, // referrer_url |
1126 multi_frame_test_url, // referrer_main_frame_url | 1145 multi_frame_test_url, // referrer_main_frame_url |
1127 false, // is_retargeting | 1146 false, // is_retargeting |
1128 referrer_chain[0]); | 1147 referrer_chain[0]); |
1129 VerifyReferrerChainEntry(iframe_url, // url | 1148 VerifyReferrerChainEntry(iframe_url, // url |
1130 ReferrerChainEntry::LANDING_PAGE, // type | 1149 ReferrerChainEntry::LANDING_PAGE, // type |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1212 VerifyNavigationEvent(blank_url, // source_url | 1231 VerifyNavigationEvent(blank_url, // source_url |
1213 blank_url, // source_main_frame_url | 1232 blank_url, // source_main_frame_url |
1214 download_url, // original_request_url | 1233 download_url, // original_request_url |
1215 download_url, // destination_url | 1234 download_url, // destination_url |
1216 false, // is_user_initiated, | 1235 false, // is_user_initiated, |
1217 false, // has_committed | 1236 false, // has_committed |
1218 false, // has_server_redirect | 1237 false, // has_server_redirect |
1219 nav_map->at(download_url).at(0)); | 1238 nav_map->at(download_url).at(0)); |
1220 VerifyHostToIpMap(); | 1239 VerifyHostToIpMap(); |
1221 | 1240 |
1222 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 1241 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
1223 EXPECT_EQ(std::size_t(3), referrer_chain.size()); | 1242 EXPECT_EQ(std::size_t(3), referrer_chain.size()); |
1224 VerifyReferrerChainEntry(download_url, // url | 1243 VerifyReferrerChainEntry(download_url, // url |
1225 ReferrerChainEntry::DOWNLOAD_URL, // type | 1244 ReferrerChainEntry::DOWNLOAD_URL, // type |
1226 test_server_ip, // ip_address | 1245 test_server_ip, // ip_address |
1227 blank_url, // referrer_url | 1246 blank_url, // referrer_url |
1228 blank_url, // referrer_main_frame_url | 1247 blank_url, // referrer_main_frame_url |
1229 false, // is_retargeting | 1248 false, // is_retargeting |
1230 referrer_chain[0]); | 1249 referrer_chain[0]); |
1231 VerifyReferrerChainEntry(blank_url, // url | 1250 VerifyReferrerChainEntry(blank_url, // url |
1232 ReferrerChainEntry::CLIENT_REDIRECT, // type | 1251 ReferrerChainEntry::CLIENT_REDIRECT, // type |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1288 VerifyNavigationEvent(landing_url, // source_url | 1307 VerifyNavigationEvent(landing_url, // source_url |
1289 landing_url, // source_main_frame_url | 1308 landing_url, // source_main_frame_url |
1290 download_url, // original_request_url | 1309 download_url, // original_request_url |
1291 download_url, // destination_url | 1310 download_url, // destination_url |
1292 true, // is_user_initiated, | 1311 true, // is_user_initiated, |
1293 false, // has_committed | 1312 false, // has_committed |
1294 false, // has_server_redirect | 1313 false, // has_server_redirect |
1295 nav_map->at(download_url).at(0)); | 1314 nav_map->at(download_url).at(0)); |
1296 VerifyHostToIpMap(); | 1315 VerifyHostToIpMap(); |
1297 | 1316 |
1298 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 1317 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
1299 EXPECT_EQ(std::size_t(4), referrer_chain.size()); | 1318 EXPECT_EQ(std::size_t(4), referrer_chain.size()); |
1300 VerifyReferrerChainEntry(download_url, // url | 1319 VerifyReferrerChainEntry(download_url, // url |
1301 ReferrerChainEntry::DOWNLOAD_URL, // type | 1320 ReferrerChainEntry::DOWNLOAD_URL, // type |
1302 test_server_ip, // ip_address | 1321 test_server_ip, // ip_address |
1303 landing_url, // referrer_url | 1322 landing_url, // referrer_url |
1304 landing_url, // referrer_main_frame_url | 1323 landing_url, // referrer_main_frame_url |
1305 false, // is_retargeting | 1324 false, // is_retargeting |
1306 referrer_chain[0]); | 1325 referrer_chain[0]); |
1307 VerifyReferrerChainEntry(landing_url, // url | 1326 VerifyReferrerChainEntry(landing_url, // url |
1308 ReferrerChainEntry::LANDING_PAGE, // type | 1327 ReferrerChainEntry::LANDING_PAGE, // type |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1387 VerifyNavigationEvent(landing_url, // source_url | 1406 VerifyNavigationEvent(landing_url, // source_url |
1388 landing_url, // source_main_frame_url | 1407 landing_url, // source_main_frame_url |
1389 download_url, // original_request_url | 1408 download_url, // original_request_url |
1390 download_url, // destination_url | 1409 download_url, // destination_url |
1391 true, // is_user_initiated, | 1410 true, // is_user_initiated, |
1392 false, // has_committed | 1411 false, // has_committed |
1393 false, // has_server_redirect | 1412 false, // has_server_redirect |
1394 nav_map->at(download_url).at(0)); | 1413 nav_map->at(download_url).at(0)); |
1395 VerifyHostToIpMap(); | 1414 VerifyHostToIpMap(); |
1396 | 1415 |
1397 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 1416 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
1398 EXPECT_EQ(std::size_t(3), referrer_chain.size()); | 1417 EXPECT_EQ(std::size_t(3), referrer_chain.size()); |
1399 VerifyReferrerChainEntry(download_url, // url | 1418 VerifyReferrerChainEntry(download_url, // url |
1400 ReferrerChainEntry::DOWNLOAD_URL, // type | 1419 ReferrerChainEntry::DOWNLOAD_URL, // type |
1401 test_server_ip, // ip_address | 1420 test_server_ip, // ip_address |
1402 landing_url, // referrer_url | 1421 landing_url, // referrer_url |
1403 landing_url, // referrer_main_frame_url | 1422 landing_url, // referrer_main_frame_url |
1404 false, // is_retargeting | 1423 false, // is_retargeting |
1405 referrer_chain[0]); | 1424 referrer_chain[0]); |
1406 VerifyReferrerChainEntry(landing_url, // url | 1425 VerifyReferrerChainEntry(landing_url, // url |
1407 ReferrerChainEntry::LANDING_PAGE, // type | 1426 ReferrerChainEntry::LANDING_PAGE, // type |
1408 test_server_ip, // ip_address | 1427 test_server_ip, // ip_address |
1409 landing_referrer_url, // referrer_url | 1428 landing_referrer_url, // referrer_url |
1410 landing_referrer_url, // referrer_main_frame_url | 1429 landing_referrer_url, // referrer_main_frame_url |
1411 false, // is_retargeting | 1430 false, // is_retargeting |
1412 referrer_chain[1]); | 1431 referrer_chain[1]); |
1413 VerifyReferrerChainEntry( | 1432 VerifyReferrerChainEntry( |
1414 landing_referrer_url, // url | 1433 landing_referrer_url, // url |
1415 ReferrerChainEntry::LANDING_REFERRER, // type | 1434 ReferrerChainEntry::LANDING_REFERRER, // type |
1416 test_server_ip, // ip_address | 1435 test_server_ip, // ip_address |
1417 GURL(), // referrer_url is empty since this beyonds 2 clicks. | 1436 GURL(), // referrer_url is empty since this beyonds 2 clicks. |
1418 GURL(), // referrer_main_frame_url is empty for the same reason. | 1437 GURL(), // referrer_main_frame_url is empty for the same reason. |
1419 false, // is_retargeting | 1438 false, // is_retargeting |
1420 referrer_chain[2]); | 1439 referrer_chain[2]); |
1421 // page_before_landing_referrer_url is not in referrer chain. | 1440 // page_before_landing_referrer_url is not in referrer chain. |
1422 } | 1441 } |
1423 | 1442 |
| 1443 // Click a link which redirects to a PPAPI landing page. |
| 1444 IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
| 1445 PPAPIDownloadWithUserGestureOnHostingFrame) { |
| 1446 GURL initial_url = embedded_test_server()->GetURL(kSingleFrameTestURL); |
| 1447 ClickTestLink("complete_referrer_chain", 2, initial_url); |
| 1448 GURL redirect_url = embedded_test_server()->GetURL(kRedirectToLandingURL); |
| 1449 GURL landing_url = embedded_test_server()->GetURL(kLandingURL); |
| 1450 std::string test_server_ip(embedded_test_server()->host_port_pair().host()); |
| 1451 |
| 1452 // Simulate a user gesture on landing page. |
| 1453 SimulateUserGesture(); |
| 1454 auto nav_map = navigation_map(); |
| 1455 ASSERT_TRUE(nav_map); |
| 1456 ASSERT_EQ(std::size_t(3), nav_map->size()); |
| 1457 ASSERT_EQ(1U, nav_map->at(redirect_url).size()); |
| 1458 ASSERT_EQ(1U, nav_map->at(landing_url).size()); |
| 1459 ASSERT_EQ(1U, nav_map->at(initial_url).size()); |
| 1460 VerifyNavigationEvent(GURL(), // source_url |
| 1461 GURL(), // source_main_frame_url |
| 1462 initial_url, // original_request_url |
| 1463 initial_url, // destination_url |
| 1464 true, // is_user_initiated, |
| 1465 true, // has_committed |
| 1466 false, // has_server_redirect |
| 1467 nav_map->at(initial_url).at(0)); |
| 1468 VerifyNavigationEvent(initial_url, // source_url |
| 1469 initial_url, // source_main_frame_url |
| 1470 redirect_url, // original_request_url |
| 1471 redirect_url, // destination_url |
| 1472 true, // is_user_initiated, |
| 1473 true, // has_committed |
| 1474 false, // has_server_redirect |
| 1475 nav_map->at(redirect_url).at(0)); |
| 1476 VerifyNavigationEvent(redirect_url, // source_url |
| 1477 redirect_url, // source_main_frame_url |
| 1478 landing_url, // original_request_url |
| 1479 landing_url, // destination_url |
| 1480 false, // is_user_initiated, |
| 1481 true, // has_committed |
| 1482 false, // has_server_redirect |
| 1483 nav_map->at(landing_url).at(0)); |
| 1484 VerifyHostToIpMap(); |
| 1485 |
| 1486 auto referrer_chain = IdentifyReferrerChainForPPAPIDownload( |
| 1487 landing_url, browser()->tab_strip_model()->GetActiveWebContents()); |
| 1488 |
| 1489 EXPECT_EQ(std::size_t(3), referrer_chain.size()); |
| 1490 VerifyReferrerChainEntry(landing_url, // url |
| 1491 ReferrerChainEntry::LANDING_PAGE, // type |
| 1492 test_server_ip, // ip_address |
| 1493 redirect_url, // referrer_url |
| 1494 redirect_url, // referrer_main_frame_url |
| 1495 false, // is_retargeting |
| 1496 referrer_chain[0]); |
| 1497 VerifyReferrerChainEntry(redirect_url, // url |
| 1498 ReferrerChainEntry::CLIENT_REDIRECT, // type |
| 1499 test_server_ip, // ip_address |
| 1500 initial_url, // referrer_url |
| 1501 initial_url, // referrer_main_frame_url |
| 1502 false, // is_retargeting |
| 1503 referrer_chain[1]); |
| 1504 VerifyReferrerChainEntry( |
| 1505 initial_url, // url |
| 1506 ReferrerChainEntry::LANDING_REFERRER, // type |
| 1507 test_server_ip, // ip_address |
| 1508 GURL(), // referrer_url is empty since this beyonds 2 clicks. |
| 1509 GURL(), // referrer_main_frame_url is empty for the same reason. |
| 1510 false, // is_retargeting |
| 1511 referrer_chain[2]); |
| 1512 } |
| 1513 |
| 1514 // Click a link which redirects to a page that triggers PPAPI download without |
| 1515 // user gesture (a.k.a not a landing page). |
| 1516 IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, |
| 1517 PPAPIDownloadWithoutUserGestureOnHostingFrame) { |
| 1518 GURL landing_url = embedded_test_server()->GetURL(kSingleFrameTestURL); |
| 1519 ClickTestLink("complete_referrer_chain", 2, landing_url); |
| 1520 GURL redirect_url = embedded_test_server()->GetURL(kRedirectToLandingURL); |
| 1521 GURL hosting_url = embedded_test_server()->GetURL(kLandingURL); |
| 1522 std::string test_server_ip(embedded_test_server()->host_port_pair().host()); |
| 1523 |
| 1524 auto nav_map = navigation_map(); |
| 1525 ASSERT_TRUE(nav_map); |
| 1526 ASSERT_EQ(std::size_t(3), nav_map->size()); |
| 1527 ASSERT_EQ(1U, nav_map->at(redirect_url).size()); |
| 1528 ASSERT_EQ(1U, nav_map->at(hosting_url).size()); |
| 1529 ASSERT_EQ(1U, nav_map->at(landing_url).size()); |
| 1530 VerifyNavigationEvent(GURL(), // source_url |
| 1531 GURL(), // source_main_frame_url |
| 1532 landing_url, // original_request_url |
| 1533 landing_url, // destination_url |
| 1534 true, // is_user_initiated, |
| 1535 true, // has_committed |
| 1536 false, // has_server_redirect |
| 1537 nav_map->at(landing_url).at(0)); |
| 1538 VerifyNavigationEvent(landing_url, // source_url |
| 1539 landing_url, // source_main_frame_url |
| 1540 redirect_url, // original_request_url |
| 1541 redirect_url, // destination_url |
| 1542 true, // is_user_initiated, |
| 1543 true, // has_committed |
| 1544 false, // has_server_redirect |
| 1545 nav_map->at(redirect_url).at(0)); |
| 1546 VerifyNavigationEvent(redirect_url, // source_url |
| 1547 redirect_url, // source_main_frame_url |
| 1548 hosting_url, // original_request_url |
| 1549 hosting_url, // destination_url |
| 1550 false, // is_user_initiated, |
| 1551 true, // has_committed |
| 1552 false, // has_server_redirect |
| 1553 nav_map->at(hosting_url).at(0)); |
| 1554 VerifyHostToIpMap(); |
| 1555 |
| 1556 auto referrer_chain = IdentifyReferrerChainForPPAPIDownload( |
| 1557 hosting_url, browser()->tab_strip_model()->GetActiveWebContents()); |
| 1558 |
| 1559 EXPECT_EQ(std::size_t(3), referrer_chain.size()); |
| 1560 VerifyReferrerChainEntry(hosting_url, // url |
| 1561 ReferrerChainEntry::CLIENT_REDIRECT, // type |
| 1562 test_server_ip, // ip_address |
| 1563 redirect_url, // referrer_url |
| 1564 redirect_url, // referrer_main_frame_url |
| 1565 false, // is_retargeting |
| 1566 referrer_chain[0]); |
| 1567 VerifyReferrerChainEntry(redirect_url, // url |
| 1568 ReferrerChainEntry::CLIENT_REDIRECT, // type |
| 1569 test_server_ip, // ip_address |
| 1570 landing_url, // referrer_url |
| 1571 landing_url, // referrer_main_frame_url |
| 1572 false, // is_retargeting |
| 1573 referrer_chain[1]); |
| 1574 VerifyReferrerChainEntry(landing_url, // url |
| 1575 ReferrerChainEntry::LANDING_PAGE, // type |
| 1576 test_server_ip, // ip_address |
| 1577 GURL(), // no more referrer before landing_url |
| 1578 GURL(), |
| 1579 false, // is_retargeting |
| 1580 referrer_chain[2]); |
| 1581 } |
| 1582 |
1424 // Server-side redirect. | 1583 // Server-side redirect. |
1425 IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, ServerRedirect) { | 1584 IN_PROC_BROWSER_TEST_F(SBNavigationObserverBrowserTest, ServerRedirect) { |
1426 GURL initial_url = embedded_test_server()->GetURL(kSingleFrameTestURL); | 1585 GURL initial_url = embedded_test_server()->GetURL(kSingleFrameTestURL); |
1427 GURL download_url = embedded_test_server()->GetURL(kDownloadItemURL); | 1586 GURL download_url = embedded_test_server()->GetURL(kDownloadItemURL); |
1428 GURL request_url = | 1587 GURL request_url = |
1429 embedded_test_server()->GetURL("/server-redirect?" + download_url.spec()); | 1588 embedded_test_server()->GetURL("/server-redirect?" + download_url.spec()); |
1430 ui_test_utils::NavigateToURL(browser(), request_url); | 1589 ui_test_utils::NavigateToURL(browser(), request_url); |
1431 std::string test_server_ip(embedded_test_server()->host_port_pair().host()); | 1590 std::string test_server_ip(embedded_test_server()->host_port_pair().host()); |
1432 auto nav_map = navigation_map(); | 1591 auto nav_map = navigation_map(); |
1433 ASSERT_TRUE(nav_map); | 1592 ASSERT_TRUE(nav_map); |
(...skipping 10 matching lines...) Expand all Loading... |
1444 nav_map->at(initial_url).at(0)); | 1603 nav_map->at(initial_url).at(0)); |
1445 VerifyNavigationEvent(GURL(), // source_url | 1604 VerifyNavigationEvent(GURL(), // source_url |
1446 GURL(), // source_main_frame_url | 1605 GURL(), // source_main_frame_url |
1447 request_url, // original_request_url | 1606 request_url, // original_request_url |
1448 download_url, // destination_url | 1607 download_url, // destination_url |
1449 true, // is_user_initiated, | 1608 true, // is_user_initiated, |
1450 false, // has_committed | 1609 false, // has_committed |
1451 true, // has_server_redirect | 1610 true, // has_server_redirect |
1452 nav_map->at(download_url).at(0)); | 1611 nav_map->at(download_url).at(0)); |
1453 | 1612 |
1454 auto referrer_chain = IdentifyReferrerChain(GetDownload()); | 1613 auto referrer_chain = IdentifyReferrerChainForDownload(GetDownload()); |
1455 ASSERT_EQ(1U, referrer_chain.size()); | 1614 ASSERT_EQ(1U, referrer_chain.size()); |
1456 VerifyReferrerChainEntry(download_url, // url | 1615 VerifyReferrerChainEntry(download_url, // url |
1457 ReferrerChainEntry::DOWNLOAD_URL, // type | 1616 ReferrerChainEntry::DOWNLOAD_URL, // type |
1458 test_server_ip, // ip_address | 1617 test_server_ip, // ip_address |
1459 GURL(), // referrer_url | 1618 GURL(), // referrer_url |
1460 GURL(), // referrer_main_frame_url | 1619 GURL(), // referrer_main_frame_url |
1461 false, // is_retargeting | 1620 false, // is_retargeting |
1462 referrer_chain[0]); | 1621 referrer_chain[0]); |
1463 } | 1622 } |
1464 | 1623 |
(...skipping 26 matching lines...) Expand all Loading... |
1491 yesterday, embedded_test_server()->host_port_pair().host())); | 1650 yesterday, embedded_test_server()->host_port_pair().host())); |
1492 ASSERT_EQ(1U, ip_map->at(test_server_host).size()); | 1651 ASSERT_EQ(1U, ip_map->at(test_server_host).size()); |
1493 ClickTestLink("direct_download", 1, initial_url); | 1652 ClickTestLink("direct_download", 1, initial_url); |
1494 EXPECT_EQ(1U, ip_map->at(test_server_host).size()); | 1653 EXPECT_EQ(1U, ip_map->at(test_server_host).size()); |
1495 EXPECT_EQ(embedded_test_server()->host_port_pair().host(), | 1654 EXPECT_EQ(embedded_test_server()->host_port_pair().host(), |
1496 ip_map->at(test_server_host).back().ip); | 1655 ip_map->at(test_server_host).back().ip); |
1497 EXPECT_NE(yesterday, ip_map->at(test_server_host).front().timestamp); | 1656 EXPECT_NE(yesterday, ip_map->at(test_server_host).front().timestamp); |
1498 } | 1657 } |
1499 | 1658 |
1500 } // namespace safe_browsing | 1659 } // namespace safe_browsing |
OLD | NEW |