// Copyright 2023 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/test/scoped_eg_traits_overrider.h" ScopedTraitOverrider::ScopedTraitOverrider( UIViewController* top_view_controller) { // Store the top presented view controller. top_view_controller_ = top_view_controller; // Keep original content size category. // For other trait overrides, don't forget to add it here. The // `traitOverrides` is read only. original_content_size_category_ = top_view_controller_.traitCollection.preferredContentSizeCategory; } ScopedTraitOverrider::~ScopedTraitOverrider() { // For other trait overrides, don't forget to remove it here. The // `traitOverrides` is read only. if (top_view_controller_) { top_view_controller_.traitOverrides.preferredContentSizeCategory = original_content_size_category_; } } void ScopedTraitOverrider::SetContentSizeCategory( UIContentSizeCategory new_content_size_category) { if (top_view_controller_) { top_view_controller_.traitOverrides.preferredContentSizeCategory = new_content_size_category; } }