
    tf$                     ~    d Z ddlZddlmZmZmZmZmZmZ ddlm	Z	 ddl
mZ ddlmZ e	rddlmZmZ  G d d	e      Zy)
zTarget module.    N)AnyCallable	CoroutineDictListOptional)TYPE_CHECKING)
CDPSession)Page)BrowserBrowserContextc                      e Zd ZdZdedddeg eeeef   f   de	de
e   ded	ej                  d
dfdZde	d
dfdZddZd
efdZd
e
e   fdZed
efd       Zed
efd       Zedd       Zedd       Zed
e
d    fd       Zded
dfdZy)TargetzBrowser's target class.
targetInfobrowserContextr   sessionFactoryignoreHTTPSErrorsdefaultViewportscreenshotTaskQueueloopreturnNc                    || _         || _        |j                  dd      | _        || _        || _        || _        || _        || _        d | _	        | j                  j                         | _        | j                  j                         | _        | j                   d   dk7  xs | j                   d   dk7  | _        | j                  r| j                  d       y y )NtargetId typepageurlT)_targetInfo_browserContextget	_targetId_sessionFactory_ignoreHTTPSErrors_defaultViewport_screenshotTaskQueue_loop_pagecreate_future_initializedPromise_isClosedPromise_isInitialized_initializedCallback)selfr   r   r   r   r   r   r   s           Z/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/pyppeteer/target.py__init__zTarget.__init__   s    
 &-#
B7-"3 /$7!
%)
#'::#;#;#=  $

 8 8 :#//76A  @"&"2"25"9R"? 	%%d+     blc                     | j                   j                         r| j                  j                         | _         | j                   j	                  |       y N)r)   doner&   r(   
set_result)r-   r1   s     r.   r,   zTarget._initializedCallback*   s=    ##((*'+zz'?'?'AD$  ++B/r0   c                 :    | j                   j                  d        y r3   )r*   r5   r-   s    r.   _closedCallbackzTarget._closedCallback0   s    ((.r0   c                 >   K   | j                          d{   S 7 w)zACreate a Chrome Devtools Protocol session attached to the target.N)r"   r7   s    r.   createCDPSessionzTarget.createCDPSession3   s     ))++++s   c                 $  K   | j                   d   dv rl| j                  `| j                          d{   }t        j                  || | j
                  | j                  | j                         d{   }|| _        |S | j                  S 7 X7 w)z}Get page of this target.

        If the target is not of type "page" or "background_page", return
        ``None``.
        r   )r   background_pageN)r   r'   r"   r   creater#   r$   r%   )r-   clientnew_pages      r.   r   zTarget.page7   s      V$(CC

"//11F![[''%%))	 H "DJOzz 2s!   1BB>B2B3BBc                      | j                   d   S )zGet url of this target.r   r   r7   s    r.   r   z
Target.urlJ   s     &&r0   c                 .    | j                   d   }|dv r|S y)zGet type of this target.

        Type can be ``'page'``, ``'background_page'``, ``'service_worker'``,
        ``'browser'``, or ``'other'``.
        r   )r   r<   service_workerbrowserotherrA   )r-   _types     r.   r   zTarget.typeO   s%       (LLLr0   c                 .    | j                   j                  S )z&Get the browser the target belongs to.)r   rD   r7   s    r.   rD   zTarget.browser[   s     ##+++r0   c                     | j                   S )z1Return the browser context the target belongs to.)r   r7   s    r.   r   zTarget.browserContext`   s     ###r0   c                     | j                   j                  d      }|y| j                  j                  j                  |      S )z\Get the target that opened this target.

        Top-level targets return ``None``.
        openerIdN)r   r    rD   _targets)r-   rJ   s     r.   openerzTarget.openere   s>     ##''
3||$$((22r0   c                     || _         | j                  s>| j                   d   dk7  s| j                   d   dk7  rd| _        | j                  d       y y y )Nr   r   r   r   T)r   r+   r,   )r-   r   s     r.   _targetInfoChangedzTarget._targetInfoChangedp   s\    %""(8(8(@F(J(,(8(8(?2(E"&D%%d+ )F #r0   )r   N)r   r   )r   r   )__name__
__module____qualname____doc__r   r   r   r   r
   boolr   r   asyncioAbstractEventLoopr/   r,   r8   r:   r   r   propertystrr   r   rD   r   rL   rN    r0   r.   r   r      s4   !,4 ,9I ,!)"iS*8L.M*M!N,$(,;CD>, '+, 3:2K2K, 	,,0t 0 0/,
 ,HTN & 'S ' ' 	c 	 	 , , $ $ 3* 3 3T d r0   r   )rR   rT   typingr   r   r   r   r   r   r	   pyppeteer.connectionr
   pyppeteer.pager   pyppeteer.browserr   r   objectr   rX   r0   r.   <module>r^      s0      A A   + 9fV fr0   