#include "chrome/browser/trusted_vault/trusted_vault_encryption_keys_tab_helper.h"
#include <string>
#include <utility>
#include <vector>
#include "base/containers/flat_map.h"
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "base/metrics/histogram_functions.h"
#include "base/ranges/algorithm.h"
#include "build/buildflag.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/google_accounts_private_api_util.h"
#include "chrome/browser/trusted_vault/trusted_vault_service_factory.h"
#include "chrome/browser/webauthn/enclave_manager.h"
#include "chrome/browser/webauthn/enclave_manager_factory.h"
#include "chrome/common/trusted_vault_encryption_keys_extension.mojom.h"
#include "components/trusted_vault/trusted_vault_client.h"
#include "components/trusted_vault/trusted_vault_histograms.h"
#include "components/trusted_vault/trusted_vault_server_constants.h"
#include "components/trusted_vault/trusted_vault_service.h"
#include "content/public/browser/document_user_data.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/render_frame_host_receiver_set.h"
#include "content/public/browser/web_contents.h"
#include "device/fido/features.h"
#include "google_apis/gaia/core_account_id.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
#include "url/origin.h"
namespace …
void TrustedVaultEncryptionKeysTabHelper::CreateForWebContents(
content::WebContents* web_contents) { … }
void TrustedVaultEncryptionKeysTabHelper::
BindTrustedVaultEncryptionKeysExtension(
mojo::PendingAssociatedReceiver<
chrome::mojom::TrustedVaultEncryptionKeysExtension> receiver,
content::RenderFrameHost* rfh) { … }
TrustedVaultEncryptionKeysTabHelper::TrustedVaultEncryptionKeysTabHelper(
content::WebContents* web_contents,
trusted_vault::TrustedVaultService* trusted_vault_service,
EnclaveManager* enclave_manager)
: … { … }
TrustedVaultEncryptionKeysTabHelper::~TrustedVaultEncryptionKeysTabHelper() =
default;
void TrustedVaultEncryptionKeysTabHelper::DidFinishNavigation(
content::NavigationHandle* navigation_handle) { … }
bool TrustedVaultEncryptionKeysTabHelper::HasEncryptionKeysApiForTesting(
content::RenderFrameHost* render_frame_host) { … }
WEB_CONTENTS_USER_DATA_KEY_IMPL(TrustedVaultEncryptionKeysTabHelper);