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

Side by Side Diff: chrome/browser/safe_browsing/browser_feature_extractor.h

Issue 7538009: Send back the URL that matched the SafeBrowsing list with the CSD ping. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Matt's comments. Created 9 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/safe_browsing/browser_feature_extractor.cc » ('j') | 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) 2011 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 // BrowserFeatureExtractor computes various browser features for client-side 5 // BrowserFeatureExtractor computes various browser features for client-side
6 // phishing detection. For now it does a bunch of lookups in the history 6 // phishing detection. For now it does a bunch of lookups in the history
7 // service to see whether a particular URL has been visited before by the 7 // service to see whether a particular URL has been visited before by the
8 // user. 8 // user.
9 9
10 #ifndef CHROME_BROWSER_SAFE_BROWSING_BROWSER_FEATURE_EXTRACTOR_H_ 10 #ifndef CHROME_BROWSER_SAFE_BROWSING_BROWSER_FEATURE_EXTRACTOR_H_
11 #define CHROME_BROWSER_SAFE_BROWSING_BROWSER_FEATURE_EXTRACTOR_H_ 11 #define CHROME_BROWSER_SAFE_BROWSING_BROWSER_FEATURE_EXTRACTOR_H_
12 #pragma once 12 #pragma once
13 13
14 #include <map> 14 #include <map>
15 #include <set> 15 #include <set>
16 #include <utility> 16 #include <utility>
17 17
18 #include "base/basictypes.h" 18 #include "base/basictypes.h"
19 #include "base/callback_old.h" 19 #include "base/callback_old.h"
20 #include "base/memory/scoped_ptr.h"
20 #include "base/task.h" 21 #include "base/task.h"
21 #include "base/time.h" 22 #include "base/time.h"
22 #include "chrome/browser/history/history_types.h" 23 #include "chrome/browser/history/history_types.h"
24 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
23 #include "content/browser/cancelable_request.h" 25 #include "content/browser/cancelable_request.h"
24 26
25 class HistoryService; 27 class HistoryService;
26 class TabContents; 28 class TabContents;
27 29
28 namespace safe_browsing { 30 namespace safe_browsing {
29 class ClientPhishingRequest; 31 class ClientPhishingRequest;
30 class ClientSideDetectionService; 32 class ClientSideDetectionService;
31 33
32 struct BrowseInfo { 34 struct BrowseInfo {
33 // List of IPv4 and IPv6 addresses from which content was requested 35 // List of IPv4 and IPv6 addresses from which content was requested
34 // while browsing to the |url|. 36 // while browsing to the |url|.
35 std::set<std::string> ips; 37 std::set<std::string> ips;
36 38
39 // If a SafeBrowsing interstitial was shown for the current URL
40 // this will contain the UnsafeResource struct for that URL.
41 scoped_ptr<SafeBrowsingService::UnsafeResource> unsafe_resource;
42
37 BrowseInfo(); 43 BrowseInfo();
38 ~BrowseInfo(); 44 ~BrowseInfo();
39 }; 45 };
40 46
41 namespace features { 47 namespace features {
42 48
43 // TODO(noelutz): move renderer/safe_browsing/features.h to common. 49 // TODO(noelutz): move renderer/safe_browsing/features.h to common.
44 //////////////////////////////////////////////////// 50 ////////////////////////////////////////////////////
45 // History features. 51 // History features.
46 //////////////////////////////////////////////////// 52 ////////////////////////////////////////////////////
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 extern const char kReferrer[]; 87 extern const char kReferrer[];
82 // True if the referrer was stripped because it is an SSL referrer. 88 // True if the referrer was stripped because it is an SSL referrer.
83 extern const char kHasSSLReferrer[]; 89 extern const char kHasSSLReferrer[];
84 // Stores the page transition. See: PageTransition. We strip the qualifier. 90 // Stores the page transition. See: PageTransition. We strip the qualifier.
85 extern const char kPageTransitionType[]; 91 extern const char kPageTransitionType[];
86 // True if this navigation is the first for this tab. 92 // True if this navigation is the first for this tab.
87 extern const char kIsFirstNavigation[]; 93 extern const char kIsFirstNavigation[];
88 94
89 // Resource was fetched from a known bad IP address. 95 // Resource was fetched from a known bad IP address.
90 extern const char kBadIpFetch[]; 96 extern const char kBadIpFetch[];
97
98 // SafeBrowsing related featues. Fields from the UnsafeResource if there is
99 // any.
100 extern const char kSafeBrowsingMaliciousUrl[];
101 extern const char kSafeBrowsingOriginalUrl[];
102 extern const char kSafeBrowsingIsSubresource[];
103 extern const char kSafeBrowsingThreatType[];
91 } // namespace features 104 } // namespace features
92 105
93 // All methods of this class must be called on the UI thread (including 106 // All methods of this class must be called on the UI thread (including
94 // the constructor). 107 // the constructor).
95 class BrowserFeatureExtractor { 108 class BrowserFeatureExtractor {
96 public: 109 public:
97 // Called when feature extraction is done. The first argument will be 110 // Called when feature extraction is done. The first argument will be
98 // true iff feature extraction succeeded. The second argument is the 111 // true iff feature extraction succeeded. The second argument is the
99 // phishing request which was modified by the feature extractor. The 112 // phishing request which was modified by the feature extractor. The
100 // DoneCallback takes ownership of the request object. 113 // DoneCallback takes ownership of the request object.
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 std::set<ExtractionData> pending_extractions_; 203 std::set<ExtractionData> pending_extractions_;
191 204
192 // Set of pending queries (i.e., where history->Query...() was called but 205 // Set of pending queries (i.e., where history->Query...() was called but
193 // the history callback hasn't been invoked yet). 206 // the history callback hasn't been invoked yet).
194 PendingQueriesMap pending_queries_; 207 PendingQueriesMap pending_queries_;
195 208
196 DISALLOW_COPY_AND_ASSIGN(BrowserFeatureExtractor); 209 DISALLOW_COPY_AND_ASSIGN(BrowserFeatureExtractor);
197 }; 210 };
198 } // namespace safe_browsing 211 } // namespace safe_browsing
199 #endif // CHROME_BROWSER_SAFE_BROWSING_BROWSER_FEATURE_EXTRACTOR_H_ 212 #endif // CHROME_BROWSER_SAFE_BROWSING_BROWSER_FEATURE_EXTRACTOR_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/safe_browsing/browser_feature_extractor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698