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

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_navigation_observer_browsertest.cc

Issue 2601303002: Wireup SafeBrowsingNavigationObserverManager to help PPAPI download attribution (Closed)
Patch Set: nit 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 unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698