blob: 31e9a582a4e536948de52bd3bbd4f46d287dcc85 [file] [log] [blame]
// Copyright 2019 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/security_events/security_event_recorder_impl.h"
#include <memory>
#include <utility>
using sync_pb::SecurityEventSpecifics;
SecurityEventRecorderImpl::SecurityEventRecorderImpl(
std::unique_ptr<SecurityEventSyncBridge> security_event_sync_bridge,
base::Clock* clock)
: security_event_sync_bridge_(std::move(security_event_sync_bridge)),
clock_(clock) {
DCHECK(security_event_sync_bridge_);
DCHECK(clock_);
}
SecurityEventRecorderImpl::~SecurityEventRecorderImpl() {}
void SecurityEventRecorderImpl::RecordGaiaPasswordReuse(
const sync_pb::GaiaPasswordReuse& event) {
sync_pb::SecurityEventSpecifics specifics;
specifics.set_event_time_usec(clock_->Now().since_origin().InMicroseconds());
sync_pb::GaiaPasswordReuse* gaia_password_reuse_event =
specifics.mutable_gaia_password_reuse_event();
gaia_password_reuse_event->CopyFrom(event);
security_event_sync_bridge_->RecordSecurityEvent(std::move(specifics));
}
base::WeakPtr<syncer::ModelTypeControllerDelegate>
SecurityEventRecorderImpl::GetControllerDelegate() {
if (security_event_sync_bridge_) {
return security_event_sync_bridge_->GetControllerDelegate();
}
return base::WeakPtr<syncer::ModelTypeControllerDelegate>();
}
void SecurityEventRecorderImpl::Shutdown() {}