blob: 97fc94057752aebfa44330015f4508942e35f5d0 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/variations/model/client/variations_client_service.h"
#import "components/signin/public/identity_manager/identity_manager.h"
#import "components/variations/variations_ids_provider.h"
#import "ios/chrome/browser/shared/model/profile/profile_ios.h"
#import "ios/chrome/browser/signin/model/identity_manager_factory.h"
VariationsClientService::VariationsClientService(ProfileIOS* profile)
: profile_(profile) {}
VariationsClientService::~VariationsClientService() = default;
bool VariationsClientService::IsOffTheRecord() const {
return profile_->IsOffTheRecord();
}
variations::mojom::VariationsHeadersPtr
VariationsClientService::GetVariationsHeaders() const {
signin::IdentityManager* identity_manager =
IdentityManagerFactory::GetForProfile(profile_);
bool is_signed_in = identity_manager && identity_manager->HasPrimaryAccount(
signin::ConsentLevel::kSignin);
return variations::VariationsIdsProvider::GetInstance()->GetClientDataHeaders(
is_signed_in);
}