1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
U
[±d«Bã@sæddlmZddlmZmZddlmZddlZddlZddl    m
Z
ddl    m Z eGdd    „d    ƒƒZ eGd
d „d ƒƒZ eGd d „d ƒƒZGdd„dejƒZGdd„dejƒZGdd„dejƒZeGdd„dƒƒZGdd„dejƒZGdd„dejƒZeGdd„dƒƒZGdd„dejƒZeGdd„dƒƒZGd d!„d!ejƒZGd"d#„d#ejƒZeGd$d%„d%ƒƒZGd&d'„d'ejƒZeGd(d)„d)ƒƒZeGd*d+„d+ƒƒZd=d,d-d.d/d0d1œd2d3„Zd4d5œd6d7„Z d4d5œd8d9„Z!ed:ƒeGd;d<„d<ƒƒƒZ"dS)>é)Ú annotationsé)Ú event_classÚ T_JSON_DICT)Ú    dataclassN)Únetwork)Úpagec@s>eZdZUdZded<ded<ded<dd„Zedd    „ƒZd
S) ÚAffectedCookiezL
    Information about a cookie that is affected by an inspector issue.
    ÚstrÚnameÚpathÚdomaincCs(tƒ}|j|d<|j|d<|j|d<|S)Nr r r )Údictr r r ©ÚselfÚjson©rúdd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\selenium/webdriver/common/devtools/v85/audits.pyÚto_jsons
 
 
 
zAffectedCookie.to_jsoncCs&|t|dƒt|dƒt|dƒdS)Nr r r )r r r )r
©ÚclsrrrrÚ    from_json#s
 
 
 
ýzAffectedCookie.from_jsonN©Ú__name__Ú
__module__Ú __qualname__Ú__doc__Ú__annotations__rÚ classmethodrrrrrr    s
r    c@s:eZdZUdZded<dZded<dd„Zed    d
„ƒZdS) ÚAffectedRequestzM
    Information about a request that is affected by an inspector issue.
    únetwork.RequestIdÚ
request_idNútyping.Optional[str]ÚurlcCs,tƒ}|j ¡|d<|jdk    r(|j|d<|S)NÚ    requestIdr#)rr!rr#rrrrr6s
 
 
zAffectedRequest.to_jsoncCs,|tj |d¡d|kr$t|dƒnddS)Nr$r#)r!r#)rZ    RequestIdrr
rrrrr=sþzAffectedRequest.from_json)    rrrrrr#rrrrrrrr,s
 rc@s.eZdZUdZded<dd„Zedd„ƒZdS)    Ú AffectedFramezE
    Information about the frame affected by an inspector issue.
    z page.FrameIdÚframe_idcCstƒ}|j ¡|d<|S)NÚframeId)rr&rrrrrrLszAffectedFrame.to_jsoncCs|tj |d¡dS)Nr')r&)rZFrameIdrrrrrrQsÿzAffectedFrame.from_jsonNrrrrrr%Es
 
r%c@s(eZdZdZdZdd„Zedd„ƒZdS)ÚSameSiteCookieExclusionReasonZ&ExcludeSameSiteUnspecifiedTreatedAsLaxZExcludeSameSiteNoneInsecurecCs|jS©N©Úvalue©rrrrr\sz%SameSiteCookieExclusionReason.to_jsoncCs||ƒSr)rrrrrr_sz'SameSiteCookieExclusionReason.from_jsonN)rrrZ,EXCLUDE_SAME_SITE_UNSPECIFIED_TREATED_AS_LAXZEXCLUDE_SAME_SITE_NONE_INSECURErrrrrrrr(Xs
r(c@s@eZdZdZdZdZdZdZdZdZ    dZ
d    d
„Z e d d „ƒZ d S)ÚSameSiteCookieWarningReasonZ'WarnSameSiteUnspecifiedCrossSiteContextZWarnSameSiteNoneInsecureZ%WarnSameSiteUnspecifiedLaxAllowUnsafeZ$WarnSameSiteStrictLaxDowngradeStrictZ&WarnSameSiteStrictCrossDowngradeStrictZ#WarnSameSiteStrictCrossDowngradeLaxZ#WarnSameSiteLaxCrossDowngradeStrictZ WarnSameSiteLaxCrossDowngradeLaxcCs|jSr)r*r,rrrrnsz#SameSiteCookieWarningReason.to_jsoncCs||ƒSr)rrrrrrqsz%SameSiteCookieWarningReason.from_jsonN)rrrZ-WARN_SAME_SITE_UNSPECIFIED_CROSS_SITE_CONTEXTZWARN_SAME_SITE_NONE_INSECUREZ+WARN_SAME_SITE_UNSPECIFIED_LAX_ALLOW_UNSAFEZ*WARN_SAME_SITE_STRICT_LAX_DOWNGRADE_STRICTZ,WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_STRICTZ)WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_LAXZ)WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_STRICTZ&WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_LAXrrrrrrrr-dsr-c@s(eZdZdZdZdd„Zedd„ƒZdS)ÚSameSiteCookieOperationZ    SetCookieZ
ReadCookiecCs|jSr)r*r,rrrrzszSameSiteCookieOperation.to_jsoncCs||ƒSr)rrrrrr}sz!SameSiteCookieOperation.from_jsonN)rrrZ
SET_COOKIEZ READ_COOKIErrrrrrrr.vs
r.c@sjeZdZUdZded<ded<ded<ded    <d
Zd ed <d
Zd ed <d
Zded<dd„Ze    dd„ƒZ
d
S)ÚSameSiteCookieIssueDetailszÃ
    This information is currently necessary, as the front-end has a difficult
    time finding a specific cookie. With this, we can convey specific error
    information without the cookie.
    r    Úcookiez(typing.List[SameSiteCookieWarningReason]Úcookie_warning_reasonsz*typing.List[SameSiteCookieExclusionReason]Úcookie_exclusion_reasonsr.Ú    operationNr"Úsite_for_cookiesÚ
cookie_urlú typing.Optional[AffectedRequest]ÚrequestcCsŽtƒ}|j ¡|d<dd„|jDƒ|d<dd„|jDƒ|d<|j ¡|d<|jdk    r^|j|d<|jdk    rr|j|d    <|jdk    rŠ|j ¡|d
<|S) Nr0cSsg|] }| ¡‘qSr©r©Ú.0ÚirrrÚ
<listcomp>œsz6SameSiteCookieIssueDetails.to_json.<locals>.<listcomp>ÚcookieWarningReasonscSsg|] }| ¡‘qSrr8r9rrrr<sÚcookieExclusionReasonsr3ÚsiteForCookiesÚ    cookieUrlr7)    rr0rr1r2r3r4r5r7rrrrr™s
 
 
 
 
z"SameSiteCookieIssueDetails.to_jsonc Cs„|t |d¡dd„|dDƒdd„|dDƒt |d¡d|krNt|dƒndd    |krdt|d    ƒndd
|kr|t |d
¡ndd S) Nr0cSsg|]}t |¡‘qSr)r-rr9rrrr<«sz8SameSiteCookieIssueDetails.from_json.<locals>.<listcomp>r=cSsg|]}t |¡‘qSr)r(rr9rrrr<¬sr>r3r?r@r7)r0r1r2r3r4r5r7)r    rr.r
rrrrrr§s  ùz$SameSiteCookieIssueDetails.from_json) rrrrrr4r5r7rrrrrrrr/‚s
   r/c@s,eZdZdZdZdZdd„Zedd„ƒZdS)    ÚMixedContentResolutionStatusZMixedContentBlockedZ!MixedContentAutomaticallyUpgradedZMixedContentWarningcCs|jSr)r*r,rrrr¹sz$MixedContentResolutionStatus.to_jsoncCs||ƒSr)rrrrrr¼sz&MixedContentResolutionStatus.from_jsonN)    rrrZMIXED_CONTENT_BLOCKEDZ$MIXED_CONTENT_AUTOMATICALLY_UPGRADEDZMIXED_CONTENT_WARNINGrrrrrrrrA´s rAc@sˆeZdZdZdZdZdZdZdZdZ    dZ
d    Z d
Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdd„Zedd„ƒZdS) ÚMixedContentResourceTypeZAudioZBeaconZ    CSPReportÚDownloadZ EventSourceZFaviconZFontZFormZFrameZImageZImportZManifestZPingZ
PluginDataZPluginResourceZPrefetchÚResourceZScriptZ ServiceWorkerZ SharedWorkerZ
StylesheetZTrackZVideoZWorkerZXMLHttpRequestÚXSLTcCs|jSr)r*r,rrrrÝsz MixedContentResourceType.to_jsoncCs||ƒSr)rrrrrràsz"MixedContentResourceType.from_jsonN) rrrZAUDIOZBEACONZ
CSP_REPORTZDOWNLOADZ EVENT_SOURCEZFAVICONZFONTZFORMÚFRAMEZIMAGEZIMPORTZMANIFESTZPINGZ PLUGIN_DATAZPLUGIN_RESOURCEZPREFETCHZRESOURCEZSCRIPTZSERVICE_WORKERZ SHARED_WORKERZ
STYLESHEETZTRACKZVIDEOZWORKERZXML_HTTP_REQUESTrErrrrrrrrBÁs:rBc@s^eZdZUded<ded<ded<dZded<dZd    ed
<dZd ed <d d„Zedd„ƒZ    dS)ÚMixedContentIssueDetailsrAÚresolution_statusr
Ú insecure_urlÚmain_resource_urlNz)typing.Optional[MixedContentResourceType]Ú resource_typer6r7útyping.Optional[AffectedFrame]ÚframecCsttƒ}|j ¡|d<|j|d<|j|d<|jdk    r@|j ¡|d<|jdk    rX|j ¡|d<|jdk    rp|j ¡|d<|S)NÚresolutionStatusÚ insecureURLÚmainResourceURLÚ resourceTyper7rM)rrHrrIrJrKr7rMrrrrrýs
 
 
 
 
z MixedContentIssueDetails.to_jsonc
Csp|t |d¡t|dƒt|dƒd|kr8t |d¡ndd|krPt |d¡ndd|krht |d¡nddS)NrNrOrPrQr7rM)rHrIrJrKr7rM)rArr
rBrr%rrrrr
s 
 
úz"MixedContentIssueDetails.from_json)
rrrrrKr7rMrrrrrrrrGås
    rGc@s8eZdZdZdZdZdZdZdZdd„Z    e
d    d
„ƒZ d S) ÚBlockedByResponseReasonz‰
    Enum indicating the reason a response has been blocked. These reasons are
    refinements of the net error BLOCKED_BY_RESPONSE.
    Z CoepFrameResourceNeedsCoepHeaderZ+CoopSandboxedIFrameCannotNavigateToCoopPageZCorpNotSameOriginZ1CorpNotSameOriginAfterDefaultedToSameOriginByCoepZCorpNotSameSitecCs|jSr)r*r,rrrr!szBlockedByResponseReason.to_jsoncCs||ƒSr)rrrrrr$sz!BlockedByResponseReason.from_jsonN) rrrrZ%COEP_FRAME_RESOURCE_NEEDS_COEP_HEADERZ3COOP_SANDBOXED_I_FRAME_CANNOT_NAVIGATE_TO_COOP_PAGEZCORP_NOT_SAME_ORIGINZ;CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEPZCORP_NOT_SAME_SITErrrrrrrrRsrRc@sBeZdZUdZded<ded<dZded<d    d
„Zed d „ƒZdS) ÚBlockedByResponseIssueDetailszÁ
    Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
    code. Currently only used for COEP/COOP, but may be extended to include
    some CSP errors in the future.
    rr7rRÚreasonNrLrMcCs>tƒ}|j ¡|d<|j ¡|d<|jdk    r:|j ¡|d<|S)Nr7rTrM)rr7rrTrMrrrrr6s 
z%BlockedByResponseIssueDetails.to_jsoncCs8|t |d¡t |d¡d|kr0t |d¡nddS)Nr7rTrM)r7rTrM)rrrRr%rrrrr>s
  ýz'BlockedByResponseIssueDetails.from_json)    rrrrrrMrrrrrrrrS)s
 rSc@s(eZdZdZdZdd„Zedd„ƒZdS)ÚHeavyAdResolutionStatusZHeavyAdBlockedZHeavyAdWarningcCs|jSr)r*r,rrrrKszHeavyAdResolutionStatus.to_jsoncCs||ƒSr)rrrrrrNsz!HeavyAdResolutionStatus.from_jsonN)rrrZHEAVY_AD_BLOCKEDZHEAVY_AD_WARNINGrrrrrrrrUGs
rUc@s,eZdZdZdZdZdd„Zedd„ƒZdS)    Ú HeavyAdReasonZNetworkTotalLimitZ CpuTotalLimitZ CpuPeakLimitcCs|jSr)r*r,rrrrXszHeavyAdReason.to_jsoncCs||ƒSr)rrrrrr[szHeavyAdReason.from_jsonN)    rrrZNETWORK_TOTAL_LIMITZCPU_TOTAL_LIMITZCPU_PEAK_LIMITrrrrrrrrVSs rVc@s:eZdZUded<ded<ded<dd„Zed    d
„ƒZd S) ÚHeavyAdIssueDetailsrUÚ
resolutionrVrTr%rMcCs4tƒ}|j ¡|d<|j ¡|d<|j ¡|d<|S)NrXrTrM)rrXrrTrMrrrrrks
zHeavyAdIssueDetails.to_jsoncCs,|t |d¡t |d¡t |d¡dS)NrXrTrM)rXrTrM)rUrrVr%rrrrrrs
   ýzHeavyAdIssueDetails.from_jsonN)rrrrrrrrrrrrW`s
rWc@s4eZdZdZdZdZdZdZdd„Ze    dd    „ƒZ
d
S) ÚInspectorIssueCodez¿
    A unique identifier for the type of issue. Each type may use one of the
    optional fields in InspectorIssueDetails to convey more specific
    information about the kind of issue.
    ZSameSiteCookieIssueZMixedContentIssueZBlockedByResponseIssueZ HeavyAdIssuecCs|jSr)r*r,rrrr†szInspectorIssueCode.to_jsoncCs||ƒSr)rrrrrr‰szInspectorIssueCode.from_jsonN) rrrrZSAME_SITE_COOKIE_ISSUEZMIXED_CONTENT_ISSUEZBLOCKED_BY_RESPONSE_ISSUEZHEAVY_AD_ISSUErrrrrrrrY{srYc@sVeZdZUdZdZded<dZded<dZded<dZd    ed
<d d „Z    e
d d„ƒZ dS)ÚInspectorIssueDetailszÉ
    This struct holds a list of optional fields with additional information
    specific to the kind of issue. When adding a new issue code, please also
    add a new optional field to this type.
    Nz+typing.Optional[SameSiteCookieIssueDetails]Úsame_site_cookie_issue_detailsz)typing.Optional[MixedContentIssueDetails]Úmixed_content_issue_detailsz.typing.Optional[BlockedByResponseIssueDetails]Ú!blocked_by_response_issue_detailsz$typing.Optional[HeavyAdIssueDetails]Úheavy_ad_issue_detailscCsjtƒ}|jdk    r|j ¡|d<|jdk    r6|j ¡|d<|jdk    rN|j ¡|d<|jdk    rf|j ¡|d<|S)NÚsameSiteCookieIssueDetailsÚmixedContentIssueDetailsÚblockedByResponseIssueDetailsÚheavyAdIssueDetails)rr[rr\r]r^rrrrrs
 
 
 
zInspectorIssueDetails.to_jsoncCsh|d|krt |d¡ndd|kr0t |d¡ndd|krHt |d¡ndd|kr`t |d¡nddS)Nr_r`rarb)r[r\r]r^)r/rrGrSrWrrrrr©s üzInspectorIssueDetails.from_json) rrrrr[rr\r]r^rrrrrrrrZŽs
     rZc@s6eZdZUdZded<ded<dd„Zedd    „ƒZd
S) ÚInspectorIssuez8
    An inspector issue reported from the back-end.
    rYÚcoderZÚdetailscCs&tƒ}|j ¡|d<|j ¡|d<|S)Nrdre)rrdrrerrrrr¼szInspectorIssue.to_jsoncCs |t |d¡t |d¡dS)Nrdre)rdre)rYrrZrrrrrÂs  þzInspectorIssue.from_jsonNrrrrrrc³s
rcr r
ztyping.Optional[float]ztyping.Optional[bool]zXtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], int, int]])r!ÚencodingÚqualityÚ    size_onlyÚreturnccsxtƒ}| ¡|d<||d<|dk    r*||d<|dk    r:||d<d|dœ}|V}d|kr^t|dƒndt|d    ƒt|d
ƒfS) a­
    Returns the response body and size if it were re-encoded with the specified settings. Only
    applies to images.
 
    :param request_id: Identifier of the network request to get content for.
    :param encoding: The encoding to use.
    :param quality: *(Optional)* The quality of the encoding (0-1). (defaults to 1)
    :param size_only: *(Optional)* Whether to only return the size information (defaults to false).
    :returns: A tuple with the following items:
 
        0. **body** - *(Optional)* The encoded body as a base64 string. Omitted if sizeOnly is true.
        1. **originalSize** - Size before re-encoding.
        2. **encodedSize** - Size after re-encoding.
    r$rfNrgZsizeOnlyzAudits.getEncodedResponse)ÚmethodÚparamsÚbodyZ originalSizeZ encodedSize)rrr
Úint)r!rfrgrhrkÚcmd_dictrrrrÚget_encoded_responseÊs þ
 
ýroz0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])riccsddi}|V}dS)z\
    Disables issues domain, prevents further issues from being reported to the client.
    rjzAudits.disableNr©rnrrrrÚdisableñsÿrqccsddi}|V}dS)zz
    Enables issues domain, sends the issues collected so far to the client by means of the
    ``issueAdded`` event.
    rjz Audits.enableNrrprrrÚenableûsÿrrzAudits.issueAddedc@s*eZdZUded<edddœdd„ƒZdS)Ú
IssueAddedrcÚissuer)rricCs|t |d¡dS)Nrt)rt)rcrrrrrr s ÿzIssueAdded.from_jsonN)rrrrrrrrrrrss
rs)NN)#Ú
__future__rÚutilrrZ dataclassesrÚenumÚtypingÚrrr    rr%ÚEnumr(r-r.r/rArBrGrRrSrUrVrWrYrZrcrorqrrrsrrrrÚ<module>sR      1 $0  $ü'