1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/safe_browsing/incident_reporting/binary_integrity_incident.h"
7 #include "base/logging.h"
8 #include "chrome/browser/safe_browsing/incident_reporting/incident_handler_util.h"
9 #include "chrome/common/safe_browsing/csd.pb.h"
11 namespace safe_browsing
{
13 BinaryIntegrityIncident::BinaryIntegrityIncident(
14 scoped_ptr
<ClientIncidentReport_IncidentData_BinaryIntegrityIncident
>
15 binary_integrity_incident
) {
16 DCHECK(binary_integrity_incident
);
17 DCHECK(binary_integrity_incident
->has_file_basename());
18 payload()->set_allocated_binary_integrity(
19 binary_integrity_incident
.release());
22 BinaryIntegrityIncident::~BinaryIntegrityIncident() {
25 IncidentType
BinaryIntegrityIncident::GetType() const {
26 return IncidentType::BINARY_INTEGRITY
;
29 // Returns the basename of the binary.
30 std::string
BinaryIntegrityIncident::GetKey() const {
31 return payload()->binary_integrity().file_basename();
34 // Returns a digest computed over the payload.
35 uint32_t BinaryIntegrityIncident::ComputeDigest() const {
36 return HashMessage(payload()->binary_integrity());
39 } // namespace safe_browsing