@qilin-agent/experimental-inspector 0.0.0-stage → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +49 -0
- package/README.md +179 -2
- package/README.zh.md +180 -0
- package/cordis.patch.yml +5 -0
- package/icon.svg +12 -0
- package/lib/client.js +3572 -0
- package/lib/client.page.js +314 -0
- package/lib/devtools/Images/3d-center.svg +3 -0
- package/lib/devtools/Images/3d-pan.svg +3 -0
- package/lib/devtools/Images/3d-rotate.svg +3 -0
- package/lib/devtools/Images/accelerometer-back.svg +69 -0
- package/lib/devtools/Images/accelerometer-bottom.png +0 -0
- package/lib/devtools/Images/accelerometer-front.svg +28 -0
- package/lib/devtools/Images/accelerometer-left.png +0 -0
- package/lib/devtools/Images/accelerometer-right.png +0 -0
- package/lib/devtools/Images/accelerometer-top.png +0 -0
- package/lib/devtools/Images/account-tree.svg +10 -0
- package/lib/devtools/Images/add-photo.svg +3 -0
- package/lib/devtools/Images/ai-explorer-badge.svg +114 -0
- package/lib/devtools/Images/align-content-center.svg +5 -0
- package/lib/devtools/Images/align-content-end.svg +5 -0
- package/lib/devtools/Images/align-content-space-around.svg +6 -0
- package/lib/devtools/Images/align-content-space-between.svg +4 -0
- package/lib/devtools/Images/align-content-space-evenly.svg +6 -0
- package/lib/devtools/Images/align-content-start.svg +5 -0
- package/lib/devtools/Images/align-content-stretch.svg +4 -0
- package/lib/devtools/Images/align-items-baseline.svg +4 -0
- package/lib/devtools/Images/align-items-center.svg +5 -0
- package/lib/devtools/Images/align-items-end.svg +5 -0
- package/lib/devtools/Images/align-items-start.svg +5 -0
- package/lib/devtools/Images/align-items-stretch.svg +6 -0
- package/lib/devtools/Images/align-self-center.svg +3 -0
- package/lib/devtools/Images/align-self-end.svg +4 -0
- package/lib/devtools/Images/align-self-start.svg +4 -0
- package/lib/devtools/Images/align-self-stretch.svg +5 -0
- package/lib/devtools/Images/animation.svg +3 -0
- package/lib/devtools/Images/arrow-back.svg +4 -0
- package/lib/devtools/Images/arrow-collapse.svg +3 -0
- package/lib/devtools/Images/arrow-down.svg +10 -0
- package/lib/devtools/Images/arrow-drop-down-dark.svg +3 -0
- package/lib/devtools/Images/arrow-drop-down-light.svg +3 -0
- package/lib/devtools/Images/arrow-drop-down.svg +3 -0
- package/lib/devtools/Images/arrow-forward.svg +4 -0
- package/lib/devtools/Images/arrow-right-circle.svg +3 -0
- package/lib/devtools/Images/arrow-up-down-circle.svg +3 -0
- package/lib/devtools/Images/arrow-up-down.svg +3 -0
- package/lib/devtools/Images/arrow-up.svg +10 -0
- package/lib/devtools/Images/attach-file.svg +3 -0
- package/lib/devtools/Images/baseline-high-availability.svg +17 -0
- package/lib/devtools/Images/baseline-limited-availability.svg +19 -0
- package/lib/devtools/Images/baseline-low-availability.svg +31 -0
- package/lib/devtools/Images/bell.svg +3 -0
- package/lib/devtools/Images/bezier-curve-filled.svg +3 -0
- package/lib/devtools/Images/bin.svg +1 -0
- package/lib/devtools/Images/bottom-panel-close.svg +1 -0
- package/lib/devtools/Images/bottom-panel-open.svg +1 -0
- package/lib/devtools/Images/brackets.svg +1 -0
- package/lib/devtools/Images/breakpoint-circle.svg +4 -0
- package/lib/devtools/Images/breakpoint-crossed-filled.svg +1 -0
- package/lib/devtools/Images/breakpoint-crossed.svg +1 -0
- package/lib/devtools/Images/brush-2.svg +3 -0
- package/lib/devtools/Images/brush-filled.svg +1 -0
- package/lib/devtools/Images/brush.svg +1 -0
- package/lib/devtools/Images/bucket.svg +4 -0
- package/lib/devtools/Images/bug.svg +3 -0
- package/lib/devtools/Images/button-magic.svg +3 -0
- package/lib/devtools/Images/calendar-today.svg +3 -0
- package/lib/devtools/Images/center-focus-weak.svg +3 -0
- package/lib/devtools/Images/check-circle.svg +3 -0
- package/lib/devtools/Images/check-double.svg +3 -0
- package/lib/devtools/Images/checker.svg +12 -0
- package/lib/devtools/Images/checkmark.svg +1 -0
- package/lib/devtools/Images/chevron-double-right.svg +3 -0
- package/lib/devtools/Images/chevron-down.svg +3 -0
- package/lib/devtools/Images/chevron-left-dot.svg +4 -0
- package/lib/devtools/Images/chevron-left.svg +3 -0
- package/lib/devtools/Images/chevron-right.svg +3 -0
- package/lib/devtools/Images/chevron-up.svg +3 -0
- package/lib/devtools/Images/chromeLeft.avif +0 -0
- package/lib/devtools/Images/chromeMiddle.avif +0 -0
- package/lib/devtools/Images/chromeRight.avif +0 -0
- package/lib/devtools/Images/class.svg +6 -0
- package/lib/devtools/Images/clear-list.svg +3 -0
- package/lib/devtools/Images/clear.svg +3 -0
- package/lib/devtools/Images/cloud.svg +3 -0
- package/lib/devtools/Images/code-circle.svg +5 -0
- package/lib/devtools/Images/code-whisperer-badge.svg +166 -0
- package/lib/devtools/Images/code.svg +3 -0
- package/lib/devtools/Images/colon.svg +4 -0
- package/lib/devtools/Images/color-picker-filled.svg +3 -0
- package/lib/devtools/Images/color-picker.svg +3 -0
- package/lib/devtools/Images/compress.svg +8 -0
- package/lib/devtools/Images/console-conditional-breakpoint.svg +1 -0
- package/lib/devtools/Images/console-logpoint.svg +1 -0
- package/lib/devtools/Images/container.svg +4 -0
- package/lib/devtools/Images/cookie.svg +3 -0
- package/lib/devtools/Images/cookie_off.svg +3 -0
- package/lib/devtools/Images/copy.svg +3 -0
- package/lib/devtools/Images/corporate-fare.svg +3 -0
- package/lib/devtools/Images/credit-card.svg +3 -0
- package/lib/devtools/Images/cross-circle-filled.svg +3 -0
- package/lib/devtools/Images/cross-circle.svg +3 -0
- package/lib/devtools/Images/cross.svg +3 -0
- package/lib/devtools/Images/cssoverview_icons_2x.avif +0 -0
- package/lib/devtools/Images/database-off.svg +1 -0
- package/lib/devtools/Images/database.svg +3 -0
- package/lib/devtools/Images/deployed.svg +3 -0
- package/lib/devtools/Images/device-fold.svg +1 -0
- package/lib/devtools/Images/devices.svg +3 -0
- package/lib/devtools/Images/devtools-thumbnail.svg +57 -0
- package/lib/devtools/Images/devtools-tips.svg +61 -0
- package/lib/devtools/Images/devtools-user-badge.svg +129 -0
- package/lib/devtools/Images/devtools.svg +13 -0
- package/lib/devtools/Images/difference.svg +3 -0
- package/lib/devtools/Images/dock-bottom.svg +3 -0
- package/lib/devtools/Images/dock-left.svg +3 -0
- package/lib/devtools/Images/dock-right.svg +3 -0
- package/lib/devtools/Images/dock-window.svg +3 -0
- package/lib/devtools/Images/document.svg +3 -0
- package/lib/devtools/Images/dog-paw.svg +10 -0
- package/lib/devtools/Images/dom-detective-badge.svg +136 -0
- package/lib/devtools/Images/domain.svg +3 -0
- package/lib/devtools/Images/dots-horizontal.svg +1 -0
- package/lib/devtools/Images/dots-vertical.svg +3 -0
- package/lib/devtools/Images/download.svg +3 -0
- package/lib/devtools/Images/edit.svg +1 -0
- package/lib/devtools/Images/empty.svg +2 -0
- package/lib/devtools/Images/errorWave.svg +74 -0
- package/lib/devtools/Images/exclamation.svg +3 -0
- package/lib/devtools/Images/expand.svg +1 -0
- package/lib/devtools/Images/experiment-check.svg +1 -0
- package/lib/devtools/Images/experiment.svg +3 -0
- package/lib/devtools/Images/extension.svg +1 -0
- package/lib/devtools/Images/eye-crossed.svg +3 -0
- package/lib/devtools/Images/eye.svg +3 -0
- package/lib/devtools/Images/file-document.svg +3 -0
- package/lib/devtools/Images/file-fetch-xhr.svg +3 -0
- package/lib/devtools/Images/file-font.svg +4 -0
- package/lib/devtools/Images/file-generic.svg +3 -0
- package/lib/devtools/Images/file-image.svg +3 -0
- package/lib/devtools/Images/file-json.svg +4 -0
- package/lib/devtools/Images/file-manifest.svg +3 -0
- package/lib/devtools/Images/file-media.svg +3 -0
- package/lib/devtools/Images/file-script.svg +3 -0
- package/lib/devtools/Images/file-snippet.svg +4 -0
- package/lib/devtools/Images/file-stylesheet.svg +4 -0
- package/lib/devtools/Images/file-wasm.svg +5 -0
- package/lib/devtools/Images/file-websocket.svg +3 -0
- package/lib/devtools/Images/filter-clear.svg +3 -0
- package/lib/devtools/Images/filter-filled.svg +3 -0
- package/lib/devtools/Images/filter.svg +3 -0
- package/lib/devtools/Images/flex-direction.svg +5 -0
- package/lib/devtools/Images/flex-no-wrap.svg +5 -0
- package/lib/devtools/Images/flex-wrap.svg +8 -0
- package/lib/devtools/Images/flow.svg +3 -0
- package/lib/devtools/Images/flowsheet.svg +1 -0
- package/lib/devtools/Images/fold-more.svg +3 -0
- package/lib/devtools/Images/folder-asterisk.svg +10 -0
- package/lib/devtools/Images/folder-off.svg +3 -0
- package/lib/devtools/Images/folder.svg +3 -0
- package/lib/devtools/Images/frame-crossed.svg +3 -0
- package/lib/devtools/Images/frame-icon.svg +54 -0
- package/lib/devtools/Images/frame.svg +3 -0
- package/lib/devtools/Images/gdp-logo-dark.png +0 -0
- package/lib/devtools/Images/gdp-logo-light.png +0 -0
- package/lib/devtools/Images/gear-filled.svg +3 -0
- package/lib/devtools/Images/gear.svg +4 -0
- package/lib/devtools/Images/gears.svg +3 -0
- package/lib/devtools/Images/geminiInDevTools.png +0 -0
- package/lib/devtools/Images/geminiInDevTools_2x.png +0 -0
- package/lib/devtools/Images/global.svg +5 -0
- package/lib/devtools/Images/google.svg +3 -0
- package/lib/devtools/Images/goto-filled.svg +1 -0
- package/lib/devtools/Images/grid-direction.svg +6 -0
- package/lib/devtools/Images/grid-on.svg +10 -0
- package/lib/devtools/Images/group.svg +3 -0
- package/lib/devtools/Images/heap-snapshot.svg +6 -0
- package/lib/devtools/Images/heap-snapshots.svg +7 -0
- package/lib/devtools/Images/help.svg +3 -0
- package/lib/devtools/Images/history.svg +3 -0
- package/lib/devtools/Images/home.svg +3 -0
- package/lib/devtools/Images/hover.svg +6 -0
- package/lib/devtools/Images/iframe-crossed.svg +3 -0
- package/lib/devtools/Images/iframe.svg +3 -0
- package/lib/devtools/Images/import.svg +3 -0
- package/lib/devtools/Images/indeterminate-question-box.svg +3 -0
- package/lib/devtools/Images/info-filled.svg +3 -0
- package/lib/devtools/Images/info.svg +3 -0
- package/lib/devtools/Images/issue-cross-filled.svg +3 -0
- package/lib/devtools/Images/issue-exclamation-filled.svg +3 -0
- package/lib/devtools/Images/issue-questionmark-filled.svg +3 -0
- package/lib/devtools/Images/issue-text-filled.svg +3 -0
- package/lib/devtools/Images/justify-content-center.svg +5 -0
- package/lib/devtools/Images/justify-content-end.svg +5 -0
- package/lib/devtools/Images/justify-content-space-around.svg +6 -0
- package/lib/devtools/Images/justify-content-space-between.svg +4 -0
- package/lib/devtools/Images/justify-content-space-evenly.svg +6 -0
- package/lib/devtools/Images/justify-content-start.svg +5 -0
- package/lib/devtools/Images/justify-content-stretch.svg +4 -0
- package/lib/devtools/Images/justify-items-center.svg +4 -0
- package/lib/devtools/Images/justify-items-end.svg +4 -0
- package/lib/devtools/Images/justify-items-start.svg +4 -0
- package/lib/devtools/Images/justify-items-stretch.svg +4 -0
- package/lib/devtools/Images/keyboard-arrow-right.svg +1 -0
- package/lib/devtools/Images/keyboard-full.svg +10 -0
- package/lib/devtools/Images/keyboard-pen.svg +1 -0
- package/lib/devtools/Images/keyboard.svg +3 -0
- package/lib/devtools/Images/label-auto.svg +3 -0
- package/lib/devtools/Images/label.svg +10 -0
- package/lib/devtools/Images/large-arrow-right-filled.svg +1 -0
- package/lib/devtools/Images/layers-filled.svg +1 -0
- package/lib/devtools/Images/layers.svg +1 -0
- package/lib/devtools/Images/left-panel-close.svg +1 -0
- package/lib/devtools/Images/left-panel-open.svg +1 -0
- package/lib/devtools/Images/lightbulb-spark.svg +13 -0
- package/lib/devtools/Images/lightbulb.svg +3 -0
- package/lib/devtools/Images/lighthouse_logo.svg +158 -0
- package/lib/devtools/Images/list.svg +3 -0
- package/lib/devtools/Images/location-on.svg +3 -0
- package/lib/devtools/Images/lock-person.svg +1 -0
- package/lib/devtools/Images/lock.svg +3 -0
- package/lib/devtools/Images/mark-email-unread.svg +3 -0
- package/lib/devtools/Images/match-case.svg +3 -0
- package/lib/devtools/Images/match-whole-word.svg +1 -0
- package/lib/devtools/Images/memory.svg +6 -0
- package/lib/devtools/Images/minus.svg +3 -0
- package/lib/devtools/Images/mop.svg +1 -0
- package/lib/devtools/Images/mouse.svg +4 -0
- package/lib/devtools/Images/navigationControls.png +0 -0
- package/lib/devtools/Images/navigationControls_2x.png +0 -0
- package/lib/devtools/Images/network-settings.svg +3 -0
- package/lib/devtools/Images/node-stack-icon.svg +1 -0
- package/lib/devtools/Images/nodeIcon.avif +0 -0
- package/lib/devtools/Images/open-externally.svg +3 -0
- package/lib/devtools/Images/override.svg +11 -0
- package/lib/devtools/Images/palette.svg +10 -0
- package/lib/devtools/Images/pause-circle.svg +1 -0
- package/lib/devtools/Images/pause.svg +1 -0
- package/lib/devtools/Images/pen-spark.svg +3 -0
- package/lib/devtools/Images/performance-panel-delete-annotation.svg +32 -0
- package/lib/devtools/Images/performance-panel-diagram.svg +34 -0
- package/lib/devtools/Images/performance-panel-entry-label.svg +75 -0
- package/lib/devtools/Images/performance-panel-time-range.svg +15 -0
- package/lib/devtools/Images/performance.svg +3 -0
- package/lib/devtools/Images/person.svg +3 -0
- package/lib/devtools/Images/photo-camera.svg +10 -0
- package/lib/devtools/Images/play.svg +3 -0
- package/lib/devtools/Images/plus.svg +3 -0
- package/lib/devtools/Images/policy.svg +3 -0
- package/lib/devtools/Images/popoverArrows.png +0 -0
- package/lib/devtools/Images/popup.svg +3 -0
- package/lib/devtools/Images/preview_feature_video_thumbnail.svg +92 -0
- package/lib/devtools/Images/profile.svg +3 -0
- package/lib/devtools/Images/psychiatry.svg +3 -0
- package/lib/devtools/Images/puzzle.svg +3 -0
- package/lib/devtools/Images/record-start.svg +4 -0
- package/lib/devtools/Images/record-stop.svg +4 -0
- package/lib/devtools/Images/redo.svg +3 -0
- package/lib/devtools/Images/refresh.svg +10 -0
- package/lib/devtools/Images/regular-expression.svg +3 -0
- package/lib/devtools/Images/replace.svg +1 -0
- package/lib/devtools/Images/replay.svg +3 -0
- package/lib/devtools/Images/report.svg +1 -0
- package/lib/devtools/Images/resizeDiagonal.svg +1 -0
- package/lib/devtools/Images/resizeHorizontal.svg +1 -0
- package/lib/devtools/Images/resizeVertical.svg +1 -0
- package/lib/devtools/Images/resume.svg +1 -0
- package/lib/devtools/Images/revert.svg +3 -0
- package/lib/devtools/Images/review.svg +5 -0
- package/lib/devtools/Images/right-panel-close.svg +1 -0
- package/lib/devtools/Images/right-panel-open.svg +1 -0
- package/lib/devtools/Images/scissors.svg +3 -0
- package/lib/devtools/Images/screen-rotation.svg +1 -0
- package/lib/devtools/Images/search.svg +3 -0
- package/lib/devtools/Images/select-element.svg +3 -0
- package/lib/devtools/Images/send.svg +3 -0
- package/lib/devtools/Images/shadow.svg +3 -0
- package/lib/devtools/Images/shield.svg +3 -0
- package/lib/devtools/Images/small-status-dot.svg +3 -0
- package/lib/devtools/Images/smart-assistant.svg +3 -0
- package/lib/devtools/Images/snippet.svg +4 -0
- package/lib/devtools/Images/spark-info.svg +3 -0
- package/lib/devtools/Images/spark.svg +3 -0
- package/lib/devtools/Images/speculative-loads.svg +1 -0
- package/lib/devtools/Images/speedster-badge.svg +166 -0
- package/lib/devtools/Images/star.svg +3 -0
- package/lib/devtools/Images/step-into.svg +1 -0
- package/lib/devtools/Images/step-out.svg +1 -0
- package/lib/devtools/Images/step-over.svg +1 -0
- package/lib/devtools/Images/step.svg +1 -0
- package/lib/devtools/Images/stop.svg +3 -0
- package/lib/devtools/Images/symbol.svg +3 -0
- package/lib/devtools/Images/sync.svg +3 -0
- package/lib/devtools/Images/tab-move.svg +1 -0
- package/lib/devtools/Images/table.svg +3 -0
- package/lib/devtools/Images/terminal.svg +10 -0
- package/lib/devtools/Images/text-analysis.svg +3 -0
- package/lib/devtools/Images/thumb-down-filled.svg +3 -0
- package/lib/devtools/Images/thumb-down.svg +3 -0
- package/lib/devtools/Images/thumb-up-filled.svg +3 -0
- package/lib/devtools/Images/thumb-up.svg +3 -0
- package/lib/devtools/Images/tonality.svg +10 -0
- package/lib/devtools/Images/toolbarResizerVertical.png +0 -0
- package/lib/devtools/Images/top-panel-close.svg +1 -0
- package/lib/devtools/Images/top-panel-open.svg +1 -0
- package/lib/devtools/Images/touch-app.svg +4 -0
- package/lib/devtools/Images/touchCursor.png +0 -0
- package/lib/devtools/Images/touchCursor_2x.png +0 -0
- package/lib/devtools/Images/triangle-bottom-right.svg +3 -0
- package/lib/devtools/Images/triangle-down.svg +1 -0
- package/lib/devtools/Images/triangle-left.svg +1 -0
- package/lib/devtools/Images/triangle-right.svg +1 -0
- package/lib/devtools/Images/triangle-up.svg +3 -0
- package/lib/devtools/Images/trophy.svg +3 -0
- package/lib/devtools/Images/tune.svg +3 -0
- package/lib/devtools/Images/undo.svg +1 -0
- package/lib/devtools/Images/warning-filled.svg +3 -0
- package/lib/devtools/Images/warning.svg +3 -0
- package/lib/devtools/Images/watch.svg +3 -0
- package/lib/devtools/Images/whatsnew.svg +61 -0
- package/lib/devtools/Images/width.svg +3 -0
- package/lib/devtools/Images/zoom-in.svg +3 -0
- package/lib/devtools/LICENSE +27 -0
- package/lib/devtools/application_tokens.css +413 -0
- package/lib/devtools/chunks/FormatterActions-FcPgI0uV.js +19 -0
- package/lib/devtools/chunks/UIFilter-CIzBruM3.js +18 -0
- package/lib/devtools/chunks/UIRequestLocation-CtGcVN3I.js +48 -0
- package/lib/devtools/chunks/_qilin-devtools_empty-BvRk9kiK.js +0 -0
- package/lib/devtools/chunks/accessibility-CwvHp3sj.js +2718 -0
- package/lib/devtools/chunks/acorn-_jSanihy.js +3232 -0
- package/lib/devtools/chunks/adorners-D4aU6nuY.js +45 -0
- package/lib/devtools/chunks/ai_assistance-BU6E0Wio.js +4255 -0
- package/lib/devtools/chunks/angular-Dutmu-L9.js +117 -0
- package/lib/devtools/chunks/animation-TEwO5UI_.js +922 -0
- package/lib/devtools/chunks/application-SCf6MiCN.js +12740 -0
- package/lib/devtools/chunks/autofill-Dp3nMnuK.js +198 -0
- package/lib/devtools/chunks/autofill_manager-BXntqfdp.js +58 -0
- package/lib/devtools/chunks/bindings-DgoVEdsr.js +4105 -0
- package/lib/devtools/chunks/browser-DL1S1Kiu.js +62 -0
- package/lib/devtools/chunks/browser_debugger-p7Rr4IBR.js +629 -0
- package/lib/devtools/chunks/changes-DeW5MC9u.js +2 -0
- package/lib/devtools/chunks/changes-k42bihtm.js +393 -0
- package/lib/devtools/chunks/checkbox.css-CZJJ6atQ.js +4 -0
- package/lib/devtools/chunks/chunk-DF993M8W.js +11 -0
- package/lib/devtools/chunks/code_highlighter-BnTPt9_G.js +210 -0
- package/lib/devtools/chunks/codemirror-CBR9VJma.js +15842 -0
- package/lib/devtools/chunks/color_picker-Cuh_X19Y.js +1566 -0
- package/lib/devtools/chunks/common-DjRFwulW.js +15145 -0
- package/lib/devtools/chunks/common-Uu9A2glf.js +2 -0
- package/lib/devtools/chunks/common-qd_KLeYO.js +6639 -0
- package/lib/devtools/chunks/components-CnPGgDUW.js +704 -0
- package/lib/devtools/chunks/components-Cw5tHQqN.js +1338 -0
- package/lib/devtools/chunks/components-EJwviLtZ.js +1090 -0
- package/lib/devtools/chunks/console-D1WlMaFQ.js +3855 -0
- package/lib/devtools/chunks/console-yMm3XVTY.js +2 -0
- package/lib/devtools/chunks/console_counters-9SfIdrUo.js +103 -0
- package/lib/devtools/chunks/coverage-BbFH390Q.js +1176 -0
- package/lib/devtools/chunks/coverage-CLBpovLw.js +2 -0
- package/lib/devtools/chunks/cpp-CdElSCaB.js +435 -0
- package/lib/devtools/chunks/css_overview-cITV9auE.js +1288 -0
- package/lib/devtools/chunks/data_grid-pC5qqfsJ.js +1671 -0
- package/lib/devtools/chunks/developer_resources-4DqQIvy6.js +240 -0
- package/lib/devtools/chunks/diff-qn55JSCS.js +444 -0
- package/lib/devtools/chunks/dom_extension-BfrKZ4JG.js +172 -0
- package/lib/devtools/chunks/elements-CgEYz3mX.js +2 -0
- package/lib/devtools/chunks/elements-Dbx4q9-v.js +11407 -0
- package/lib/devtools/chunks/emulation-C6XKPPGu.js +1306 -0
- package/lib/devtools/chunks/emulation-D8xbdsAj.js +2 -0
- package/lib/devtools/chunks/emulation-EtJlEukP.js +2732 -0
- package/lib/devtools/chunks/emulation-cjFPXHT9.js +157 -0
- package/lib/devtools/chunks/event_listeners-BeTH3gi2.js +414 -0
- package/lib/devtools/chunks/explain-P_aDGFSD.js +747 -0
- package/lib/devtools/chunks/greendev-BU0QcVPX.js +152 -0
- package/lib/devtools/chunks/heap_snapshot-CZt2KUPL.js +427 -0
- package/lib/devtools/chunks/helper-CI72KvIC.js +33 -0
- package/lib/devtools/chunks/helpers--xrfGSwQ.js +29 -0
- package/lib/devtools/chunks/i18n-DvFMqQdJ.js +17 -0
- package/lib/devtools/chunks/icon_button-BebVdJD8.js +83 -0
- package/lib/devtools/chunks/inline_editor-D54X5UUr.js +1309 -0
- package/lib/devtools/chunks/inspector_main-DRbdXLmF.js +279 -0
- package/lib/devtools/chunks/issue_counter-CeOjTNGW.js +193 -0
- package/lib/devtools/chunks/issues-CegBKEda.js +1649 -0
- package/lib/devtools/chunks/issues_manager-D7nfNPN1.js +3009 -0
- package/lib/devtools/chunks/java-7g_qfFa2.js +263 -0
- package/lib/devtools/chunks/layer_viewer-CaFC5oyv.js +1423 -0
- package/lib/devtools/chunks/layers-CXqlD9zH.js +370 -0
- package/lib/devtools/chunks/legacy-Bqn4Q0Tf.js +41804 -0
- package/lib/devtools/chunks/legacy-DOCLCisy.js +1434 -0
- package/lib/devtools/chunks/less-DXiRNbd4.js +195 -0
- package/lib/devtools/chunks/lighthouse-DtpzvfT6.js +3920 -0
- package/lib/devtools/chunks/lighthouse-T9ZpmENr.js +2 -0
- package/lib/devtools/chunks/linear_memory_inspector-C50PtM45.js +305 -0
- package/lib/devtools/chunks/live-metrics-Bs7wxibB.js +284 -0
- package/lib/devtools/chunks/main-C5y6NscM.js +2 -0
- package/lib/devtools/chunks/main-DcgYyEI0.js +755 -0
- package/lib/devtools/chunks/markdown-tZoR6Bsu.js +1512 -0
- package/lib/devtools/chunks/markdown_view-C67b2DdG.js +461 -0
- package/lib/devtools/chunks/marked-zGgfoDxO.js +1362 -0
- package/lib/devtools/chunks/media-BhuqASbO.js +1337 -0
- package/lib/devtools/chunks/media-Wfo1AbXC.js +2 -0
- package/lib/devtools/chunks/menus-BAUukA5-.js +969 -0
- package/lib/devtools/chunks/mobile_throttling-C26zde8o.js +2 -0
- package/lib/devtools/chunks/mobile_throttling-Cw4AkJH4.js +1052 -0
- package/lib/devtools/chunks/network-C3gIloDN.js +2 -0
- package/lib/devtools/chunks/network-CaxdpGU2.js +9181 -0
- package/lib/devtools/chunks/objectValue.css-C9o9fdM2.js +4 -0
- package/lib/devtools/chunks/object_ui-BYgPTK_b.js +1461 -0
- package/lib/devtools/chunks/object_ui-E7eR7aD-.js +2 -0
- package/lib/devtools/chunks/perf_ui-BqzJrt4p.js +2 -0
- package/lib/devtools/chunks/perf_ui-CQMkYfn3.js +3143 -0
- package/lib/devtools/chunks/performance_monitor-B2kUoCv0.js +385 -0
- package/lib/devtools/chunks/php-tl5gKrxu.js +423 -0
- package/lib/devtools/chunks/platform-BzB373NB.js +600 -0
- package/lib/devtools/chunks/profiler-BGu3akEf.js +4608 -0
- package/lib/devtools/chunks/protocol_client-Cwf_jb8R.js +24329 -0
- package/lib/devtools/chunks/protocol_monitor-B9nMqAAE.js +2 -0
- package/lib/devtools/chunks/protocol_monitor-CvLQ8ms1.js +1224 -0
- package/lib/devtools/chunks/puppeteer-CaOjgj3v.js +13299 -0
- package/lib/devtools/chunks/python-D9AdRkMm.js +580 -0
- package/lib/devtools/chunks/quick_open-C3IZ69m9.js +2 -0
- package/lib/devtools/chunks/quick_open-DRITaPnZ.js +722 -0
- package/lib/devtools/chunks/recorder-C0f1n95b.js +5465 -0
- package/lib/devtools/chunks/recorder-actions-S2RfLX4H.js +6 -0
- package/lib/devtools/chunks/request_link_icon-fGy57GcW.js +87 -0
- package/lib/devtools/chunks/root-DbVQo07X.js +255 -0
- package/lib/devtools/chunks/sass-BPQlMmw2.js +370 -0
- package/lib/devtools/chunks/security-NbgKa3ux.js +898 -0
- package/lib/devtools/chunks/sensors-nM7qcBE4.js +752 -0
- package/lib/devtools/chunks/settings-aKtQC12v.js +1433 -0
- package/lib/devtools/chunks/settings_ui-CzxAFzIb.js +175 -0
- package/lib/devtools/chunks/snackbars-lPThuWYs.js +12010 -0
- package/lib/devtools/chunks/snippets-dIuBmVBv.js +173 -0
- package/lib/devtools/chunks/source_frame-CSjno3kf.js +1352 -0
- package/lib/devtools/chunks/sources-BIZssBei.js +8216 -0
- package/lib/devtools/chunks/sources-Bf8QJxju.js +2 -0
- package/lib/devtools/chunks/suggestion_input-Duuu5pyd.js +196 -0
- package/lib/devtools/chunks/svelte-DJS1itbE.js +744 -0
- package/lib/devtools/chunks/textInput.css-DPvwvIic.js +4 -0
- package/lib/devtools/chunks/text_editor-Dq1P6D2J.js +15706 -0
- package/lib/devtools/chunks/text_utils-ohNt_gua.js +608 -0
- package/lib/devtools/chunks/theme_support-CbSSLkbO.js +92 -0
- package/lib/devtools/chunks/third-party-web-DGiPoc0U.js +12626 -0
- package/lib/devtools/chunks/timeline-BE_ysZxO.js +2 -0
- package/lib/devtools/chunks/timeline-C4vCX79k.js +16347 -0
- package/lib/devtools/chunks/utils-CELci976.js +298 -0
- package/lib/devtools/chunks/vue-CjH9yovn.js +73 -0
- package/lib/devtools/chunks/wast-CbGHiqaW.js +109 -0
- package/lib/devtools/chunks/web_audio-IdfBLjwV.js +277 -0
- package/lib/devtools/chunks/webauthn-iRZlbjGV.js +522 -0
- package/lib/devtools/chunks/whats_new-DOTPf2xJ.js +177 -0
- package/lib/devtools/chunks/xml-DI9dcP5w.js +327 -0
- package/lib/devtools/connect.js +9 -0
- package/lib/devtools/design_system_tokens.css +1061 -0
- package/lib/devtools/device_mode_emulation_frame.html +25 -0
- package/lib/devtools/devtools_app.html +25 -0
- package/lib/devtools/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nest-hub-horizontal.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nest-hub-max-horizontal.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPad-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPad-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/optimized_images.gni +53 -0
- package/lib/devtools/entrypoints/device_mode_emulation_frame/device_mode_emulation_frame.js +4 -0
- package/lib/devtools/entrypoints/devtools_app/devtools_app.js +6240 -0
- package/lib/devtools/entrypoints/formatter_worker/formatter_worker-entrypoint.js +2810 -0
- package/lib/devtools/entrypoints/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +2142 -0
- package/lib/devtools/entrypoints/lighthouse_worker/lighthouse_worker.js +290095 -0
- package/lib/devtools/entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.js +3403 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepCorpNotSameSite.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/CompatibilityModeQuirks.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/LowTextContrast.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/arInsecureContext.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidInfoHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoWebOrOsSupport.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/arOsSourceIgnored.md +18 -0
- package/lib/devtools/models/issues_manager/descriptions/arOsTriggerIgnored.md +19 -0
- package/lib/devtools/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/arSourceIgnored.md +13 -0
- package/lib/devtools/models/issues_manager/descriptions/arTriggerIgnored.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/arWebAndOsHeaders.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/bounceTrackingMitigations.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistInvalidAllowlistItemType.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistInvalidHeader.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistInvalidUrlPattern.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistItemNotInnerList.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistMoreThanOneList.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistReportingEndpointNotToken.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieCrossSiteRedirectDowngrade.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutRead.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutSet.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnMetadataGrantRead.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnMetadataGrantSet.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutRead.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutSet.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/corsDisabledScheme.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/corsDisallowedByMode.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsInvalidHeaderValues.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +19 -0
- package/lib/devtools/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsOriginMismatch.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/cspEvalViolation.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/cspInlineViolation.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/cspURLViolation.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/deprecation.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestDnsFetchFailed.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestDnsInvalidRecord.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestInvalidEmail.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestKeyBindingSigningFailed.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestRpOriginIsOpaque.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidContentType.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidSdJwt.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenMalformedSdJwt.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestUserLoggedOut.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownAccountsEndpointCrossOrigin.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownInvalidContentType.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownIssuanceEndpointCrossOrigin.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownListEmpty.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownMissingAccountsEndpoint.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownMissingIssuanceEndpoint.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownUnsupportedSigningAlgorithm.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/fetchingPartitionedBlobURL.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/genericBackUINavigationWouldSkipAd.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingIdError.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormLabelForNameError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextMissingToolDescription.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextMissingToolName.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextParameterMissingName.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextParameterMissingTitleAndDescription.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextRequiredParameterMissingName.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/genericResponseWasBlockedByORB.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/heavyAd.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/mixedContent.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/navigatingPartitionedBlobURL.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementActivationDisabled.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluder.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluderParent.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementCspFrameAncestorsMissing.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementFencedFrameDisallowed.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementFontSizeTooLarge.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementFontSizeTooSmall.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementGeolocationDeprecated.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInsetBoxShadowUnsupported.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInvalidDisplayStyle.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInvalidSizeValue.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInvalidType.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInvalidTypeActivation.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementLowContrast.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementNonOpaqueColor.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementPaddingBottomUnsupported.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementPaddingRightUnsupported.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementPermissionsPolicyBlocked.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementRegistrationFailed.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementRequestInProgress.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementSecurityChecksFailed.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementTypeNotSupported.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementUntrustedEvent.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/propertyRuleInvalidNameIssue.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/propertyRuleIssue.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityDisallowedSelectChild.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/selectivePermissionsIntervention.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedArrayBuffer.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorExpiredResponse.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorInsufficientResources.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNavigationRequest.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNoMatchField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonSecureContext.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringIdField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorRequestAborted.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorShuttingDown.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorTooLongIdField.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorUnsupportedType.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sriInvalidSignatureHeader.md +14 -0
- package/lib/devtools/models/issues_manager/descriptions/sriInvalidSignatureInputHeader.md +15 -0
- package/lib/devtools/models/issues_manager/descriptions/sriMissingSignatureHeader.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/sriMissingSignatureInputHeader.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureHeaderValueIsIncorrectLength.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureHeaderValueIsNotByteSequence.md +14 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureHeaderValueIsParameterized.md +15 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentName.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentType.md +13 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidParameter.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderKeyIdLength.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderMissingLabel.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderValueMissingComponents.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/sriValidationFailedInvalidLength.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/sriValidationFailedSignatureExpired.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/sriValidationFailedSignatureMismatch.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +17 -0
- package/lib/devtools/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +14 -0
- package/lib/devtools/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
- package/lib/devtools/models/live-metrics/web-vitals-injected/web-vitals-injected.generated.js +1 -0
- package/lib/devtools/panels/recorder/injected/injected.generated.js +1 -0
- package/lib/devtools/panels/whats_new/resources/WNDT.md +14 -0
- package/lib/devtools/resource-manifest.json +3818 -0
- package/lib/devtools/third_party/acorn/package/LICENSE +21 -0
- package/lib/devtools/third_party/axe-core/LICENSE +362 -0
- package/lib/devtools/third_party/chromium/LICENSE +27 -0
- package/lib/devtools/third_party/codemirror/package/LICENSE +21 -0
- package/lib/devtools/third_party/codemirror.next/LICENSE +21 -0
- package/lib/devtools/third_party/csp_evaluator/package/LICENSE +202 -0
- package/lib/devtools/third_party/diff/LICENSE +202 -0
- package/lib/devtools/third_party/i18n/LICENSE +202 -0
- package/lib/devtools/third_party/intl-messageformat/LICENSE +33 -0
- package/lib/devtools/third_party/intl-messageformat/package/LICENSE.md +33 -0
- package/lib/devtools/third_party/json5/LICENSE +23 -0
- package/lib/devtools/third_party/legacy-javascript/LICENSE +202 -0
- package/lib/devtools/third_party/lighthouse/LICENSE +202 -0
- package/lib/devtools/third_party/lit/LICENSE +28 -0
- package/lib/devtools/third_party/marked/LICENSE +39 -0
- package/lib/devtools/third_party/marked/package/LICENSE.md +44 -0
- package/lib/devtools/third_party/puppeteer/LICENSE +202 -0
- package/lib/devtools/third_party/puppeteer/third_party/mitt/LICENSE +21 -0
- package/lib/devtools/third_party/puppeteer/third_party/parsel/LICENSE +21 -0
- package/lib/devtools/third_party/puppeteer/third_party/rxjs/LICENSE +201 -0
- package/lib/devtools/third_party/puppeteer-replay/package/LICENSE +202 -0
- package/lib/devtools/third_party/source-map-scopes-codec/LICENSE +26 -0
- package/lib/devtools/third_party/source-map-scopes-codec/package/LICENSE +26 -0
- package/lib/devtools/third_party/third-party-web/LICENSE +20 -0
- package/lib/devtools/third_party/third-party-web/package/LICENSE +20 -0
- package/lib/devtools/third_party/vscode.web-custom-data/package/LICENSE.md +21 -0
- package/lib/devtools/third_party/wasmparser/package/LICENSE +177 -0
- package/lib/devtools/third_party/web-vitals/package/LICENSE +202 -0
- package/lib/index.js +2554 -0
- package/lib/types/client/bottom/keyboard.d.ts +10 -0
- package/lib/types/client/bottom/locales.d.ts +17 -0
- package/lib/types/client/bottom/page.d.ts +10 -0
- package/lib/types/client/bottom/resize.d.ts +12 -0
- package/lib/types/client/bridge/controller.d.ts +10 -0
- package/lib/types/client/bridge/dispatcher.d.ts +26 -0
- package/lib/types/client/bridge/lifecycle.d.ts +22 -0
- package/lib/types/client/bridge/locales.d.ts +3 -0
- package/lib/types/client/bridge/publisher.d.ts +42 -0
- package/lib/types/client/bridge/rpc.d.ts +13 -0
- package/lib/types/client/bridge/transport.d.ts +41 -0
- package/lib/types/client/cdp/console.d.ts +45 -0
- package/lib/types/client/cdp/debugger.d.ts +8 -0
- package/lib/types/client/cdp/errors.d.ts +8 -0
- package/lib/types/client/cdp/heap-profiler.d.ts +8 -0
- package/lib/types/client/cdp/index.d.ts +10 -0
- package/lib/types/client/cdp/objects.d.ts +69 -0
- package/lib/types/client/cdp/profiler.d.ts +8 -0
- package/lib/types/client/cdp/properties.d.ts +16 -0
- package/lib/types/client/cdp/runtime.d.ts +79 -0
- package/lib/types/client/cdp/sources.d.ts +53 -0
- package/lib/types/client/cdp/stack.d.ts +27 -0
- package/lib/types/client/index.d.ts +3 -0
- package/lib/types/client/inspection/cordis.d.ts +3 -0
- package/lib/types/client/inspection/network.d.ts +4 -0
- package/lib/types/client/inspection/realm.d.ts +27 -0
- package/lib/types/client/plugin.d.ts +29 -0
- package/lib/types/host/bridge/controller.d.ts +108 -0
- package/lib/types/host/bridge/dispatcher.d.ts +16 -0
- package/lib/types/host/bridge/lifecycle.d.ts +42 -0
- package/lib/types/host/bridge/publisher.d.ts +31 -0
- package/lib/types/host/bridge/rpc.d.ts +15 -0
- package/lib/types/host/bridge/transport.d.ts +28 -0
- package/lib/types/host/cdp/console.d.ts +14 -0
- package/lib/types/host/cdp/debugger.d.ts +8 -0
- package/lib/types/host/cdp/errors.d.ts +6 -0
- package/lib/types/host/cdp/heap-profiler.d.ts +8 -0
- package/lib/types/host/cdp/index.d.ts +10 -0
- package/lib/types/host/cdp/objects.d.ts +8 -0
- package/lib/types/host/cdp/profiler.d.ts +8 -0
- package/lib/types/host/cdp/properties.d.ts +7 -0
- package/lib/types/host/cdp/runtime.d.ts +16 -0
- package/lib/types/host/cdp/sources.d.ts +14 -0
- package/lib/types/host/cdp/stack.d.ts +4 -0
- package/lib/types/host/index.d.ts +3 -0
- package/lib/types/host/inspection/cordis.d.ts +3 -0
- package/lib/types/host/inspection/network.d.ts +23 -0
- package/lib/types/host/inspection/realm.d.ts +9 -0
- package/lib/types/host/plugin.d.ts +19 -0
- package/lib/types/index.d.ts +50 -0
- package/lib/types/shared/bridge/buffer.d.ts +62 -0
- package/lib/types/shared/bridge/codec.d.ts +4 -0
- package/lib/types/shared/bridge/control-codec.d.ts +27 -0
- package/lib/types/shared/bridge/ids.d.ts +19 -0
- package/lib/types/shared/bridge/messages/control.d.ts +64 -0
- package/lib/types/shared/bridge/messages/cordis.d.ts +4 -0
- package/lib/types/shared/bridge/messages/network.d.ts +4 -0
- package/lib/types/shared/bridge/messages/observation.d.ts +110 -0
- package/lib/types/shared/bridge/messages/query/codec.d.ts +40 -0
- package/lib/types/shared/bridge/messages/query/commands.d.ts +35 -0
- package/lib/types/shared/bridge/messages/query/frames.d.ts +31 -0
- package/lib/types/shared/bridge/messages/query/index.d.ts +5 -0
- package/lib/types/shared/bridge/messages/runtime/command-codec.d.ts +9 -0
- package/lib/types/shared/bridge/messages/runtime/commands.d.ts +76 -0
- package/lib/types/shared/bridge/messages/runtime/console-frames.d.ts +52 -0
- package/lib/types/shared/bridge/messages/runtime/frames.d.ts +98 -0
- package/lib/types/shared/bridge/messages/runtime/index.d.ts +5 -0
- package/lib/types/shared/bridge/messages/runtime/value-codec.d.ts +28 -0
- package/lib/types/shared/bridge/messages/sources/codec.d.ts +15 -0
- package/lib/types/shared/bridge/messages/sources/commands.d.ts +42 -0
- package/lib/types/shared/bridge/messages/sources/frames.d.ts +67 -0
- package/lib/types/shared/bridge/messages/sources/index.d.ts +5 -0
- package/lib/types/shared/bridge/publisher.d.ts +33 -0
- package/lib/types/shared/bridge/query-reader.d.ts +10 -0
- package/lib/types/shared/bridge/rpc.d.ts +62 -0
- package/lib/types/shared/bridge/validation.d.ts +3 -0
- package/lib/types/shared/bridge/version.d.ts +3 -0
- package/lib/types/shared/cdp/capabilities.d.ts +17 -0
- package/lib/types/shared/cdp/console.d.ts +28 -0
- package/lib/types/shared/cdp/debugger.d.ts +69 -0
- package/lib/types/shared/cdp/errors.d.ts +27 -0
- package/lib/types/shared/cdp/ids.d.ts +9 -0
- package/lib/types/shared/cdp/index.d.ts +11 -0
- package/lib/types/shared/cdp/operations.d.ts +86 -0
- package/lib/types/shared/cdp/property.d.ts +28 -0
- package/lib/types/shared/cdp/realm.d.ts +137 -0
- package/lib/types/shared/cdp/remote-object.d.ts +44 -0
- package/lib/types/shared/cdp/sources.d.ts +18 -0
- package/lib/types/shared/cordis/collector.d.ts +26 -0
- package/lib/types/shared/cordis/ids.d.ts +7 -0
- package/lib/types/shared/cordis/model.d.ts +61 -0
- package/lib/types/shared/cordis/object-reference.d.ts +14 -0
- package/lib/types/shared/cordis/object-registry.d.ts +80 -0
- package/lib/types/shared/cordis/observer.d.ts +15 -0
- package/lib/types/shared/cordis/projector.d.ts +34 -0
- package/lib/types/shared/cordis/publisher.d.ts +13 -0
- package/lib/types/shared/cordis/reader.d.ts +18 -0
- package/lib/types/shared/cordis/snapshot.d.ts +39 -0
- package/lib/types/shared/dispose.d.ts +11 -0
- package/lib/types/shared/identity.d.ts +12 -0
- package/lib/types/shared/index.d.ts +18 -0
- package/lib/types/shared/json.d.ts +35 -0
- package/lib/types/shared/network/event-source.d.ts +20 -0
- package/lib/types/shared/network/observation.d.ts +52 -0
- package/lib/types/shared/service.d.ts +23 -0
- package/lib/types/shared/validation.d.ts +52 -0
- package/lib/types/shared/web.d.ts +16 -0
- package/lib/types/worker/bridge/endpoint.d.ts +49 -0
- package/lib/types/worker/bridge/hub.d.ts +108 -0
- package/lib/types/worker/bridge/runtime-rpc.d.ts +90 -0
- package/lib/types/worker/bridge/session.d.ts +15 -0
- package/lib/types/worker/bridge/source-rpc.d.ts +42 -0
- package/lib/types/worker/cdp/domains/debugger/cdp-params.d.ts +15 -0
- package/lib/types/worker/cdp/domains/debugger/index.d.ts +6 -0
- package/lib/types/worker/cdp/domains/debugger/projector.d.ts +22 -0
- package/lib/types/worker/cdp/domains/debugger/script-registry.d.ts +70 -0
- package/lib/types/worker/cdp/domains/debugger/session.d.ts +47 -0
- package/lib/types/worker/cdp/domains/dom/index.d.ts +4 -0
- package/lib/types/worker/cdp/domains/dom/model.d.ts +121 -0
- package/lib/types/worker/cdp/domains/dom/session.d.ts +78 -0
- package/lib/types/worker/cdp/domains/native.d.ts +25 -0
- package/lib/types/worker/cdp/domains/network/session.d.ts +46 -0
- package/lib/types/worker/cdp/domains/runtime/cdp-params.d.ts +82 -0
- package/lib/types/worker/cdp/domains/runtime/index.d.ts +3 -0
- package/lib/types/worker/cdp/domains/runtime/object-table.d.ts +117 -0
- package/lib/types/worker/cdp/domains/runtime/session.d.ts +97 -0
- package/lib/types/worker/cdp/ids.d.ts +37 -0
- package/lib/types/worker/cdp/protocol.d.ts +46 -0
- package/lib/types/worker/cdp/realm-sessions.d.ts +67 -0
- package/lib/types/worker/cdp/session.d.ts +39 -0
- package/lib/types/worker/cdp/target.d.ts +17 -0
- package/lib/types/worker/entry.d.ts +3 -0
- package/lib/types/worker/inspection/cordis-query.d.ts +11 -0
- package/lib/types/worker/inspection/cordis-store.d.ts +94 -0
- package/lib/types/worker/inspection/network-store.d.ts +110 -0
- package/lib/types/worker/inspection/query-router.d.ts +78 -0
- package/lib/types/worker/inspection/realm-store.d.ts +58 -0
- package/lib/types/worker/inspection/realm.d.ts +43 -0
- package/lib/types/worker/realms/client/bridge.d.ts +18 -0
- package/lib/types/worker/realms/client/console.d.ts +21 -0
- package/lib/types/worker/realms/client/debugger.d.ts +8 -0
- package/lib/types/worker/realms/client/index.d.ts +18 -0
- package/lib/types/worker/realms/client/runtime.d.ts +28 -0
- package/lib/types/worker/realms/client/scripts.d.ts +15 -0
- package/lib/types/worker/realms/client/sources.d.ts +30 -0
- package/lib/types/worker/realms/client/values.d.ts +55 -0
- package/lib/types/worker/realms/host/bridge.d.ts +49 -0
- package/lib/types/worker/realms/host/console.d.ts +25 -0
- package/lib/types/worker/realms/host/debugger.d.ts +25 -0
- package/lib/types/worker/realms/host/index.d.ts +13 -0
- package/lib/types/worker/realms/host/runtime.d.ts +54 -0
- package/lib/types/worker/realms/host/scripts.d.ts +9 -0
- package/lib/types/worker/realms/host/sources.d.ts +26 -0
- package/lib/types/worker/realms/host/values.d.ts +22 -0
- package/lib/types/worker/server.d.ts +16 -0
- package/lib/worker.js +7289 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +90 -3
|
@@ -0,0 +1,898 @@
|
|
|
1
|
+
import { n as e } from "./chunk-DF993M8W.js";
|
|
2
|
+
import "./platform-BzB373NB.js";
|
|
3
|
+
import { A as t, F as n, St as r, Z as i, at as a, bt as o, d as s, vt as c, wt as l } from "./common-qd_KLeYO.js";
|
|
4
|
+
import { $ as u, Dt as d, Fo as f, Md as p, Mo as m, Nd as h, Po as g, Q as _, S as v, Ur as y, Vc as b, Wc as x, Xf as ee, Xr as te, bn as S, c as ne, ci as re, ei as C, fd as ie, ff as w, gd as ae, hd as oe, i as T, ii as se, o as ce, of as E, q as D, qa as O, tf as k, wt as A } from "./legacy-Bqn4Q0Tf.js";
|
|
5
|
+
import { i as le, r as j, t as M } from "./UIFilter-CIzBruM3.js";
|
|
6
|
+
//#region node_modules/.pnpm/chrome-devtools-frontend@1.0.1638082/node_modules/chrome-devtools-frontend/front_end/panels/security/SecurityModel.ts
|
|
7
|
+
var ue = /* @__PURE__ */ e({
|
|
8
|
+
CertificateSecurityState: () => R,
|
|
9
|
+
Events: () => me,
|
|
10
|
+
PageVisibleSecurityState: () => L,
|
|
11
|
+
SecurityModel: () => F,
|
|
12
|
+
SecurityStyleExplanation: () => z,
|
|
13
|
+
SummaryMessages: () => I,
|
|
14
|
+
securityStateCompare: () => pe
|
|
15
|
+
}), N = {
|
|
16
|
+
theSecurityOfThisPageIsUnknown: "The security of this page is unknown.",
|
|
17
|
+
thisPageIsNotSecure: "This page is not secure.",
|
|
18
|
+
thisPageIsSecureValidHttps: "This page is secure (valid HTTPS).",
|
|
19
|
+
thisPageIsNotSecureBrokenHttps: "This page is not secure (broken HTTPS).",
|
|
20
|
+
cipherWithMAC: "{PH1} with {PH2}",
|
|
21
|
+
keyExchangeWithGroup: "{PH1} with {PH2}"
|
|
22
|
+
}, de = l("panels/security/SecurityModel.ts", N), fe = o.bind(void 0, de), P = c.bind(void 0, de), F = class extends w {
|
|
23
|
+
dispatcher;
|
|
24
|
+
securityAgent;
|
|
25
|
+
constructor(e) {
|
|
26
|
+
super(e), this.dispatcher = new ge(this), this.securityAgent = e.securityAgent(), e.registerSecurityDispatcher(this.dispatcher), this.securityAgent.invoke_enable();
|
|
27
|
+
}
|
|
28
|
+
resourceTreeModel() {
|
|
29
|
+
return this.target().model(x);
|
|
30
|
+
}
|
|
31
|
+
networkManager() {
|
|
32
|
+
return this.target().model(ae);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
function pe(e, t) {
|
|
36
|
+
let n = [
|
|
37
|
+
E.SecurityState.Info,
|
|
38
|
+
E.SecurityState.InsecureBroken,
|
|
39
|
+
E.SecurityState.Insecure,
|
|
40
|
+
E.SecurityState.Neutral,
|
|
41
|
+
E.SecurityState.Secure,
|
|
42
|
+
E.SecurityState.Unknown
|
|
43
|
+
];
|
|
44
|
+
return n.indexOf(e) - n.indexOf(t);
|
|
45
|
+
}
|
|
46
|
+
w.register(F, {
|
|
47
|
+
capabilities: h.SECURITY,
|
|
48
|
+
autostart: !1
|
|
49
|
+
});
|
|
50
|
+
var me = /* @__PURE__ */ function(e) {
|
|
51
|
+
return e.VisibleSecurityStateChanged = "VisibleSecurityStateChanged", e;
|
|
52
|
+
}({}), I = {
|
|
53
|
+
[E.SecurityState.Unknown]: P(N.theSecurityOfThisPageIsUnknown),
|
|
54
|
+
[E.SecurityState.Insecure]: P(N.thisPageIsNotSecure),
|
|
55
|
+
[E.SecurityState.Neutral]: P(N.thisPageIsNotSecure),
|
|
56
|
+
[E.SecurityState.Secure]: P(N.thisPageIsSecureValidHttps),
|
|
57
|
+
[E.SecurityState.InsecureBroken]: P(N.thisPageIsNotSecureBrokenHttps)
|
|
58
|
+
}, L = class {
|
|
59
|
+
securityState;
|
|
60
|
+
certificateSecurityState;
|
|
61
|
+
safetyTipInfo;
|
|
62
|
+
securityStateIssueIds;
|
|
63
|
+
constructor(e, t, n, r) {
|
|
64
|
+
this.securityState = e, this.certificateSecurityState = t ? new R(t) : null, this.safetyTipInfo = n ? new he(n) : null, this.securityStateIssueIds = r;
|
|
65
|
+
}
|
|
66
|
+
}, R = class {
|
|
67
|
+
protocol;
|
|
68
|
+
keyExchange;
|
|
69
|
+
keyExchangeGroup;
|
|
70
|
+
cipher;
|
|
71
|
+
mac;
|
|
72
|
+
certificate;
|
|
73
|
+
subjectName;
|
|
74
|
+
issuer;
|
|
75
|
+
validFrom;
|
|
76
|
+
validTo;
|
|
77
|
+
certificateNetworkError;
|
|
78
|
+
certificateHasWeakSignature;
|
|
79
|
+
certificateHasSha1Signature;
|
|
80
|
+
modernSSL;
|
|
81
|
+
obsoleteSslProtocol;
|
|
82
|
+
obsoleteSslKeyExchange;
|
|
83
|
+
obsoleteSslCipher;
|
|
84
|
+
obsoleteSslSignature;
|
|
85
|
+
constructor(e) {
|
|
86
|
+
this.protocol = e.protocol, this.keyExchange = e.keyExchange, this.keyExchangeGroup = e.keyExchangeGroup || null, this.cipher = e.cipher, this.mac = e.mac || null, this.certificate = e.certificate, this.subjectName = e.subjectName, this.issuer = e.issuer, this.validFrom = e.validFrom, this.validTo = e.validTo, this.certificateNetworkError = e.certificateNetworkError || null, this.certificateHasWeakSignature = e.certificateHasWeakSignature, this.certificateHasSha1Signature = e.certificateHasSha1Signature, this.modernSSL = e.modernSSL, this.obsoleteSslProtocol = e.obsoleteSslProtocol, this.obsoleteSslKeyExchange = e.obsoleteSslKeyExchange, this.obsoleteSslCipher = e.obsoleteSslCipher, this.obsoleteSslSignature = e.obsoleteSslSignature;
|
|
87
|
+
}
|
|
88
|
+
isCertificateExpiringSoon() {
|
|
89
|
+
let e = (/* @__PURE__ */ new Date(this.validTo * 1e3)).getTime();
|
|
90
|
+
return e < new Date(Date.now()).setHours(48) && e > Date.now();
|
|
91
|
+
}
|
|
92
|
+
getKeyExchangeName() {
|
|
93
|
+
return this.keyExchangeGroup ? this.keyExchange ? fe(N.keyExchangeWithGroup, {
|
|
94
|
+
PH1: this.keyExchange,
|
|
95
|
+
PH2: this.keyExchangeGroup
|
|
96
|
+
}) : this.keyExchangeGroup : this.keyExchange;
|
|
97
|
+
}
|
|
98
|
+
getCipherFullName() {
|
|
99
|
+
return this.mac ? fe(N.cipherWithMAC, {
|
|
100
|
+
PH1: this.cipher,
|
|
101
|
+
PH2: this.mac
|
|
102
|
+
}) : this.cipher;
|
|
103
|
+
}
|
|
104
|
+
}, he = class {
|
|
105
|
+
safetyTipStatus;
|
|
106
|
+
safeUrl;
|
|
107
|
+
constructor(e) {
|
|
108
|
+
this.safetyTipStatus = e.safetyTipStatus, this.safeUrl = e.safeUrl || null;
|
|
109
|
+
}
|
|
110
|
+
}, z = class {
|
|
111
|
+
securityState;
|
|
112
|
+
title;
|
|
113
|
+
summary;
|
|
114
|
+
description;
|
|
115
|
+
certificate;
|
|
116
|
+
mixedContentType;
|
|
117
|
+
recommendations;
|
|
118
|
+
constructor(e, t, n, r, i = [], a = E.MixedContentType.None, o = []) {
|
|
119
|
+
this.securityState = e, this.title = t, this.summary = n, this.description = r, this.certificate = i, this.mixedContentType = a, this.recommendations = o;
|
|
120
|
+
}
|
|
121
|
+
}, ge = class {
|
|
122
|
+
model;
|
|
123
|
+
constructor(e) {
|
|
124
|
+
this.model = e;
|
|
125
|
+
}
|
|
126
|
+
securityStateChanged(e) {}
|
|
127
|
+
visibleSecurityStateChanged({ visibleSecurityState: e }) {
|
|
128
|
+
let t = new L(e.securityState, e.certificateSecurityState || null, e.safetyTipInfo || null, e.securityStateIssueIds);
|
|
129
|
+
this.model.dispatchEventToListeners("VisibleSecurityStateChanged", t);
|
|
130
|
+
}
|
|
131
|
+
certificateError(e) {}
|
|
132
|
+
}, B = "/*\n * Copyright 2015 The Chromium Authors\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.lock-icon,\n.security-property {\n height: var(--sys-size-9);\n width: var(--sys-size-9);\n}\n\n.lock-icon-secure {\n color: var(--sys-color-green);\n}\n\n.lock-icon-insecure {\n color: var(--sys-color-error);\n}\n\n.lock-icon-insecure-broken {\n color: var(--sys-color-error);\n}\n\n.security-property-secure {\n color: var(--sys-color-green);\n}\n\n.security-property-neutral {\n color: var(--sys-color-error);\n}\n\n.security-property-insecure {\n color: var(--sys-color-error);\n}\n\n.security-property-insecure-broken {\n color: var(--sys-color-error);\n}\n\n.security-property-info {\n color: var(--sys-color-on-surface-subtle);\n}\n\n.security-property-unknown {\n color: var(--sys-color-on-surface-subtle);\n}\n\n.url-scheme-secure {\n color: var(--sys-color-green);\n}\n\n.url-scheme-neutral,\n.url-scheme-insecure,\n.url-scheme-insecure-broken {\n color: var(--sys-color-error);\n}\n", _e = "/*\n * Copyright 2015 The Chromium Authors\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.devtools-link {\n display: inline-block;\n}\n\n.security-main-view {\n overflow: hidden auto;\n background-color: var(--sys-color-cdt-base-container);\n}\n\n.security-main-view > div {\n flex-shrink: 0;\n}\n\n.security-summary-section-title {\n font-size: 15px;\n margin: 12px 16px;\n user-select: text;\n}\n\n.lock-spectrum {\n margin: 8px 16px;\n display: flex;\n align-items: flex-start;\n}\n\n.security-summary .lock-icon {\n flex: none;\n width: 16px;\n height: 16px;\n margin: 0;\n}\n/* Separate the middle icon from the other two. */\n\n.security-summary .lock-icon-neutral {\n margin: 0 16px;\n}\n\n.security-summary:not(.security-summary-secure) .lock-icon-secure,\n.security-summary:not(.security-summary-neutral) .lock-icon-neutral,\n.security-summary:not(.security-summary-insecure) .lock-icon-insecure,\n.security-summary:not(.security-summary-insecure-broken) .lock-icon-insecure-broken {\n color: var(--sys-color-state-disabled);\n}\n\n@media (forced-colors: active) {\n .security-summary-neutral .lock-icon-neutral {\n color: Highlight;\n }\n\n .security-summary:not(.security-summary-secure) .lock-icon-secure,\n .security-summary:not(.security-summary-neutral) .lock-icon-neutral,\n .security-summary:not(.security-summary-insecure) .lock-icon-insecure,\n .security-summary:not(.security-summary-insecure-broken) .lock-icon-insecure-broken {\n color: canvastext;\n }\n}\n\n.triangle-pointer-container {\n margin: 8px 24px 0;\n padding: 0;\n}\n\n.triangle-pointer-wrapper {\n /* Defaults for dynamic properties. */\n transform: translateX(0);\n transition: transform 0.3s;\n}\n\n.triangle-pointer {\n width: 12px;\n height: 12px;\n margin-bottom: -6px;\n margin-left: -6px;\n transform: rotate(-45deg);\n border-style: solid;\n border-width: 1px 1px 0 0;\n background: var(--sys-color-cdt-base-container);\n border-color: var(--sys-color-neutral-outline);\n}\n\n.security-summary-secure .triangle-pointer-wrapper {\n transform: translateX(0);\n}\n\n.security-summary-neutral .triangle-pointer-wrapper {\n transform: translateX(32px);\n}\n\n.security-summary-insecure .triangle-pointer-wrapper {\n transform: translateX(64px);\n}\n\n.security-summary-insecure-broken .triangle-pointer-wrapper {\n transform: translateX(64px);\n}\n\n.security-summary-text {\n padding: 16px 24px;\n border-style: solid;\n border-width: 1px 0;\n font-size: 15px;\n background: var(--sys-color-cdt-base-container);\n border-color: var(--sys-color-neutral-outline);\n user-select: text;\n}\n\n.security-summary-secure .triangle-pointer,\n.security-summary-secure .security-summary-text,\n.security-explanation-title-secure {\n color: var(--sys-color-green);\n}\n\n.security-summary-insecure-broken .triangle-pointer,\n.security-summary-insecure-broken .security-summary-text,\n.security-explanation-title-neutral,\n.security-explanation-title-insecure,\n.security-explanation-title-insecure-broken {\n color: var(--sys-color-error);\n}\n\n.security-explanation-list {\n padding-bottom: 16px;\n}\n\n.security-explanation-list:empty {\n border-bottom: none;\n padding: 0;\n}\n\n.security-explanations-main {\n margin-top: -5px;\n background-color: var(--sys-color-cdt-base-container);\n border-bottom: 1px solid var(--sys-color-divider);\n}\n\n.security-explanations-extra {\n background-color: transparent;\n}\n\n.security-explanation {\n padding: 11px;\n display: flex;\n white-space: nowrap;\n border: none;\n color: var(--sys-color-token-subtle);\n}\n\n.security-explanation-text {\n flex: auto;\n white-space: normal;\n max-width: 400px;\n}\n\n.origin-button {\n margin-top: var(--sys-size-4);\n}\n\n.security-explanation .security-property {\n flex: none;\n width: 16px;\n height: 16px;\n margin-right: 16px;\n}\n\n.security-explanation-title {\n color: var(--sys-color-token-subtle);\n margin-top: 1px;\n margin-bottom: 8px;\n}\n\n.security-mixed-content {\n margin-top: 8px;\n}\n\n.security-explanation-recommendations {\n padding-inline-start: 16px;\n}\n\n.security-explanation-recommendations > li {\n margin-bottom: 4px;\n}\n", ve = class extends T {
|
|
133
|
+
constructor(e = "", t = !1, n) {
|
|
134
|
+
super(e, t, n), d(this.listItemElement, e);
|
|
135
|
+
}
|
|
136
|
+
get elemId() {
|
|
137
|
+
return "overview";
|
|
138
|
+
}
|
|
139
|
+
showElement() {
|
|
140
|
+
throw Error("Unimplemented Method");
|
|
141
|
+
}
|
|
142
|
+
onselect(e) {
|
|
143
|
+
if (e) {
|
|
144
|
+
let e = this.elemId;
|
|
145
|
+
this.listItemElement.dispatchEvent(new CustomEvent("update-sidebar-selection", {
|
|
146
|
+
bubbles: !0,
|
|
147
|
+
composed: !0,
|
|
148
|
+
detail: { id: e }
|
|
149
|
+
})), this.showElement();
|
|
150
|
+
}
|
|
151
|
+
return !1;
|
|
152
|
+
}
|
|
153
|
+
}, V = class e extends Event {
|
|
154
|
+
static eventName = "showorigin";
|
|
155
|
+
origin;
|
|
156
|
+
constructor(t) {
|
|
157
|
+
super(e.eventName, {
|
|
158
|
+
bubbles: !0,
|
|
159
|
+
composed: !0
|
|
160
|
+
}), this.origin = t;
|
|
161
|
+
}
|
|
162
|
+
}, H = class extends ve {
|
|
163
|
+
#e;
|
|
164
|
+
#t;
|
|
165
|
+
#n = null;
|
|
166
|
+
constructor(e, t, n = null) {
|
|
167
|
+
super(), this.#t = t, this.#n = n, this.listItemElement.classList.add(e), this.#e = null, this.setSecurityState(E.SecurityState.Unknown);
|
|
168
|
+
}
|
|
169
|
+
setSecurityState(e) {
|
|
170
|
+
this.#e = e, this.#t(this);
|
|
171
|
+
}
|
|
172
|
+
securityState() {
|
|
173
|
+
return this.#e;
|
|
174
|
+
}
|
|
175
|
+
origin() {
|
|
176
|
+
return this.#n;
|
|
177
|
+
}
|
|
178
|
+
showElement() {
|
|
179
|
+
this.listItemElement.dispatchEvent(new V(this.#n));
|
|
180
|
+
}
|
|
181
|
+
}, ye = "/*\n * Copyright 2015 The Chromium Authors\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.title-section {\n padding: 16px 0 24px;\n border-bottom: 1px solid var(--sys-color-divider);\n}\n\n.title-section-header {\n padding-left: 16px;\n padding-bottom: 10px;\n font-size: 14px;\n}\n\n.security-origin-view {\n overflow: hidden scroll;\n display: block;\n user-select: text;\n}\n\n.security-origin-view .origin-view-section {\n border-bottom: 1px solid var(--sys-color-divider);\n padding: 12px 6px 12px 24px;\n font-size: 12px;\n}\n\n.origin-view-notes {\n margin-top: 2px;\n color: var(--sys-color-token-subtle);\n}\n\n.origin-view-section-notes {\n margin-top: 6px;\n color: var(--sys-color-token-subtle);\n}\n\n.security-origin-view .origin-display {\n font-size: 12px;\n padding-left: var(--sys-size-8);\n display: flex;\n align-items: center;\n}\n\n.title-section > .view-network-button {\n padding: 6px 0 0 16px;\n}\n\n.security-origin-view .origin-display devtools-icon {\n width: var(--sys-size-8);\n height: var(--sys-size-8);\n margin-right: var(--sys-size-6);\n}\n\n.security-origin-view .origin-view-section-title {\n margin-top: 4px;\n margin-bottom: 4px;\n font-weight: bold;\n}\n\n.security-origin-view .details-table {\n border-spacing: 0;\n}\n\n.security-origin-view .details-table-row {\n white-space: nowrap;\n overflow: hidden;\n line-height: 22px;\n vertical-align: top;\n}\n\n.security-origin-view .details-table-row > td {\n padding: 0;\n}\n\n.security-origin-view .details-table-row > td:first-child {\n color: var(--sys-color-token-subtle);\n width: calc(120px + 1em);\n text-align: right;\n padding-right: 1em;\n}\n\n.security-origin-view .details-table-row > td:nth-child(2) {\n white-space: normal;\n}\n\n.security-origin-view .sct-details .details-table .details-table-row:last-child td:last-child {\n border-bottom: 1px solid var(--sys-color-divider);\n padding-bottom: 10px;\n}\n\n.security-origin-view .sct-details .details-table:last-child .details-table-row:last-child td:last-child {\n border-bottom: none;\n padding-bottom: 0;\n}\n\n.security-origin-view .details-toggle {\n margin-left: 126px;\n}\n\n.security-origin-view .sct-toggle {\n margin-left: 145px;\n padding-top: 5px;\n}\n\n.security-origin-view .details-table .empty-san {\n color: var(--sys-color-state-disabled);\n}\n\n.security-origin-view .details-table .san-entry {\n display: block;\n}\n\n.security-origin-view .truncated-san .truncated-entry {\n display: none;\n}\n\n.origin-view-section:last-child {\n border-bottom: none;\n}\n\n.devtools-link {\n display: inline-flex;\n}\n", be = "/*\n * Copyright 2015 The Chromium Authors\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.tree-outline-disclosure {\n width: 100%;\n}\n\n.tree-outline li.security-group-list-item {\n & + ol {\n padding-left: 0;\n }\n\n &::before {\n display: none;\n }\n\n &:not(:first-child) {\n margin-top: var(--sys-size-6);\n }\n}\n\n.security-main-view-reload-message {\n color: var(--sys-color-token-subtle);\n}\n\n.tree-outline li.security-sidebar-origins + .children > li {\n &.selected {\n .url-scheme-secure {\n color: var(--sys-color-green);\n }\n\n .url-scheme-neutral,\n .url-scheme-insecure,\n .url-scheme-insecure-broken {\n color: var(--sys-color-error);\n }\n }\n}\n\n.security-main-view-reload-message,\n.tree-outline li.security-sidebar-origins,\n.tree-outline li.security-group-list-item,\n.tree-outline span {\n font: var(--sys-typescale-body4-medium);\n\n &:hover:not(:has(devtools-checkbox)) .selection {\n background: transparent;\n }\n}\n\n.tree-outline li {\n & .leading-icons {\n flex: none;\n }\n\n & .tree-element-title,\n .highlighted-url,\n .title {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n", U = {
|
|
182
|
+
security: "Security",
|
|
183
|
+
mainOrigin: "Main origin",
|
|
184
|
+
nonsecureOrigins: "Non-secure origins",
|
|
185
|
+
secureOrigins: "Secure origins",
|
|
186
|
+
unknownCanceled: "Unknown / canceled",
|
|
187
|
+
overview: "Overview",
|
|
188
|
+
reloadToViewDetails: "Reload to view details"
|
|
189
|
+
}, xe = l("panels/security/SecurityPanelSidebar.ts", U), W = o.bind(void 0, xe), Se = class extends C {
|
|
190
|
+
#e;
|
|
191
|
+
sidebarTree;
|
|
192
|
+
#t;
|
|
193
|
+
#n;
|
|
194
|
+
securityOverviewElement;
|
|
195
|
+
#r;
|
|
196
|
+
#i;
|
|
197
|
+
#a;
|
|
198
|
+
constructor(e) {
|
|
199
|
+
super(e), this.#e = s.instance().createSetting("security-last-selected-element-path", ""), this.#a = null, this.sidebarTree = new ce(ne.NAVIGATION_TREE), this.sidebarTree.registerRequiredCSS(B, be), this.sidebarTree.element.classList.add("security-sidebar"), this.contentElement.appendChild(this.sidebarTree.element);
|
|
200
|
+
let t = W(U.security), n = this.#o(t, "security");
|
|
201
|
+
this.securityOverviewElement = new H("security-main-view-sidebar-tree-item", this.#d), this.securityOverviewElement.tooltip = W(U.overview), n.appendChild(this.securityOverviewElement), this.#t = new Map([
|
|
202
|
+
[Q.MainOrigin, { title: W(U.mainOrigin) }],
|
|
203
|
+
[Q.NonSecure, {
|
|
204
|
+
title: W(U.nonsecureOrigins),
|
|
205
|
+
icon: J(E.SecurityState.Insecure, `lock-icon lock-icon-${E.SecurityState.Insecure}`)
|
|
206
|
+
}],
|
|
207
|
+
[Q.Secure, {
|
|
208
|
+
title: W(U.secureOrigins),
|
|
209
|
+
icon: J(E.SecurityState.Secure, `lock-icon lock-icon-${E.SecurityState.Secure}`)
|
|
210
|
+
}],
|
|
211
|
+
[Q.Unknown, {
|
|
212
|
+
title: W(U.unknownCanceled),
|
|
213
|
+
icon: J(E.SecurityState.Unknown, `lock-icon lock-icon-${E.SecurityState.Unknown}`)
|
|
214
|
+
}]
|
|
215
|
+
]), this.#n = /* @__PURE__ */ new Map();
|
|
216
|
+
for (let e of Object.values(Q)) {
|
|
217
|
+
let t = this.#l(this.#t.get(e)?.title, this.#t.get(e)?.icon);
|
|
218
|
+
this.#n.set(e, t), n.appendChild(t);
|
|
219
|
+
}
|
|
220
|
+
this.#i = new T(W(U.reloadToViewDetails)), this.#i.selectable = !1, this.#i.listItemElement.classList.add("security-main-view-reload-message"), this.#n.get(Q.MainOrigin).appendChild(this.#i), this.#u(), this.#r = /* @__PURE__ */ new Map(), this.element.addEventListener("update-sidebar-selection", (e) => {
|
|
221
|
+
let t = e.detail.id;
|
|
222
|
+
this.#e.set(t);
|
|
223
|
+
}), this.showLastSelectedElement();
|
|
224
|
+
}
|
|
225
|
+
elementsByOrigin() {
|
|
226
|
+
return this.#r;
|
|
227
|
+
}
|
|
228
|
+
showLastSelectedElement() {
|
|
229
|
+
this.securityOverviewElement.select(), this.securityOverviewElement.showElement();
|
|
230
|
+
}
|
|
231
|
+
#o(e, t) {
|
|
232
|
+
let n = new T(e, !0, t);
|
|
233
|
+
return n.listItemElement.classList.add("security-group-list-item"), n.setCollapsible(!1), n.selectable = !1, this.sidebarTree.appendChild(n), _(n.listItemElement, 3), d(n.childrenListElement, e), n;
|
|
234
|
+
}
|
|
235
|
+
#s(e) {
|
|
236
|
+
return this.#t.get(e)?.title;
|
|
237
|
+
}
|
|
238
|
+
#c(e) {
|
|
239
|
+
return this.#n.get(e);
|
|
240
|
+
}
|
|
241
|
+
#l(e, t) {
|
|
242
|
+
let n = new T(e, !0);
|
|
243
|
+
return n.expand(), n.listItemElement.classList.add("security-sidebar-origins"), t && n.setLeadingIcons([t]), d(n.childrenListElement, e), n;
|
|
244
|
+
}
|
|
245
|
+
toggleOriginsList(e) {
|
|
246
|
+
for (let t of this.#n.values()) t.hidden = e;
|
|
247
|
+
}
|
|
248
|
+
addOrigin(e, t) {
|
|
249
|
+
this.#i.hidden = !0;
|
|
250
|
+
let n = new H("security-sidebar-tree-item", this.#d, e);
|
|
251
|
+
n.tooltip = e, this.#r.set(e, n), this.updateOrigin(e, t);
|
|
252
|
+
}
|
|
253
|
+
setMainOrigin(e) {
|
|
254
|
+
this.#a = e;
|
|
255
|
+
}
|
|
256
|
+
get mainOrigin() {
|
|
257
|
+
return this.#a;
|
|
258
|
+
}
|
|
259
|
+
get originGroups() {
|
|
260
|
+
return this.#n;
|
|
261
|
+
}
|
|
262
|
+
updateOrigin(e, t) {
|
|
263
|
+
let n = this.#r.get(e);
|
|
264
|
+
n.setSecurityState(t);
|
|
265
|
+
let r;
|
|
266
|
+
if (e === this.#a) r = this.#n.get(Q.MainOrigin), r.title = W(U.mainOrigin), E.SecurityState.Secure, r.setLeadingIcons([Y(t, `lock-icon lock-icon-${t}`)]), d(r.childrenListElement, r.title);
|
|
267
|
+
else switch (t) {
|
|
268
|
+
case E.SecurityState.Secure:
|
|
269
|
+
r = this.#c(Q.Secure);
|
|
270
|
+
break;
|
|
271
|
+
case E.SecurityState.Unknown:
|
|
272
|
+
r = this.#c(Q.Unknown);
|
|
273
|
+
break;
|
|
274
|
+
default:
|
|
275
|
+
r = this.#c(Q.NonSecure);
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
let i = n.parent;
|
|
279
|
+
i !== r && (i && (i.removeChild(n), i.childCount() === 0 && (i.hidden = !0)), r.appendChild(n), r.hidden = !1);
|
|
280
|
+
}
|
|
281
|
+
#u() {
|
|
282
|
+
for (let [e, t] of this.#n) if (e === Q.MainOrigin) {
|
|
283
|
+
for (let e = t.childCount() - 1; e > 0; e--) t.removeChildAtIndex(e);
|
|
284
|
+
t.title = this.#s(Q.MainOrigin), t.hidden = !1, this.#i.hidden = !1;
|
|
285
|
+
} else t.removeChildren(), t.hidden = !0;
|
|
286
|
+
}
|
|
287
|
+
clearOrigins() {
|
|
288
|
+
this.#u(), this.#r.clear();
|
|
289
|
+
}
|
|
290
|
+
focus() {
|
|
291
|
+
this.sidebarTree.focus();
|
|
292
|
+
}
|
|
293
|
+
#d(e) {
|
|
294
|
+
if (e instanceof H) {
|
|
295
|
+
let t = e.securityState() ?? E.SecurityState.Unknown, n = e.listItemElement.classList.contains("security-main-view-sidebar-tree-item"), r = n ? Y(t, `lock-icon lock-icon-${t}`) : J(t, `security-property security-property-${t}`);
|
|
296
|
+
if (e.setLeadingIcons([r]), n) e.title = W(U.overview);
|
|
297
|
+
else {
|
|
298
|
+
let n = X(e.origin() ?? "", t);
|
|
299
|
+
e.listItemElement.lastChild && e.listItemElement.removeChild(e.listItemElement.lastChild), e.listItemElement.appendChild(n);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}, Ce = /* @__PURE__ */ e({
|
|
304
|
+
OriginGroup: () => Q,
|
|
305
|
+
SecurityDetailsTable: () => $,
|
|
306
|
+
SecurityMainView: () => Me,
|
|
307
|
+
SecurityOriginView: () => Ne,
|
|
308
|
+
SecurityPanel: () => Z,
|
|
309
|
+
createHighlightedUrl: () => X,
|
|
310
|
+
getSecurityStateIconForDetailedView: () => J,
|
|
311
|
+
getSecurityStateIconForOverview: () => Y
|
|
312
|
+
}), { widget: we, widgetRef: Te } = se, G = {
|
|
313
|
+
securityOverview: "Security overview",
|
|
314
|
+
secure: "Secure",
|
|
315
|
+
info: "Info",
|
|
316
|
+
notSecure: "Not secure",
|
|
317
|
+
viewCertificate: "View certificate",
|
|
318
|
+
notSecureBroken: "Not secure (broken)",
|
|
319
|
+
thisPageIsDangerousFlaggedBy: "This page is dangerous (flagged by Google Safe Browsing).",
|
|
320
|
+
flaggedByGoogleSafeBrowsing: "Flagged by Google Safe Browsing",
|
|
321
|
+
toCheckThisPagesStatusVisit: "To check this page's status, visit g.co/safebrowsingstatus.",
|
|
322
|
+
thisIsAnErrorPage: "This is an error page.",
|
|
323
|
+
thisPageIsInsecureUnencrypted: "This page is insecure (unencrypted HTTP).",
|
|
324
|
+
thisPageHasANonhttpsSecureOrigin: "This page has a non-HTTPS secure origin.",
|
|
325
|
+
thisPageIsSuspicious: "This page is suspicious",
|
|
326
|
+
chromeHasDeterminedThatThisSiteS: "Chrome has determined that this site could be fake or fraudulent.",
|
|
327
|
+
ifYouBelieveThisIsShownIn: "If you believe this is shown in error please visit https://g.co/chrome/lookalike-warnings.",
|
|
328
|
+
possibleSpoofingUrl: "Possible spoofing URL",
|
|
329
|
+
thisSitesHostnameLooksSimilarToP: "This site's hostname looks similar to {PH1}. Attackers sometimes mimic sites by making small, hard-to-see changes to the domain name.",
|
|
330
|
+
ifYouBelieveThisIsShownInErrorSafety: "If you believe this is shown in error please visit https://g.co/chrome/lookalike-warnings.",
|
|
331
|
+
thisPageIsSuspiciousFlaggedBy: "This page is suspicious (flagged by Chrome).",
|
|
332
|
+
certificate: "Certificate",
|
|
333
|
+
insecureSha: "insecure (SHA-1)",
|
|
334
|
+
theCertificateChainForThisSite: "The certificate chain for this site contains a certificate signed using SHA-1.",
|
|
335
|
+
subjectAlternativeNameMissing: "`Subject Alternative Name` missing",
|
|
336
|
+
theCertificateForThisSiteDoesNot: "The certificate for this site does not contain a `Subject Alternative Name` extension containing a domain name or IP address.",
|
|
337
|
+
missing: "missing",
|
|
338
|
+
thisSiteIsMissingAValidTrusted: "This site is missing a valid, trusted certificate ({PH1}).",
|
|
339
|
+
validAndTrusted: "valid and trusted",
|
|
340
|
+
theConnectionToThisSiteIsUsingA: "The connection to this site is using a valid, trusted server certificate issued by {PH1}.",
|
|
341
|
+
publickeypinningBypassed: "Public-Key-Pinning bypassed",
|
|
342
|
+
publickeypinningWasBypassedByA: "Public-Key-Pinning was bypassed by a local root certificate.",
|
|
343
|
+
certificateExpiresSoon: "Certificate expires soon",
|
|
344
|
+
theCertificateForThisSiteExpires: "The certificate for this site expires in less than 48 hours and needs to be renewed.",
|
|
345
|
+
connection: "Connection",
|
|
346
|
+
secureConnectionSettings: "secure connection settings",
|
|
347
|
+
theConnectionToThisSiteIs: "The connection to this site is encrypted and authenticated using {PH1}, {PH2}, and {PH3}.",
|
|
348
|
+
sIsObsoleteEnableTlsOrLater: "{PH1} is obsolete. Enable TLS 1.2 or later.",
|
|
349
|
+
rsaKeyExchangeIsObsoleteEnableAn: "RSA key exchange is obsolete. Enable an ECDHE-based cipher suite.",
|
|
350
|
+
sIsObsoleteEnableAnAesgcmbased: "{PH1} is obsolete. Enable an AES-GCM-based cipher suite.",
|
|
351
|
+
theServerSignatureUsesShaWhichIs: "The server signature uses SHA-1, which is obsolete. Enable a SHA-2 signature algorithm instead. (Note this is different from the signature in the certificate.)",
|
|
352
|
+
obsoleteConnectionSettings: "obsolete connection settings",
|
|
353
|
+
resources: "Resources",
|
|
354
|
+
activeMixedContent: "active mixed content",
|
|
355
|
+
youHaveRecentlyAllowedNonsecure: "You have recently allowed non-secure content (such as scripts or iframes) to run on this site.",
|
|
356
|
+
mixedContent: "mixed content",
|
|
357
|
+
thisPageIncludesHttpResources: "This page includes HTTP resources.",
|
|
358
|
+
nonsecureForm: "non-secure form",
|
|
359
|
+
thisPageIncludesAFormWithA: "This page includes a form with a non-secure \"action\" attribute.",
|
|
360
|
+
activeContentWithCertificate: "active content with certificate errors",
|
|
361
|
+
youHaveRecentlyAllowedContent: "You have recently allowed content loaded with certificate errors (such as scripts or iframes) to run on this site.",
|
|
362
|
+
contentWithCertificateErrors: "content with certificate errors",
|
|
363
|
+
thisPageIncludesResourcesThat: "This page includes resources that were loaded with certificate errors.",
|
|
364
|
+
allServedSecurely: "all served securely",
|
|
365
|
+
allResourcesOnThisPageAreServed: "All resources on this page are served securely.",
|
|
366
|
+
blockedMixedContent: "Blocked mixed content",
|
|
367
|
+
yourPageRequestedNonsecure: "Your page requested non-secure resources that were blocked.",
|
|
368
|
+
reloadThePageToRecordRequestsFor: "Reload the page to record requests for HTTP resources.",
|
|
369
|
+
viewDRequestsInNetworkPanel: "{n, plural, =1 {View # request in Network Panel} other {View # requests in Network Panel}}",
|
|
370
|
+
origin: "Origin",
|
|
371
|
+
viewRequestsInNetworkPanel: "View requests in Network Panel",
|
|
372
|
+
protocol: "Protocol",
|
|
373
|
+
keyExchange: "Key exchange",
|
|
374
|
+
cipher: "Cipher",
|
|
375
|
+
serverSignature: "Server signature",
|
|
376
|
+
encryptedClientHello: "Encrypted ClientHello",
|
|
377
|
+
certificateTransparency: "Certificate Transparency",
|
|
378
|
+
subject: "Subject",
|
|
379
|
+
validFrom: "Valid from",
|
|
380
|
+
validUntil: "Valid until",
|
|
381
|
+
issuer: "Issuer",
|
|
382
|
+
openFullCertificateDetails: "Open full certificate details",
|
|
383
|
+
sct: "SCT",
|
|
384
|
+
logName: "Log name",
|
|
385
|
+
logId: "Log ID",
|
|
386
|
+
validationStatus: "Validation status",
|
|
387
|
+
source: "Source",
|
|
388
|
+
issuedAt: "Issued at",
|
|
389
|
+
hashAlgorithm: "Hash algorithm",
|
|
390
|
+
signatureAlgorithm: "Signature algorithm",
|
|
391
|
+
signatureData: "Signature data",
|
|
392
|
+
showFullDetails: "Show full details",
|
|
393
|
+
hideFullDetails: "Hide full details",
|
|
394
|
+
thisRequestCompliesWithChromes: "This request complies with `Chrome`'s Certificate Transparency policy.",
|
|
395
|
+
thisRequestDoesNotComplyWith: "This request does not comply with `Chrome`'s Certificate Transparency policy.",
|
|
396
|
+
thisResponseWasLoadedFromCache: "This response was loaded from cache. Some security details might be missing.",
|
|
397
|
+
theSecurityDetailsAboveAreFrom: "The security details above are from the first inspected response.",
|
|
398
|
+
thisOriginIsANonhttpsSecure: "This origin is a non-HTTPS secure origin.",
|
|
399
|
+
yourConnectionToThisOriginIsNot: "Your connection to this origin is not secure.",
|
|
400
|
+
noSecurityInformation: "No security information",
|
|
401
|
+
noSecurityDetailsAreAvailableFor: "No security details are available for this origin.",
|
|
402
|
+
na: "(n/a)",
|
|
403
|
+
showLess: "Show less",
|
|
404
|
+
showMoreSTotal: "Show more ({PH1} total)",
|
|
405
|
+
unknownField: "unknown",
|
|
406
|
+
enabled: "enabled"
|
|
407
|
+
}, Ee = l("panels/security/SecurityPanel.ts", G), K = o.bind(void 0, Ee), q, De = new Map([
|
|
408
|
+
[513, "RSA with SHA-1"],
|
|
409
|
+
[1025, "RSA with SHA-256"],
|
|
410
|
+
[1281, "RSA with SHA-384"],
|
|
411
|
+
[1537, "RSA with SHA-512"],
|
|
412
|
+
[1027, "ECDSA with SHA-256"],
|
|
413
|
+
[1283, "ECDSA with SHA-384"],
|
|
414
|
+
[2052, "RSA-PSS with SHA-256"],
|
|
415
|
+
[2053, "RSA-PSS with SHA-384"],
|
|
416
|
+
[2054, "RSA-PSS with SHA-512"]
|
|
417
|
+
]), Oe = "lock", ke = "warning", Ae = "indeterminate-question-box";
|
|
418
|
+
function J(e, t) {
|
|
419
|
+
let n;
|
|
420
|
+
switch (e) {
|
|
421
|
+
case E.SecurityState.Neutral:
|
|
422
|
+
case E.SecurityState.Insecure:
|
|
423
|
+
case E.SecurityState.InsecureBroken:
|
|
424
|
+
n = ke;
|
|
425
|
+
break;
|
|
426
|
+
case E.SecurityState.Secure:
|
|
427
|
+
n = Oe;
|
|
428
|
+
break;
|
|
429
|
+
case E.SecurityState.Info:
|
|
430
|
+
case E.SecurityState.Unknown:
|
|
431
|
+
n = Ae;
|
|
432
|
+
break;
|
|
433
|
+
}
|
|
434
|
+
return m(n, t);
|
|
435
|
+
}
|
|
436
|
+
function Y(e, t) {
|
|
437
|
+
let n;
|
|
438
|
+
switch (e) {
|
|
439
|
+
case E.SecurityState.Unknown:
|
|
440
|
+
case E.SecurityState.Neutral:
|
|
441
|
+
n = Ae;
|
|
442
|
+
break;
|
|
443
|
+
case E.SecurityState.Insecure:
|
|
444
|
+
case E.SecurityState.InsecureBroken:
|
|
445
|
+
n = ke;
|
|
446
|
+
break;
|
|
447
|
+
case E.SecurityState.Secure:
|
|
448
|
+
n = Oe;
|
|
449
|
+
break;
|
|
450
|
+
case E.SecurityState.Info: throw Error(`Unexpected security state ${e}`);
|
|
451
|
+
}
|
|
452
|
+
return m(n, t);
|
|
453
|
+
}
|
|
454
|
+
function X(e, t) {
|
|
455
|
+
let n = e.indexOf("://");
|
|
456
|
+
if (n === -1) {
|
|
457
|
+
let t = document.createElement("span");
|
|
458
|
+
return t.textContent = e, t;
|
|
459
|
+
}
|
|
460
|
+
let r = document.createElement("span");
|
|
461
|
+
r.classList.add("highlighted-url");
|
|
462
|
+
let i = e.substr(0, n), a = e.substr(n + 3);
|
|
463
|
+
return r.createChild("span", "url-scheme-" + t).textContent = i, r.createChild("span", "url-scheme-separator").textContent = "://", r.createChild("span").textContent = a, r;
|
|
464
|
+
}
|
|
465
|
+
var je = (e, t, n) => {
|
|
466
|
+
f(g`
|
|
467
|
+
<devtools-split-view direction="column" name="security"
|
|
468
|
+
${re(te, (e) => {
|
|
469
|
+
t.splitWidget = e;
|
|
470
|
+
})}>
|
|
471
|
+
<devtools-widget
|
|
472
|
+
slot="sidebar"
|
|
473
|
+
${we(Se)}
|
|
474
|
+
${Te(Se, (e) => {
|
|
475
|
+
t.sidebar = e;
|
|
476
|
+
})}>
|
|
477
|
+
</devtools-widget>
|
|
478
|
+
</devtools-split-view>`, n);
|
|
479
|
+
}, Z = class e extends v {
|
|
480
|
+
view;
|
|
481
|
+
mainView;
|
|
482
|
+
sidebar;
|
|
483
|
+
lastResponseReceivedForLoaderId;
|
|
484
|
+
origins;
|
|
485
|
+
filterRequestCounts;
|
|
486
|
+
visibleView;
|
|
487
|
+
eventListeners;
|
|
488
|
+
securityModel;
|
|
489
|
+
splitWidget;
|
|
490
|
+
constructor(e = je) {
|
|
491
|
+
super("security"), this.view = e, this.update(), this.sidebar.setMinimumSize(100, 25), this.sidebar.element.classList.add("panel-sidebar"), this.sidebar.element.setAttribute("jslog", `${O("sidebar").track({ resize: !0 })}`), this.mainView = new Me(), this.mainView.panel = this, this.element.addEventListener(V.eventName, (e) => {
|
|
492
|
+
e.origin ? this.showOrigin(e.origin) : this.setVisibleView(this.mainView);
|
|
493
|
+
}), this.lastResponseReceivedForLoaderId = /* @__PURE__ */ new Map(), this.origins = /* @__PURE__ */ new Map(), this.filterRequestCounts = /* @__PURE__ */ new Map(), this.visibleView = null, this.eventListeners = [], this.securityModel = null, p.instance().observeModels(F, this, { scoped: !0 }), p.instance().addModelListener(x, b.PrimaryPageChanged, this.onPrimaryPageChanged, this), this.sidebar.showLastSelectedElement();
|
|
494
|
+
}
|
|
495
|
+
static instance(t = { forceNew: null }) {
|
|
496
|
+
let { forceNew: n } = t;
|
|
497
|
+
return (!q || n) && (q = new e()), q;
|
|
498
|
+
}
|
|
499
|
+
static createCertificateViewerButtonForOrigin(e, t) {
|
|
500
|
+
let n = S(e, async (e) => {
|
|
501
|
+
e.consume();
|
|
502
|
+
let n = await oe.instance().getCertificate(t);
|
|
503
|
+
n.length > 0 && ee.showCertificateViewer(n);
|
|
504
|
+
}, {
|
|
505
|
+
className: "origin-button",
|
|
506
|
+
jslogContext: "security.view-certificate-for-origin",
|
|
507
|
+
title: e
|
|
508
|
+
});
|
|
509
|
+
return D(n), n;
|
|
510
|
+
}
|
|
511
|
+
static createCertificateViewerButtonForCert(e, t) {
|
|
512
|
+
let n = S(e, (e) => {
|
|
513
|
+
e.consume(), ee.showCertificateViewer(t);
|
|
514
|
+
}, {
|
|
515
|
+
className: "origin-button",
|
|
516
|
+
jslogContext: "security.view-certificate"
|
|
517
|
+
});
|
|
518
|
+
return D(n), n;
|
|
519
|
+
}
|
|
520
|
+
update() {
|
|
521
|
+
this.view({ panel: this }, this, this.contentElement);
|
|
522
|
+
}
|
|
523
|
+
updateVisibleSecurityState(e) {
|
|
524
|
+
this.sidebar.securityOverviewElement.setSecurityState(e.securityState), this.mainView.updateVisibleSecurityState(e);
|
|
525
|
+
}
|
|
526
|
+
onVisibleSecurityStateChanged({ data: e }) {
|
|
527
|
+
this.updateVisibleSecurityState(e);
|
|
528
|
+
}
|
|
529
|
+
showOrigin(e) {
|
|
530
|
+
let t = this.origins.get(e);
|
|
531
|
+
t && (t.originView ||= new Ne(e, t), this.setVisibleView(t.originView));
|
|
532
|
+
}
|
|
533
|
+
wasShown() {
|
|
534
|
+
super.wasShown(), this.visibleView || this.sidebar.showLastSelectedElement();
|
|
535
|
+
}
|
|
536
|
+
focus() {
|
|
537
|
+
this.sidebar.focus();
|
|
538
|
+
}
|
|
539
|
+
setVisibleView(e) {
|
|
540
|
+
this.visibleView !== e && (this.visibleView && this.visibleView.detach(), this.visibleView = e, e && this.splitWidget.setMainWidget(e));
|
|
541
|
+
}
|
|
542
|
+
onResponseReceived(e) {
|
|
543
|
+
let n = e.data.request;
|
|
544
|
+
n.resourceType() === t.Document && n.loaderId && this.lastResponseReceivedForLoaderId.set(n.loaderId, n);
|
|
545
|
+
}
|
|
546
|
+
processRequest(e) {
|
|
547
|
+
let t = n.extractOrigin(e.url());
|
|
548
|
+
if (!t) return;
|
|
549
|
+
let r = e.securityState();
|
|
550
|
+
(e.mixedContentType === E.MixedContentType.Blockable || e.mixedContentType === E.MixedContentType.OptionallyBlockable) && (r = E.SecurityState.Insecure);
|
|
551
|
+
let i = this.origins.get(t);
|
|
552
|
+
if (i) {
|
|
553
|
+
if (pe(r, i.securityState) < 0) {
|
|
554
|
+
i.securityState = r;
|
|
555
|
+
let n = e.securityDetails();
|
|
556
|
+
n && (i.securityDetails = n), this.sidebar.updateOrigin(t, r), i.originView && i.originView.setSecurityState(r);
|
|
557
|
+
}
|
|
558
|
+
} else {
|
|
559
|
+
let n = {
|
|
560
|
+
securityState: r,
|
|
561
|
+
securityDetails: e.securityDetails(),
|
|
562
|
+
loadedFromCache: e.cached()
|
|
563
|
+
};
|
|
564
|
+
this.origins.set(t, n), this.sidebar.addOrigin(t, r);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
onRequestFinished(e) {
|
|
568
|
+
let t = e.data;
|
|
569
|
+
this.updateFilterRequestCounts(t), this.processRequest(t);
|
|
570
|
+
}
|
|
571
|
+
updateFilterRequestCounts(e) {
|
|
572
|
+
if (e.mixedContentType === E.MixedContentType.None) return;
|
|
573
|
+
let t = j.ALL;
|
|
574
|
+
e.wasBlocked() ? t = j.BLOCKED : e.mixedContentType === E.MixedContentType.Blockable ? t = j.BLOCK_OVERRIDDEN : e.mixedContentType === E.MixedContentType.OptionallyBlockable && (t = j.DISPLAYED);
|
|
575
|
+
let n = this.filterRequestCounts.get(t);
|
|
576
|
+
n ? this.filterRequestCounts.set(t, n + 1) : this.filterRequestCounts.set(t, 1), this.mainView.refreshExplanations();
|
|
577
|
+
}
|
|
578
|
+
filterRequestCount(e) {
|
|
579
|
+
return this.filterRequestCounts.get(e) || 0;
|
|
580
|
+
}
|
|
581
|
+
modelAdded(e) {
|
|
582
|
+
if (e.target() !== e.target().outermostTarget()) return;
|
|
583
|
+
this.securityModel = e;
|
|
584
|
+
let t = e.resourceTreeModel(), n = e.networkManager();
|
|
585
|
+
this.eventListeners.length && i(this.eventListeners), this.eventListeners = [
|
|
586
|
+
e.addEventListener(me.VisibleSecurityStateChanged, this.onVisibleSecurityStateChanged, this),
|
|
587
|
+
t.addEventListener(b.InterstitialShown, this.onInterstitialShown, this),
|
|
588
|
+
t.addEventListener(b.InterstitialHidden, this.onInterstitialHidden, this),
|
|
589
|
+
n.addEventListener(ie.ResponseReceived, this.onResponseReceived, this),
|
|
590
|
+
n.addEventListener(ie.RequestFinished, this.onRequestFinished, this)
|
|
591
|
+
], t.isInterstitialShowing && this.onInterstitialShown();
|
|
592
|
+
}
|
|
593
|
+
modelRemoved(e) {
|
|
594
|
+
this.securityModel === e && (this.securityModel = null, i(this.eventListeners));
|
|
595
|
+
}
|
|
596
|
+
onPrimaryPageChanged(e) {
|
|
597
|
+
let { frame: t } = e.data, r = this.lastResponseReceivedForLoaderId.get(t.loaderId);
|
|
598
|
+
this.sidebar.showLastSelectedElement(), this.sidebar.clearOrigins(), this.origins.clear(), this.lastResponseReceivedForLoaderId.clear(), this.filterRequestCounts.clear(), this.mainView.refreshExplanations();
|
|
599
|
+
let i = n.extractOrigin(r ? r.url() : t.url);
|
|
600
|
+
this.sidebar.setMainOrigin(i), r && this.processRequest(r);
|
|
601
|
+
}
|
|
602
|
+
onInterstitialShown() {
|
|
603
|
+
this.sidebar.showLastSelectedElement(), this.sidebar.toggleOriginsList(!0);
|
|
604
|
+
}
|
|
605
|
+
onInterstitialHidden() {
|
|
606
|
+
this.sidebar.toggleOriginsList(!1);
|
|
607
|
+
}
|
|
608
|
+
}, Q = /* @__PURE__ */ function(e) {
|
|
609
|
+
return e.MainOrigin = "MainOrigin", e.NonSecure = "NonSecure", e.Secure = "Secure", e.Unknown = "Unknown", e;
|
|
610
|
+
}({}), Me = class extends C {
|
|
611
|
+
panel;
|
|
612
|
+
summarySection;
|
|
613
|
+
securityExplanationsMain;
|
|
614
|
+
securityExplanationsExtra;
|
|
615
|
+
lockSpectrum;
|
|
616
|
+
summaryText;
|
|
617
|
+
explanations;
|
|
618
|
+
securityState;
|
|
619
|
+
constructor(e) {
|
|
620
|
+
super(e, { jslog: `${O("security.main-view")}` }), this.registerRequiredCSS(B, _e), this.setMinimumSize(200, 100), this.contentElement.classList.add("security-main-view"), this.summarySection = this.contentElement.createChild("div", "security-summary"), this.securityExplanationsMain = this.contentElement.createChild("div", "security-explanation-list security-explanations-main"), this.securityExplanationsExtra = this.contentElement.createChild("div", "security-explanation-list security-explanations-extra");
|
|
621
|
+
let t = this.summarySection.createChild("div", "security-summary-section-title");
|
|
622
|
+
t.textContent = K(G.securityOverview), _(t, 1);
|
|
623
|
+
let n = this.summarySection.createChild("div", "lock-spectrum");
|
|
624
|
+
this.lockSpectrum = new Map([
|
|
625
|
+
[E.SecurityState.Secure, n.appendChild(Y(E.SecurityState.Secure, "lock-icon lock-icon-secure"))],
|
|
626
|
+
[E.SecurityState.Neutral, n.appendChild(Y(E.SecurityState.Neutral, "lock-icon lock-icon-neutral"))],
|
|
627
|
+
[E.SecurityState.Insecure, n.appendChild(Y(E.SecurityState.Insecure, "lock-icon lock-icon-insecure"))]
|
|
628
|
+
]), y.install(this.getLockSpectrumDiv(E.SecurityState.Secure), K(G.secure)), y.install(this.getLockSpectrumDiv(E.SecurityState.Neutral), K(G.info)), y.install(this.getLockSpectrumDiv(E.SecurityState.Insecure), K(G.notSecure)), this.summarySection.createChild("div", "triangle-pointer-container").createChild("div", "triangle-pointer-wrapper").createChild("div", "triangle-pointer"), this.summaryText = this.summarySection.createChild("div", "security-summary-text"), _(this.summaryText, 2), this.explanations = null, this.securityState = null;
|
|
629
|
+
}
|
|
630
|
+
getLockSpectrumDiv(e) {
|
|
631
|
+
let t = this.lockSpectrum.get(e);
|
|
632
|
+
if (!t) throw Error(`Invalid argument: ${e}`);
|
|
633
|
+
return t;
|
|
634
|
+
}
|
|
635
|
+
addExplanation(e, t) {
|
|
636
|
+
let n = e.createChild("div", "security-explanation");
|
|
637
|
+
n.classList.add("security-explanation-" + t.securityState);
|
|
638
|
+
let r = J(t.securityState, "security-property security-property-" + t.securityState);
|
|
639
|
+
n.appendChild(r);
|
|
640
|
+
let i = n.createChild("div", "security-explanation-text"), a = i.createChild("div", "security-explanation-title");
|
|
641
|
+
if (t.title ? (a.createChild("span").textContent = t.title + " - ", a.createChild("span", "security-explanation-title-" + t.securityState).textContent = t.summary) : a.textContent = t.summary, i.createChild("div").textContent = t.description, t.certificate.length && i.appendChild(Z.createCertificateViewerButtonForCert(K(G.viewCertificate), t.certificate)), t.recommendations?.length) {
|
|
642
|
+
let e = i.createChild("ul", "security-explanation-recommendations");
|
|
643
|
+
for (let n of t.recommendations) e.createChild("li").textContent = n;
|
|
644
|
+
}
|
|
645
|
+
return i;
|
|
646
|
+
}
|
|
647
|
+
updateVisibleSecurityState(e) {
|
|
648
|
+
this.summarySection.classList.remove("security-summary-" + this.securityState), this.securityState = e.securityState, this.summarySection.classList.add("security-summary-" + this.securityState), this.securityState === E.SecurityState.Insecure ? (this.getLockSpectrumDiv(E.SecurityState.Insecure).classList.add("lock-icon-insecure"), this.getLockSpectrumDiv(E.SecurityState.Insecure).classList.remove("lock-icon-insecure-broken"), y.install(this.getLockSpectrumDiv(E.SecurityState.Insecure), K(G.notSecure))) : this.securityState === E.SecurityState.InsecureBroken && (this.getLockSpectrumDiv(E.SecurityState.Insecure).classList.add("lock-icon-insecure-broken"), this.getLockSpectrumDiv(E.SecurityState.Insecure).classList.remove("lock-icon-insecure"), y.install(this.getLockSpectrumDiv(E.SecurityState.Insecure), K(G.notSecureBroken)));
|
|
649
|
+
let { summary: t, explanations: n } = this.getSecuritySummaryAndExplanations(e);
|
|
650
|
+
this.summaryText.textContent = t || I[this.securityState](), this.explanations = this.orderExplanations(n), this.refreshExplanations();
|
|
651
|
+
}
|
|
652
|
+
getSecuritySummaryAndExplanations(e) {
|
|
653
|
+
let { securityState: t, securityStateIssueIds: n } = e, r, i = [];
|
|
654
|
+
if (r = this.explainSafetyTipSecurity(e, r, i), n.includes("malicious-content")) r = K(G.thisPageIsDangerousFlaggedBy), i.unshift(new z(E.SecurityState.Insecure, void 0, K(G.flaggedByGoogleSafeBrowsing), K(G.toCheckThisPagesStatusVisit)));
|
|
655
|
+
else if (n.includes("is-error-page") && e.certificateSecurityState?.certificateNetworkError === null) return r = K(G.thisIsAnErrorPage), {
|
|
656
|
+
summary: r,
|
|
657
|
+
explanations: i
|
|
658
|
+
};
|
|
659
|
+
else t === E.SecurityState.InsecureBroken && n.includes("scheme-is-not-cryptographic") && (r ||= K(G.thisPageIsInsecureUnencrypted));
|
|
660
|
+
return n.includes("scheme-is-not-cryptographic") ? (t === E.SecurityState.Neutral && !n.includes("insecure-origin") && (r = K(G.thisPageHasANonhttpsSecureOrigin)), {
|
|
661
|
+
summary: r,
|
|
662
|
+
explanations: i
|
|
663
|
+
}) : (this.explainCertificateSecurity(e, i), this.explainConnectionSecurity(e, i), this.explainContentSecurity(e, i), {
|
|
664
|
+
summary: r,
|
|
665
|
+
explanations: i
|
|
666
|
+
});
|
|
667
|
+
}
|
|
668
|
+
explainSafetyTipSecurity(e, t, n) {
|
|
669
|
+
let { securityStateIssueIds: r, safetyTipInfo: i } = e, a = [];
|
|
670
|
+
if (r.includes("bad_reputation")) {
|
|
671
|
+
let e = `${K(G.chromeHasDeterminedThatThisSiteS)}\n\n${K(G.ifYouBelieveThisIsShownIn)}`;
|
|
672
|
+
a.push({
|
|
673
|
+
summary: K(G.thisPageIsSuspicious),
|
|
674
|
+
description: e
|
|
675
|
+
});
|
|
676
|
+
} else if (r.includes("lookalike") && i?.safeUrl) {
|
|
677
|
+
let e = { PH1: new URL(i.safeUrl).hostname }, t = `${K(G.thisSitesHostnameLooksSimilarToP, e)}\n\n${K(G.ifYouBelieveThisIsShownInErrorSafety)}`;
|
|
678
|
+
a.push({
|
|
679
|
+
summary: K(G.possibleSpoofingUrl),
|
|
680
|
+
description: t
|
|
681
|
+
});
|
|
682
|
+
}
|
|
683
|
+
return a.length > 0 && (t ||= K(G.thisPageIsSuspiciousFlaggedBy), n.push(new z(E.SecurityState.Insecure, void 0, a[0].summary, a[0].description))), t;
|
|
684
|
+
}
|
|
685
|
+
explainCertificateSecurity(e, t) {
|
|
686
|
+
let { certificateSecurityState: n, securityStateIssueIds: r } = e, i = K(G.certificate);
|
|
687
|
+
if (n?.certificateHasSha1Signature) {
|
|
688
|
+
let e = K(G.insecureSha), r = K(G.theCertificateChainForThisSite);
|
|
689
|
+
n.certificateHasWeakSignature ? t.push(new z(E.SecurityState.Insecure, i, e, r, n.certificate, E.MixedContentType.None)) : t.push(new z(E.SecurityState.Neutral, i, e, r, n.certificate, E.MixedContentType.None));
|
|
690
|
+
}
|
|
691
|
+
n && r.includes("cert-missing-subject-alt-name") && t.push(new z(E.SecurityState.Insecure, i, K(G.subjectAlternativeNameMissing), K(G.theCertificateForThisSiteDoesNot), n.certificate, E.MixedContentType.None)), n && n.certificateNetworkError !== null ? t.push(new z(E.SecurityState.Insecure, i, K(G.missing), K(G.thisSiteIsMissingAValidTrusted, { PH1: n.certificateNetworkError }), n.certificate, E.MixedContentType.None)) : n && !n.certificateHasSha1Signature && t.push(new z(E.SecurityState.Secure, i, K(G.validAndTrusted), K(G.theConnectionToThisSiteIsUsingA, { PH1: n.issuer }), n.certificate, E.MixedContentType.None)), r.includes("pkp-bypassed") && t.push(new z(E.SecurityState.Info, i, K(G.publickeypinningBypassed), K(G.publickeypinningWasBypassedByA))), n?.isCertificateExpiringSoon() && t.push(new z(E.SecurityState.Info, void 0, K(G.certificateExpiresSoon), K(G.theCertificateForThisSiteExpires)));
|
|
692
|
+
}
|
|
693
|
+
explainConnectionSecurity(e, t) {
|
|
694
|
+
let n = e.certificateSecurityState;
|
|
695
|
+
if (!n) return;
|
|
696
|
+
let r = K(G.connection);
|
|
697
|
+
if (n.modernSSL) {
|
|
698
|
+
t.push(new z(E.SecurityState.Secure, r, K(G.secureConnectionSettings), K(G.theConnectionToThisSiteIs, {
|
|
699
|
+
PH1: n.protocol,
|
|
700
|
+
PH2: n.getKeyExchangeName(),
|
|
701
|
+
PH3: n.getCipherFullName()
|
|
702
|
+
})));
|
|
703
|
+
return;
|
|
704
|
+
}
|
|
705
|
+
let i = [];
|
|
706
|
+
n.obsoleteSslProtocol && i.push(K(G.sIsObsoleteEnableTlsOrLater, { PH1: n.protocol })), n.obsoleteSslKeyExchange && i.push(K(G.rsaKeyExchangeIsObsoleteEnableAn)), n.obsoleteSslCipher && i.push(K(G.sIsObsoleteEnableAnAesgcmbased, { PH1: n.cipher })), n.obsoleteSslSignature && i.push(K(G.theServerSignatureUsesShaWhichIs)), t.push(new z(E.SecurityState.Info, r, K(G.obsoleteConnectionSettings), K(G.theConnectionToThisSiteIs, {
|
|
707
|
+
PH1: n.protocol,
|
|
708
|
+
PH2: n.getKeyExchangeName(),
|
|
709
|
+
PH3: n.getCipherFullName()
|
|
710
|
+
}), void 0, void 0, i));
|
|
711
|
+
}
|
|
712
|
+
explainContentSecurity(e, t) {
|
|
713
|
+
let n = !0, r = K(G.resources), i = e.securityStateIssueIds;
|
|
714
|
+
i.includes("ran-mixed-content") && (n = !1, t.push(new z(E.SecurityState.Insecure, r, K(G.activeMixedContent), K(G.youHaveRecentlyAllowedNonsecure), [], E.MixedContentType.Blockable))), i.includes("displayed-mixed-content") && (n = !1, t.push(new z(E.SecurityState.Neutral, r, K(G.mixedContent), K(G.thisPageIncludesHttpResources), [], E.MixedContentType.OptionallyBlockable))), i.includes("contained-mixed-form") && (n = !1, t.push(new z(E.SecurityState.Neutral, r, K(G.nonsecureForm), K(G.thisPageIncludesAFormWithA)))), e.certificateSecurityState?.certificateNetworkError === null && (i.includes("ran-content-with-cert-error") && (n = !1, t.push(new z(E.SecurityState.Insecure, r, K(G.activeContentWithCertificate), K(G.youHaveRecentlyAllowedContent)))), i.includes("displayed-content-with-cert-errors") && (n = !1, t.push(new z(E.SecurityState.Neutral, r, K(G.contentWithCertificateErrors), K(G.thisPageIncludesResourcesThat))))), n && (i.includes("scheme-is-not-cryptographic") || t.push(new z(E.SecurityState.Secure, r, K(G.allServedSecurely), K(G.allResourcesOnThisPageAreServed))));
|
|
715
|
+
}
|
|
716
|
+
orderExplanations(e) {
|
|
717
|
+
if (e.length === 0) return e;
|
|
718
|
+
let t = [
|
|
719
|
+
E.SecurityState.Insecure,
|
|
720
|
+
E.SecurityState.Neutral,
|
|
721
|
+
E.SecurityState.Secure,
|
|
722
|
+
E.SecurityState.Info
|
|
723
|
+
], n = [];
|
|
724
|
+
for (let r of t) n.push(...e.filter((e) => e.securityState === r));
|
|
725
|
+
return n;
|
|
726
|
+
}
|
|
727
|
+
refreshExplanations() {
|
|
728
|
+
if (this.securityExplanationsMain.removeChildren(), this.securityExplanationsExtra.removeChildren(), this.explanations) {
|
|
729
|
+
for (let e of this.explanations) if (e.securityState === E.SecurityState.Info) this.addExplanation(this.securityExplanationsExtra, e);
|
|
730
|
+
else switch (e.mixedContentType) {
|
|
731
|
+
case E.MixedContentType.Blockable:
|
|
732
|
+
this.addMixedContentExplanation(this.securityExplanationsMain, e, j.BLOCK_OVERRIDDEN);
|
|
733
|
+
break;
|
|
734
|
+
case E.MixedContentType.OptionallyBlockable:
|
|
735
|
+
this.addMixedContentExplanation(this.securityExplanationsMain, e, j.DISPLAYED);
|
|
736
|
+
break;
|
|
737
|
+
default:
|
|
738
|
+
this.addExplanation(this.securityExplanationsMain, e);
|
|
739
|
+
break;
|
|
740
|
+
}
|
|
741
|
+
if (this.panel.filterRequestCount(j.BLOCKED) > 0) {
|
|
742
|
+
let e = {
|
|
743
|
+
securityState: E.SecurityState.Info,
|
|
744
|
+
summary: K(G.blockedMixedContent),
|
|
745
|
+
description: K(G.yourPageRequestedNonsecure),
|
|
746
|
+
mixedContentType: E.MixedContentType.Blockable,
|
|
747
|
+
certificate: [],
|
|
748
|
+
title: ""
|
|
749
|
+
};
|
|
750
|
+
this.addMixedContentExplanation(this.securityExplanationsMain, e, j.BLOCKED);
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
addMixedContentExplanation(e, t, n) {
|
|
755
|
+
let r = this.addExplanation(e, t), i = this.panel.filterRequestCount(n);
|
|
756
|
+
if (!i) {
|
|
757
|
+
let e = r.createChild("div", "security-mixed-content");
|
|
758
|
+
e.textContent = K(G.reloadThePageToRecordRequestsFor);
|
|
759
|
+
return;
|
|
760
|
+
}
|
|
761
|
+
let a = r.createChild("button", "security-mixed-content devtools-link text-button link-style");
|
|
762
|
+
u(a), a.tabIndex = 0, a.textContent = K(G.viewDRequestsInNetworkPanel, { n: i }), a.addEventListener("click", this.showNetworkFilter.bind(this, n));
|
|
763
|
+
}
|
|
764
|
+
showNetworkFilter(e, t) {
|
|
765
|
+
t.consume(), a(le.filters([{
|
|
766
|
+
filterType: M.MixedContent,
|
|
767
|
+
filterValue: e
|
|
768
|
+
}]));
|
|
769
|
+
}
|
|
770
|
+
}, Ne = class extends C {
|
|
771
|
+
originLockIcon;
|
|
772
|
+
constructor(e, t) {
|
|
773
|
+
super({ jslog: `${O("security.origin-view")}` }), this.registerRequiredCSS(ye, B), this.setMinimumSize(200, 100), this.element.classList.add("security-origin-view");
|
|
774
|
+
let i = this.element.createChild("div", "title-section"), o = i.createChild("div", "title-section-header");
|
|
775
|
+
o.textContent = K(G.origin), _(o, 1);
|
|
776
|
+
let s = i.createChild("div", "origin-display");
|
|
777
|
+
this.originLockIcon = s.createChild("span");
|
|
778
|
+
let c = J(t.securityState, `security-property security-property-${t.securityState}`);
|
|
779
|
+
this.originLockIcon.appendChild(c), s.appendChild(X(e, t.securityState));
|
|
780
|
+
let l = i.createChild("div", "view-network-button"), f = S(K(G.viewRequestsInNetworkPanel), (t) => {
|
|
781
|
+
t.consume();
|
|
782
|
+
let r = new n(e);
|
|
783
|
+
a(le.filters([{
|
|
784
|
+
filterType: M.Domain,
|
|
785
|
+
filterValue: r.host
|
|
786
|
+
}, {
|
|
787
|
+
filterType: M.Scheme,
|
|
788
|
+
filterValue: r.scheme
|
|
789
|
+
}]));
|
|
790
|
+
}, { jslogContext: "reveal-in-network" });
|
|
791
|
+
if (l.appendChild(f), u(f), t.securityDetails) {
|
|
792
|
+
let n = this.element.createChild("div", "origin-view-section"), i = n.createChild("div", "origin-view-section-title");
|
|
793
|
+
i.textContent = K(G.connection), _(i, 2);
|
|
794
|
+
let a = new $();
|
|
795
|
+
if (n.appendChild(a.element()), a.addRow(K(G.protocol), t.securityDetails.protocol), t.securityDetails.keyExchange && t.securityDetails.keyExchangeGroup ? a.addRow(K(G.keyExchange), t.securityDetails.keyExchange + " with " + t.securityDetails.keyExchangeGroup) : t.securityDetails.keyExchange ? a.addRow(K(G.keyExchange), t.securityDetails.keyExchange) : t.securityDetails.keyExchangeGroup && a.addRow(K(G.keyExchange), t.securityDetails.keyExchangeGroup), t.securityDetails.serverSignatureAlgorithm) {
|
|
796
|
+
let e = De.get(t.securityDetails.serverSignatureAlgorithm);
|
|
797
|
+
e ??= K(G.unknownField) + " (" + t.securityDetails.serverSignatureAlgorithm + ")", a.addRow(K(G.serverSignature), e);
|
|
798
|
+
}
|
|
799
|
+
a.addRow(K(G.cipher), t.securityDetails.cipher + (t.securityDetails.mac ? " with " + t.securityDetails.mac : "")), t.securityDetails.encryptedClientHello && a.addRow(K(G.encryptedClientHello), K(G.enabled));
|
|
800
|
+
let o = this.element.createChild("div", "origin-view-section"), s = o.createChild("div", "origin-view-section-title");
|
|
801
|
+
s.textContent = K(G.certificate), _(s, 2);
|
|
802
|
+
let c = t.securityDetails.signedCertificateTimestampList.length, l = t.securityDetails.certificateTransparencyCompliance, u;
|
|
803
|
+
if (c || l !== k.CertificateTransparencyCompliance.Unknown) {
|
|
804
|
+
u = this.element.createChild("div", "origin-view-section");
|
|
805
|
+
let e = u.createChild("div", "origin-view-section-title");
|
|
806
|
+
e.textContent = K(G.certificateTransparency), _(e, 2);
|
|
807
|
+
}
|
|
808
|
+
let f = this.createSanDiv(t.securityDetails.sanList), p = (/* @__PURE__ */ new Date(1e3 * t.securityDetails.validFrom)).toUTCString(), m = (/* @__PURE__ */ new Date(1e3 * t.securityDetails.validTo)).toUTCString();
|
|
809
|
+
if (a = new $(), o.appendChild(a.element()), a.addRow(K(G.subject), t.securityDetails.subjectName), a.addRow(r("SAN"), f), a.addRow(K(G.validFrom), p), a.addRow(K(G.validUntil), m), a.addRow(K(G.issuer), t.securityDetails.issuer), a.addRow("", Z.createCertificateViewerButtonForOrigin(K(G.openFullCertificateDetails), e)), !u) return;
|
|
810
|
+
let h = new $();
|
|
811
|
+
h.element().classList.add("sct-summary"), u.appendChild(h.element());
|
|
812
|
+
for (let e = 0; e < c; e++) {
|
|
813
|
+
let n = t.securityDetails.signedCertificateTimestampList[e];
|
|
814
|
+
h.addRow(K(G.sct), n.logDescription + " (" + n.origin + ", " + n.status + ")");
|
|
815
|
+
}
|
|
816
|
+
let g = u.createChild("div", "sct-details");
|
|
817
|
+
g.classList.add("hidden");
|
|
818
|
+
for (let e = 0; e < c; e++) {
|
|
819
|
+
let n = new $();
|
|
820
|
+
g.appendChild(n.element());
|
|
821
|
+
let r = t.securityDetails.signedCertificateTimestampList[e];
|
|
822
|
+
n.addRow(K(G.logName), r.logDescription), n.addRow(K(G.logId), r.logId.replace(/(.{2})/g, "$1 ")), n.addRow(K(G.validationStatus), r.status), n.addRow(K(G.source), r.origin), n.addRow(K(G.issuedAt), new Date(r.timestamp).toUTCString()), n.addRow(K(G.hashAlgorithm), r.hashAlgorithm), n.addRow(K(G.signatureAlgorithm), r.signatureAlgorithm), n.addRow(K(G.signatureData), r.signatureData.replace(/(.{2})/g, "$1 "));
|
|
823
|
+
}
|
|
824
|
+
if (c) {
|
|
825
|
+
function e() {
|
|
826
|
+
let e, n = !g.classList.contains("hidden");
|
|
827
|
+
e = K(n ? G.showFullDetails : G.hideFullDetails), t.textContent = e, d(t, e), A(t, !n), h.element().classList.toggle("hidden"), g.classList.toggle("hidden");
|
|
828
|
+
}
|
|
829
|
+
let t = S(K(G.showFullDetails), e, {
|
|
830
|
+
className: "details-toggle",
|
|
831
|
+
jslogContext: "security.toggle-scts-details"
|
|
832
|
+
});
|
|
833
|
+
u.appendChild(t);
|
|
834
|
+
}
|
|
835
|
+
switch (l) {
|
|
836
|
+
case k.CertificateTransparencyCompliance.Compliant:
|
|
837
|
+
u.createChild("div", "origin-view-section-notes").textContent = K(G.thisRequestCompliesWithChromes);
|
|
838
|
+
break;
|
|
839
|
+
case k.CertificateTransparencyCompliance.NotCompliant:
|
|
840
|
+
u.createChild("div", "origin-view-section-notes").textContent = K(G.thisRequestDoesNotComplyWith);
|
|
841
|
+
break;
|
|
842
|
+
case k.CertificateTransparencyCompliance.Unknown: break;
|
|
843
|
+
}
|
|
844
|
+
let v = this.element.createChild("div", "origin-view-section origin-view-notes");
|
|
845
|
+
t.loadedFromCache && (v.createChild("div").textContent = K(G.thisResponseWasLoadedFromCache)), v.createChild("div").textContent = K(G.theSecurityDetailsAboveAreFrom);
|
|
846
|
+
} else if (t.securityState === E.SecurityState.Secure) {
|
|
847
|
+
let e = this.element.createChild("div", "origin-view-section"), t = e.createChild("div", "origin-view-section-title");
|
|
848
|
+
t.textContent = K(G.secure), _(t, 2), e.createChild("div").textContent = K(G.thisOriginIsANonhttpsSecure);
|
|
849
|
+
} else if (t.securityState !== E.SecurityState.Unknown) {
|
|
850
|
+
let e = this.element.createChild("div", "origin-view-section"), t = e.createChild("div", "origin-view-section-title");
|
|
851
|
+
t.textContent = K(G.notSecure), _(t, 2), e.createChild("div").textContent = K(G.yourConnectionToThisOriginIsNot);
|
|
852
|
+
} else {
|
|
853
|
+
let e = this.element.createChild("div", "origin-view-section"), t = e.createChild("div", "origin-view-section-title");
|
|
854
|
+
t.textContent = K(G.noSecurityInformation), _(t, 2), e.createChild("div").textContent = K(G.noSecurityDetailsAreAvailableFor);
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
createSanDiv(e) {
|
|
858
|
+
let t = document.createElement("div");
|
|
859
|
+
if (e.length === 0) t.textContent = K(G.na), t.classList.add("empty-san");
|
|
860
|
+
else {
|
|
861
|
+
let n = e.length > 3;
|
|
862
|
+
for (let r = 0; r < e.length; r++) {
|
|
863
|
+
let i = t.createChild("span", "san-entry");
|
|
864
|
+
i.textContent = e[r], n && r >= 2 && i.classList.add("truncated-entry");
|
|
865
|
+
}
|
|
866
|
+
if (n) {
|
|
867
|
+
function n() {
|
|
868
|
+
let n = t.classList.contains("truncated-san"), i;
|
|
869
|
+
n ? (t.classList.remove("truncated-san"), i = K(G.showLess)) : (t.classList.add("truncated-san"), i = K(G.showMoreSTotal, { PH1: e.length })), r.textContent = i, d(r, i), A(r, n);
|
|
870
|
+
}
|
|
871
|
+
let r = S(K(G.showMoreSTotal, { PH1: e.length }), n, { jslogContext: "security.toggle-san-truncation" });
|
|
872
|
+
t.appendChild(r), n();
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
return t;
|
|
876
|
+
}
|
|
877
|
+
setSecurityState(e) {
|
|
878
|
+
this.originLockIcon.removeChildren();
|
|
879
|
+
let t = J(e, `security-property security-property-${e}`);
|
|
880
|
+
this.originLockIcon.appendChild(t);
|
|
881
|
+
}
|
|
882
|
+
}, $ = class {
|
|
883
|
+
#e;
|
|
884
|
+
constructor() {
|
|
885
|
+
this.#e = document.createElement("table"), this.#e.classList.add("details-table");
|
|
886
|
+
}
|
|
887
|
+
element() {
|
|
888
|
+
return this.#e;
|
|
889
|
+
}
|
|
890
|
+
addRow(e, t) {
|
|
891
|
+
let n = this.#e.createChild("tr", "details-table-row");
|
|
892
|
+
n.createChild("td").textContent = e;
|
|
893
|
+
let r = n.createChild("td");
|
|
894
|
+
typeof t == "string" ? r.textContent = t : r.appendChild(t);
|
|
895
|
+
}
|
|
896
|
+
};
|
|
897
|
+
//#endregion
|
|
898
|
+
export { ue as SecurityModel, Ce as SecurityPanel };
|