| // 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 |