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

Unified Diff: chrome/browser/safe_browsing/browser_feature_extractor.h

Issue 42553002: Mostly integrate new malware IP blacklist with the csd client. When (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/safe_browsing/browser_feature_extractor.h
diff --git a/chrome/browser/safe_browsing/browser_feature_extractor.h b/chrome/browser/safe_browsing/browser_feature_extractor.h
index 9a6fbf5db10ef71528737c3e3c4ce22840eb0a12..ffa614960583d09a793ffcf007f7d390952b0e42 100644
--- a/chrome/browser/safe_browsing/browser_feature_extractor.h
+++ b/chrome/browser/safe_browsing/browser_feature_extractor.h
@@ -37,7 +37,7 @@ class WebContents;
namespace safe_browsing {
class ClientMalwareRequest;
class ClientPhishingRequest;
-class ClientSideDetectionService;
+class ClientSideDetectionHost;
typedef std::map<std::string, std::set<std::string> > IPUrlMap;
@@ -74,11 +74,11 @@ class BrowserFeatureExtractor {
typedef base::Callback<void(bool, ClientPhishingRequest*)> DoneCallback;
typedef base::Callback<void(bool, ClientMalwareRequest*)> MalwareDoneCallback;
- // The caller keeps ownership of the tab and service objects and is
+ // The caller keeps ownership of the tab and host objects and is
// responsible for ensuring that they stay valid for the entire
// lifetime of this object.
BrowserFeatureExtractor(content::WebContents* tab,
- ClientSideDetectionService* service);
+ ClientSideDetectionHost* host);
// The destructor will cancel any pending requests.
virtual ~BrowserFeatureExtractor();
@@ -93,10 +93,13 @@ class BrowserFeatureExtractor {
ClientPhishingRequest* request,
const DoneCallback& callback);
- // Extract the malware related features. The request object is owned by the
- // caller.
- virtual void ExtractMalwareFeatures(const BrowseInfo* info,
- ClientMalwareRequest* request);
+ // Begins extraction of the malware related features. We take ownership
+ // of the request object until |callback| is called. Once feature extraction
+ // is complete, |callback| will run on the UI thread. |info| is not expected
+ // to stay valid after ExtractMalwareFeatures returns.
+ virtual void ExtractMalwareFeatures(const BrowseInfo& info,
+ ClientMalwareRequest* request,
+ const MalwareDoneCallback& callback);
private:
friend class base::DeleteHelper<BrowserFeatureExtractor>;
@@ -112,6 +115,11 @@ class BrowserFeatureExtractor {
void StartExtractFeatures(ClientPhishingRequest* request,
const DoneCallback& callback);
+ // Actually start the malware feature extraction on the IO thread.
+ void StartExtractMalwareFeatures(scoped_ptr<IPUrlMap> ips,
+ ClientMalwareRequest* request,
+ const MalwareDoneCallback& callback);
+
// HistoryService callback which is called when we're done querying URL visits
// in the history.
void QueryUrlHistoryDone(CancelableRequestProvider::Handle handle,
@@ -160,7 +168,7 @@ class BrowserFeatureExtractor {
bool GetHistoryService(HistoryService** history);
content::WebContents* tab_;
- ClientSideDetectionService* service_;
+ ClientSideDetectionHost* host_;
CancelableRequestConsumer request_consumer_;
base::WeakPtrFactory<BrowserFeatureExtractor> weak_factory_;

Powered by Google App Engine
This is Rietveld 408576698