| 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/browser/safe_browsing/browser_feature_extractor.h" | 5 #include "chrome/browser/safe_browsing/browser_feature_extractor.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 | 52 |
| 53 static void AddNavigationFeatures( | 53 static void AddNavigationFeatures( |
| 54 const std::string& feature_prefix, | 54 const std::string& feature_prefix, |
| 55 const NavigationController& controller, | 55 const NavigationController& controller, |
| 56 int index, | 56 int index, |
| 57 const std::vector<GURL>& redirect_chain, | 57 const std::vector<GURL>& redirect_chain, |
| 58 ClientPhishingRequest* request) { | 58 ClientPhishingRequest* request) { |
| 59 NavigationEntry* entry = controller.GetEntryAtIndex(index); | 59 NavigationEntry* entry = controller.GetEntryAtIndex(index); |
| 60 bool is_secure_referrer = entry->GetReferrer().url.SchemeIsSecure(); | 60 bool is_secure_referrer = entry->GetReferrer().url.SchemeIsSecure(); |
| 61 if (!is_secure_referrer) { | 61 if (!is_secure_referrer) { |
| 62 AddFeature(StringPrintf("%s%s=%s", | 62 AddFeature(base::StringPrintf("%s%s=%s", |
| 63 feature_prefix.c_str(), | 63 feature_prefix.c_str(), |
| 64 features::kReferrer, | 64 features::kReferrer, |
| 65 entry->GetReferrer().url.spec().c_str()), | 65 entry->GetReferrer().url.spec().c_str()), |
| 66 1.0, | 66 1.0, |
| 67 request); | 67 request); |
| 68 } | 68 } |
| 69 AddFeature(feature_prefix + features::kHasSSLReferrer, | 69 AddFeature(feature_prefix + features::kHasSSLReferrer, |
| 70 is_secure_referrer ? 1.0 : 0.0, | 70 is_secure_referrer ? 1.0 : 0.0, |
| 71 request); | 71 request); |
| 72 AddFeature(feature_prefix + features::kPageTransitionType, | 72 AddFeature(feature_prefix + features::kPageTransitionType, |
| 73 static_cast<double>( | 73 static_cast<double>( |
| 74 content::PageTransitionStripQualifier( | 74 content::PageTransitionStripQualifier( |
| 75 entry->GetTransitionType())), | 75 entry->GetTransitionType())), |
| (...skipping 19 matching lines...) Expand all Loading... |
| 95 1.0, | 95 1.0, |
| 96 request); | 96 request); |
| 97 return; | 97 return; |
| 98 } | 98 } |
| 99 // We skip the last element since it should just be the current url. | 99 // We skip the last element since it should just be the current url. |
| 100 for (size_t i = 0; i < redirect_chain.size() - 1; i++) { | 100 for (size_t i = 0; i < redirect_chain.size() - 1; i++) { |
| 101 std::string printable_redirect = redirect_chain[i].spec(); | 101 std::string printable_redirect = redirect_chain[i].spec(); |
| 102 if (redirect_chain[i].SchemeIsSecure()) { | 102 if (redirect_chain[i].SchemeIsSecure()) { |
| 103 printable_redirect = features::kSecureRedirectValue; | 103 printable_redirect = features::kSecureRedirectValue; |
| 104 } | 104 } |
| 105 AddFeature(StringPrintf("%s%s[%"PRIuS"]=%s", | 105 AddFeature(base::StringPrintf("%s%s[%"PRIuS"]=%s", |
| 106 feature_prefix.c_str(), | 106 feature_prefix.c_str(), |
| 107 features::kRedirect, | 107 features::kRedirect, |
| 108 i, | 108 i, |
| 109 printable_redirect.c_str()), | 109 printable_redirect.c_str()), |
| 110 1.0, | 110 1.0, |
| 111 request); | 111 request); |
| 112 } | 112 } |
| 113 } | 113 } |
| 114 | 114 |
| 115 BrowserFeatureExtractor::BrowserFeatureExtractor( | 115 BrowserFeatureExtractor::BrowserFeatureExtractor( |
| 116 WebContents* tab, | 116 WebContents* tab, |
| 117 ClientSideDetectionService* service) | 117 ClientSideDetectionService* service) |
| 118 : tab_(tab), | 118 : tab_(tab), |
| 119 service_(service), | 119 service_(service), |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 Profile::EXPLICIT_ACCESS); | 445 Profile::EXPLICIT_ACCESS); |
| 446 if (*history) { | 446 if (*history) { |
| 447 return true; | 447 return true; |
| 448 } | 448 } |
| 449 } | 449 } |
| 450 VLOG(2) << "Unable to query history. No history service available."; | 450 VLOG(2) << "Unable to query history. No history service available."; |
| 451 return false; | 451 return false; |
| 452 } | 452 } |
| 453 | 453 |
| 454 } // namespace safe_browsing | 454 } // namespace safe_browsing |
| OLD | NEW |