OLD | NEW |
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 "chrome/renderer/safe_browsing/phishing_classifier.h" | 5 #include "chrome/renderer/safe_browsing/phishing_classifier.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 | 44 |
45 class PhishingClassifierTest : public InProcessBrowserTest { | 45 class PhishingClassifierTest : public InProcessBrowserTest { |
46 protected: | 46 protected: |
47 PhishingClassifierTest() | 47 PhishingClassifierTest() |
48 : url_tld_token_net_(features::kUrlTldToken + std::string("net")), | 48 : url_tld_token_net_(features::kUrlTldToken + std::string("net")), |
49 page_link_domain_phishing_(features::kPageLinkDomain + | 49 page_link_domain_phishing_(features::kPageLinkDomain + |
50 std::string("phishing.com")), | 50 std::string("phishing.com")), |
51 page_term_login_(features::kPageTerm + std::string("login")) { | 51 page_term_login_(features::kPageTerm + std::string("login")) { |
52 } | 52 } |
53 | 53 |
54 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 54 virtual void SetUpCommandLine(CommandLine* command_line) override { |
55 command_line->AppendSwitch(switches::kSingleProcess); | 55 command_line->AppendSwitch(switches::kSingleProcess); |
56 #if defined(OS_WIN) | 56 #if defined(OS_WIN) |
57 // Don't want to try to create a GPU process. | 57 // Don't want to try to create a GPU process. |
58 command_line->AppendSwitch(switches::kDisableGpu); | 58 command_line->AppendSwitch(switches::kDisableGpu); |
59 #endif | 59 #endif |
60 } | 60 } |
61 | 61 |
62 virtual void SetUpOnMainThread() OVERRIDE { | 62 virtual void SetUpOnMainThread() override { |
63 // Construct a model to test with. We include one feature from each of | 63 // Construct a model to test with. We include one feature from each of |
64 // the feature extractors, which allows us to verify that they all ran. | 64 // the feature extractors, which allows us to verify that they all ran. |
65 ClientSideModel model; | 65 ClientSideModel model; |
66 | 66 |
67 model.add_hashes(crypto::SHA256HashString(url_tld_token_net_)); | 67 model.add_hashes(crypto::SHA256HashString(url_tld_token_net_)); |
68 model.add_hashes(crypto::SHA256HashString(page_link_domain_phishing_)); | 68 model.add_hashes(crypto::SHA256HashString(page_link_domain_phishing_)); |
69 model.add_hashes(crypto::SHA256HashString(page_term_login_)); | 69 model.add_hashes(crypto::SHA256HashString(page_term_login_)); |
70 model.add_hashes(crypto::SHA256HashString("login")); | 70 model.add_hashes(crypto::SHA256HashString("login")); |
71 model.add_hashes(crypto::SHA256HashString(features::kUrlTldToken + | 71 model.add_hashes(crypto::SHA256HashString(features::kUrlTldToken + |
72 std::string("net"))); | 72 std::string("net"))); |
(...skipping 25 matching lines...) Expand all Loading... |
98 | 98 |
99 clock_ = new MockFeatureExtractorClock; | 99 clock_ = new MockFeatureExtractorClock; |
100 scorer_.reset(Scorer::Create(model.SerializeAsString())); | 100 scorer_.reset(Scorer::Create(model.SerializeAsString())); |
101 ASSERT_TRUE(scorer_.get()); | 101 ASSERT_TRUE(scorer_.get()); |
102 | 102 |
103 classifier_.reset(new PhishingClassifier( | 103 classifier_.reset(new PhishingClassifier( |
104 content::RenderView::FromRoutingID(kRenderViewRoutingId), | 104 content::RenderView::FromRoutingID(kRenderViewRoutingId), |
105 clock_)); | 105 clock_)); |
106 } | 106 } |
107 | 107 |
108 virtual void TearDownOnMainThread() OVERRIDE { | 108 virtual void TearDownOnMainThread() override { |
109 content::RunAllPendingInMessageLoop(); | 109 content::RunAllPendingInMessageLoop(); |
110 } | 110 } |
111 | 111 |
112 // Helper method to start phishing classification and wait for it to | 112 // Helper method to start phishing classification and wait for it to |
113 // complete. Returns the true if the page is classified as phishy and | 113 // complete. Returns the true if the page is classified as phishy and |
114 // false otherwise. | 114 // false otherwise. |
115 bool RunPhishingClassifier(const base::string16* page_text, | 115 bool RunPhishingClassifier(const base::string16* page_text, |
116 float* phishy_score, | 116 float* phishy_score, |
117 FeatureMap* features) { | 117 FeatureMap* features) { |
118 ClientPhishingRequest verdict; | 118 ClientPhishingRequest verdict; |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 // Now set the scorer. | 296 // Now set the scorer. |
297 classifier_->set_phishing_scorer(scorer_.get()); | 297 classifier_->set_phishing_scorer(scorer_.get()); |
298 EXPECT_TRUE(classifier_->is_ready()); | 298 EXPECT_TRUE(classifier_->is_ready()); |
299 | 299 |
300 // Set a NULL scorer, which turns detection back off. | 300 // Set a NULL scorer, which turns detection back off. |
301 classifier_->set_phishing_scorer(NULL); | 301 classifier_->set_phishing_scorer(NULL); |
302 EXPECT_FALSE(classifier_->is_ready()); | 302 EXPECT_FALSE(classifier_->is_ready()); |
303 } | 303 } |
304 | 304 |
305 } // namespace safe_browsing | 305 } // namespace safe_browsing |
OLD | NEW |