Index: chrome/browser/safe_browsing/incident_reporting/osx_binary_integrity_incident.cc |
diff --git a/chrome/browser/safe_browsing/incident_reporting/osx_binary_integrity_incident.cc b/chrome/browser/safe_browsing/incident_reporting/osx_binary_integrity_incident.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fb01860878aecacda03d9de525459af80c857c1f |
--- /dev/null |
+++ b/chrome/browser/safe_browsing/incident_reporting/osx_binary_integrity_incident.cc |
@@ -0,0 +1,37 @@ |
+// 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. |
+ |
+#include "chrome/browser/safe_browsing/incident_reporting/osx_binary_integrity_incident.h" |
+ |
+#include "base/logging.h" |
+#include "chrome/browser/safe_browsing/incident_reporting/incident_handler_util.h" |
+#include "chrome/common/safe_browsing/csd.pb.h" |
+ |
+namespace safe_browsing { |
+ |
+OSXBinaryIntegrityIncident::OSXBinaryIntegrityIncident( |
+ scoped_ptr<ClientIncidentReport_IncidentData_OSXBinaryIntegrityIncident> |
+ binary_integrity_incident) { |
+ DCHECK(binary_integrity_incident); |
+ DCHECK(binary_integrity_incident->has_file_basename()); |
+ payload()->set_allocated_osx_incident(binary_integrity_incident.release()); |
+} |
+ |
+OSXBinaryIntegrityIncident::~OSXBinaryIntegrityIncident() {} |
+ |
+IncidentType OSXBinaryIntegrityIncident::GetType() const { |
+ return IncidentType::OSX_INCIDENT; |
+} |
+ |
+// Returns the basename of the binary. |
+std::string OSXBinaryIntegrityIncident::GetKey() const { |
+ return payload()->osx_incident().file_basename(); |
+} |
+ |
+// Returns a digest computed over the payload. |
+uint32_t OSXBinaryIntegrityIncident::ComputeDigest() const { |
+ return HashMessage(payload()->osx_incident()); |
+} |
+ |
+} // namespace safe_browsing |