blob: 6d67df52b7bba22e3e2c4b27b7f4d5f4e7081bba [file]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/security_state/content/android/security_state_client.h"
namespace security_state {
static SecurityStateClient* g_client;
void SetSecurityStateClient(SecurityStateClient* client) {
g_client = client;
}
SecurityStateClient* GetSecurityStateClient() {
return g_client;
}
SecurityStateClient::SecurityStateClient() = default;
SecurityStateClient::~SecurityStateClient() = default;
std::unique_ptr<SecurityStateModelDelegate>
SecurityStateClient::MaybeCreateSecurityStateModelDelegate() {
return nullptr;
}
SecurityStateModelDelegate*
SecurityStateClient::GetSecurityStateModelDelegate() {
if (!delegate_created_) {
delegate_created_ = true;
delegate_ = MaybeCreateSecurityStateModelDelegate();
}
return delegate_.get();
}
SecurityStateModelDelegate* GetSecurityStateModelDelegate() {
SecurityStateClient* client = GetSecurityStateClient();
return client ? client->GetSecurityStateModelDelegate() : nullptr;
}
} // namespace security_state