o
    ѷ6iV                     @  s  d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ G d	d
 d
eZeG dd dZG dd dejZG dd dejZG dd dejZeG dd dZeG dd dZG dd deZG dd dejZG dd dejZG dd dejZeG dd  d Zd9d#d$Zd9d%d&Zed'eG d(d) d)Zed*eG d+d, d,Zed-eG d.d/ d/Zed0eG d1d2 d2Z ed3eG d4d5 d5Z!ed6eG d7d8 d8Z"dS ):    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)pagec                      8   e Zd ZdZdddZedddZ fd	d
Z  ZS )	RuleSetIdz
    Unique id
    returnstrc                 C     | S N selfr   r   t/var/www/hoanhtaovolam_webdjango/env/lib/python3.10/site-packages/selenium/webdriver/common/devtools/v143/preload.pyto_json      zRuleSetId.to_jsonjsonc                 C     | |S r   r   clsr   r   r   r   	from_json      zRuleSetId.from_jsonc                      d t  S )NzRuleSetId({})formatsuper__repr__r   	__class__r   r   r          zRuleSetId.__repr__r   r   )r   r   r   r   	__name__
__module____qualname____doc__r   classmethodr   r    __classcell__r   r   r!   r   r      s    
r   c                   @  s   e Zd ZU dZded< ded< ded< dZd	ed
< dZded< dZded< dZded< dZ	ded< dZ
ded< dd Zedd ZdS )RuleSetz+
    Corresponds to SpeculationRuleSet
    r   id_network.LoaderId	loader_idr   source_textNz"typing.Optional[dom.BackendNodeId]backend_node_idtyping.Optional[str]urlz"typing.Optional[network.RequestId]
request_idz!typing.Optional[RuleSetErrorType]
error_typeerror_messagetagc                 C  s   t  }| j |d< | j |d< | j|d< | jd ur"| j |d< | jd ur,| j|d< | jd ur8| j |d< | jd urD| j |d< | j	d urN| j	|d< | j
d urX| j
|d	< |S )
NidloaderId
sourceTextbackendNodeIdr3   	requestId	errorTypeerrorMessager7   )dictr-   r   r/   r0   r1   r3   r4   r5   r6   r7   r   r   r   r   r   r   N   s"   









zRuleSet.to_jsonc                 C  s   | t |d tj|d t|d d|v rtj|d nd d|v r*t|d nd d|v r7tj|d nd d|v rCt|d nd d|v rNt|d nd d	|v r[t|d	 d
	S d d
	S )Nr8   r9   r:   r;   r3   r<   r=   r>   r7   )	r-   r/   r0   r1   r3   r4   r5   r6   r7   )	r   r   r   LoaderIdr   r   BackendNodeId	RequestIdRuleSetErrorTyper   r   r   r   r   a   s   
	zRuleSet.from_json)r&   r'   r(   r)   __annotations__r1   r3   r4   r5   r6   r7   r   r*   r   r   r   r   r   r,       s   
 	r,   c                   @  ,   e Zd ZdZdZdZdd Zedd ZdS )	rD   SourceIsNotJsonObjectInvalidRulesSkippedInvalidRulesetLevelTagc                 C     | j S r   valuer   r   r   r   r   u      zRuleSetErrorType.to_jsonc                 C  r   r   r   r   r   r   r   r   x   r   zRuleSetErrorType.from_jsonN)	r&   r'   r(   SOURCE_IS_NOT_JSON_OBJECTINVALID_RULES_SKIPPEDINVALID_RULESET_LEVEL_TAGr   r*   r   r   r   r   r   rD   p   s    rD   c                   @  s0   e Zd ZdZdZdZdZdd Zedd Z	d	S )
SpeculationActionz
    The type of preloading attempted. It corresponds to
    mojom::SpeculationAction (although PrefetchWithSubresources is omitted as it
    isn't being used by clients).
    Prefetch	PrerenderPrerenderUntilScriptc                 C  rJ   r   rK   r   r   r   r   r      rM   zSpeculationAction.to_jsonc                 C  r   r   r   r   r   r   r   r      r   zSpeculationAction.from_jsonN)
r&   r'   r(   r)   PREFETCH	PRERENDERPRERENDER_UNTIL_SCRIPTr   r*   r   r   r   r   r   rQ   }   s    rQ   c                   @  rF   )	SpeculationTargetHintz
    Corresponds to mojom::SpeculationTargetHint.
    See https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints
    BlankSelfc                 C  rJ   r   rK   r   r   r   r   r      rM   zSpeculationTargetHint.to_jsonc                 C  r   r   r   r   r   r   r   r      r   zSpeculationTargetHint.from_jsonN)	r&   r'   r(   r)   BLANKSELFr   r*   r   r   r   r   r   rX      s    rX   c                   @  sJ   e Zd ZU dZded< ded< ded< dZd	ed
< dd Zedd ZdS )PreloadingAttemptKeyaH  
    A key that identifies a preloading attempt.

    The url used is the url specified by the trigger (i.e. the initial URL), and
    not the final url that is navigated to. For example, prerendering allows
    same-origin main frame navigations during the attempt, but the attempt is
    still keyed with the initial URL.
    r.   r/   rQ   actionr   r3   Nz&typing.Optional[SpeculationTargetHint]target_hintc                 C  sH   t  }| j |d< | j |d< | j|d< | jd ur"| j |d< |S )Nr9   r^   r3   
targetHint)r?   r/   r   r^   r3   r_   r@   r   r   r   r      s   

zPreloadingAttemptKey.to_jsonc                 C  sH   | t j|d t|d t|d d|v r t|d dS d dS )Nr9   r^   r3   r`   )r/   r^   r3   r_   )r   rA   r   rQ   r   rX   r   r   r   r   r      s   
zPreloadingAttemptKey.from_json)	r&   r'   r(   r)   rE   r_   r   r*   r   r   r   r   r   r]      s   
 	r]   c                   @  s>   e Zd ZU dZded< ded< ded< dd	 Zed
d ZdS )PreloadingAttemptSourceav  
    Lists sources for a preloading attempt, specifically the ids of rule sets
    that had a speculation rule that triggered the attempt, and the
    BackendNodeIds of <a href> or <area href> elements that triggered the
    attempt (in the case of attempts triggered by a document rule). It is
    possible for multiple rule sets and links to trigger a single attempt.
    r]   keyztyping.List[RuleSetId]rule_set_idsztyping.List[dom.BackendNodeId]node_idsc                 C  s@   t  }| j |d< dd | jD |d< dd | jD |d< |S )Nrb   c                 S     g | ]}|  qS r   r   .0ir   r   r   
<listcomp>       z3PreloadingAttemptSource.to_json.<locals>.<listcomp>
ruleSetIdsc                 S  re   r   rf   rg   r   r   r   rj      rk   nodeIds)r?   rb   r   rc   rd   r@   r   r   r   r      s
   zPreloadingAttemptSource.to_jsonc                 C  s4   | t |d dd |d D dd |d D dS )Nrb   c                 S     g | ]}t |qS r   r   r   rg   r   r   r   rj          z5PreloadingAttemptSource.from_json.<locals>.<listcomp>rl   c                 S  s   g | ]}t j|qS r   )r   rB   r   rg   r   r   r   rj      s    rm   )rb   rc   rd   )r]   r   r   r   r   r   r      s
   z!PreloadingAttemptSource.from_jsonN)r&   r'   r(   r)   rE   r   r*   r   r   r   r   r   ra      s   
 ra   c                      r
   )PreloadPipelineIdaK  
    Chrome manages different types of preloads together using a
    concept of preloading pipeline. For example, if a site uses a
    SpeculationRules for prerender, Chrome first starts a prefetch and
    then upgrades it to prerender.

    CDP events for them are emitted separately but they share
    ``PreloadPipelineId``.
    r   r   c                 C  r   r   r   r   r   r   r   r      r   zPreloadPipelineId.to_jsonr   c                 C  r   r   r   r   r   r   r   r      r   zPreloadPipelineId.from_jsonc                   r   )NzPreloadPipelineId({})r   r   r!   r   r   r       r#   zPreloadPipelineId.__repr__r$   )r   r   r   rq   r%   r   r   r!   r   rq      s    
	rq   c                   @  sL  e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLdM ZNeOdNdO ZPdPS )QPrerenderFinalStatusz5
    List of FinalStatus reasons for Prerender2.
    	Activated	DestroyedLowEndDeviceInvalidSchemeRedirectInvalidSchemeNavigationNavigationRequestBlockedByCspMojoBinderPolicyRendererProcessCrashedRendererProcessKilledDownloadTriggerDestroyedNavigationNotCommittedNavigationBadHttpStatusClientCertRequestedNavigationRequestNetworkErrorCancelAllHostsForTestingDidFailLoadStopSslCertificateErrorLoginAuthRequestedUaChangeRequiresReloadBlockedByClientAudioOutputDeviceRequestedMixedContentTriggerBackgroundedMemoryLimitExceededDataSaverEnabledTriggerUrlHasEffectiveUrlActivatedBeforeStartedInactivePageRestrictionStartFailedTimeoutBackgrounded$CrossSiteRedirectInInitialNavigation&CrossSiteNavigationInInitialNavigation6SameSiteCrossOriginRedirectNotOptInInInitialNavigation8SameSiteCrossOriginNavigationNotOptInInInitialNavigation%ActivationNavigationParameterMismatchActivatedInBackgroundEmbedderHostDisallowed*ActivationNavigationDestroyedBeforeSuccessTabClosedByUserGestureTabClosedWithoutUserGesture&PrimaryMainFrameRendererProcessCrashed%PrimaryMainFrameRendererProcessKilled"ActivationFramePolicyNotCompatiblePreloadingDisabledBatterySaverEnabled"ActivatedDuringMainFrameNavigation"PreloadingUnsupportedByWebContents&CrossSiteRedirectInMainFrameNavigation(CrossSiteNavigationInMainFrameNavigation8SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation:SameSiteCrossOriginNavigationNotOptInInMainFrameNavigationMemoryPressureOnTriggerMemoryPressureAfterTriggeredPrerenderingDisabledByDevToolsSpeculationRuleRemoved&ActivatedWithAuxiliaryBrowsingContexts&MaxNumOfRunningEagerPrerendersExceeded)MaxNumOfRunningNonEagerPrerendersExceeded)MaxNumOfRunningEmbedderPrerendersExceededPrerenderingUrlHasEffectiveUrl(RedirectedPrerenderingUrlHasEffectiveUrlActivationUrlHasEffectiveUrlJavaScriptInterfaceAddedJavaScriptInterfaceRemovedAllPrerenderingCanceledWindowClosedSlowNetworkOtherPrerenderedPageActivatedV8OptimizerDisabledPrerenderFailedDuringPrefetchBrowsingDataRemovedPrerenderHostReusedc                 C  rJ   r   rK   r   r   r   r   r   G  rM   zPrerenderFinalStatus.to_jsonc                 C  r   r   r   r   r   r   r   r   J  r   zPrerenderFinalStatus.from_jsonN)Qr&   r'   r(   r)   	ACTIVATED	DESTROYEDLOW_END_DEVICEINVALID_SCHEME_REDIRECTINVALID_SCHEME_NAVIGATION!NAVIGATION_REQUEST_BLOCKED_BY_CSPMOJO_BINDER_POLICYRENDERER_PROCESS_CRASHEDRENDERER_PROCESS_KILLEDDOWNLOADTRIGGER_DESTROYEDNAVIGATION_NOT_COMMITTEDNAVIGATION_BAD_HTTP_STATUSCLIENT_CERT_REQUESTED NAVIGATION_REQUEST_NETWORK_ERRORCANCEL_ALL_HOSTS_FOR_TESTINGDID_FAIL_LOADSTOPSSL_CERTIFICATE_ERRORLOGIN_AUTH_REQUESTEDUA_CHANGE_REQUIRES_RELOADBLOCKED_BY_CLIENTAUDIO_OUTPUT_DEVICE_REQUESTEDMIXED_CONTENTTRIGGER_BACKGROUNDEDMEMORY_LIMIT_EXCEEDEDDATA_SAVER_ENABLEDTRIGGER_URL_HAS_EFFECTIVE_URLACTIVATED_BEFORE_STARTEDINACTIVE_PAGE_RESTRICTIONSTART_FAILEDTIMEOUT_BACKGROUNDED)CROSS_SITE_REDIRECT_IN_INITIAL_NAVIGATION+CROSS_SITE_NAVIGATION_IN_INITIAL_NAVIGATION@SAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_INITIAL_NAVIGATIONBSAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_INITIAL_NAVIGATION(ACTIVATION_NAVIGATION_PARAMETER_MISMATCHACTIVATED_IN_BACKGROUNDEMBEDDER_HOST_DISALLOWED.ACTIVATION_NAVIGATION_DESTROYED_BEFORE_SUCCESSTAB_CLOSED_BY_USER_GESTURETAB_CLOSED_WITHOUT_USER_GESTURE+PRIMARY_MAIN_FRAME_RENDERER_PROCESS_CRASHED*PRIMARY_MAIN_FRAME_RENDERER_PROCESS_KILLED&ACTIVATION_FRAME_POLICY_NOT_COMPATIBLEPRELOADING_DISABLEDBATTERY_SAVER_ENABLED&ACTIVATED_DURING_MAIN_FRAME_NAVIGATION&PRELOADING_UNSUPPORTED_BY_WEB_CONTENTS,CROSS_SITE_REDIRECT_IN_MAIN_FRAME_NAVIGATION.CROSS_SITE_NAVIGATION_IN_MAIN_FRAME_NAVIGATIONCSAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONESAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONMEMORY_PRESSURE_ON_TRIGGERMEMORY_PRESSURE_AFTER_TRIGGERED"PRERENDERING_DISABLED_BY_DEV_TOOLSSPECULATION_RULE_REMOVED*ACTIVATED_WITH_AUXILIARY_BROWSING_CONTEXTS,MAX_NUM_OF_RUNNING_EAGER_PRERENDERS_EXCEEDED0MAX_NUM_OF_RUNNING_NON_EAGER_PRERENDERS_EXCEEDED/MAX_NUM_OF_RUNNING_EMBEDDER_PRERENDERS_EXCEEDED"PRERENDERING_URL_HAS_EFFECTIVE_URL-REDIRECTED_PRERENDERING_URL_HAS_EFFECTIVE_URL ACTIVATION_URL_HAS_EFFECTIVE_URLJAVA_SCRIPT_INTERFACE_ADDEDJAVA_SCRIPT_INTERFACE_REMOVEDALL_PRERENDERING_CANCELEDWINDOW_CLOSEDSLOW_NETWORK OTHER_PRERENDERED_PAGE_ACTIVATEDV8_OPTIMIZER_DISABLED PRERENDER_FAILED_DURING_PREFETCHBROWSING_DATA_REMOVEDPRERENDER_HOST_REUSEDr   r*   r   r   r   r   r   rr      s    rr   c                   @  s<   e Zd ZdZdZdZdZdZdZdZ	dd	 Z
ed
d ZdS )PreloadingStatusz
    Preloading status values, see also PreloadingTriggeringOutcome. This
    status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
    PendingRunningReadySuccessFailureNotSupportedc                 C  rJ   r   rK   r   r   r   r   r   [  rM   zPreloadingStatus.to_jsonc                 C  r   r   r   r   r   r   r   r   ^  r   zPreloadingStatus.from_jsonN)r&   r'   r(   r)   PENDINGRUNNINGREADYSUCCESSFAILURENOT_SUPPORTEDr   r*   r   r   r   r   r   r  O  s    r  c                   @  s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$d% Z&e'd&d' Z(d(S ))PrefetchStatusz
    TODO(https://crbug.com/1384419): revisit the list of PrefetchStatus and
    filter out the ones that aren't necessary to the developers.
    PrefetchAllowed PrefetchFailedIneligibleRedirectPrefetchFailedInvalidRedirectPrefetchFailedMIMENotSupportedPrefetchFailedNetErrorPrefetchFailedNon2XX'PrefetchEvictedAfterBrowsingDataRemoved$PrefetchEvictedAfterCandidateRemovedPrefetchEvictedForNewerPrefetchPrefetchHeldbackPrefetchIneligibleRetryAfterPrefetchIsPrivacyDecoyPrefetchIsStale-PrefetchNotEligibleBrowserContextOffTheRecord#PrefetchNotEligibleDataSaverEnabled PrefetchNotEligibleExistingProxy"PrefetchNotEligibleHostIsNonUnique-PrefetchNotEligibleNonDefaultStoragePartition;PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy#PrefetchNotEligibleSchemeIsNotHttps!PrefetchNotEligibleUserHasCookies'PrefetchNotEligibleUserHasServiceWorker5PrefetchNotEligibleUserHasServiceWorkerNoFetchHandler,PrefetchNotEligibleRedirectFromServiceWorker*PrefetchNotEligibleRedirectToServiceWorker&PrefetchNotEligibleBatterySaverEnabled%PrefetchNotEligiblePreloadingDisabledPrefetchNotFinishedInTimePrefetchNotStartedPrefetchNotUsedCookiesChangedPrefetchProxyNotAvailablePrefetchResponseUsedPrefetchSuccessfulButNotUsedPrefetchNotUsedProbeFailedc                 C  rJ   r   rK   r   r   r   r   r     rM   zPrefetchStatus.to_jsonc                 C  r   r   r   r   r   r   r   r     r   zPrefetchStatus.from_jsonN))r&   r'   r(   r)   PREFETCH_ALLOWED#PREFETCH_FAILED_INELIGIBLE_REDIRECT PREFETCH_FAILED_INVALID_REDIRECT"PREFETCH_FAILED_MIME_NOT_SUPPORTEDPREFETCH_FAILED_NET_ERRORPREFETCH_FAILED_NON2_XX,PREFETCH_EVICTED_AFTER_BROWSING_DATA_REMOVED(PREFETCH_EVICTED_AFTER_CANDIDATE_REMOVED#PREFETCH_EVICTED_FOR_NEWER_PREFETCHPREFETCH_HELDBACKPREFETCH_INELIGIBLE_RETRY_AFTERPREFETCH_IS_PRIVACY_DECOYPREFETCH_IS_STALE4PREFETCH_NOT_ELIGIBLE_BROWSER_CONTEXT_OFF_THE_RECORD(PREFETCH_NOT_ELIGIBLE_DATA_SAVER_ENABLED$PREFETCH_NOT_ELIGIBLE_EXISTING_PROXY(PREFETCH_NOT_ELIGIBLE_HOST_IS_NON_UNIQUE3PREFETCH_NOT_ELIGIBLE_NON_DEFAULT_STORAGE_PARTITIONDPREFETCH_NOT_ELIGIBLE_SAME_SITE_CROSS_ORIGIN_PREFETCH_REQUIRED_PROXY)PREFETCH_NOT_ELIGIBLE_SCHEME_IS_NOT_HTTPS&PREFETCH_NOT_ELIGIBLE_USER_HAS_COOKIES-PREFETCH_NOT_ELIGIBLE_USER_HAS_SERVICE_WORKER>PREFETCH_NOT_ELIGIBLE_USER_HAS_SERVICE_WORKER_NO_FETCH_HANDLER2PREFETCH_NOT_ELIGIBLE_REDIRECT_FROM_SERVICE_WORKER0PREFETCH_NOT_ELIGIBLE_REDIRECT_TO_SERVICE_WORKER+PREFETCH_NOT_ELIGIBLE_BATTERY_SAVER_ENABLED)PREFETCH_NOT_ELIGIBLE_PRELOADING_DISABLEDPREFETCH_NOT_FINISHED_IN_TIMEPREFETCH_NOT_STARTED!PREFETCH_NOT_USED_COOKIES_CHANGEDPREFETCH_PROXY_NOT_AVAILABLEPREFETCH_RESPONSE_USED PREFETCH_SUCCESSFUL_BUT_NOT_USEDPREFETCH_NOT_USED_PROBE_FAILEDr   r*   r   r   r   r   r   r  c  sN    r  c                   @  sF   e Zd ZU dZded< dZded< dZded< dd	 Zed
d Z	dS )PrerenderMismatchedHeaderszS
    Information of headers to be displayed when the header mismatch occurred.
    r   header_nameNr2   initial_valueactivation_valuec                 C  s<   t  }| j|d< | jd ur| j|d< | jd ur| j|d< |S )N
headerNameinitialValueactivationValue)r?   rZ  r[  r\  r@   r   r   r   r     s   




z"PrerenderMismatchedHeaders.to_jsonc                 C  sB   | t |d d|v rt |d nd d|v rt |d dS d dS )Nr]  r^  r_  )rZ  r[  r\  )r   r   r   r   r   r     s   
z$PrerenderMismatchedHeaders.from_json)
r&   r'   r(   r)   rE   r[  r\  r   r*   r   r   r   r   r   rY    s   
 	rY  r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c                  c      ddi} | V }d S )NmethodzPreload.enabler   cmd_dictr   r   r   r   enable     
re  c                  c  ra  )Nrb  zPreload.disabler   rc  r   r   r   disable  rf  rg  zPreload.ruleSetUpdatedc                   @  s(   e Zd ZU dZded< ed
ddZd	S )RuleSetUpdatedzF
    Upsert. Currently, it is only emitted when a rule set added.
    r,   rule_setr   r   r   c                 C     | t |d dS )NruleSet)ri  )r,   r   r   r   r   r   r        zRuleSetUpdated.from_jsonN)r   r   r   rh  r&   r'   r(   r)   rE   r*   r   r   r   r   r   rh    s
   
 rh  zPreload.ruleSetRemovedc                   @  s$   e Zd ZU ded< ed	ddZdS )
RuleSetRemovedr   r-   r   r   r   c                 C  rj  )Nr8   )r-   ro   r   r   r   r   r     rl  zRuleSetRemoved.from_jsonN)r   r   r   rn  )r&   r'   r(   rE   r*   r   r   r   r   r   rn    s   
 rn  z"Preload.preloadEnabledStateUpdatedc                   @  sH   e Zd ZU dZded< ded< ded< ded< ded< edddZdS )PreloadEnabledStateUpdatedz8
    Fired when a preload enabled state is updated.
    booldisabled_by_preferencedisabled_by_data_saverdisabled_by_battery_saver/disabled_by_holdback_prefetch_speculation_rules0disabled_by_holdback_prerender_speculation_rulesr   r   r   c                 C  s:   | t |d t |d t |d t |d t |d dS )NdisabledByPreferencedisabledByDataSaverdisabledByBatterySaver*disabledByHoldbackPrefetchSpeculationRules+disabledByHoldbackPrerenderSpeculationRules)rq  rr  rs  rt  ru  )rp  r   r   r   r   r     s   




z$PreloadEnabledStateUpdated.from_jsonN)r   r   r   ro  rm  r   r   r   r   ro    s   
 ro  zPreload.prefetchStatusUpdatedc                   @  sX   e Zd ZU dZded< ded< ded< ded	< d
ed< ded< ded< edddZdS )PrefetchStatusUpdatedz3
    Fired when a prefetch attempt is updated.
    r]   rb   rq   pipeline_idzpage.FrameIdinitiating_frame_idr   prefetch_urlr  statusr  prefetch_statusznetwork.RequestIdr4   r   r   r   c                 C  s^   | t |d t|d tj|d t|d t|d t|d tj	|d dS )	Nrb   
pipelineIdinitiatingFrameIdprefetchUrlr  prefetchStatusr<   )rb   r|  r}  r~  r  r  r4   )
r]   r   rq   r	   FrameIdr   r  r  r   rC   r   r   r   r   r     s   
zPrefetchStatusUpdated.from_jsonN)r   r   r   r{  rm  r   r   r   r   r{    s   
 r{  zPreload.prerenderStatusUpdatedc                   @  sP   e Zd ZU dZded< ded< ded< ded	< d
ed< ded< edddZdS )PrerenderStatusUpdatedz4
    Fired when a prerender attempt is updated.
    r]   rb   rq   r|  r  r  z%typing.Optional[PrerenderFinalStatus]prerender_statusr2   disallowed_mojo_interfacez8typing.Optional[typing.List[PrerenderMismatchedHeaders]]mismatched_headersr   r   r   c              	   C  sz   | t |d t|d t|d d|v rt|d nd d|v r)t|d nd d|v r9dd |d D d	S d d	S )
Nrb   r  r  prerenderStatusdisallowedMojoInterfacemismatchedHeadersc                 S  rn   r   )rY  r   rg   r   r   r   rj   %  rp   z4PrerenderStatusUpdated.from_json.<locals>.<listcomp>)rb   r|  r  r  r  r  )r]   r   rq   r  rr   r   r   r   r   r   r     s   z PrerenderStatusUpdated.from_jsonN)r   r   r   r  rm  r   r   r   r   r    s   
 r  z'Preload.preloadingAttemptSourcesUpdatedc                   @  s0   e Zd ZU dZded< ded< edd	d
ZdS )PreloadingAttemptSourcesUpdatedzK
    Send a list of sources for all preloading attempts in a document.
    r.   r/   z$typing.List[PreloadingAttemptSource]preloading_attempt_sourcesr   r   r   c                 C  s&   | t j|d dd |d D dS )Nr9   c                 S  rn   r   )ra   r   rg   r   r   r   rj   6  rp   z=PreloadingAttemptSourcesUpdated.from_json.<locals>.<listcomp>preloadingAttemptSources)r/   r  )r   rA   r   r   r   r   r   r   2  s   z)PreloadingAttemptSourcesUpdated.from_jsonN)r   r   r   r  rm  r   r   r   r   r  )  s   
 r  )r   r`  )#
__future__r   utilr   r   dataclassesr   enumtyping r   r   r	   r   r   r,   EnumrD   rQ   rX   r]   ra   rq   rr   r  r  rY  re  rg  rh  rn  ro  r{  r  r  r   r   r   r   <module>   sX   O$W0


