blob: e8c96d53cd6fe4baa24c60048bcacc60f7dcaecd [file] [log] [blame]
// Copyright 2024 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/security_state_tab_helper.h"
#include <string>
#include "components/security_state/content/content_utils.h"
#include "content/public/browser/web_contents.h"
using UsesEmbedderInformation = SecurityStateTabHelper::UsesEmbedderInformation;
SecurityStateTabHelper::SecurityStateTabHelper(
content::WebContents* web_contents,
UsesEmbedderInformation uses_embedder_information)
: content::WebContentsUserData<SecurityStateTabHelper>(*web_contents),
uses_embedder_information_(uses_embedder_information) {}
SecurityStateTabHelper::SecurityStateTabHelper(
content::WebContents* web_contents)
: SecurityStateTabHelper(web_contents, UsesEmbedderInformation(false)) {}
SecurityStateTabHelper::~SecurityStateTabHelper() = default;
security_state::SecurityLevel SecurityStateTabHelper::GetSecurityLevel() {
if (get_security_level_callback_for_tests_) {
std::move(get_security_level_callback_for_tests_).Run();
}
return security_state::GetSecurityLevel(*GetVisibleSecurityState());
}
std::unique_ptr<security_state::VisibleSecurityState>
SecurityStateTabHelper::GetVisibleSecurityState() {
auto state = security_state::GetVisibleSecurityState(&GetWebContents());
return state;
}
WEB_CONTENTS_USER_DATA_KEY_IMPL(SecurityStateTabHelper);