blob: 15d60bb3292d947cdfd87532222713979f30e864 [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.
#ifndef IOS_CHROME_BROWSER_SHARED_PUBLIC_COMMANDS_PARENT_ACCESS_COMMANDS_H_
#define IOS_CHROME_BROWSER_SHARED_PUBLIC_COMMANDS_PARENT_ACCESS_COMMANDS_H_
#import <Foundation/Foundation.h>
#include <optional>
#include "components/supervised_user/core/common/supervised_user_constants.h"
class GURL;
namespace supervised_user {
enum class FilteringBehaviorReason;
enum class LocalApprovalResult;
}
namespace web {
class WebState;
}
// Commands related to the Parent Access UI.
@protocol ParentAccessCommands
// Shows the parent access bottom sheet for local web approvals.
- (void)
showParentAccessBottomSheetForWebState:(web::WebState*)webState
targetURL:(const GURL&)targetURL
filteringBehaviorReason:
(supervised_user::FilteringBehaviorReason)
filteringBehaviorReason
completion:
(void (^)(
supervised_user::LocalApprovalResult,
std::optional<
supervised_user::
LocalWebApprovalErrorType>))
completion;
// Hides the parent access bottom sheet for local web approvals.
- (void)hideParentAccessBottomSheet;
@end
#endif // IOS_CHROME_BROWSER_SHARED_PUBLIC_COMMANDS_PARENT_ACCESS_COMMANDS_H_