| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| 12 #include "base/sha2.h" | |
| 13 #include "base/string_util.h" | 12 #include "base/string_util.h" |
| 13 #include "crypto/sha2.h" |
| 14 #include "chrome/common/url_constants.h" | 14 #include "chrome/common/url_constants.h" |
| 15 #include "chrome/renderer/safe_browsing/feature_extractor_clock.h" | 15 #include "chrome/renderer/safe_browsing/feature_extractor_clock.h" |
| 16 #include "chrome/renderer/safe_browsing/features.h" | 16 #include "chrome/renderer/safe_browsing/features.h" |
| 17 #include "chrome/renderer/safe_browsing/phishing_dom_feature_extractor.h" | 17 #include "chrome/renderer/safe_browsing/phishing_dom_feature_extractor.h" |
| 18 #include "chrome/renderer/safe_browsing/phishing_term_feature_extractor.h" | 18 #include "chrome/renderer/safe_browsing/phishing_term_feature_extractor.h" |
| 19 #include "chrome/renderer/safe_browsing/phishing_url_feature_extractor.h" | 19 #include "chrome/renderer/safe_browsing/phishing_url_feature_extractor.h" |
| 20 #include "chrome/renderer/safe_browsing/scorer.h" | 20 #include "chrome/renderer/safe_browsing/scorer.h" |
| 21 #include "content/renderer/render_view.h" | 21 #include "content/renderer/render_view.h" |
| 22 #include "googleurl/src/gurl.h" | 22 #include "googleurl/src/gurl.h" |
| 23 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h" | 23 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDataSource.h" |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 void PhishingClassifier::TermExtractionFinished(bool success) { | 153 void PhishingClassifier::TermExtractionFinished(bool success) { |
| 154 if (success) { | 154 if (success) { |
| 155 // Hash all of the features so that they match the model, then compute | 155 // Hash all of the features so that they match the model, then compute |
| 156 // the score. | 156 // the score. |
| 157 FeatureMap hashed_features; | 157 FeatureMap hashed_features; |
| 158 for (base::hash_map<std::string, double>::const_iterator it = | 158 for (base::hash_map<std::string, double>::const_iterator it = |
| 159 features_->features().begin(); | 159 features_->features().begin(); |
| 160 it != features_->features().end(); ++it) { | 160 it != features_->features().end(); ++it) { |
| 161 VLOG(2) << "Feature: " << it->first << " = " << it->second; | 161 VLOG(2) << "Feature: " << it->first << " = " << it->second; |
| 162 bool result = hashed_features.AddRealFeature( | 162 bool result = hashed_features.AddRealFeature( |
| 163 base::SHA256HashString(it->first), it->second); | 163 crypto::SHA256HashString(it->first), it->second); |
| 164 DCHECK(result); | 164 DCHECK(result); |
| 165 } | 165 } |
| 166 | 166 |
| 167 double score = scorer_->ComputeScore(hashed_features); | 167 double score = scorer_->ComputeScore(hashed_features); |
| 168 RunCallback(score >= kPhishyThreshold, score); | 168 RunCallback(score >= kPhishyThreshold, score); |
| 169 } else { | 169 } else { |
| 170 RunFailureCallback(); | 170 RunFailureCallback(); |
| 171 } | 171 } |
| 172 } | 172 } |
| 173 | 173 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 189 RunCallback(false /* not phishy */, kInvalidScore); | 189 RunCallback(false /* not phishy */, kInvalidScore); |
| 190 } | 190 } |
| 191 | 191 |
| 192 void PhishingClassifier::Clear() { | 192 void PhishingClassifier::Clear() { |
| 193 page_text_ = NULL; | 193 page_text_ = NULL; |
| 194 done_callback_.reset(NULL); | 194 done_callback_.reset(NULL); |
| 195 features_.reset(NULL); | 195 features_.reset(NULL); |
| 196 } | 196 } |
| 197 | 197 |
| 198 } // namespace safe_browsing | 198 } // namespace safe_browsing |
| OLD | NEW |