| Index: chrome/browser/safe_browsing/client_side_detection_host.h
|
| diff --git a/chrome/browser/safe_browsing/client_side_detection_host.h b/chrome/browser/safe_browsing/client_side_detection_host.h
|
| index c5cf95acbbd3a0a6a589fce8372ee09086564f9f..1492f13b541e3e9e8500d16cc524fdba985b4211 100644
|
| --- a/chrome/browser/safe_browsing/client_side_detection_host.h
|
| +++ b/chrome/browser/safe_browsing/client_side_detection_host.h
|
| @@ -79,6 +79,11 @@ class ClientSideDetectionHost : public content::WebContentsObserver,
|
| class ShouldClassifyUrlRequest;
|
| friend class ShouldClassifyUrlRequest;
|
|
|
| + // These methods are called when pre-classification checks are done for
|
| + // the phishing and malware clasifiers.
|
| + void OnPhishingPreClassificationDone(bool should_classify);
|
| + void OnMalwarePreClassificationDone(bool should_classify);
|
| +
|
| // Verdict is an encoded ClientPhishingRequest protocol message.
|
| void OnPhishingDetectionDone(const std::string& verdict);
|
|
|
| @@ -98,10 +103,14 @@ class ClientSideDetectionHost : public content::WebContentsObserver,
|
| // the UI thread.
|
| void FeatureExtractionDone(bool success, ClientPhishingRequest* request);
|
|
|
| + // Start malware classification once the onload handler was called and
|
| + // malware pre-classification checks are done and passed.
|
| + void MaybeStartMalwareFeatureExtraction();
|
| +
|
| // Function to be called when the browser malware feature extractor is done.
|
| // Called on the UI thread.
|
| - void MalwareFeatureExtractionDone(bool success,
|
| - scoped_ptr<ClientMalwareRequest> request);
|
| + void MalwareFeatureExtractionDone(
|
| + bool success, scoped_ptr<ClientMalwareRequest> request);
|
|
|
| // Update the entries in browse_info_->ips map.
|
| void UpdateIPUrlMap(const std::string& ip,
|
| @@ -116,6 +125,10 @@ class ClientSideDetectionHost : public content::WebContentsObserver,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
|
|
| + // Inherited from WebContentsObserver. This is called once the onload handler
|
| + // is called.
|
| + virtual void DocumentOnLoadCompletedInMainFrame(int32 page_id) OVERRIDE;
|
| +
|
| // Returns true if the user has seen a regular SafeBrowsing
|
| // interstitial for the current page. This is only true if the user has
|
| // actually clicked through the warning. This method is called on the UI
|
| @@ -126,10 +139,6 @@ class ClientSideDetectionHost : public content::WebContentsObserver,
|
| // class.
|
| void set_client_side_detection_service(ClientSideDetectionService* service);
|
|
|
| - // Get/Set malware_killswitch_on_ value. These methods called on UI thread.
|
| - bool MalwareKillSwitchIsOn();
|
| - void SetMalwareKillSwitch(bool killswitch_on);
|
| -
|
| // This pointer may be NULL if client-side phishing detection is disabled.
|
| ClientSideDetectionService* csd_service_;
|
| // These pointers may be NULL if SafeBrowsing is disabled.
|
| @@ -158,6 +167,10 @@ class ClientSideDetectionHost : public content::WebContentsObserver,
|
| // Max number of urls we report for each malware IP.
|
| static const int kMaxUrlsPerIP;
|
|
|
| + bool should_extract_malware_features_;
|
| + bool should_classify_for_malware_;
|
| + bool onload_complete_;
|
| +
|
| base::WeakPtrFactory<ClientSideDetectionHost> weak_factory_;
|
|
|
| // Unique page ID of the most recent unsafe site that was loaded in this tab
|
| @@ -165,14 +178,6 @@ class ClientSideDetectionHost : public content::WebContentsObserver,
|
| int unsafe_unique_page_id_;
|
| scoped_ptr<SafeBrowsingUIManager::UnsafeResource> unsafe_resource_;
|
|
|
| - // Whether the malware IP matching feature killswitch is on.
|
| - // This should be accessed from UI thread.
|
| - bool malware_killswitch_on_;
|
| -
|
| - // Whether the malware bad ip matching and report feature is enabled.
|
| - // This should be accessed from UI thread.
|
| - bool malware_report_enabled_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(ClientSideDetectionHost);
|
| };
|
|
|
|
|