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

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

Issue 2784253004: Componentize safe_browsing: decouple threat_details* from the chrome/ layer. (Closed)
Patch Set: address comment Created 3 years, 8 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
« no previous file with comments | « chrome/browser/safe_browsing/threat_details_cache.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 } 152 }
153 153
154 // Lets us provide a MockURLRequestContext with an HTTP Cache we pre-populate. 154 // Lets us provide a MockURLRequestContext with an HTTP Cache we pre-populate.
155 // Also exposes the constructor. 155 // Also exposes the constructor.
156 class ThreatDetailsWrap : public ThreatDetails { 156 class ThreatDetailsWrap : public ThreatDetails {
157 public: 157 public:
158 ThreatDetailsWrap( 158 ThreatDetailsWrap(
159 SafeBrowsingUIManager* ui_manager, 159 SafeBrowsingUIManager* ui_manager,
160 WebContents* web_contents, 160 WebContents* web_contents,
161 const security_interstitials::UnsafeResource& unsafe_resource, 161 const security_interstitials::UnsafeResource& unsafe_resource,
162 net::URLRequestContextGetter* request_context_getter) 162 net::URLRequestContextGetter* request_context_getter,
163 : ThreatDetails(ui_manager, web_contents, unsafe_resource) { 163 history::HistoryService* history_service)
164 : ThreatDetails(ui_manager,
165 web_contents,
166 unsafe_resource,
167 request_context_getter,
168 history_service) {
164 request_context_getter_ = request_context_getter; 169 request_context_getter_ = request_context_getter;
165 } 170 }
166 171
167 private: 172 private:
168 ~ThreatDetailsWrap() override {} 173 ~ThreatDetailsWrap() override {}
169 }; 174 };
170 175
171 class MockSafeBrowsingUIManager : public SafeBrowsingUIManager { 176 class MockSafeBrowsingUIManager : public SafeBrowsingUIManager {
172 public: 177 public:
173 base::RunLoop* run_loop_; 178 base::RunLoop* run_loop_;
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 web_contents()->GetMainFrame(), 0 /* nav_entry_id */, 382 web_contents()->GetMainFrame(), 0 /* nav_entry_id */,
378 true /* did_create_new_entry */, GURL(kLandingURL), 383 true /* did_create_new_entry */, GURL(kLandingURL),
379 content::Referrer(GURL(kReferrerURL), 384 content::Referrer(GURL(kReferrerURL),
380 blink::kWebReferrerPolicyDefault), 385 blink::kWebReferrerPolicyDefault),
381 ui::PAGE_TRANSITION_TYPED); 386 ui::PAGE_TRANSITION_TYPED);
382 387
383 UnsafeResource resource; 388 UnsafeResource resource;
384 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */, 389 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */,
385 GURL(kThreatURL)); 390 GURL(kThreatURL));
386 391
387 scoped_refptr<ThreatDetailsWrap> report = 392 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
388 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 393 ui_manager_.get(), web_contents(), resource, NULL, history_service());
389 394
390 std::string serialized = WaitForSerializedReport( 395 std::string serialized = WaitForSerializedReport(
391 report.get(), true /* did_proceed*/, 1 /* num_visit */); 396 report.get(), true /* did_proceed*/, 1 /* num_visit */);
392 397
393 ClientSafeBrowsingReportRequest actual; 398 ClientSafeBrowsingReportRequest actual;
394 actual.ParseFromString(serialized); 399 actual.ParseFromString(serialized);
395 400
396 ClientSafeBrowsingReportRequest expected; 401 ClientSafeBrowsingReportRequest expected;
397 expected.set_type(ClientSafeBrowsingReportRequest::URL_MALWARE); 402 expected.set_type(ClientSafeBrowsingReportRequest::URL_MALWARE);
398 expected.set_url(kThreatURL); 403 expected.set_url(kThreatURL);
(...skipping 22 matching lines...) Expand all
421 // subresource has a different original_url. 426 // subresource has a different original_url.
422 TEST_F(ThreatDetailsTest, ThreatSubResourceWithOriginalUrl) { 427 TEST_F(ThreatDetailsTest, ThreatSubResourceWithOriginalUrl) {
423 content::WebContentsTester::For(web_contents()) 428 content::WebContentsTester::For(web_contents())
424 ->NavigateAndCommit(GURL(kLandingURL)); 429 ->NavigateAndCommit(GURL(kLandingURL));
425 430
426 UnsafeResource resource; 431 UnsafeResource resource;
427 InitResource(&resource, SB_THREAT_TYPE_URL_PHISHING, 432 InitResource(&resource, SB_THREAT_TYPE_URL_PHISHING,
428 true /* is_subresource */, GURL(kThreatURL)); 433 true /* is_subresource */, GURL(kThreatURL));
429 resource.original_url = GURL(kOriginalLandingURL); 434 resource.original_url = GURL(kOriginalLandingURL);
430 435
431 scoped_refptr<ThreatDetailsWrap> report = 436 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
432 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 437 ui_manager_.get(), web_contents(), resource, NULL, history_service());
433 438
434 std::string serialized = WaitForSerializedReport( 439 std::string serialized = WaitForSerializedReport(
435 report.get(), false /* did_proceed*/, 1 /* num_visit */); 440 report.get(), false /* did_proceed*/, 1 /* num_visit */);
436 441
437 ClientSafeBrowsingReportRequest actual; 442 ClientSafeBrowsingReportRequest actual;
438 actual.ParseFromString(serialized); 443 actual.ParseFromString(serialized);
439 444
440 ClientSafeBrowsingReportRequest expected; 445 ClientSafeBrowsingReportRequest expected;
441 expected.set_type(ClientSafeBrowsingReportRequest::URL_PHISHING); 446 expected.set_type(ClientSafeBrowsingReportRequest::URL_PHISHING);
442 expected.set_url(kThreatURL); 447 expected.set_url(kThreatURL);
(...skipping 23 matching lines...) Expand all
466 471
467 // Tests creating a threat report of a UwS page with data from the renderer. 472 // Tests creating a threat report of a UwS page with data from the renderer.
468 TEST_F(ThreatDetailsTest, ThreatDOMDetails) { 473 TEST_F(ThreatDetailsTest, ThreatDOMDetails) {
469 content::WebContentsTester::For(web_contents()) 474 content::WebContentsTester::For(web_contents())
470 ->NavigateAndCommit(GURL(kLandingURL)); 475 ->NavigateAndCommit(GURL(kLandingURL));
471 476
472 UnsafeResource resource; 477 UnsafeResource resource;
473 InitResource(&resource, SB_THREAT_TYPE_URL_UNWANTED, 478 InitResource(&resource, SB_THREAT_TYPE_URL_UNWANTED,
474 true /* is_subresource */, GURL(kThreatURL)); 479 true /* is_subresource */, GURL(kThreatURL));
475 480
476 scoped_refptr<ThreatDetailsWrap> report = 481 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
477 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 482 ui_manager_.get(), web_contents(), resource, NULL, history_service());
478 483
479 // Send a message from the DOM, with 2 nodes, a parent and a child. 484 // Send a message from the DOM, with 2 nodes, a parent and a child.
480 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params; 485 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params;
481 SafeBrowsingHostMsg_ThreatDOMDetails_Node child_node; 486 SafeBrowsingHostMsg_ThreatDOMDetails_Node child_node;
482 child_node.url = GURL(kDOMChildURL); 487 child_node.url = GURL(kDOMChildURL);
483 child_node.tag_name = "iframe"; 488 child_node.tag_name = "iframe";
484 child_node.parent = GURL(kDOMParentURL); 489 child_node.parent = GURL(kDOMParentURL);
485 child_node.attributes.push_back(std::make_pair("src", kDOMChildURL)); 490 child_node.attributes.push_back(std::make_pair("src", kDOMChildURL));
486 params.push_back(child_node); 491 params.push_back(child_node);
487 SafeBrowsingHostMsg_ThreatDOMDetails_Node parent_node; 492 SafeBrowsingHostMsg_ThreatDOMDetails_Node parent_node;
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 content::WebContentsTester::For(web_contents()) 669 content::WebContentsTester::For(web_contents())
665 ->NavigateAndCommit(GURL(kLandingURL)); 670 ->NavigateAndCommit(GURL(kLandingURL));
666 671
667 UnsafeResource resource; 672 UnsafeResource resource;
668 InitResource(&resource, SB_THREAT_TYPE_URL_UNWANTED, 673 InitResource(&resource, SB_THREAT_TYPE_URL_UNWANTED,
669 true /* is_subresource */, GURL(kThreatURL)); 674 true /* is_subresource */, GURL(kThreatURL));
670 675
671 // Send both sets of nodes, from different render frames. 676 // Send both sets of nodes, from different render frames.
672 { 677 {
673 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap( 678 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
674 ui_manager_.get(), web_contents(), resource, NULL); 679 ui_manager_.get(), web_contents(), resource, NULL, history_service());
675 680
676 // We call AddDOMDetails directly so we can specify different render frame 681 // We call AddDOMDetails directly so we can specify different render frame
677 // IDs. 682 // IDs.
678 report->AddDOMDetails(100, GURL(kDOMParentURL), outer_params); 683 report->AddDOMDetails(100, GURL(kDOMParentURL), outer_params);
679 report->AddDOMDetails(200, GURL(kDOMChildURL), inner_params); 684 report->AddDOMDetails(200, GURL(kDOMChildURL), inner_params);
680 std::string serialized = WaitForSerializedReport( 685 std::string serialized = WaitForSerializedReport(
681 report.get(), false /* did_proceed*/, 0 /* num_visit */); 686 report.get(), false /* did_proceed*/, 0 /* num_visit */);
682 ClientSafeBrowsingReportRequest actual; 687 ClientSafeBrowsingReportRequest actual;
683 actual.ParseFromString(serialized); 688 actual.ParseFromString(serialized);
684 VerifyResults(actual, expected); 689 VerifyResults(actual, expected);
(...skipping 23 matching lines...) Expand all
708 elem_dom_outer_div->set_id(2); 713 elem_dom_outer_div->set_id(2);
709 elem_dom_outer_div->clear_child_ids(); 714 elem_dom_outer_div->clear_child_ids();
710 elem_dom_outer_div->add_child_ids(3); 715 elem_dom_outer_div->add_child_ids(3);
711 elem_dom_outer_iframe->set_id(3); 716 elem_dom_outer_iframe->set_id(3);
712 elem_dom_outer_iframe->set_resource_id(res_dom_child->id()); 717 elem_dom_outer_iframe->set_resource_id(res_dom_child->id());
713 elem_dom_outer_iframe->clear_child_ids(); 718 elem_dom_outer_iframe->clear_child_ids();
714 elem_dom_outer_iframe->add_child_ids(0); 719 elem_dom_outer_iframe->add_child_ids(0);
715 elem_dom_outer_iframe->add_child_ids(1); 720 elem_dom_outer_iframe->add_child_ids(1);
716 721
717 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap( 722 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
718 ui_manager_.get(), web_contents(), resource, NULL); 723 ui_manager_.get(), web_contents(), resource, NULL, history_service());
719 724
720 // We call AddDOMDetails directly so we can specify different render frame 725 // We call AddDOMDetails directly so we can specify different render frame
721 // IDs. 726 // IDs.
722 report->AddDOMDetails(200, GURL(kDOMChildURL), inner_params); 727 report->AddDOMDetails(200, GURL(kDOMChildURL), inner_params);
723 report->AddDOMDetails(100, GURL(kDOMParentURL), outer_params); 728 report->AddDOMDetails(100, GURL(kDOMParentURL), outer_params);
724 std::string serialized = WaitForSerializedReport( 729 std::string serialized = WaitForSerializedReport(
725 report.get(), false /* did_proceed*/, 0 /* num_visit */); 730 report.get(), false /* did_proceed*/, 0 /* num_visit */);
726 ClientSafeBrowsingReportRequest actual; 731 ClientSafeBrowsingReportRequest actual;
727 actual.ParseFromString(serialized); 732 actual.ParseFromString(serialized);
728 VerifyResults(actual, expected); 733 VerifyResults(actual, expected);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 pb_element->set_resource_id(4); 822 pb_element->set_resource_id(4);
818 pb_element->add_attribute()->set_name("src"); 823 pb_element->add_attribute()->set_name("src");
819 pb_element->mutable_attribute(0)->set_value(kDOMChildUrl2); 824 pb_element->mutable_attribute(0)->set_value(kDOMChildUrl2);
820 825
821 content::WebContentsTester::For(web_contents()) 826 content::WebContentsTester::For(web_contents())
822 ->NavigateAndCommit(GURL(kLandingURL)); 827 ->NavigateAndCommit(GURL(kLandingURL));
823 828
824 UnsafeResource resource; 829 UnsafeResource resource;
825 InitResource(&resource, SB_THREAT_TYPE_URL_UNWANTED, 830 InitResource(&resource, SB_THREAT_TYPE_URL_UNWANTED,
826 true /* is_subresource */, GURL(kThreatURL)); 831 true /* is_subresource */, GURL(kThreatURL));
827 scoped_refptr<ThreatDetailsWrap> report = 832 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
828 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 833 ui_manager_.get(), web_contents(), resource, NULL, history_service());
829 base::HistogramTester histograms; 834 base::HistogramTester histograms;
830 835
831 // Send both sets of nodes, from different render frames. We call 836 // Send both sets of nodes, from different render frames. We call
832 // AddDOMDetails directly so we can specify different render frame IDs. 837 // AddDOMDetails directly so we can specify different render frame IDs.
833 report->AddDOMDetails(100, GURL(kDOMParentURL), outer_params); 838 report->AddDOMDetails(100, GURL(kDOMParentURL), outer_params);
834 // The inner frame was using a data URL so its last committed URL is empty. 839 // The inner frame was using a data URL so its last committed URL is empty.
835 report->AddDOMDetails(200, GURL(), inner_params); 840 report->AddDOMDetails(200, GURL(), inner_params);
836 841
837 std::string serialized = WaitForSerializedReport( 842 std::string serialized = WaitForSerializedReport(
838 report.get(), false /* did_proceed*/, 0 /* num_visit */); 843 report.get(), false /* did_proceed*/, 0 /* num_visit */);
(...skipping 14 matching lines...) Expand all
853 UnsafeResource resource; 858 UnsafeResource resource;
854 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */, 859 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */,
855 GURL(kThreatURL)); 860 GURL(kThreatURL));
856 resource.original_url = GURL(kOriginalLandingURL); 861 resource.original_url = GURL(kOriginalLandingURL);
857 862
858 // add some redirect urls 863 // add some redirect urls
859 resource.redirect_urls.push_back(GURL(kFirstRedirectURL)); 864 resource.redirect_urls.push_back(GURL(kFirstRedirectURL));
860 resource.redirect_urls.push_back(GURL(kSecondRedirectURL)); 865 resource.redirect_urls.push_back(GURL(kSecondRedirectURL));
861 resource.redirect_urls.push_back(GURL(kThreatURL)); 866 resource.redirect_urls.push_back(GURL(kThreatURL));
862 867
863 scoped_refptr<ThreatDetailsWrap> report = 868 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
864 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 869 ui_manager_.get(), web_contents(), resource, NULL, history_service());
865 870
866 std::string serialized = WaitForSerializedReport( 871 std::string serialized = WaitForSerializedReport(
867 report.get(), true /* did_proceed*/, 0 /* num_visit */); 872 report.get(), true /* did_proceed*/, 0 /* num_visit */);
868 ClientSafeBrowsingReportRequest actual; 873 ClientSafeBrowsingReportRequest actual;
869 actual.ParseFromString(serialized); 874 actual.ParseFromString(serialized);
870 875
871 ClientSafeBrowsingReportRequest expected; 876 ClientSafeBrowsingReportRequest expected;
872 expected.set_type(ClientSafeBrowsingReportRequest::URL_MALWARE); 877 expected.set_type(ClientSafeBrowsingReportRequest::URL_MALWARE);
873 expected.set_url(kThreatURL); 878 expected.set_url(kThreatURL);
874 expected.set_page_url(kLandingURL); 879 expected.set_page_url(kLandingURL);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 GURL(kLandingURL), 929 GURL(kLandingURL),
925 content::Referrer(GURL(kReferrerURL), blink::kWebReferrerPolicyDefault), 930 content::Referrer(GURL(kReferrerURL), blink::kWebReferrerPolicyDefault),
926 ui::PAGE_TRANSITION_TYPED, std::string()); 931 ui::PAGE_TRANSITION_TYPED, std::string());
927 932
928 // Create UnsafeResource for the pending main page load. 933 // Create UnsafeResource for the pending main page load.
929 UnsafeResource resource; 934 UnsafeResource resource;
930 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, 935 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE,
931 false /* is_subresource */, GURL(kLandingURL)); 936 false /* is_subresource */, GURL(kLandingURL));
932 937
933 // Start ThreatDetails collection. 938 // Start ThreatDetails collection.
934 scoped_refptr<ThreatDetailsWrap> report = 939 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
935 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 940 ui_manager_.get(), web_contents(), resource, NULL, history_service());
936 941
937 // Simulate clicking don't proceed. 942 // Simulate clicking don't proceed.
938 controller().DiscardNonCommittedEntries(); 943 controller().DiscardNonCommittedEntries();
939 944
940 // Finish ThreatDetails collection. 945 // Finish ThreatDetails collection.
941 std::string serialized = WaitForSerializedReport( 946 std::string serialized = WaitForSerializedReport(
942 report.get(), false /* did_proceed*/, 1 /* num_visit */); 947 report.get(), false /* did_proceed*/, 1 /* num_visit */);
943 948
944 ClientSafeBrowsingReportRequest actual; 949 ClientSafeBrowsingReportRequest actual;
945 actual.ParseFromString(serialized); 950 actual.ParseFromString(serialized);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
985 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */, 990 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */,
986 GURL(kThreatURL)); 991 GURL(kThreatURL));
987 992
988 // Start a pending load before creating ThreatDetails. 993 // Start a pending load before creating ThreatDetails.
989 controller().LoadURL(GURL(kPendingURL), 994 controller().LoadURL(GURL(kPendingURL),
990 content::Referrer(GURL(kPendingReferrerURL), 995 content::Referrer(GURL(kPendingReferrerURL),
991 blink::kWebReferrerPolicyDefault), 996 blink::kWebReferrerPolicyDefault),
992 ui::PAGE_TRANSITION_TYPED, std::string()); 997 ui::PAGE_TRANSITION_TYPED, std::string());
993 998
994 // Do ThreatDetails collection. 999 // Do ThreatDetails collection.
995 scoped_refptr<ThreatDetailsWrap> report = 1000 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
996 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 1001 ui_manager_.get(), web_contents(), resource, NULL, history_service());
997 std::string serialized = WaitForSerializedReport( 1002 std::string serialized = WaitForSerializedReport(
998 report.get(), true /* did_proceed*/, 1 /* num_visit */); 1003 report.get(), true /* did_proceed*/, 1 /* num_visit */);
999 1004
1000 ClientSafeBrowsingReportRequest actual; 1005 ClientSafeBrowsingReportRequest actual;
1001 actual.ParseFromString(serialized); 1006 actual.ParseFromString(serialized);
1002 1007
1003 ClientSafeBrowsingReportRequest expected; 1008 ClientSafeBrowsingReportRequest expected;
1004 expected.set_type(ClientSafeBrowsingReportRequest::URL_MALWARE); 1009 expected.set_type(ClientSafeBrowsingReportRequest::URL_MALWARE);
1005 expected.set_url(kThreatURL); 1010 expected.set_url(kThreatURL);
1006 expected.set_page_url(kLandingURL); 1011 expected.set_page_url(kLandingURL);
(...skipping 23 matching lines...) Expand all
1030 EXPECT_EQ(nullptr, controller().GetLastCommittedEntry()); 1035 EXPECT_EQ(nullptr, controller().GetLastCommittedEntry());
1031 EXPECT_EQ(nullptr, controller().GetPendingEntry()); 1036 EXPECT_EQ(nullptr, controller().GetPendingEntry());
1032 1037
1033 // Simulate a subresource malware hit (this could happen if the WebContents 1038 // Simulate a subresource malware hit (this could happen if the WebContents
1034 // was created with window.open, and had content injected into it). 1039 // was created with window.open, and had content injected into it).
1035 UnsafeResource resource; 1040 UnsafeResource resource;
1036 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */, 1041 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */,
1037 GURL(kThreatURL)); 1042 GURL(kThreatURL));
1038 1043
1039 // Do ThreatDetails collection. 1044 // Do ThreatDetails collection.
1040 scoped_refptr<ThreatDetailsWrap> report = 1045 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
1041 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 1046 ui_manager_.get(), web_contents(), resource, NULL, history_service());
1042 std::string serialized = WaitForSerializedReport( 1047 std::string serialized = WaitForSerializedReport(
1043 report.get(), true /* did_proceed*/, 1 /* num_visit */); 1048 report.get(), true /* did_proceed*/, 1 /* num_visit */);
1044 1049
1045 ClientSafeBrowsingReportRequest actual; 1050 ClientSafeBrowsingReportRequest actual;
1046 actual.ParseFromString(serialized); 1051 actual.ParseFromString(serialized);
1047 1052
1048 ClientSafeBrowsingReportRequest expected; 1053 ClientSafeBrowsingReportRequest expected;
1049 expected.set_type(ClientSafeBrowsingReportRequest::URL_MALWARE); 1054 expected.set_type(ClientSafeBrowsingReportRequest::URL_MALWARE);
1050 expected.set_url(kThreatURL); 1055 expected.set_url(kThreatURL);
1051 expected.set_did_proceed(true); 1056 expected.set_did_proceed(true);
(...skipping 11 matching lines...) Expand all
1063 TEST_F(ThreatDetailsTest, HTTPCache) { 1068 TEST_F(ThreatDetailsTest, HTTPCache) {
1064 content::WebContentsTester::For(web_contents()) 1069 content::WebContentsTester::For(web_contents())
1065 ->NavigateAndCommit(GURL(kLandingURL)); 1070 ->NavigateAndCommit(GURL(kLandingURL));
1066 1071
1067 UnsafeResource resource; 1072 UnsafeResource resource;
1068 InitResource(&resource, SB_THREAT_TYPE_CLIENT_SIDE_PHISHING_URL, 1073 InitResource(&resource, SB_THREAT_TYPE_CLIENT_SIDE_PHISHING_URL,
1069 true /* is_subresource */, GURL(kThreatURL)); 1074 true /* is_subresource */, GURL(kThreatURL));
1070 1075
1071 scoped_refptr<ThreatDetailsWrap> report = 1076 scoped_refptr<ThreatDetailsWrap> report =
1072 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, 1077 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource,
1073 profile()->GetRequestContext()); 1078 profile()->GetRequestContext(), history_service());
1074 1079
1075 BrowserThread::PostTask( 1080 BrowserThread::PostTask(
1076 BrowserThread::IO, FROM_HERE, 1081 BrowserThread::IO, FROM_HERE,
1077 base::Bind(&FillCache, 1082 base::Bind(&FillCache,
1078 base::RetainedRef(profile()->GetRequestContext()))); 1083 base::RetainedRef(profile()->GetRequestContext())));
1079 1084
1080 // The cache collection starts after the IPC from the DOM is fired. 1085 // The cache collection starts after the IPC from the DOM is fired.
1081 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params; 1086 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params;
1082 report->OnReceivedThreatDOMDetails(main_rfh(), params); 1087 report->OnReceivedThreatDOMDetails(main_rfh(), params);
1083 1088
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1146 TEST_F(ThreatDetailsTest, HttpsResourceSanitization) { 1151 TEST_F(ThreatDetailsTest, HttpsResourceSanitization) {
1147 content::WebContentsTester::For(web_contents()) 1152 content::WebContentsTester::For(web_contents())
1148 ->NavigateAndCommit(GURL(kLandingURL)); 1153 ->NavigateAndCommit(GURL(kLandingURL));
1149 1154
1150 UnsafeResource resource; 1155 UnsafeResource resource;
1151 InitResource(&resource, SB_THREAT_TYPE_CLIENT_SIDE_PHISHING_URL, 1156 InitResource(&resource, SB_THREAT_TYPE_CLIENT_SIDE_PHISHING_URL,
1152 true /* is_subresource */, GURL(kThreatURLHttps)); 1157 true /* is_subresource */, GURL(kThreatURLHttps));
1153 1158
1154 scoped_refptr<ThreatDetailsWrap> report = 1159 scoped_refptr<ThreatDetailsWrap> report =
1155 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, 1160 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource,
1156 profile()->GetRequestContext()); 1161 profile()->GetRequestContext(), history_service());
1157 1162
1158 BrowserThread::PostTask( 1163 BrowserThread::PostTask(
1159 BrowserThread::IO, FROM_HERE, 1164 BrowserThread::IO, FROM_HERE,
1160 base::Bind(&FillCacheHttps, 1165 base::Bind(&FillCacheHttps,
1161 base::RetainedRef(profile()->GetRequestContext()))); 1166 base::RetainedRef(profile()->GetRequestContext())));
1162 1167
1163 // The cache collection starts after the IPC from the DOM is fired. 1168 // The cache collection starts after the IPC from the DOM is fired.
1164 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params; 1169 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params;
1165 report->OnReceivedThreatDOMDetails(main_rfh(), params); 1170 report->OnReceivedThreatDOMDetails(main_rfh(), params);
1166 1171
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1226 TEST_F(ThreatDetailsTest, HTTPCacheNoEntries) { 1231 TEST_F(ThreatDetailsTest, HTTPCacheNoEntries) {
1227 content::WebContentsTester::For(web_contents()) 1232 content::WebContentsTester::For(web_contents())
1228 ->NavigateAndCommit(GURL(kLandingURL)); 1233 ->NavigateAndCommit(GURL(kLandingURL));
1229 1234
1230 UnsafeResource resource; 1235 UnsafeResource resource;
1231 InitResource(&resource, SB_THREAT_TYPE_CLIENT_SIDE_MALWARE_URL, 1236 InitResource(&resource, SB_THREAT_TYPE_CLIENT_SIDE_MALWARE_URL,
1232 true /* is_subresource */, GURL(kThreatURL)); 1237 true /* is_subresource */, GURL(kThreatURL));
1233 1238
1234 scoped_refptr<ThreatDetailsWrap> report = 1239 scoped_refptr<ThreatDetailsWrap> report =
1235 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, 1240 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource,
1236 profile()->GetRequestContext()); 1241 profile()->GetRequestContext(), history_service());
1237 1242
1238 // No call to FillCache 1243 // No call to FillCache
1239 1244
1240 // The cache collection starts after the IPC from the DOM is fired. 1245 // The cache collection starts after the IPC from the DOM is fired.
1241 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params; 1246 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params;
1242 report->OnReceivedThreatDOMDetails(main_rfh(), params); 1247 report->OnReceivedThreatDOMDetails(main_rfh(), params);
1243 1248
1244 // Let the cache callbacks complete. 1249 // Let the cache callbacks complete.
1245 base::RunLoop().RunUntilIdle(); 1250 base::RunLoop().RunUntilIdle();
1246 1251
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1281 AddPageToHistory(baseurl, &redirects); 1286 AddPageToHistory(baseurl, &redirects);
1282 // Wait for history service operation finished. 1287 // Wait for history service operation finished.
1283 profile()->BlockUntilHistoryProcessesPendingRequests(); 1288 profile()->BlockUntilHistoryProcessesPendingRequests();
1284 1289
1285 content::WebContentsTester::For(web_contents()) 1290 content::WebContentsTester::For(web_contents())
1286 ->NavigateAndCommit(GURL(kLandingURL)); 1291 ->NavigateAndCommit(GURL(kLandingURL));
1287 1292
1288 UnsafeResource resource; 1293 UnsafeResource resource;
1289 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */, 1294 InitResource(&resource, SB_THREAT_TYPE_URL_MALWARE, true /* is_subresource */,
1290 GURL(kThreatURL)); 1295 GURL(kThreatURL));
1291 scoped_refptr<ThreatDetailsWrap> report = 1296 scoped_refptr<ThreatDetailsWrap> report = new ThreatDetailsWrap(
1292 new ThreatDetailsWrap(ui_manager_.get(), web_contents(), resource, NULL); 1297 ui_manager_.get(), web_contents(), resource, NULL, history_service());
1293 1298
1294 // The redirects collection starts after the IPC from the DOM is fired. 1299 // The redirects collection starts after the IPC from the DOM is fired.
1295 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params; 1300 std::vector<SafeBrowsingHostMsg_ThreatDOMDetails_Node> params;
1296 report->OnReceivedThreatDOMDetails(main_rfh(), params); 1301 report->OnReceivedThreatDOMDetails(main_rfh(), params);
1297 1302
1298 // Let the redirects callbacks complete. 1303 // Let the redirects callbacks complete.
1299 base::RunLoop().RunUntilIdle(); 1304 base::RunLoop().RunUntilIdle();
1300 1305
1301 std::string serialized = WaitForSerializedReport( 1306 std::string serialized = WaitForSerializedReport(
1302 report.get(), true /* did_proceed*/, 1 /* num_visit */); 1307 report.get(), true /* did_proceed*/, 1 /* num_visit */);
(...skipping 21 matching lines...) Expand all
1324 pb_resource->set_parent_id(3); 1329 pb_resource->set_parent_id(3);
1325 pb_resource->set_url(kSecondRedirectURL); 1330 pb_resource->set_url(kSecondRedirectURL);
1326 pb_resource = expected.add_resources(); 1331 pb_resource = expected.add_resources();
1327 pb_resource->set_id(3); 1332 pb_resource->set_id(3);
1328 pb_resource->set_url(kFirstRedirectURL); 1333 pb_resource->set_url(kFirstRedirectURL);
1329 1334
1330 VerifyResults(actual, expected); 1335 VerifyResults(actual, expected);
1331 } 1336 }
1332 1337
1333 } // namespace safe_browsing 1338 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/threat_details_cache.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698