#include <optional>
#include <string>
#include <string_view>
#include <tuple>
#include "base/notreached.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/test/scoped_feature_list.h"
#include "base/types/strong_alias.h"
#include "chrome/browser/extensions/chrome_test_extension_loader.h"
#include "chrome/browser/extensions/extension_keybinding_registry.h"
#include "chrome/browser/extensions/install_verifier.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/supervised_user/supervised_user_test_util.h"
#include "chrome/browser/ui/extensions/extensions_dialogs.h"
#include "chrome/browser/ui/supervised_user/parent_permission_dialog.h"
#include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
#include "chrome/test/interaction/interactive_browser_test.h"
#include "chrome/test/supervised_user/family_live_test.h"
#include "chrome/test/supervised_user/family_member.h"
#include "chrome/test/supervised_user/test_state_seeded_observer.h"
#include "components/prefs/pref_service.h"
#include "components/supervised_user/core/common/features.h"
#include "components/supervised_user/core/common/pref_names.h"
#include "content/public/test/browser_test.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/test/test_extension_dir.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/interaction/element_identifier.h"
namespace supervised_user {
namespace {
static constexpr std::string_view kChromeManageExternsionsUrl = …;
static constexpr std::string_view kExtensionSiteSettingsUrl = …;
static constexpr std::string_view kExtensionName = …;
enum class ExtensionHandlingMode : int { … };
InteractiveBrowserTestApi::StateChange PageWithMatchingTitle(
std::string_view title_regexp) { … }
class SupervisedUserExtensionsParentalControlsUiTest
: public InteractiveFamilyLiveTest,
public testing::WithParamInterface<std::tuple<
FamilyLinkToggleState,
FamilyLinkToggleState,
ExtensionHandlingMode>> { … };
IN_PROC_BROWSER_TEST_P(SupervisedUserExtensionsParentalControlsUiTest,
ChildTogglesExtensionMissingParentApproval) { … }
INSTANTIATE_TEST_SUITE_P(…);
}
}