| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // Datastructures that hold details of a Safe Browsing hit for reporting. |
| |
| #ifndef COMPONENTS_SAFE_BROWSING_DB_HIT_REPORT_H_ |
| #define COMPONENTS_SAFE_BROWSING_DB_HIT_REPORT_H_ |
| |
| #include "components/safe_browsing_db/util.h" |
| #include "url/gurl.h" |
| |
| namespace safe_browsing { |
| |
| // What service classified this threat as unsafe. |
| enum class ThreatSource { |
| UNKNOWN, |
| DATA_SAVER, // From the Data Reduction service. |
| LOCAL_PVER3, // From LocalSafeBrowingDatabaseManager, protocol v3 |
| LOCAL_PVER4, // From LocalSafeBrowingDatabaseManager, protocol v4 |
| REMOTE, // From RemoteSafeBrowingDatabaseManager |
| CLIENT_SIDE_DETECTION, // From ClientSideDetectionHost |
| }; |
| |
| // Data to report about the contents of a particular threat (malware, phishing, |
| // unsafe download URL). If post_data is non-empty, the request will be |
| // sent as a POST instead of a GET. |
| struct HitReport { |
| HitReport(); |
| HitReport(const HitReport& other); |
| ~HitReport(); |
| |
| GURL malicious_url; |
| GURL page_url; |
| GURL referrer_url; |
| |
| bool is_subresource; |
| SBThreatType threat_type; |
| ThreatSource threat_source; |
| |
| // Opaque string used for tracking Pver4-based experiments |
| std::string population_id; |
| |
| bool is_extended_reporting; |
| bool is_metrics_reporting_active; |
| |
| std::string post_data; |
| }; |
| |
| } // namespace safe_browsing |
| |
| #endif // COMPONENTS_SAFE_BROWSING_DB_HIT_REPORT_H_ |