o
    ѷ6i
                     @   s:   d dl mZ G dd dZG dd dZG dd dZdS )	    )command_builderc                   @   s   e Zd ZdZdZdZdZdS )PermissionStatez*Represents the possible permission states.granteddeniedpromptN)__name__
__module____qualname____doc__GRANTEDDENIEDPROMPT r   r   o/var/www/hoanhtaovolam_webdjango/env/lib/python3.10/site-packages/selenium/webdriver/common/bidi/permissions.pyr      s
    r   c                   @   s,   e Zd ZdZdefddZdefddZdS )	PermissionDescriptorz#Represents a permission descriptor.namec                 C   
   || _ d S Nr   )selfr   r   r   r   __init__!      
zPermissionDescriptor.__init__returnc                 C   s
   d| j iS )Nr   r   )r   r   r   r   to_dict$   r   zPermissionDescriptor.to_dictN)r   r   r	   r
   strr   dictr   r   r   r   r   r      s    r   c                   @   sB   e Zd ZdZdd Z	ddeeB dedededB d	df
d
dZdS )Permissionsz.BiDi implementation of the permissions module.c                 C   r   r   )conn)r   r   r   r   r   r   +   r   zPermissions.__init__N
descriptorstateoriginuser_contextr   c                 C   s   |t jt jt jfvrt j dt j dt j }td| t|tr(t|}n|}| ||d}|dur:||d< | j	
td| dS )a  Sets a permission state for a given permission descriptor.

        Args:
            descriptor: The permission name (str) or PermissionDescriptor object.
              Examples: "geolocation", "camera", "microphone".
            state: The permission state (granted, denied, prompt).
            origin: The origin for which the permission is set.
            user_context: The user context id (optional).

        Raises:
            ValueError: If the permission state is invalid.
        z, z*Invalid permission state. Must be one of: )r   r   r    NuserContextzpermissions.setPermission)r   r   r   r   
ValueError
isinstancer   r   r   r   executer   )r   r   r   r    r!   valid_statespermission_descriptorparamsr   r   r   set_permission.   s   

zPermissions.set_permissionr   )r   r   r	   r
   r   r   r   r)   r   r   r   r   r   (   s    r   N)%selenium.webdriver.common.bidi.commonr   r   r   r   r   r   r   r   <module>   s   
