Chromium Code Reviews| Index: chrome/browser/safe_browsing/browser_feature_extractor.cc |
| diff --git a/chrome/browser/safe_browsing/browser_feature_extractor.cc b/chrome/browser/safe_browsing/browser_feature_extractor.cc |
| index 3d56279c3327f87a9755d0f309d058e1ec429e88..2c5ed57f042a3742aed1c9303105569b0712d710 100644 |
| --- a/chrome/browser/safe_browsing/browser_feature_extractor.cc |
| +++ b/chrome/browser/safe_browsing/browser_feature_extractor.cc |
| @@ -33,6 +33,8 @@ const char kFirstHttpHostVisitMoreThan24hAgo[] = |
| "FirstHttpHostVisitMoreThan24hAgo"; |
| const char kFirstHttpsHostVisitMoreThan24hAgo[] = |
| "FirstHttpsHostVisitMoreThan24hAgo"; |
| +const char kHasSSLReferrer[] = "HasSSLReferrer"; |
| +const char kPageTransitionType[] = "PageTransitionType"; |
| } // namespace features |
| static void AddFeature(const std::string& feature_name, |
| @@ -74,7 +76,8 @@ BrowserFeatureExtractor::~BrowserFeatureExtractor() { |
| pending_queries_.clear(); |
| } |
| -void BrowserFeatureExtractor::ExtractFeatures(ClientPhishingRequest* request, |
| +void BrowserFeatureExtractor::ExtractFeatures(const BrowseInfo& info, |
| + ClientPhishingRequest* request, |
| DoneCallback* callback) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| DCHECK(request); |
| @@ -84,6 +87,18 @@ void BrowserFeatureExtractor::ExtractFeatures(ClientPhishingRequest* request, |
| DLOG(ERROR) << "ExtractFeatures called without a callback object"; |
| return; |
| } |
| + bool is_secure_referrer = info.referrer.SchemeIsSecure(); |
| + if (!is_secure_referrer) { |
| + request->set_referrer_url(info.referrer.spec()); |
| + } |
| + AddFeature(features::kHasSSLReferrer, |
| + is_secure_referrer ? 1.0 : 0.0, |
| + request); |
| + AddFeature(features::kPageTransitionType, |
| + static_cast<double>( |
| + PageTransition::StripQualifier(info.transition)), |
|
Brian Ryner
2011/06/21 00:20:36
If we ever wanted to implement this in a cross-bro
noelutz
2011/06/21 00:25:17
Agreed. If this will make it to a useful feature
|
| + request); |
| + |
| pending_extractions_.insert(std::make_pair(request, callback)); |
| MessageLoop::current()->PostTask( |
| FROM_HERE, |