simdeck 0.1.4 → 0.1.5
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.md +34 -14
- package/build/simdeck-bin +0 -0
- package/client/dist/assets/index-D2-CFde1.css +1 -0
- package/client/dist/assets/index-E1gIgaOR.js +9 -0
- package/client/dist/chrome-devtools-ui/Images/3d-center.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/3d-pan.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/3d-rotate.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/Images.js +296 -0
- package/client/dist/chrome-devtools-ui/Images/accelerometer-back.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/accelerometer-bottom.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/accelerometer-front.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/accelerometer-left.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/accelerometer-right.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/accelerometer-top.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/account-tree.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-content-center.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-content-end.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-content-space-around.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-content-space-between.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-content-space-evenly.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-content-start.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-content-stretch.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-items-baseline.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-items-center.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-items-end.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-items-start.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-items-stretch.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-self-center.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-self-end.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-self-start.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/align-self-stretch.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/animation.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-back.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-collapse.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-down.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-drop-down-dark.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-drop-down-light.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-drop-down.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-forward.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-right-circle.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-up-down-circle.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-up-down.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/arrow-up.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/bell.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/bezier-curve-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/bin.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/bottom-panel-close.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/bottom-panel-open.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/brackets.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/breakpoint-circle.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/breakpoint-crossed-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/breakpoint-crossed.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/brush-2.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/brush-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/brush.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/bug.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/bundle.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/button-magic.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/calendar-today.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/center-focus-weak.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/check-circle.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/check-double.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/checker.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/checkmark.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/chevron-double-right.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/chevron-down.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/chevron-left-dot.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/chevron-left.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/chevron-right.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/chevron-up.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/chromeLeft.avif +0 -0
- package/client/dist/chrome-devtools-ui/Images/chromeMiddle.avif +0 -0
- package/client/dist/chrome-devtools-ui/Images/chromeRight.avif +0 -0
- package/client/dist/chrome-devtools-ui/Images/class.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/clear-list.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/clear.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/cloud.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/code-circle.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/code.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/colon.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/color-picker-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/color-picker.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/compress.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/console-conditional-breakpoint.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/console-logpoint.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/cookie.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/cookie_off.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/copy.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/corporate-fare.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/credit-card.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/cross-circle-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/cross-circle.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/cross.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/cssoverview_icons_2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/Images/custom-typography.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/database.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/deployed.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/device-fold.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/devices.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/devtools-thumbnail.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/devtools-tips.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/devtools.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/difference.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/dock-bottom.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/dock-left.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/dock-right.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/dock-window.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/document.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/dog-paw.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/domain.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/dots-horizontal.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/dots-vertical.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/download.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/edit.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/empty.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/errorWave.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/exclamation.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/experiment-check.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/experiment.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/extension.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/eye.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/favicon.ico +0 -0
- package/client/dist/chrome-devtools-ui/Images/file-document.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-fetch-xhr.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-font.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-generic.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-image.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-json.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-manifest.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-media.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-script.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-snippet.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-stylesheet.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-wasm.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/file-websocket.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/filter-clear.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/filter-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/filter.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/flex-direction.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/flex-no-wrap.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/flex-wrap.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/flow.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/fold-more.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/folder.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/frame-crossed.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/frame-icon.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/frame.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/gear-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/gear.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/gears.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/global.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/google.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/goto-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/grid-on.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/group.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/heap-snapshot.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/heap-snapshots.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/help.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/history.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/home.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/hover.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/iframe-crossed.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/iframe.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/import.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/indeterminate-question-box.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/info-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/info.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/issue-cross-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/issue-exclamation-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/issue-questionmark-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/issue-text-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-content-center.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-content-end.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-content-space-around.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-content-space-between.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-content-space-evenly.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-content-start.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-items-center.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-items-end.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-items-start.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/justify-items-stretch.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/keyboard-arrow-right.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/keyboard-full.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/keyboard-pen.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/keyboard.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/label.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/large-arrow-right-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/layers-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/layers.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/left-panel-close.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/left-panel-open.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/lightbulb-spark.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/lightbulb.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/lighthouse_logo.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/list.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/location-on.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/lock.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/match-case.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/match-whole-word.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/memory.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/minus.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/mop.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/mouse.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/navigationControls.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/navigationControls_2x.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/network-settings.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/node-stack-icon.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/nodeIcon.avif +0 -0
- package/client/dist/chrome-devtools-ui/Images/open-externally.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/override.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/palette.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/pause-circle.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/pause.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/pen-spark.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/performance-panel-delete-annotation.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/performance-panel-diagram.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/performance-panel-entry-label.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/performance-panel-time-range.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/performance.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/person.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/photo-camera.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/play.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/plus.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/policy.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/popoverArrows.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/popup.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/preview_feature_video_thumbnail.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/profile.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/psychiatry.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/react_native/learn-debugging-basics.jpg +0 -0
- package/client/dist/chrome-devtools-ui/Images/react_native/learn-native-debugging.jpg +0 -0
- package/client/dist/chrome-devtools-ui/Images/react_native/learn-react-native-devtools.jpg +0 -0
- package/client/dist/chrome-devtools-ui/Images/react_native/welcomeIcon.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/record-start.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/record-stop.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/redo.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/refresh.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/regular-expression.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/replace.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/replay.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/report.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/resizeDiagonal.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/resizeHorizontal.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/resizeVertical.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/resume.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/review.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/right-panel-close.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/right-panel-open.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/scissors.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/screen-rotation.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/search.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/select-element.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/send.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/shadow.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/small-status-dot.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/smart-assistant.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/snippet.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/spark-info.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/star.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/step-into.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/step-out.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/step-over.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/step.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/stop.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/symbol.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/sync.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/table.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/terminal.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/thumb-down-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/thumb-down.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/thumb-up-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/thumb-up.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/tonality.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/toolbarResizerVertical.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/top-panel-close.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/top-panel-open.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/touch-app.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/touchCursor.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/touchCursor_2x.png +0 -0
- package/client/dist/chrome-devtools-ui/Images/triangle-bottom-right.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/triangle-down.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/triangle-left.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/triangle-right.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/triangle-up.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/tune.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/undo.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/warning-filled.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/warning.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/watch.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/whatsnew.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/width.svg +1 -0
- package/client/dist/chrome-devtools-ui/Images/zoom-in.svg +1 -0
- package/client/dist/chrome-devtools-ui/Tests.js +1700 -0
- package/client/dist/chrome-devtools-ui/application_tokens.css +407 -0
- package/client/dist/chrome-devtools-ui/core/common/common.js +1 -0
- package/client/dist/chrome-devtools-ui/core/dom_extension/dom_extension.js +1 -0
- package/client/dist/chrome-devtools-ui/core/host/host.js +1 -0
- package/client/dist/chrome-devtools-ui/core/i18n/i18n.js +1 -0
- package/client/dist/chrome-devtools-ui/core/i18n/locales/en-US.json +1 -0
- package/client/dist/chrome-devtools-ui/core/i18n/locales/zh.json +1 -0
- package/client/dist/chrome-devtools-ui/core/platform/platform.js +1 -0
- package/client/dist/chrome-devtools-ui/core/protocol_client/protocol_client.js +1 -0
- package/client/dist/chrome-devtools-ui/core/rn_experiments/rn_experiments.js +1 -0
- package/client/dist/chrome-devtools-ui/core/root/root.js +1 -0
- package/client/dist/chrome-devtools-ui/core/sdk/sdk-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/core/sdk/sdk.js +1 -0
- package/client/dist/chrome-devtools-ui/design_system_tokens.css +782 -0
- package/client/dist/chrome-devtools-ui/device_mode_emulation_frame.html +24 -0
- package/client/dist/chrome-devtools-ui/devtools_app.html +24 -0
- package/client/dist/chrome-devtools-ui/devtools_compatibility.js +1741 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nest-hub-horizontal.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nest-hub-max-horizontal.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/iPad-landscape.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/iPad-portrait.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
- package/client/dist/chrome-devtools-ui/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
- package/client/dist/chrome-devtools-ui/entrypoints/device_mode_emulation_frame/device_mode_emulation_frame.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/devtools_app/devtools_app.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/formatter_worker/FormatterActions.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/formatter_worker/formatter_worker-entrypoint.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/formatter_worker/formatter_worker.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/inspector/inspector.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/inspector_main/inspector_main-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/inspector_main/inspector_main.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/js_app/js_app.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/lighthouse_worker/lighthouse_worker.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/main/main-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/main/main.js +48 -0
- package/client/dist/chrome-devtools-ui/entrypoints/ndb_app/ndb_app.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/node_app/node_app.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/rehydrated_devtools_app/rehydrated_devtools_app.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/rn_fusebox/rn_fusebox.js +24 -0
- package/client/dist/chrome-devtools-ui/entrypoints/shell/shell.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/wasmparser_worker/wasmparser_worker.js +1 -0
- package/client/dist/chrome-devtools-ui/entrypoints/worker_app/worker_app.js +1 -0
- package/client/dist/chrome-devtools-ui/inspector.html +24 -0
- package/client/dist/chrome-devtools-ui/integration_test_runner.html +40 -0
- package/client/dist/chrome-devtools-ui/js_app.html +24 -0
- package/client/dist/chrome-devtools-ui/legacy_test_runner/legacy_test_runner.js +13 -0
- package/client/dist/chrome-devtools-ui/legacy_test_runner/test_runner/test_runner.js +1 -0
- package/client/dist/chrome-devtools-ui/models/ai_assistance/ai_assistance.js +1 -0
- package/client/dist/chrome-devtools-ui/models/autofill_manager/autofill_manager.js +1 -0
- package/client/dist/chrome-devtools-ui/models/bindings/bindings.js +1 -0
- package/client/dist/chrome-devtools-ui/models/breakpoints/breakpoints.js +1 -0
- package/client/dist/chrome-devtools-ui/models/cpu_profile/cpu_profile.js +1 -0
- package/client/dist/chrome-devtools-ui/models/crux-manager/crux-manager.js +1 -0
- package/client/dist/chrome-devtools-ui/models/emulation/emulation.js +1 -0
- package/client/dist/chrome-devtools-ui/models/extensions/extensions.js +1 -0
- package/client/dist/chrome-devtools-ui/models/formatter/formatter.js +1 -0
- package/client/dist/chrome-devtools-ui/models/har/har.js +1 -0
- package/client/dist/chrome-devtools-ui/models/heap_snapshot_model/heap_snapshot_model.js +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/CoepCorpNotSameSite.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/CompatibilityModeQuirks.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/LowTextContrast.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arInsecureContext.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arInvalidInfoHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arNoWebOrOsSupport.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arOsSourceIgnored.md +18 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arOsTriggerIgnored.md +19 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +9 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arSourceIgnored.md +13 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arTriggerIgnored.md +12 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/arWebAndOsHeaders.md +11 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/bounceTrackingMitigations.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieCrossSiteRedirectDowngrade.md +12 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +11 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutRead.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutSet.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +11 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieWarnMetadataGrantRead.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieWarnMetadataGrantSet.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutRead.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutSet.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsDisabledScheme.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsDisallowedByMode.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +10 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsInvalidHeaderValues.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +19 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsOriginMismatch.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +10 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsPrivateNetworkPermissionDenied.md +10 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cspEvalViolation.md +9 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cspInlineViolation.md +10 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/cspURLViolation.md +10 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/deprecation.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/fetchingPartitionedBlobURL.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingId.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormLabelForNameError.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInput.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/genericResponseWasBlockedByORB.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/heavyAd.md +10 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/mixedContent.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/navigatingPartitionedBlobURL.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/propertyRuleInvalidNameIssue.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/propertyRuleIssue.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/selectElementAccessibilityDisallowedSelectChild.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedArrayBuffer.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorExpiredResponse.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorInsufficientResources.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorNavigationRequest.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorNoMatchField.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonSecureContext.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringIdField.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorRequestAborted.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorShuttingDown.md +1 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorTooLongIdField.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sharedDictionaryWriteErrorUnsupportedType.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriInvalidSignatureHeader.md +14 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriInvalidSignatureInputHeader.md +15 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriMissingSignatureHeader.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriMissingSignatureInputHeader.md +7 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureHeaderValueIsIncorrectLength.md +11 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureHeaderValueIsNotByteSequence.md +14 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureHeaderValueIsParameterized.md +15 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentName.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentType.md +13 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidParameter.md +11 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderKeyIdLength.md +12 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderMissingLabel.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +8 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderValueMissingComponents.md +11 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +11 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +12 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriValidationFailedInvalidLength.md +5 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriValidationFailedSignatureExpired.md +6 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/sriValidationFailedSignatureMismatch.md +11 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
- package/client/dist/chrome-devtools-ui/models/issues_manager/issues_manager.js +1 -0
- package/client/dist/chrome-devtools-ui/models/javascript_metadata/javascript_metadata.js +1 -0
- package/client/dist/chrome-devtools-ui/models/live-metrics/live-metrics.js +1 -0
- package/client/dist/chrome-devtools-ui/models/live-metrics/web-vitals-injected/spec/spec.js +1 -0
- package/client/dist/chrome-devtools-ui/models/live-metrics/web-vitals-injected/web-vitals-injected.generated.js +1 -0
- package/client/dist/chrome-devtools-ui/models/logs/logs-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/models/logs/logs.js +1 -0
- package/client/dist/chrome-devtools-ui/models/persistence/persistence-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/models/persistence/persistence.js +1 -0
- package/client/dist/chrome-devtools-ui/models/project_settings/project_settings.js +1 -0
- package/client/dist/chrome-devtools-ui/models/react_native/react_native.js +1 -0
- package/client/dist/chrome-devtools-ui/models/source_map_scopes/source_map_scopes.js +1 -0
- package/client/dist/chrome-devtools-ui/models/text_utils/text_utils.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/extras/extras.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/handlers/handlers.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/helpers/helpers.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/insights/insights.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/lantern/core/core.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/lantern/graph/graph.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/lantern/lantern.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/lantern/metrics/metrics.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/lantern/simulation/simulation.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/lantern/types/types.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/trace.js +1 -0
- package/client/dist/chrome-devtools-ui/models/trace/types/types.js +1 -0
- package/client/dist/chrome-devtools-ui/models/workspace/workspace.js +1 -0
- package/client/dist/chrome-devtools-ui/models/workspace_diff/workspace_diff.js +1 -0
- package/client/dist/chrome-devtools-ui/ndb_app.html +24 -0
- package/client/dist/chrome-devtools-ui/node_app.html +24 -0
- package/client/dist/chrome-devtools-ui/panels/accessibility/accessibility-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/accessibility/accessibility.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/ai_assistance/ai_assistance-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/ai_assistance/ai_assistance.js +512 -0
- package/client/dist/chrome-devtools-ui/panels/animation/animation-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/animation/animation.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/application/application-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/application/application.js +107 -0
- package/client/dist/chrome-devtools-ui/panels/application/components/components.js +765 -0
- package/client/dist/chrome-devtools-ui/panels/application/preloading/components/components.js +362 -0
- package/client/dist/chrome-devtools-ui/panels/application/preloading/helper/helper.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/autofill/autofill-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/autofill/autofill.js +107 -0
- package/client/dist/chrome-devtools-ui/panels/browser_debugger/browser_debugger-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/browser_debugger/browser_debugger.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/changes/changes-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/changes/changes.js +31 -0
- package/client/dist/chrome-devtools-ui/panels/common/common.js +45 -0
- package/client/dist/chrome-devtools-ui/panels/console/console-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/console/console.js +6 -0
- package/client/dist/chrome-devtools-ui/panels/console_counters/console_counters-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/console_counters/console_counters.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/coverage/coverage-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/coverage/coverage.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/css_overview/components/components.js +23 -0
- package/client/dist/chrome-devtools-ui/panels/css_overview/css_overview-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/css_overview/css_overview.js +148 -0
- package/client/dist/chrome-devtools-ui/panels/developer_resources/developer_resources-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/developer_resources/developer_resources.js +48 -0
- package/client/dist/chrome-devtools-ui/panels/elements/components/components.js +250 -0
- package/client/dist/chrome-devtools-ui/panels/elements/elements-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/elements/elements.js +67 -0
- package/client/dist/chrome-devtools-ui/panels/emulation/components/components.js +39 -0
- package/client/dist/chrome-devtools-ui/panels/emulation/emulation-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/emulation/emulation.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/event_listeners/event_listeners.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/explain/explain-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/explain/explain.js +231 -0
- package/client/dist/chrome-devtools-ui/panels/issues/components/components.js +14 -0
- package/client/dist/chrome-devtools-ui/panels/issues/issues-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/issues/issues.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/js_timeline/js_timeline-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/js_timeline/js_timeline.js +2 -0
- package/client/dist/chrome-devtools-ui/panels/layer_viewer/layer_viewer-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/layer_viewer/layer_viewer.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/layers/layers-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/layers/layers.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/lighthouse/lighthouse-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/lighthouse/lighthouse.js +65 -0
- package/client/dist/chrome-devtools-ui/panels/linear_memory_inspector/components/components.js +179 -0
- package/client/dist/chrome-devtools-ui/panels/linear_memory_inspector/linear_memory_inspector-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/linear_memory_inspector/linear_memory_inspector.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/media/media-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/media/media.js +25 -0
- package/client/dist/chrome-devtools-ui/panels/mobile_throttling/mobile_throttling-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/mobile_throttling/mobile_throttling.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/network/components/components.js +346 -0
- package/client/dist/chrome-devtools-ui/panels/network/forward/forward.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/network/network-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/network/network.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/performance_monitor/performance_monitor-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/performance_monitor/performance_monitor.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/profiler/profiler-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/profiler/profiler.js +8 -0
- package/client/dist/chrome-devtools-ui/panels/protocol_monitor/protocol_monitor-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/protocol_monitor/protocol_monitor.js +293 -0
- package/client/dist/chrome-devtools-ui/panels/react_devtools/react_devtools.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/react_devtools/react_devtools_components-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/react_devtools/react_devtools_profiler-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/components/components.js +686 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/controllers/controllers.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/converters/converters.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/extensions/extensions.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/injected/injected.generated.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/injected/injected.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/models/models.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/recorder-actions/recorder-actions.js +3 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/recorder-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/recorder.js +126 -0
- package/client/dist/chrome-devtools-ui/panels/recorder/util/util.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/rn_welcome/rn_welcome-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/rn_welcome/rn_welcome.js +62 -0
- package/client/dist/chrome-devtools-ui/panels/screencast/screencast-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/screencast/screencast.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/search/search.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/security/security-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/security/security.js +178 -0
- package/client/dist/chrome-devtools-ui/panels/sensors/sensors-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/sensors/sensors.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/settings/components/components.js +22 -0
- package/client/dist/chrome-devtools-ui/panels/settings/emulation/components/components.js +221 -0
- package/client/dist/chrome-devtools-ui/panels/settings/emulation/emulation-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/settings/emulation/emulation.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/settings/emulation/utils/utils.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/settings/settings-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/settings/settings.js +91 -0
- package/client/dist/chrome-devtools-ui/panels/snippets/snippets.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/sources/components/components.js +162 -0
- package/client/dist/chrome-devtools-ui/panels/sources/sources-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/sources/sources.js +2 -0
- package/client/dist/chrome-devtools-ui/panels/timeline/components/components.js +1063 -0
- package/client/dist/chrome-devtools-ui/panels/timeline/components/insights/insights.js +262 -0
- package/client/dist/chrome-devtools-ui/panels/timeline/extensions/extensions.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/timeline/overlays/components/components.js +190 -0
- package/client/dist/chrome-devtools-ui/panels/timeline/overlays/overlays.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/timeline/timeline-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/timeline/timeline.js +43 -0
- package/client/dist/chrome-devtools-ui/panels/timeline/utils/utils.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/utils/utils.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/web_audio/graph_visualizer/graph_visualizer.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/web_audio/web_audio-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/web_audio/web_audio.js +19 -0
- package/client/dist/chrome-devtools-ui/panels/webauthn/webauthn-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/webauthn/webauthn.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/whats_new/resources/WNDT.md +6 -0
- package/client/dist/chrome-devtools-ui/panels/whats_new/whats_new-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/panels/whats_new/whats_new.js +32 -0
- package/client/dist/chrome-devtools-ui/rehydrated_devtools_app.html +24 -0
- package/client/dist/chrome-devtools-ui/rn_fusebox.html +24 -0
- package/client/dist/chrome-devtools-ui/services/puppeteer/puppeteer.js +1 -0
- package/client/dist/chrome-devtools-ui/services/trace_bounds/trace_bounds.js +1 -0
- package/client/dist/chrome-devtools-ui/services/tracing/tracing.js +1 -0
- package/client/dist/chrome-devtools-ui/services/window_bounds/window_bounds.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/acorn/acorn.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/chromium/client-variations/client-variations.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/angular.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/codemirror.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/cpp.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/java.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/legacy.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/less.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/markdown.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/php.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/python.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/sass.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/svelte.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/vue.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/wast.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/chunk/xml.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/codemirror.next/codemirror.next.js +2 -0
- package/client/dist/chrome-devtools-ui/third_party/csp_evaluator/csp_evaluator.js +194 -0
- package/client/dist/chrome-devtools-ui/third_party/diff/diff.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/i18n/i18n.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/intl-messageformat/intl-messageformat.js +15 -0
- package/client/dist/chrome-devtools-ui/third_party/json5/json5.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/legacy-javascript/legacy-javascript.js +7 -0
- package/client/dist/chrome-devtools-ui/third_party/lighthouse/lighthouse-dt-bundle.js +3023 -0
- package/client/dist/chrome-devtools-ui/third_party/lighthouse/report/report.js +39 -0
- package/client/dist/chrome-devtools-ui/third_party/lit/lit.js +121 -0
- package/client/dist/chrome-devtools-ui/third_party/marked/marked.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/puppeteer/puppeteer.js +373 -0
- package/client/dist/chrome-devtools-ui/third_party/puppeteer-replay/puppeteer-replay.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/react-devtools/react-devtools.js +41 -0
- package/client/dist/chrome-devtools-ui/third_party/third-party-web/third-party-web.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/wasmparser/wasmparser.js +1 -0
- package/client/dist/chrome-devtools-ui/third_party/web-vitals/web-vitals.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/adorners/adorners.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/buttons/buttons.js +17 -0
- package/client/dist/chrome-devtools-ui/ui/components/cards/cards.js +10 -0
- package/client/dist/chrome-devtools-ui/ui/components/chrome_link/chrome_link.js +6 -0
- package/client/dist/chrome-devtools-ui/ui/components/code_highlighter/code_highlighter.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/dialogs/dialogs.js +61 -0
- package/client/dist/chrome-devtools-ui/ui/components/diff_view/diff_view.js +8 -0
- package/client/dist/chrome-devtools-ui/ui/components/expandable_list/expandable_list.js +17 -0
- package/client/dist/chrome-devtools-ui/ui/components/floating_button/floating_button.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/helpers/helpers.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/highlighting/highlighting.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/icon_button/icon_button.js +13 -0
- package/client/dist/chrome-devtools-ui/ui/components/input/input.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/issue_counter/issue_counter.js +10 -0
- package/client/dist/chrome-devtools-ui/ui/components/legacy_wrapper/legacy_wrapper.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/linkifier/linkifier.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/markdown_view/markdown_view.js +51 -0
- package/client/dist/chrome-devtools-ui/ui/components/menus/menus.js +71 -0
- package/client/dist/chrome-devtools-ui/ui/components/node_text/node_text.js +3 -0
- package/client/dist/chrome-devtools-ui/ui/components/panel_feedback/panel_feedback.js +37 -0
- package/client/dist/chrome-devtools-ui/ui/components/panel_introduction_steps/panel_introduction_steps.js +9 -0
- package/client/dist/chrome-devtools-ui/ui/components/render_coordinator/render_coordinator.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/report_view/report_view.js +21 -0
- package/client/dist/chrome-devtools-ui/ui/components/request_link_icon/request_link_icon.js +8 -0
- package/client/dist/chrome-devtools-ui/ui/components/settings/settings.js +20 -0
- package/client/dist/chrome-devtools-ui/ui/components/spinners/spinners.js +16 -0
- package/client/dist/chrome-devtools-ui/ui/components/srgb_overlay/srgb_overlay.js +6 -0
- package/client/dist/chrome-devtools-ui/ui/components/suggestion_input/suggestion_input.js +29 -0
- package/client/dist/chrome-devtools-ui/ui/components/survey_link/survey_link.js +7 -0
- package/client/dist/chrome-devtools-ui/ui/components/switch/switch.js +10 -0
- package/client/dist/chrome-devtools-ui/ui/components/text_editor/text_editor.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/components/text_prompt/text_prompt.js +4 -0
- package/client/dist/chrome-devtools-ui/ui/components/tooltips/tooltips.js +7 -0
- package/client/dist/chrome-devtools-ui/ui/components/tree_outline/tree_outline.js +32 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/color_picker/color_picker.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/cookie_table/cookie_table.js +85 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/data_grid/data_grid.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/inline_editor/inline_editor.js +58 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/object_ui/object_ui-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/object_ui/object_ui.js +7 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/perf_ui/perf_ui-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/perf_ui/perf_ui.js +60 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/quick_open/quick_open-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/quick_open/quick_open.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/source_frame/source_frame-meta.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/source_frame/source_frame.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/components/utils/utils.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/legacy.js +59 -0
- package/client/dist/chrome-devtools-ui/ui/legacy/theme_support/theme_support.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/lit/lit.js +1 -0
- package/client/dist/chrome-devtools-ui/ui/visual_logging/visual_logging.js +1 -0
- package/client/dist/chrome-devtools-ui/worker_app.html +24 -0
- package/client/dist/index.html +3 -3
- package/package.json +4 -1
- package/packages/simdeck-test/dist/index.d.ts +7 -1
- package/client/dist/assets/index-BHTf_1bs.js +0 -9
- package/client/dist/assets/index-PP2opq5o.css +0 -1
|
@@ -0,0 +1,765 @@
|
|
|
1
|
+
import*as e from"../../../ui/components/chrome_link/chrome_link.js";import"../../../ui/components/expandable_list/expandable_list.js";import"../../../ui/components/report_view/report_view.js";import"../../../ui/components/tree_outline/tree_outline.js";import*as t from"../../../core/common/common.js";import*as o from"../../../core/i18n/i18n.js";import*as r from"../../../core/sdk/sdk.js";import"../../../ui/components/buttons/buttons.js";import*as a from"../../../ui/components/legacy_wrapper/legacy_wrapper.js";import*as n from"../../../ui/components/render_coordinator/render_coordinator.js";import*as i from"../../../ui/legacy/components/utils/utils.js";import*as s from"../../../ui/lit/lit.js";import*as l from"../../../ui/visual_logging/visual_logging.js";import"../../../ui/legacy/components/data_grid/data_grid.js";import*as c from"../../../models/bindings/bindings.js";import*as d from"../../../core/platform/platform.js";import*as h from"../../../core/root/root.js";import*as u from"../../../models/workspace/workspace.js";import*as p from"../../network/forward/forward.js";import*as g from"../../../third_party/csp_evaluator/csp_evaluator.js";import"../../../ui/components/icon_button/icon_button.js";import*as m from"../../../ui/components/adorners/adorners.js";import*as v from"../../../core/host/host.js";import*as b from"../../../ui/components/input/input.js";import*as k from"../../../ui/legacy/legacy.js";const f={notMainFrame:"Navigation happened in a frame other than the main frame.",backForwardCacheDisabled:"Back/forward cache is disabled by flags. Visit chrome://flags/#back-forward-cache to enable it locally on this device.",relatedActiveContentsExist:"The page was opened using '`window.open()`' and another tab has a reference to it, or the page opened a window.",HTTPStatusNotOK:"Only pages with a status code of 2XX can be cached.",schemeNotHTTPOrHTTPS:"Only pages whose URL scheme is HTTP / HTTPS can be cached.",loading:"The page did not finish loading before navigating away.",wasGrantedMediaAccess:"Pages that have granted access to record video or audio are not currently eligible for back/forward cache.",HTTPMethodNotGET:"Only pages loaded via a GET request are eligible for back/forward cache.",subframeIsNavigating:"An iframe on the page started a navigation that did not complete.",timeout:"The page exceeded the maximum time in back/forward cache and was expired.",cacheLimit:"The page was evicted from the cache to allow another page to be cached.",JavaScriptExecution:"Chrome detected an attempt to execute JavaScript while in the cache.",rendererProcessKilled:"The renderer process for the page in back/forward cache was killed.",rendererProcessCrashed:"The renderer process for the page in back/forward cache crashed.",grantedMediaStreamAccess:"Pages that have granted media stream access are not currently eligible for back/forward cache.",cacheFlushed:"The cache was intentionally cleared.",serviceWorkerVersionActivation:"The page was evicted from back/forward cache due to a service worker activation.",sessionRestored:"Chrome restarted and cleared the back/forward cache entries.",serviceWorkerPostMessage:"A service worker attempted to send the page in back/forward cache a `MessageEvent`.",enteredBackForwardCacheBeforeServiceWorkerHostAdded:"A service worker was activated while the page was in back/forward cache.",serviceWorkerClaim:"The page was claimed by a service worker while it is in back/forward cache.",haveInnerContents:"Pages that have certain kinds of embedded content (e.g. PDFs) are not currently eligible for back/forward cache.",timeoutPuttingInCache:"The page timed out entering back/forward cache (likely due to long-running pagehide handlers).",backForwardCacheDisabledByLowMemory:"Back/forward cache is disabled due to insufficient memory.",backForwardCacheDisabledByCommandLine:"Back/forward cache is disabled by the command line.",networkRequestDatapipeDrainedAsBytesConsumer:"Pages that have inflight fetch() or XHR are not currently eligible for back/forward cache.",networkRequestRedirected:"The page was evicted from back/forward cache because an active network request involved a redirect.",networkRequestTimeout:"The page was evicted from the cache because a network connection was open too long. Chrome limits the amount of time that a page may receive data while cached.",networkExceedsBufferLimit:"The page was evicted from the cache because an active network connection received too much data. Chrome limits the amount of data that a page may receive while cached.",navigationCancelledWhileRestoring:"Navigation was cancelled before the page could be restored from back/forward cache.",backForwardCacheDisabledForPrerender:"Back/forward cache is disabled for prerenderer.",userAgentOverrideDiffers:"Browser has changed the user agent override header.",foregroundCacheLimit:"The page was evicted from the cache to allow another page to be cached.",backForwardCacheDisabledForDelegate:"Back/forward cache is not supported by delegate.",unloadHandlerExistsInMainFrame:"The page has an unload handler in the main frame.",unloadHandlerExistsInSubFrame:"The page has an unload handler in a sub frame.",serviceWorkerUnregistration:"ServiceWorker was unregistered while a page was in back/forward cache.",noResponseHead:"Pages that do not have a valid response head cannot enter back/forward cache.",cacheControlNoStore:"Pages with cache-control:no-store header cannot enter back/forward cache.",ineligibleAPI:"Ineligible APIs were used.",internalError:"Internal error.",webSocket:"Pages with WebSocket cannot enter back/forward cache.",webTransport:"Pages with WebTransport cannot enter back/forward cache.",webRTC:"Pages with WebRTC cannot enter back/forward cache.",mainResourceHasCacheControlNoStore:"Pages whose main resource has cache-control:no-store cannot enter back/forward cache.",mainResourceHasCacheControlNoCache:"Pages whose main resource has cache-control:no-cache cannot enter back/forward cache.",subresourceHasCacheControlNoStore:"Pages whose subresource has cache-control:no-store cannot enter back/forward cache.",subresourceHasCacheControlNoCache:"Pages whose subresource has cache-control:no-cache cannot enter back/forward cache.",containsPlugins:"Pages containing plugins are not currently eligible for back/forward cache.",documentLoaded:"The document did not finish loading before navigating away.",dedicatedWorkerOrWorklet:"Pages that use a dedicated worker or worklet are not currently eligible for back/forward cache.",outstandingNetworkRequestOthers:"Pages with an in-flight network request are not currently eligible for back/forward cache.",outstandingIndexedDBTransaction:"Page with ongoing indexed DB transactions are not currently eligible for back/forward cache.",requestedNotificationsPermission:"Pages that have requested notifications permissions are not currently eligible for back/forward cache.",requestedMIDIPermission:"Pages that have requested MIDI permissions are not currently eligible for back/forward cache.",requestedAudioCapturePermission:"Pages that have requested audio capture permissions are not currently eligible for back/forward cache.",requestedVideoCapturePermission:"Pages that have requested video capture permissions are not currently eligible for back/forward cache.",requestedBackForwardCacheBlockedSensors:"Pages that have requested sensor permissions are not currently eligible for back/forward cache.",requestedBackgroundWorkPermission:"Pages that have requested background sync or fetch permissions are not currently eligible for back/forward cache.",broadcastChannel:"The page cannot be cached because it has a BroadcastChannel instance with registered listeners.",indexedDBConnection:"Pages that have an open IndexedDB connection are not currently eligible for back/forward cache.",webXR:"Pages that use WebXR are not currently eligible for back/forward cache.",sharedWorker:"Pages that use SharedWorker are not currently eligible for back/forward cache.",webLocks:"Pages that use WebLocks are not currently eligible for back/forward cache.",webHID:"Pages that use WebHID are not currently eligible for back/forward cache.",webShare:"Pages that use WebShare are not currently eligible for back/forwad cache.",requestedStorageAccessGrant:"Pages that have requested storage access are not currently eligible for back/forward cache.",webNfc:"Pages that use WebNfc are not currently eligible for back/forwad cache.",outstandingNetworkRequestFetch:"Pages with an in-flight fetch network request are not currently eligible for back/forward cache.",outstandingNetworkRequestXHR:"Pages with an in-flight XHR network request are not currently eligible for back/forward cache.",appBanner:"Pages that requested an AppBanner are not currently eligible for back/forward cache.",printing:"Pages that show Printing UI are not currently eligible for back/forward cache.",webDatabase:"Pages that use WebDatabase are not currently eligible for back/forward cache.",pictureInPicture:"Pages that use Picture-in-Picture are not currently eligible for back/forward cache.",speechRecognizer:"Pages that use SpeechRecognizer are not currently eligible for back/forward cache.",idleManager:"Pages that use IdleManager are not currently eligible for back/forward cache.",paymentManager:"Pages that use PaymentManager are not currently eligible for back/forward cache.",speechSynthesis:"Pages that use SpeechSynthesis are not currently eligible for back/forward cache.",keyboardLock:"Pages that use Keyboard lock are not currently eligible for back/forward cache.",webOTPService:"Pages that use WebOTPService are not currently eligible for bfcache.",outstandingNetworkRequestDirectSocket:"Pages with an in-flight network request are not currently eligible for back/forward cache.",injectedJavascript:"Pages that `JavaScript` is injected into by extensions are not currently eligible for back/forward cache.",injectedStyleSheet:"Pages that a `StyleSheet` is injected into by extensions are not currently eligible for back/forward cache.",contentDiscarded:"Undefined",contentSecurityHandler:"Pages that use SecurityHandler are not eligible for back/forward cache.",contentWebAuthenticationAPI:"Pages that use WebAuthetication API are not eligible for back/forward cache.",contentFileChooser:"Pages that use FileChooser API are not eligible for back/forward cache.",contentSerial:"Pages that use Serial API are not eligible for back/forward cache.",contentFileSystemAccess:"Pages that use File System Access API are not eligible for back/forward cache.",contentMediaDevicesDispatcherHost:"Pages that use Media Device Dispatcher are not eligible for back/forward cache.",contentWebBluetooth:"Pages that use WebBluetooth API are not eligible for back/forward cache.",contentWebUSB:"Pages that use WebUSB API are not eligible for back/forward cache.",contentMediaSession:"Pages that use MediaSession API and set a playback state are not eligible for back/forward cache.",contentMediaSessionService:"Pages that use MediaSession API and set action handlers are not eligible for back/forward cache.",contentMediaPlay:"A media player was playing upon navigating away.",contentScreenReader:"Back/forward cache is disabled due to screen reader.",embedderPopupBlockerTabHelper:"Popup blocker was present upon navigating away.",embedderSafeBrowsingTriggeredPopupBlocker:"Safe Browsing considered this page to be abusive and blocked popup.",embedderSafeBrowsingThreatDetails:"Safe Browsing details were shown upon navigating away.",embedderAppBannerManager:"App Banner was present upon navigating away.",embedderDomDistillerViewerSource:"DOM Distiller Viewer was present upon navigating away.",embedderDomDistillerSelfDeletingRequestDelegate:"DOM distillation was in progress upon navigating away.",embedderOomInterventionTabHelper:"Out-Of-Memory Intervention bar was present upon navigating away.",embedderOfflinePage:"The offline page was shown upon navigating away.",embedderChromePasswordManagerClientBindCredentialManager:"Chrome Password Manager was present upon navigating away.",embedderPermissionRequestManager:"There were permission requests upon navigating away.",embedderModalDialog:"Modal dialog such as form resubmission or http password dialog was shown for the page upon navigating away.",embedderExtensions:"Back/forward cache is disabled due to extensions.",embedderExtensionMessaging:"Back/forward cache is disabled due to extensions using messaging API.",embedderExtensionMessagingForOpenPort:"Extensions with long-lived connection should close the connection before entering back/forward cache.",embedderExtensionSentMessageToCachedFrame:"Extensions with long-lived connection attempted to send messages to frames in back/forward cache.",errorDocument:"Back/forward cache is disabled due to a document error.",fencedFramesEmbedder:"Pages using FencedFrames cannot be stored in bfcache.",keepaliveRequest:"Back/forward cache is disabled due to a keepalive request.",jsNetworkRequestReceivedCacheControlNoStoreResource:"Back/forward cache is disabled because some JavaScript network request received resource with `Cache-Control: no-store` header.",indexedDBEvent:"Back/forward cache is disabled due to an IndexedDB event.",cookieDisabled:"Back/forward cache is disabled because cookies are disabled on a page that uses `Cache-Control: no-store`.",webRTCSticky:"Back/forward cache is disabled because WebRTC has been used.",webTransportSticky:"Back/forward cache is disabled because WebTransport has been used.",webSocketSticky:"Back/forward cache is disabled because WebSocket has been used."},w=o.i18n.registerUIStrings("panels/application/components/BackForwardCacheStrings.ts",f),y=o.i18n.getLazilyComputedLocalizedString.bind(void 0,w),x={NotPrimaryMainFrame:{name:y(f.notMainFrame)},BackForwardCacheDisabled:{name:y(f.backForwardCacheDisabled)},RelatedActiveContentsExist:{name:y(f.relatedActiveContentsExist)},HTTPStatusNotOK:{name:y(f.HTTPStatusNotOK)},SchemeNotHTTPOrHTTPS:{name:y(f.schemeNotHTTPOrHTTPS)},Loading:{name:y(f.loading)},WasGrantedMediaAccess:{name:y(f.wasGrantedMediaAccess)},HTTPMethodNotGET:{name:y(f.HTTPMethodNotGET)},SubframeIsNavigating:{name:y(f.subframeIsNavigating)},Timeout:{name:y(f.timeout)},CacheLimit:{name:y(f.cacheLimit)},JavaScriptExecution:{name:y(f.JavaScriptExecution)},RendererProcessKilled:{name:y(f.rendererProcessKilled)},RendererProcessCrashed:{name:y(f.rendererProcessCrashed)},GrantedMediaStreamAccess:{name:y(f.grantedMediaStreamAccess)},CacheFlushed:{name:y(f.cacheFlushed)},ServiceWorkerVersionActivation:{name:y(f.serviceWorkerVersionActivation)},SessionRestored:{name:y(f.sessionRestored)},ServiceWorkerPostMessage:{name:y(f.serviceWorkerPostMessage)},EnteredBackForwardCacheBeforeServiceWorkerHostAdded:{name:y(f.enteredBackForwardCacheBeforeServiceWorkerHostAdded)},ServiceWorkerClaim:{name:y(f.serviceWorkerClaim)},HaveInnerContents:{name:y(f.haveInnerContents)},TimeoutPuttingInCache:{name:y(f.timeoutPuttingInCache)},BackForwardCacheDisabledByLowMemory:{name:y(f.backForwardCacheDisabledByLowMemory)},BackForwardCacheDisabledByCommandLine:{name:y(f.backForwardCacheDisabledByCommandLine)},NetworkRequestDatapipeDrainedAsBytesConsumer:{name:y(f.networkRequestDatapipeDrainedAsBytesConsumer)},NetworkRequestRedirected:{name:y(f.networkRequestRedirected)},NetworkRequestTimeout:{name:y(f.networkRequestTimeout)},NetworkExceedsBufferLimit:{name:y(f.networkExceedsBufferLimit)},NavigationCancelledWhileRestoring:{name:y(f.navigationCancelledWhileRestoring)},BackForwardCacheDisabledForPrerender:{name:y(f.backForwardCacheDisabledForPrerender)},UserAgentOverrideDiffers:{name:y(f.userAgentOverrideDiffers)},ForegroundCacheLimit:{name:y(f.foregroundCacheLimit)},BackForwardCacheDisabledForDelegate:{name:y(f.backForwardCacheDisabledForDelegate)},UnloadHandlerExistsInMainFrame:{name:y(f.unloadHandlerExistsInMainFrame)},UnloadHandlerExistsInSubFrame:{name:y(f.unloadHandlerExistsInSubFrame)},ServiceWorkerUnregistration:{name:y(f.serviceWorkerUnregistration)},NoResponseHead:{name:y(f.noResponseHead)},CacheControlNoStore:{name:y(f.cacheControlNoStore)},CacheControlNoStoreCookieModified:{name:y(f.cacheControlNoStore)},CacheControlNoStoreHTTPOnlyCookieModified:{name:y(f.cacheControlNoStore)},DisableForRenderFrameHostCalled:{name:y(f.ineligibleAPI)},BlocklistedFeatures:{name:y(f.ineligibleAPI)},SchedulerTrackedFeatureUsed:{name:y(f.ineligibleAPI)},DomainNotAllowed:{name:y(f.internalError)},ConflictingBrowsingInstance:{name:y(f.internalError)},NotMostRecentNavigationEntry:{name:y(f.internalError)},IgnoreEventAndEvict:{name:y(f.internalError)},BrowsingInstanceNotSwapped:{name:y(f.internalError)},ActivationNavigationsDisallowedForBug1234857:{name:y(f.internalError)},Unknown:{name:y(f.internalError)},RenderFrameHostReused_SameSite:{name:y(f.internalError)},RenderFrameHostReused_CrossSite:{name:y(f.internalError)},WebSocket:{name:y(f.webSocket)},WebTransport:{name:y(f.webTransport)},WebRTC:{name:y(f.webRTC)},MainResourceHasCacheControlNoStore:{name:y(f.mainResourceHasCacheControlNoStore)},MainResourceHasCacheControlNoCache:{name:y(f.mainResourceHasCacheControlNoCache)},SubresourceHasCacheControlNoStore:{name:y(f.subresourceHasCacheControlNoStore)},SubresourceHasCacheControlNoCache:{name:y(f.subresourceHasCacheControlNoCache)},ContainsPlugins:{name:y(f.containsPlugins)},DocumentLoaded:{name:y(f.documentLoaded)},DedicatedWorkerOrWorklet:{name:y(f.dedicatedWorkerOrWorklet)},OutstandingNetworkRequestOthers:{name:y(f.outstandingNetworkRequestOthers)},OutstandingIndexedDBTransaction:{name:y(f.outstandingIndexedDBTransaction)},RequestedNotificationsPermission:{name:y(f.requestedNotificationsPermission)},RequestedMIDIPermission:{name:y(f.requestedMIDIPermission)},RequestedAudioCapturePermission:{name:y(f.requestedAudioCapturePermission)},RequestedVideoCapturePermission:{name:y(f.requestedVideoCapturePermission)},RequestedBackForwardCacheBlockedSensors:{name:y(f.requestedBackForwardCacheBlockedSensors)},RequestedBackgroundWorkPermission:{name:y(f.requestedBackgroundWorkPermission)},BroadcastChannel:{name:y(f.broadcastChannel)},IndexedDBConnection:{name:y(f.indexedDBConnection)},WebXR:{name:y(f.webXR)},SharedWorker:{name:y(f.sharedWorker)},WebLocks:{name:y(f.webLocks)},WebHID:{name:y(f.webHID)},WebShare:{name:y(f.webShare)},RequestedStorageAccessGrant:{name:y(f.requestedStorageAccessGrant)},WebNfc:{name:y(f.webNfc)},OutstandingNetworkRequestFetch:{name:y(f.outstandingNetworkRequestFetch)},OutstandingNetworkRequestXHR:{name:y(f.outstandingNetworkRequestXHR)},AppBanner:{name:y(f.appBanner)},Printing:{name:y(f.printing)},WebDatabase:{name:y(f.webDatabase)},PictureInPicture:{name:y(f.pictureInPicture)},SpeechRecognizer:{name:y(f.speechRecognizer)},IdleManager:{name:y(f.idleManager)},PaymentManager:{name:y(f.paymentManager)},SpeechSynthesis:{name:y(f.speechSynthesis)},KeyboardLock:{name:y(f.keyboardLock)},WebOTPService:{name:y(f.webOTPService)},OutstandingNetworkRequestDirectSocket:{name:y(f.outstandingNetworkRequestDirectSocket)},InjectedJavascript:{name:y(f.injectedJavascript)},InjectedStyleSheet:{name:y(f.injectedStyleSheet)},Dummy:{name:y(f.internalError)},ContentDiscarded:{name:y(f.contentDiscarded)},ContentSecurityHandler:{name:y(f.contentSecurityHandler)},ContentWebAuthenticationAPI:{name:y(f.contentWebAuthenticationAPI)},ContentFileChooser:{name:y(f.contentFileChooser)},ContentSerial:{name:y(f.contentSerial)},ContentFileSystemAccess:{name:y(f.contentFileSystemAccess)},ContentMediaDevicesDispatcherHost:{name:y(f.contentMediaDevicesDispatcherHost)},ContentWebBluetooth:{name:y(f.contentWebBluetooth)},ContentWebUSB:{name:y(f.contentWebUSB)},ContentMediaSession:{name:y(f.contentMediaSession)},ContentMediaSessionService:{name:y(f.contentMediaSessionService)},ContentMediaPlay:{name:y(f.contentMediaPlay)},ContentScreenReader:{name:y(f.contentScreenReader)},EmbedderPopupBlockerTabHelper:{name:y(f.embedderPopupBlockerTabHelper)},EmbedderSafeBrowsingTriggeredPopupBlocker:{name:y(f.embedderSafeBrowsingTriggeredPopupBlocker)},EmbedderSafeBrowsingThreatDetails:{name:y(f.embedderSafeBrowsingThreatDetails)},EmbedderAppBannerManager:{name:y(f.embedderAppBannerManager)},EmbedderDomDistillerViewerSource:{name:y(f.embedderDomDistillerViewerSource)},EmbedderDomDistillerSelfDeletingRequestDelegate:{name:y(f.embedderDomDistillerSelfDeletingRequestDelegate)},EmbedderOomInterventionTabHelper:{name:y(f.embedderOomInterventionTabHelper)},EmbedderOfflinePage:{name:y(f.embedderOfflinePage)},EmbedderChromePasswordManagerClientBindCredentialManager:{name:y(f.embedderChromePasswordManagerClientBindCredentialManager)},EmbedderPermissionRequestManager:{name:y(f.embedderPermissionRequestManager)},EmbedderModalDialog:{name:y(f.embedderModalDialog)},EmbedderExtensions:{name:y(f.embedderExtensions)},EmbedderExtensionMessaging:{name:y(f.embedderExtensionMessaging)},EmbedderExtensionMessagingForOpenPort:{name:y(f.embedderExtensionMessagingForOpenPort)},EmbedderExtensionSentMessageToCachedFrame:{name:y(f.embedderExtensionSentMessageToCachedFrame)},ErrorDocument:{name:y(f.errorDocument)},FencedFramesEmbedder:{name:y(f.fencedFramesEmbedder)},KeepaliveRequest:{name:y(f.keepaliveRequest)},JsNetworkRequestReceivedCacheControlNoStoreResource:{name:y(f.jsNetworkRequestReceivedCacheControlNoStoreResource)},IndexedDBEvent:{name:y(f.indexedDBEvent)},CookieDisabled:{name:y(f.cookieDisabled)},WebRTCSticky:{name:y(f.webRTCSticky)},WebTransportSticky:{name:y(f.webTransportSticky)},WebSocketSticky:{name:y(f.webSocketSticky)},HTTPAuthRequired:{name:o.i18n.lockedLazyString("HTTPAuthRequired")},CookieFlushed:{name:o.i18n.lockedLazyString("CookieFlushed")},SmartCard:{name:o.i18n.lockedLazyString("SmartCard")},LiveMediaStreamTrack:{name:o.i18n.lockedLazyString("LiveMediaStreamTrack")},UnloadHandler:{name:o.i18n.lockedLazyString("UnloadHandler")},ParserAborted:{name:o.i18n.lockedLazyString("ParserAborted")},BroadcastChannelOnMessage:{name:o.i18n.lockedLazyString("BroadcastChannelOnMessage")},RequestedByWebViewClient:{name:o.i18n.lockedLazyString("RequestedByWebViewClient")},PostMessageByWebViewClient:{name:o.i18n.lockedLazyString("PostMessageByWebViewClient")},WebViewSettingsChanged:{name:o.i18n.lockedLazyString("WebViewSettingsChanged")},WebViewJavaScriptObjectChanged:{name:o.i18n.lockedLazyString("WebViewJavaScriptObjectChanged")},WebViewMessageListenerInjected:{name:o.i18n.lockedLazyString("WebViewMessageListenerInjected")},WebViewSafeBrowsingAllowlistChanged:{name:o.i18n.lockedLazyString("WebViewSafeBrowsingAllowlistChanged")},WebViewDocumentStartJavascriptChanged:{name:o.i18n.lockedLazyString("WebViewDocumentStartJavascriptChanged")},CacheControlNoStoreDeviceBoundSessionTerminated:{name:y(f.cacheControlNoStore)},CacheLimitPruned:{name:o.i18n.lockedLazyString("CacheLimitPruned")}};var S=`.inline-icon{vertical-align:sub}.gray-text{color:var(--sys-color-token-subtle);margin:0 0 5px 56px;display:flex;flex-direction:row;align-items:center;flex:auto;overflow-wrap:break-word;overflow:hidden;grid-column-start:span 2}.details-list{margin-left:56px;grid-column-start:span 2}.help-outline-icon{margin:0 2px}.circled-exclamation-icon{margin-right:10px;flex-shrink:0}.status{margin-right:11px;flex-shrink:0}.report-line{grid-column-start:span 2;display:flex;align-items:center;margin:0 30px;line-height:26px}.report-key{color:var(--sys-color-token-subtle);min-width:auto;overflow-wrap:break-word;align-self:start}.report-value{padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link,\n.devtools-link{color:var(--sys-color-primary);text-decoration:underline;cursor:pointer;outline-offset:2px}devtools-report-value:has(devtools-tree-outline){margin-left:var(--sys-size-7)}.tree-outline li .selection{margin-left:-5px}@media (forced-colors: active){.link,\n .devtools-link{color:linktext;text-decoration-color:linktext}}\n/*# sourceURL=${import.meta.resolve("./backForwardCacheView.css")} */\n`;const{html:T}=s,$={mainFrame:"Main Frame",backForwardCacheTitle:"Back/forward cache",unavailable:"unavailable",url:"URL",unknown:"Unknown Status",normalNavigation:"Not served from back/forward cache: to trigger back/forward cache, use Chrome's back/forward buttons, or use the test button below to automatically navigate away and back.",restoredFromBFCache:"Successfully served from back/forward cache.",pageSupportNeeded:"Actionable",pageSupportNeededExplanation:"These reasons are actionable i.e. they can be cleaned up to make the page eligible for back/forward cache.",circumstantial:"Not Actionable",circumstantialExplanation:"These reasons are not actionable i.e. caching was prevented by something outside of the direct control of the page.",supportPending:"Pending Support",runTest:"Test back/forward cache",runningTest:"Running test",learnMore:"Learn more: back/forward cache eligibility",neverUseUnload:"Learn more: Never use unload handler",supportPendingExplanation:"Chrome support for these reasons is pending i.e. they will not prevent the page from being eligible for back/forward cache in a future version of Chrome.",blockingExtensionId:"Extension id: ",framesTitle:"Frames",issuesInSingleFrame:"{n, plural, =1 {# issue found in 1 frame.} other {# issues found in 1 frame.}}",issuesInMultipleFrames:"{n, plural, =1 {# issue found in {m} frames.} other {# issues found in {m} frames.}}",framesPerIssue:"{n, plural, =1 {# frame} other {# frames}}",blankURLTitle:"Blank URL [{PH1}]",filesPerIssue:"{n, plural, =1 {# file} other {# files}}"},C=o.i18n.registerUIStrings("panels/application/components/BackForwardCacheView.ts",$),P=o.i18n.getLocalizedString.bind(void 0,C);class R extends a.LegacyWrapper.WrappableComponent{#e=this.attachShadow({mode:"open"});#t="Result";#o=0;#r=0;constructor(){super(),this.#a()?.addEventListener(r.ResourceTreeModel.Events.PrimaryPageChanged,this.render,this),this.#a()?.addEventListener(r.ResourceTreeModel.Events.BackForwardCacheDetailsUpdated,this.render,this)}#a(){const e=r.TargetManager.TargetManager.instance().primaryPageTarget();return e?.model(r.ResourceTreeModel.ResourceTreeModel)||null}#n(){return this.#a()?.mainFrame||null}connectedCallback(){this.parentElement?.classList.add("overflow-auto")}async render(){await n.write("BackForwardCacheView render",(()=>{s.render(T`
|
|
2
|
+
<style>${S}</style>
|
|
3
|
+
<devtools-report .data=${{reportTitle:P($.backForwardCacheTitle)}} jslog=${l.pane("back-forward-cache")}>
|
|
4
|
+
|
|
5
|
+
${this.#i()}
|
|
6
|
+
</devtools-report>
|
|
7
|
+
`,this.#e,{host:this})}))}#s(){r.TargetManager.TargetManager.instance().removeModelListener(r.ResourceTreeModel.ResourceTreeModel,r.ResourceTreeModel.Events.FrameNavigated,this.#s,this),this.#t="Result",this.render()}async#l(){r.TargetManager.TargetManager.instance().removeModelListener(r.ResourceTreeModel.ResourceTreeModel,r.ResourceTreeModel.Events.FrameNavigated,this.#l,this),await this.#c(50)}async#c(e){const t=r.TargetManager.TargetManager.instance().primaryPageTarget(),o=t?.model(r.ResourceTreeModel.ResourceTreeModel),a=await(o?.navigationHistory());o&&a&&(a.currentIndex===this.#r?window.setTimeout(this.#c.bind(this,2*e),e):(r.TargetManager.TargetManager.instance().addModelListener(r.ResourceTreeModel.ResourceTreeModel,r.ResourceTreeModel.Events.FrameNavigated,this.#s,this),o.navigateToHistoryEntry(a.entries[a.currentIndex-1])))}async#d(){const e=r.TargetManager.TargetManager.instance().primaryPageTarget(),t=e?.model(r.ResourceTreeModel.ResourceTreeModel),o=await(t?.navigationHistory());t&&o&&(this.#r=o.currentIndex,this.#t="Running",this.render(),r.TargetManager.TargetManager.instance().addModelListener(r.ResourceTreeModel.ResourceTreeModel,r.ResourceTreeModel.Events.FrameNavigated,this.#l,this),t.navigate("chrome://terms"))}#i(){const e=this.#n();if(!e)return T`
|
|
8
|
+
<devtools-report-key>
|
|
9
|
+
${P($.mainFrame)}
|
|
10
|
+
</devtools-report-key>
|
|
11
|
+
<devtools-report-value>
|
|
12
|
+
${P($.unavailable)}
|
|
13
|
+
</devtools-report-value>
|
|
14
|
+
`;const o="Running"===this.#t,r=t.ParsedURL.schemeIs(e.url,"devtools:");return T`
|
|
15
|
+
${this.#h(e.backForwardCacheDetails.restoredFromCache)}
|
|
16
|
+
<devtools-report-key>${P($.url)}</devtools-report-key>
|
|
17
|
+
<devtools-report-value>${e.url}</devtools-report-value>
|
|
18
|
+
${this.#u(e.backForwardCacheDetails.explanationsTree)}
|
|
19
|
+
<devtools-report-section>
|
|
20
|
+
<devtools-button
|
|
21
|
+
aria-label=${P($.runTest)}
|
|
22
|
+
.disabled=${o||r}
|
|
23
|
+
.spinner=${o}
|
|
24
|
+
.variant=${"primary"}
|
|
25
|
+
@click=${this.#d}
|
|
26
|
+
jslog=${l.action("back-forward-cache.run-test").track({click:!0})}>
|
|
27
|
+
${o?T`
|
|
28
|
+
${P($.runningTest)}`:`\n ${P($.runTest)}\n `}
|
|
29
|
+
</devtools-button>
|
|
30
|
+
</devtools-report-section>
|
|
31
|
+
<devtools-report-divider>
|
|
32
|
+
</devtools-report-divider>
|
|
33
|
+
${this.#p(e.backForwardCacheDetails.explanations,e.backForwardCacheDetails.explanationsTree)}
|
|
34
|
+
<devtools-report-section>
|
|
35
|
+
<x-link href="https://web.dev/bfcache/" class="link"
|
|
36
|
+
jslog=${l.action("learn-more.eligibility").track({click:!0})}>
|
|
37
|
+
${P($.learnMore)}
|
|
38
|
+
</x-link>
|
|
39
|
+
</devtools-report-section>
|
|
40
|
+
`}#u(e){if(!e||0===e.explanations.length&&0===e.children.length)return s.nothing;const t=this.#g(e,{blankCount:1});t.node.treeNodeData.iconName="frame";let o="";o=1===t.frameCount?P($.issuesInSingleFrame,{n:t.issueCount}):P($.issuesInMultipleFrames,{n:t.issueCount,m:t.frameCount});const r={treeNodeData:{text:o},id:"root",children:()=>Promise.resolve([t.node])};return T`
|
|
41
|
+
<devtools-report-key jslog=${l.section("frames")}>${P($.framesTitle)}</devtools-report-key>
|
|
42
|
+
<devtools-report-value>
|
|
43
|
+
<devtools-tree-outline .data=${{tree:[r],defaultRenderer:function(e){return T`
|
|
44
|
+
<div class="text-ellipsis">
|
|
45
|
+
${e.treeNodeData.iconName?T`
|
|
46
|
+
<devtools-icon class="inline-icon" style="margin-bottom: -3px;" .data=${{iconName:e.treeNodeData.iconName,color:"var(--icon-default)",width:"20px",height:"20px"}}>
|
|
47
|
+
</devtools-icon>
|
|
48
|
+
`:s.nothing}
|
|
49
|
+
${e.treeNodeData.text}
|
|
50
|
+
</div>
|
|
51
|
+
`},compact:!0}}>
|
|
52
|
+
</devtools-tree-outline>
|
|
53
|
+
</devtools-report-value>
|
|
54
|
+
`}#g(e,t){let o=1,r=0;const a=[];let n="";e.url.length?n=e.url:(n=P($.blankURLTitle,{PH1:t.blankCount}),t.blankCount+=1);for(const t of e.explanations){const e={treeNodeData:{text:t.reason},id:String(this.#o++)};r+=1,a.push(e)}for(const n of e.children){const e=this.#g(n,t);e.issueCount>0&&(a.push(e.node),r+=e.issueCount,o+=e.frameCount)}let i={treeNodeData:{text:`(${r}) ${n}`},id:String(this.#o++)};return a.length?(i={...i,children:()=>Promise.resolve(a)},i.treeNodeData.iconName="iframe"):e.url.length||(t.blankCount-=1),{node:i,frameCount:o,issueCount:r}}#h(e){switch(e){case!0:return T`
|
|
55
|
+
<devtools-report-section>
|
|
56
|
+
<div class="status">
|
|
57
|
+
<devtools-icon class="inline-icon" .data=${{iconName:"check-circle",color:"var(--icon-checkmark-green)",width:"20px",height:"20px"}}>
|
|
58
|
+
</devtools-icon>
|
|
59
|
+
</div>
|
|
60
|
+
${P($.restoredFromBFCache)}
|
|
61
|
+
</devtools-report-section>
|
|
62
|
+
`;case!1:return T`
|
|
63
|
+
<devtools-report-section>
|
|
64
|
+
<div class="status">
|
|
65
|
+
<devtools-icon class="inline-icon" .data=${{iconName:"clear",color:"var(--icon-default)",width:"20px",height:"20px"}}>
|
|
66
|
+
</devtools-icon>
|
|
67
|
+
</div>
|
|
68
|
+
${P($.normalNavigation)}
|
|
69
|
+
</devtools-report-section>
|
|
70
|
+
`}return T`
|
|
71
|
+
<devtools-report-section>
|
|
72
|
+
${P($.unknown)}
|
|
73
|
+
</devtools-report-section>
|
|
74
|
+
`}#m(e,t,o){let r=e.url;0===r.length&&(r=P($.blankURLTitle,{PH1:t.blankCount}),t.blankCount+=1),e.explanations.forEach((e=>{let t=o.get(e.reason);void 0===t?(t=[r],o.set(e.reason,t)):t.push(r)})),e.children.map((e=>{this.#m(e,t,o)}))}#p(e,t){if(0===e.length)return s.nothing;const o=e.filter((e=>"PageSupportNeeded"===e.type)),r=e.filter((e=>"SupportPending"===e.type)),a=e.filter((e=>"Circumstantial"===e.type)),n=new Map;return t&&this.#m(t,{blankCount:1},n),T`
|
|
75
|
+
${this.#v(P($.pageSupportNeeded),P($.pageSupportNeededExplanation),o,n)}
|
|
76
|
+
${this.#v(P($.supportPending),P($.supportPendingExplanation),r,n)}
|
|
77
|
+
${this.#v(P($.circumstantial),P($.circumstantialExplanation),a,n)}
|
|
78
|
+
`}#v(e,t,o,r){return T`
|
|
79
|
+
${o.length>0?T`
|
|
80
|
+
<devtools-report-section-header>
|
|
81
|
+
${e}
|
|
82
|
+
<div class="help-outline-icon">
|
|
83
|
+
<devtools-icon class="inline-icon" .data=${{iconName:"help",color:"var(--icon-default)",width:"16px",height:"16px"}} title=${t}>
|
|
84
|
+
</devtools-icon>
|
|
85
|
+
</div>
|
|
86
|
+
</devtools-report-section-header>
|
|
87
|
+
${o.map((e=>this.#b(e,r.get(e.reason))))}
|
|
88
|
+
`:s.nothing}
|
|
89
|
+
`}#k(e){if("EmbedderExtensionSentMessageToCachedFrame"===e.reason&&e.context){const t="chrome://extensions/?id="+e.context;return T`${P($.blockingExtensionId)}
|
|
90
|
+
<devtools-chrome-link .href=${t}>${e.context}</devtools-chrome-link>`}return s.nothing}#f(e){if(void 0===e||0===e.length)return s.nothing;const t=[T`<div>${P($.framesPerIssue,{n:e.length})}</div>`];return t.push(...e.map((e=>T`<div class="text-ellipsis" title=${e}
|
|
91
|
+
jslog=${l.treeItem()}>${e}</div>`))),T`
|
|
92
|
+
<div class="details-list"
|
|
93
|
+
jslog=${l.tree("frames-per-issue")}>
|
|
94
|
+
<devtools-expandable-list .data=${{rows:t,title:P($.framesPerIssue,{n:e.length})}}
|
|
95
|
+
jslog=${l.treeItem()}></devtools-expandable-list>
|
|
96
|
+
</div>
|
|
97
|
+
`}#w(e){return"UnloadHandlerExistsInMainFrame"===e.reason||"UnloadHandlerExistsInSubFrame"===e.reason?T`
|
|
98
|
+
<x-link href="https://web.dev/bfcache/#never-use-the-unload-event" class="link"
|
|
99
|
+
jslog=${l.action("learn-more.never-use-unload").track({click:!0})}>
|
|
100
|
+
${P($.neverUseUnload)}
|
|
101
|
+
</x-link>`:s.nothing}#y(e){if(void 0===e||0===e.length)return s.nothing;const t=new i.Linkifier.Linkifier(50),o=[T`<div>${P($.filesPerIssue,{n:e.length})}</div>`];return o.push(...e.map((e=>T`${t.linkifyScriptLocation(null,null,e.url,e.lineNumber,{columnNumber:e.columnNumber,showColumnNumber:!0,inlineFrameIndex:0})}`))),T`
|
|
102
|
+
<div class="details-list">
|
|
103
|
+
<devtools-expandable-list .data=${{rows:o}}></devtools-expandable-list>
|
|
104
|
+
</div>
|
|
105
|
+
`}#b(e,t){return T`
|
|
106
|
+
<devtools-report-section>
|
|
107
|
+
${e.reason in x?T`
|
|
108
|
+
<div class="circled-exclamation-icon">
|
|
109
|
+
<devtools-icon class="inline-icon" .data=${{iconName:"warning",color:"var(--icon-warning)",width:"16px",height:"16px"}}>
|
|
110
|
+
</devtools-icon>
|
|
111
|
+
</div>
|
|
112
|
+
<div>
|
|
113
|
+
${x[e.reason].name()}
|
|
114
|
+
${this.#w(e)}
|
|
115
|
+
${this.#k(e)}
|
|
116
|
+
</div>`:s.nothing}
|
|
117
|
+
</devtools-report-section>
|
|
118
|
+
<div class="gray-text">
|
|
119
|
+
${e.reason}
|
|
120
|
+
</div>
|
|
121
|
+
${this.#y(e.details)}
|
|
122
|
+
${this.#f(t)}
|
|
123
|
+
`}}customElements.define("devtools-resources-back-forward-cache-view",R);var M=Object.freeze({__proto__:null,BackForwardCacheView:R}),D=`devtools-data-grid{margin-top:0}.link,\n.devtools-link{color:var(--sys-color-primary);text-decoration:underline;cursor:pointer;outline-offset:2px}@media (forced-colors: active){.link,\n .devtools-link{color:linktext;text-decoration-color:linktext}}\n/*# sourceURL=${import.meta.resolve("./bounceTrackingMitigationsView.css")} */\n`;const{html:I}=s,B={bounceTrackingMitigationsTitle:"Bounce tracking mitigations",forceRun:"Force run",runningMitigations:"Running",stateDeletedFor:"State was deleted for the following sites:",checkingPotentialTrackers:"Checking for potential bounce tracking sites.",learnMore:"Learn more: Bounce Tracking Mitigations",noPotentialBounceTrackersIdentified:"State was not cleared for any potential bounce tracking sites. Either none were identified or third-party cookies are not blocked.",featureDisabled:'Bounce tracking mitigations are disabled. To enable them, set the flag at {PH1} to "Enabled With Deletion".',featureFlag:"Bounce Tracking Mitigations Feature Flag"},E=o.i18n.registerUIStrings("panels/application/components/BounceTrackingMitigationsView.ts",B),F=o.i18n.getLocalizedString.bind(void 0,E);class L extends a.LegacyWrapper.WrappableComponent{#e=this.attachShadow({mode:"open"});#x=[];#t="Result";#S=!1;#T=!1;connectedCallback(){this.#$()}async#$(){s.render(I`
|
|
124
|
+
<style>${D}</style>
|
|
125
|
+
<devtools-report .data=${{reportTitle:F(B.bounceTrackingMitigationsTitle)}}
|
|
126
|
+
jslog=${l.pane("bounce-tracking-mitigations")}>
|
|
127
|
+
${await this.#i()}
|
|
128
|
+
</devtools-report>
|
|
129
|
+
`,this.#e,{host:this})}async#i(){if(this.#S||await this.#C(),"Disabled"===this.#t){const t=new e.ChromeLink.ChromeLink;return t.href="chrome://flags/#bounce-tracking-mitigations",t.textContent=F(B.featureFlag),I`
|
|
130
|
+
<devtools-report-section>
|
|
131
|
+
${o.i18n.getFormatLocalizedString(E,B.featureDisabled,{PH1:t})}
|
|
132
|
+
</devtools-report-section>
|
|
133
|
+
`}return I`
|
|
134
|
+
<devtools-report-section>
|
|
135
|
+
${this.#P()}
|
|
136
|
+
</devtools-report-section>
|
|
137
|
+
${this.#R()}
|
|
138
|
+
<devtools-report-divider>
|
|
139
|
+
</devtools-report-divider>
|
|
140
|
+
<devtools-report-section>
|
|
141
|
+
<x-link href="https://privacycg.github.io/nav-tracking-mitigations/#bounce-tracking-mitigations" class="link"
|
|
142
|
+
jslog=${l.link("learn-more").track({click:!0})}>
|
|
143
|
+
${F(B.learnMore)}
|
|
144
|
+
</x-link>
|
|
145
|
+
</devtools-report-section>
|
|
146
|
+
`}#P(){const e="Running"===this.#t;return I`
|
|
147
|
+
<devtools-button
|
|
148
|
+
aria-label=${F(B.forceRun)}
|
|
149
|
+
.disabled=${e}
|
|
150
|
+
.spinner=${e}
|
|
151
|
+
.variant=${"primary"}
|
|
152
|
+
@click=${this.#M}
|
|
153
|
+
jslog=${l.action("force-run").track({click:!0})}>
|
|
154
|
+
${e?I`
|
|
155
|
+
${F(B.runningMitigations)}`:`\n ${F(B.forceRun)}\n `}
|
|
156
|
+
</devtools-button>
|
|
157
|
+
`}#R(){return this.#T?0===this.#x.length?I`
|
|
158
|
+
<devtools-report-section>
|
|
159
|
+
${"Running"===this.#t?I`
|
|
160
|
+
${F(B.checkingPotentialTrackers)}`:`\n ${F(B.noPotentialBounceTrackersIdentified)}\n `}
|
|
161
|
+
</devtools-report-section>
|
|
162
|
+
`:I`
|
|
163
|
+
<devtools-report-section>
|
|
164
|
+
<devtools-data-grid striped inline>
|
|
165
|
+
<table>
|
|
166
|
+
<tr>
|
|
167
|
+
<th id="sites" weight="10" sortable>
|
|
168
|
+
${F(B.stateDeletedFor)}
|
|
169
|
+
</th>
|
|
170
|
+
</tr>
|
|
171
|
+
${this.#x.map((e=>I`
|
|
172
|
+
<tr><td>${e}</td></tr>`))}
|
|
173
|
+
</table>
|
|
174
|
+
</devtools-data-grid>
|
|
175
|
+
</devtools-report-section>
|
|
176
|
+
`:I``}async#M(){const e=r.TargetManager.TargetManager.instance().primaryPageTarget();if(!e)return;this.#T=!0,this.#t="Running",this.#$();const t=await e.storageAgent().invoke_runBounceTrackingMitigations();this.#x=[],t.deletedSites.forEach((e=>{this.#x.push(e)})),this.#D()}#D(){this.#t="Result",this.#$()}async#C(){this.#S=!0;const e=r.TargetManager.TargetManager.instance().primaryPageTarget();e&&((await e.systemInfo().invoke_getFeatureState({featureState:"DIPS"})).featureEnabled||(this.#t="Disabled"))}}customElements.define("devtools-bounce-tracking-mitigations-view",L);var N=Object.freeze({__proto__:null,BounceTrackingMitigationsView:L,i18nString:F}),A={cssText:`*{box-sizing:border-box;min-width:0;min-height:0}:root{height:100%;overflow:hidden;interpolate-size:allow-keywords}body{height:100%;width:100%;position:relative;overflow:hidden;margin:0;cursor:default;font-family:var(--default-font-family);font-size:12px;tab-size:4;user-select:none;color:var(--sys-color-on-surface);background:var(--sys-color-cdt-base-container)}:focus{outline-width:0}.monospace{font-family:var(--monospace-font-family);font-size:var(\n --monospace-font-size\n )!important}.source-code{font-family:var(--source-code-font-family);font-size:var(\n --source-code-font-size\n )!important;white-space:pre-wrap;&:not(input)::selection{color:var(--sys-color-on-surface)}}.source-code.breakpoint{white-space:nowrap}.source-code .devtools-link.text-button{max-width:100%;overflow:hidden;text-overflow:ellipsis}img{-webkit-user-drag:none}iframe,\na img{border:none}.fill{position:absolute;inset:0}iframe.fill{width:100%;height:100%}.widget{position:relative;flex:auto;contain:style}.hbox{display:flex;flex-direction:row!important;position:relative}.vbox{display:flex;flex-direction:column!important;position:relative}.view-container > devtools-toolbar{border-bottom:1px solid var(--sys-color-divider)}.flex-auto{flex:auto}.flex-none{flex:none}.flex-centered{display:flex;align-items:center;justify-content:center}.overflow-auto{overflow:auto;background-color:var(--sys-color-cdt-base-container)}iframe.widget{position:absolute;width:100%;height:100%;inset:0}.hidden{display:none!important}.highlighted-search-result{border-radius:1px;background-color:var(--sys-color-yellow-container);outline:1px solid var(--sys-color-yellow-container)}.link{cursor:pointer;text-decoration:underline;color:var(--sys-color-primary);outline-offset:2px}button,\ninput,\nselect{font-family:inherit;font-size:inherit}select option,\nselect optgroup,\ninput{background-color:var(--sys-color-cdt-base-container)}input{color:inherit;&[type="checkbox"]{position:relative;outline:none;display:flex;align-items:center;justify-content:center;&:hover::after,\n &:active::before{content:"";height:24px;width:24px;border-radius:var(--sys-shape-corner-full);position:absolute}&:not(.-theme-preserve){accent-color:var(--sys-color-primary-bright);color:var(--sys-color-on-primary)}&:not(:disabled):hover::after{background-color:var(--sys-color-state-hover-on-subtle)}&:not(:disabled):active::before{background-color:var(--sys-color-state-ripple-neutral-on-subtle)}&:not(:disabled):focus-visible::before{content:"";height:15px;width:15px;border-radius:5px;position:absolute;border:2px solid var(--sys-color-state-focus-ring)}&.small:hover::after,\n &.small:active::before{height:12px;width:12px;border-radius:2px}}}input::placeholder{--override-input-placeholder-color:rgb(0 0 0/54%);color:var(--override-input-placeholder-color)}.theme-with-dark-background input::placeholder,\n:host-context(.theme-with-dark-background) input::placeholder{--override-input-placeholder-color:rgb(230 230 230/54%)}.harmony-input:not([type]),\n.harmony-input[type="number"],\n.harmony-input[type="text"]{padding:3px 6px;height:24px;border:1px solid var(--sys-color-neutral-outline);border-radius:4px;&.error-input,\n &:invalid{border-color:var(--sys-color-error)}&:not(.error-input, :invalid):focus{border-color:var(--sys-color-state-focus-ring)}&:not(.error-input, :invalid):hover:not(:focus){background:var(--sys-color-state-hover-on-subtle)}}input[type="radio"]{height:17px;width:17px;min-width:17px;border-radius:8px;vertical-align:sub;margin:0 5px 5px 0;accent-color:var(--sys-color-primary-bright);color:var(--sys-color-on-primary);&:focus{box-shadow:var(--legacy-focus-ring-active-shadow)}}@media (forced-colors: active){input[type="radio"]{--gradient-start:ButtonFace;--gradient-end:ButtonFace;&:checked{--gradient-start:Highlight;--gradient-end:Highlight}}}input[type="range"]{appearance:none;margin:0;padding:0;height:10px;width:88px;outline:none;background:none}input[type="range"]::-webkit-slider-thumb,\n.-theme-preserve{appearance:none;margin:0;padding:0;border:0;width:12px;height:12px;margin-top:-5px;border-radius:50%;background-color:var(--sys-color-primary)}input[type="range"]::-webkit-slider-runnable-track{appearance:none;margin:0;padding:0;width:100%;height:2px;background-color:var(--sys-color-surface-variant)}input[type="range"]:focus::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--sys-color-inverse-primary)}input[type="range"]:disabled::-webkit-slider-thumb{background-color:var(--sys-color-state-disabled)}@media (forced-colors: active){input[type="range"]{forced-color-adjust:none}}.highlighted-search-result.current-search-result{--override-current-search-result-background-color:rgb(255 127 0/80%);border-radius:1px;padding:1px;margin:-1px;background-color:var(--override-current-search-result-background-color)}.dimmed{opacity:60%}.editing{box-shadow:var(--drop-shadow);background-color:var(--sys-color-cdt-base-container);text-overflow:clip!important;padding-left:2px;margin-left:-2px;padding-right:2px;margin-right:-2px;margin-bottom:-1px;padding-bottom:1px;opacity:100%!important}.editing,\n.editing *{color:var(\n --sys-color-on-surface\n )!important;text-decoration:none!important}select{appearance:none;user-select:none;height:var(--sys-size-11);border:var(--sys-size-1) solid var(--sys-color-neutral-outline);border-radius:var(--sys-shape-corner-extra-small);color:var(--sys-color-on-surface);font:inherit;margin:0;outline:none;padding:0 var(--sys-size-9) 0 var(--sys-size-5);background-image:var(--combobox-dropdown-arrow);background-color:transparent;background-position:right center;background-repeat:no-repeat;&:disabled{opacity:100%;border-color:transparent;color:var(--sys-color-state-disabled);background-color:var(--sys-color-state-disabled-container);pointer-events:none}&:enabled{&:hover{background-color:var(--sys-color-state-hover-on-subtle)}&:active{background-color:var(--sys-color-state-ripple-neutral-on-subtle)}&:hover:active{background:var(--combobox-dropdown-arrow),linear-gradient(var(--sys-color-state-hover-on-subtle),var(--sys-color-state-hover-on-subtle)),linear-gradient(var(--sys-color-state-ripple-neutral-on-subtle),var(--sys-color-state-ripple-neutral-on-subtle));background-position:right center;background-repeat:no-repeat}&:focus{outline:var(--sys-size-2) solid var(--sys-color-state-focus-ring);outline-offset:-1px}}}@media (forced-colors: active) and (prefers-color-scheme: light){:root,\n .theme-with-dark-background,\n :host-context(.theme-with-dark-background){--combobox-dropdown-arrow:var(--image-file-arrow-drop-down-light)}}@media (forced-colors: active) and (prefers-color-scheme: dark){:root,\n .theme-with-dark-background,\n :host-context(.theme-with-dark-background){--combobox-dropdown-arrow:var(--image-file-arrow-drop-down-dark)}}.chrome-select-label{margin:0 var(--sys-size-10);flex:none;p p{margin-top:0;color:var(--sys-color-token-subtle)}.reload-warning{margin-left:var(--sys-size-5)}}.settings-select{margin:0}select optgroup,\nselect option{background-color:var(--sys-color-cdt-base-container);color:var(--sys-color-on-surface)}.gray-info-message{text-align:center;font-style:italic;padding:6px;color:var(--sys-color-token-subtle);white-space:nowrap}.empty-state{margin:var(--sys-size-5);display:flex;flex-grow:1;justify-content:center;align-items:center;flex-direction:column;text-align:center;min-height:fit-content;min-width:fit-content;> *{max-width:var(--sys-size-29)}.empty-state-header{font:var(--sys-typescale-headline5);margin-bottom:var(--sys-size-3)}.empty-state-description{font:var(--sys-typescale-body4-regular);color:var(--sys-color-on-surface-subtle);> x-link{white-space:nowrap;margin-left:var(--sys-size-3)}}> devtools-button{margin-top:var(--sys-size-7)}}dt-icon-label{flex:none}.full-widget-dimmed-banner a{color:inherit}.full-widget-dimmed-banner{color:var(--sys-color-token-subtle);background-color:var(--sys-color-cdt-base-container);display:flex;justify-content:center;align-items:center;text-align:center;padding:20px;position:absolute;inset:0;font-size:13px;overflow:auto;z-index:500}.dot::before{content:var(--image-file-empty);width:6px;height:6px;border-radius:50%;outline:1px solid var(--icon-gap-default);left:9px;position:absolute;top:9px;z-index:1}.green::before{background-color:var(--sys-color-green-bright)}.purple::before{background-color:var(--sys-color-purple-bright)}.expandable-inline-button{background-color:var(--sys-color-cdt-base-container);color:var(--sys-color-on-surface);cursor:pointer;border-radius:3px}.undisplayable-text,\n.expandable-inline-button{border:none;padding:1px 3px;margin:0 2px;font-size:11px;font-family:sans-serif;white-space:nowrap;display:inline-block}.undisplayable-text::after,\n.expandable-inline-button::after{content:attr(data-text)}.undisplayable-text{color:var(--sys-color-state-disabled);font-style:italic}.expandable-inline-button:hover,\n.expandable-inline-button:focus-visible{background-color:var(--sys-color-state-hover-on-subtle)}.expandable-inline-button:focus-visible{background-color:var(--sys-color-state-focus-highlight)}::selection{background-color:var(--sys-color-state-text-highlight);color:var(--sys-color-state-on-text-highlight)}button.link{border:none;background:none;padding:3px}button.link:focus-visible{outline:2px solid var(--sys-color-state-focus-ring);outline-offset:2px;border-radius:var(--sys-shape-corner-full)}.data-grid-data-grid-node button.link:focus-visible{border-radius:var(--sys-shape-corner-extra-small);padding:0;margin-top:3px}@media (forced-colors: active){.dimmed,\n select:disabled{opacity:100%}.harmony-input:not([type]),\n .harmony-input[type="number"],\n .harmony-input[type="text"]{border:1px solid ButtonText}.harmony-input:not([type]):focus,\n .harmony-input[type="number"]:focus,\n .harmony-input[type="text"]:focus{border:1px solid Highlight}}input.custom-search-input::-webkit-search-cancel-button{appearance:none;width:16px;height:15px;margin-right:0;opacity:70%;mask-image:var(--image-file-cross-circle-filled);mask-position:center;mask-repeat:no-repeat;mask-size:99%;background-color:var(--icon-default)}input.custom-search-input::-webkit-search-cancel-button:hover{opacity:99%}.spinner::before{display:block;width:var(--dimension,24px);height:var(--dimension,24px);border:var(--override-spinner-size,3px) solid var(--override-spinner-color,var(--sys-color-token-subtle));border-radius:12px;clip:rect(0,var(--clip-size,15px),var(--clip-size,15px),0);content:"";position:absolute;animation:spinner-animation 1s linear infinite;box-sizing:border-box}@keyframes spinner-animation{from{transform:rotate(0)}to{transform:rotate(360deg)}}.adorner-container{display:inline-flex;vertical-align:middle}.adorner-container.hidden{display:none}.adorner-container devtools-adorner{margin-left:3px}:host-context(.theme-with-dark-background) devtools-adorner{--override-adorner-border-color:var(--sys-color-tonal-outline);--override-adorner-active-background-color:var(\n --sys-color-state-riple-neutral-on-subtle\n )}.panel{display:flex;overflow:hidden;position:absolute;inset:0;z-index:0;background-color:var(--sys-color-cdt-base-container)}.panel-sidebar{overflow-x:hidden;background-color:var(--sys-color-cdt-base-container)}iframe.extension{flex:auto;width:100%;height:100%}iframe.panel.extension{display:block;height:100%}@media (forced-colors: active){:root{--legacy-accent-color:Highlight;--legacy-focus-ring-inactive-shadow-color:ButtonText}}devtools-toolbar{& > *{position:relative;display:flex;background-color:transparent;flex:none;align-items:center;justify-content:center;height:var(--toolbar-height);border:none;white-space:pre;overflow:hidden;max-width:100%;color:var(--icon-default);cursor:default;& .devtools-link{color:var(--icon-default)}}.status-buttons{padding:0 var(--sys-size-2);gap:var(--sys-size-2)}& > :not(select){padding:0}& > devtools-issue-counter{margin-top:-4px;padding:0 1px}devtools-adorner.fix-perf-icon{--override-adorner-text-color:transparent;--override-adorner-border-color:transparent;--override-adorner-background-color:transparent}devtools-issue-counter.main-toolbar{margin-left:1px;margin-right:1px}.toolbar-dropdown-arrow{pointer-events:none;flex:none;top:2px}.toolbar-button.dark-text .toolbar-dropdown-arrow{color:var(--sys-color-on-surface)}.toolbar-button{white-space:nowrap;overflow:hidden;min-width:28px;background:transparent;border-radius:0;&[aria-haspopup="true"][aria-expanded="true"]{pointer-events:none}}.toolbar-item-search{min-width:5.2em;max-width:300px;flex:1 1 auto;justify-content:start;overflow:revert}.toolbar-text{margin:0 5px;flex:none;color:var(--ui-text)}.toolbar-text:empty{margin:0}.toolbar-has-dropdown{justify-content:space-between;height:var(--sys-size-9);padding:0 var(--sys-size-2) 0 var(--sys-size-4);margin:0 var(--sys-size-2);gap:var(--sys-size-2);border-radius:var(--sys-shape-corner-extra-small);&:hover::after,\n &:active::before{content:"";height:100%;width:100%;border-radius:inherit;position:absolute;top:0;left:0}&:hover::after{background-color:var(--sys-color-state-hover-on-subtle)}&:active::before{background-color:var(--sys-color-state-ripple-neutral-on-subtle)}&:focus-visible{outline:var(--sys-size-2) solid var(--sys-color-state-focus-ring)}&[disabled]{pointer-events:none;background-color:var(--sys-color-state-disabled-container);color:var(--sys-color-state-disabled)}}.toolbar-has-dropdown-shrinkable{flex-shrink:1}.toolbar-has-dropdown .toolbar-text{margin:0;text-overflow:ellipsis;flex:auto;overflow:hidden;text-align:right}.toolbar-button:not(.toolbar-has-dropdown):focus-visible::before{position:absolute;inset:2px;background-color:var(--sys-color-state-focus-highlight);border-radius:2px;content:"";z-index:-1}.toolbar-glyph{flex:none}.toolbar-button:disabled{opacity:50%}.toolbar-button.copied-to-clipboard::after{content:attr(data-content);position:fixed;margin-top:calc(2 * var(--toolbar-height));padding:3px 5px;color:var(--sys-color-token-subtle);background:var(--sys-color-cdt-base-container);animation:2s fade-out;font-weight:normal;border:1px solid var(--sys-color-divider);border-radius:3px}.toolbar-button.toolbar-state-on .toolbar-glyph{color:var(--icon-toggled)}.toolbar-state-on.toolbar-toggle-with-dot .toolbar-text::after{content:"";position:absolute;bottom:2px;background-color:var(--sys-color-primary-bright);width:4.5px;height:4.5px;border:2px solid var(--override-toolbar-background-color,--sys-color-cdt-base-container);border-radius:50%;right:0}.toolbar-button.toolbar-state-on.toolbar-toggle-with-red-color .toolbar-glyph,\n .toolbar-button.toolbar-state-off.toolbar-default-with-red-color\n .toolbar-glyph{color:var(\n --icon-error\n )!important}.toolbar-button:not(\n .toolbar-has-glyph,\n .toolbar-has-dropdown,\n .largeicon-menu,\n .toolbar-button-secondary\n ){font-weight:bold}.toolbar-button.dark-text .toolbar-text{color:var(\n --sys-color-on-surface\n )!important}.toolbar-button.toolbar-state-on .toolbar-text{color:var(--sys-color-primary)}.toolbar-button.toolbar-state-on:enabled:active .toolbar-text{color:var(--sys-color-primary-bright)}.toolbar-button:enabled:hover:not(:active) .toolbar-glyph{color:var(--sys-color-on-surface)}.toolbar-button:enabled:hover:not(:active) .toolbar-text{color:var(--sys-color-on-surface)}.toolbar-button.toolbar-state-on:enabled:hover:not(:active) .toolbar-glyph{color:var(--sys-color-primary)}.toolbar-button.toolbar-state-on:enabled:hover:not(:active) .toolbar-text{color:var(--sys-color-primary)}& > dt-checkbox{padding:0 5px 0 0}& > select{height:var(--sys-size-9);min-width:var(--sys-size-14)}.toolbar-input{box-shadow:inset 0 0 0 2px transparent;box-sizing:border-box;width:120px;height:var(--sys-size-9);padding:0 var(--sys-size-2) 0 var(--sys-size-5);margin:1px 3px;border-radius:100px;min-width:35px;position:relative;&.focused{box-shadow:inset 0 0 0 2px var(--sys-color-state-focus-ring)}&:not(:has(devtools-button:hover), .disabled):hover{background-color:var(--sys-color-state-hover-on-subtle)}&::before{content:"";box-sizing:inherit;height:100%;width:100%;position:absolute;left:0;background:var(--sys-color-cdt-base);z-index:-1}& > devtools-icon{color:var(--sys-color-on-surface-subtle);width:var(--sys-size-8);height:var(--sys-size-8);margin-right:var(--sys-size-3)}&.disabled > devtools-icon{color:var(--sys-color-state-disabled)}}.toolbar-filter .toolbar-input-clear-button{margin-right:var(--sys-size-4)}.toolbar-input-empty .toolbar-input-clear-button{display:none}.toolbar-prompt-proxy{flex:1}.toolbar-input-prompt{flex:1;overflow:hidden;white-space:nowrap;cursor:text;color:var(--sys-color-on-surface)}.toolbar-divider{background-color:var(--sys-color-divider);width:1px;margin:5px 4px;height:16px}.toolbar-spacer{flex:auto}.toolbar-button.emulate-active{background-color:var(--sys-color-surface-variant)}&:not([floating]) > :last-child:not(:first-child, select){flex-shrink:1;justify-content:left}&:not([floating]) > .toolbar-button:last-child:not(:first-child, select){justify-content:left;margin-right:2px}& > .highlight::before{content:"";position:absolute;inset:2px;border-radius:2px;background:var(--sys-color-neutral-container);z-index:-1}& > .highlight:focus-visible{background:var(--sys-color-tonal-container);& > .title{color:var(--sys-color-on-tonal-container)}}devtools-icon.leading-issue-icon{margin:0 7px}@media (forced-colors: active){.toolbar-button:disabled{opacity:100%;color:Graytext}devtools-toolbar > *,\n .toolbar-text{color:ButtonText}.toolbar-button:disabled .toolbar-text{color:Graytext}devtools-toolbar > select:disabled{opacity:100%;color:Graytext}.toolbar-button.toolbar-state-on .toolbar-glyph{forced-color-adjust:none;color:Highlight}.toolbar-button.toolbar-state-on .toolbar-text{forced-color-adjust:none;color:Highlight}.toolbar-button:enabled:hover:not(:active) .toolbar-text,\n .toolbar-button:enabled:focus:not(:active) .toolbar-text{color:HighlightText}.toolbar-button:disabled devtools-icon{color:GrayText}.toolbar-button:disabled .toolbar-glyph{color:GrayText}.toolbar-button:enabled.hover:not(:active) .toolbar-glyph{forced-color-adjust:none;color:Highlight}.toolbar-button:enabled:hover .toolbar-glyph,\n .toolbar-button:enabled:focus .toolbar-glyph,\n .toolbar-button:enabled:hover:not(:active) .toolbar-glyph,\n .toolbar-button:enabled:hover devtools-icon,\n .toolbar-button:enabled:focus devtools-icon{color:HighlightText}.toolbar-input{forced-color-adjust:none;background:canvas;box-shadow:var(--legacy-focus-ring-inactive-shadow)}.toolbar-input.focused,\n .toolbar-input:not(.toolbar-input-empty){forced-color-adjust:none;background:canvas;box-shadow:var(--legacy-focus-ring-active-shadow)}.toolbar-input:hover{box-shadow:var(--legacy-focus-ring-active-shadow)}devtools-toolbar .devtools-link{color:linktext}.toolbar-has-dropdown{forced-color-adjust:none;background:ButtonFace;color:ButtonText}}}@keyframes fade-out{from{opacity:100%}to{opacity:0%}}.webkit-css-property{color:var(--webkit-css-property-color,var(--sys-color-token-property-special))}.webkit-html-comment{color:var(--sys-color-token-comment)}.webkit-html-tag{color:var(--sys-color-token-tag)}.webkit-html-tag-name,\n.webkit-html-close-tag-name{color:var(--sys-color-token-tag)}.webkit-html-pseudo-element{color:var(--sys-color-token-pseudo-element)}.webkit-html-js-node,\n.webkit-html-css-node{color:var(--text-primary);white-space:pre-wrap}.webkit-html-text-node{color:var(--text-primary);unicode-bidi:-webkit-isolate}.webkit-html-entity-value{background-color:rgb(0 0 0/15%);unicode-bidi:-webkit-isolate}.webkit-html-doctype{color:var(--text-secondary)}.webkit-html-attribute-name{color:var(--sys-color-token-attribute);unicode-bidi:-webkit-isolate}.webkit-html-attribute-value{color:var(--sys-color-token-attribute-value);unicode-bidi:-webkit-isolate;word-break:break-all}.devtools-link{color:var(--text-link);text-decoration:underline;outline-offset:2px;.elements-disclosure &{color:var(--text-link)}devtools-icon{vertical-align:baseline;color:var(--sys-color-primary)}:focus .selected & devtools-icon{color:var(--sys-color-tonal-container)}&:focus-visible{outline-width:unset}&.invalid-link{color:var(--text-disabled);text-decoration:none}&:not(.devtools-link-prevent-click, .invalid-link){cursor:pointer}@media (forced-colors: active){&:not(.devtools-link-prevent-click){forced-color-adjust:none;color:linktext}&:focus-visible{background:Highlight;color:HighlightText}}}\n/*# sourceURL=${import.meta.resolve("./inspectorCommon.css")} */\n`},H={cssText:`:host{overflow:auto;height:100%}.reporting-container{height:100%;display:flex;flex-direction:column}.reporting-header{font-size:15px;background-color:var(--sys-color-surface2);padding:1px 4px;flex-shrink:0}devtools-data-grid{flex:auto}.inline-icon{vertical-align:text-bottom}\n/*# sourceURL=${import.meta.resolve("./reportingApiGrid.css")} */\n`};const O={noEndpointsToDisplay:"No endpoints to display",endpointsDescription:"Here you will find the list of endpoints that receive the reports"},z=o.i18n.registerUIStrings("panels/application/components/EndpointsGrid.ts",O),W=o.i18n.getLocalizedString.bind(void 0,z),{render:U,html:q}=s;class j extends HTMLElement{#e=this.attachShadow({mode:"open"});#I=new Map;connectedCallback(){this.#$()}set data(e){this.#I=e.endpoints,this.#$()}#$(){U(q`
|
|
177
|
+
<style>${H.cssText}</style>
|
|
178
|
+
<style>${A.cssText}</style>
|
|
179
|
+
<div class="reporting-container" jslog=${l.section("endpoints")}>
|
|
180
|
+
<div class="reporting-header">${o.i18n.lockedString("Endpoints")}</div>
|
|
181
|
+
${this.#I.size>0?q`
|
|
182
|
+
<devtools-data-grid striped>
|
|
183
|
+
<table>
|
|
184
|
+
<tr>
|
|
185
|
+
<th id="origin" weight="30">${o.i18n.lockedString("Origin")}</th>
|
|
186
|
+
<th id="name" weight="20">${o.i18n.lockedString("Name")}</th>
|
|
187
|
+
<th id="url" weight="30">${o.i18n.lockedString("URL")}</th>
|
|
188
|
+
</tr>
|
|
189
|
+
${Array.from(this.#I).map((([e,t])=>t.map((t=>q`<tr>
|
|
190
|
+
<td>${e}</td>
|
|
191
|
+
<td>${t.groupName}</td>
|
|
192
|
+
<td>${t.url}</td>
|
|
193
|
+
</tr>`)))).flat()}
|
|
194
|
+
</table>
|
|
195
|
+
</devtools-data-grid>
|
|
196
|
+
`:q`
|
|
197
|
+
<div class="empty-state">
|
|
198
|
+
<span class="empty-state-header">${W(O.noEndpointsToDisplay)}</span>
|
|
199
|
+
<span class="empty-state-description">${W(O.endpointsDescription)}</span>
|
|
200
|
+
</div>
|
|
201
|
+
`}
|
|
202
|
+
</div>
|
|
203
|
+
`,this.#e,{host:this})}}customElements.define("devtools-resources-endpoints-grid",j);var _=Object.freeze({__proto__:null,EndpointsGrid:j,i18nString:W}),V=`button.link{color:var(--sys-color-primary);text-decoration:underline;cursor:pointer;outline-offset:2px;border:none;background:none;font-family:inherit;font-size:inherit}\n/*# sourceURL=${import.meta.resolve("./stackTraceLinkButton.css")} */\n`,G=`.stack-trace-row{display:flex}.stack-trace-function-name{width:100px}.stack-trace-source-location{display:flex;overflow:hidden}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-trace-source-location .text-ellipsis{padding-right:2px}.ignore-list-link{opacity:60%}.link,\n.devtools-link{color:var(--sys-color-primary);text-decoration:underline;cursor:pointer;outline-offset:2px;border:none;background:none;font-family:inherit;font-size:var(--sys-size-6);&:focus-visible{outline:2px solid var(--sys-color-state-focus-ring);outline-offset:0;border-radius:var(--sys-shape-corner-extra-small)}}\n/*# sourceURL=${import.meta.resolve("./stackTraceRow.css")} */\n`;const{html:K}=s,X={cannotRenderStackTrace:"Cannot render stack trace",showSMoreFrames:"{n, plural, =1 {Show # more frame} other {Show # more frames}}",showLess:"Show less",creationStackTrace:"Frame Creation `Stack Trace`"},J=o.i18n.registerUIStrings("panels/application/components/StackTrace.ts",X),Y=o.i18n.getLocalizedString.bind(void 0,J);class Q extends HTMLElement{#e=this.attachShadow({mode:"open"});#B=null;set data(e){this.#B=e.stackTraceRowItem,this.#$()}#$(){this.#B&&s.render(K`
|
|
204
|
+
<style>${G}</style>
|
|
205
|
+
<div class="stack-trace-row">
|
|
206
|
+
<div class="stack-trace-function-name text-ellipsis" title=${this.#B.functionName}>
|
|
207
|
+
${this.#B.functionName}
|
|
208
|
+
</div>
|
|
209
|
+
<div class="stack-trace-source-location">
|
|
210
|
+
${this.#B.link?K`<div class="text-ellipsis">\xA0@\xA0${this.#B.link}</div>`:s.nothing}
|
|
211
|
+
</div>
|
|
212
|
+
</div>
|
|
213
|
+
`,this.#e,{host:this})}}class Z extends HTMLElement{#e=this.attachShadow({mode:"open"});#E=()=>{};#F=null;#L=!1;set data(e){this.#E=e.onShowAllClick,this.#F=e.hiddenCallFramesCount,this.#L=e.expandedView,this.#$()}#$(){if(!this.#F)return;const e=this.#L?Y(X.showLess):Y(X.showSMoreFrames,{n:this.#F});s.render(K`
|
|
214
|
+
<style>${V}</style>
|
|
215
|
+
<div class="stack-trace-row">
|
|
216
|
+
<button class="link" @click=${()=>this.#E()}>
|
|
217
|
+
${e}
|
|
218
|
+
</button>
|
|
219
|
+
</div>
|
|
220
|
+
`,this.#e,{host:this})}}class ee extends HTMLElement{#e=this.attachShadow({mode:"open"});#N=new i.Linkifier.Linkifier;#A=[];#H=!1;set data(e){const t=e.frame,{creationStackTrace:o,creationStackTraceTarget:r}=t.getCreationStackTraceData();o&&(this.#A=e.buildStackTraceRows(o,r,this.#N,!0,this.#O.bind(this))),this.#$()}#O(e){this.#A=e,this.#$()}#z(){this.#H=!this.#H,this.#$()}createRowTemplates(){const e=[];let t=0;for(const o of this.#A){let r=!1;if("link"in o&&o.link){const e=i.Linkifier.Linkifier.uiLocation(o.link);e&&c.IgnoreListManager.IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(e.uiSourceCode)&&(r=!0)}!this.#H&&r||("functionName"in o&&e.push(K`
|
|
221
|
+
<devtools-stack-trace-row data-stack-trace-row .data=${{stackTraceRowItem:o}}></devtools-stack-trace-row>`),"asyncDescription"in o&&e.push(K`
|
|
222
|
+
<div>${o.asyncDescription}</div>
|
|
223
|
+
`)),"functionName"in o&&r&&t++}return t&&e.push(K`
|
|
224
|
+
<devtools-stack-trace-link-button data-stack-trace-row .data=${{onShowAllClick:this.#z.bind(this),hiddenCallFramesCount:t,expandedView:this.#H}}></devtools-stack-trace-link-button>
|
|
225
|
+
`),e}#$(){if(!this.#A.length)return void s.render(K`
|
|
226
|
+
<span>${Y(X.cannotRenderStackTrace)}</span>
|
|
227
|
+
`,this.#e,{host:this});const e=this.createRowTemplates();s.render(K`
|
|
228
|
+
<devtools-expandable-list .data=${{rows:e,title:Y(X.creationStackTrace)}}
|
|
229
|
+
jslog=${l.tree()}>
|
|
230
|
+
</devtools-expandable-list>
|
|
231
|
+
`,this.#e,{host:this})}}customElements.define("devtools-stack-trace-row",Q),customElements.define("devtools-stack-trace-link-button",Z),customElements.define("devtools-resources-stack-trace",ee);var te=Object.freeze({__proto__:null,StackTrace:ee,StackTraceLinkButton:Z,StackTraceRow:Q}),oe=`.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button ~ .text-ellipsis{padding-left:2px}.link,\n.devtools-link{color:var(--sys-color-primary);text-decoration:underline;cursor:pointer;outline-offset:2px;padding:0;margin-left:var(--sys-size-3);white-space:nowrap}button.link{border:none;background:none;font-family:inherit;font-size:inherit;height:16px}button.link:has(devtools-icon){margin-top:5px}devtools-button.help-button{top:4px;position:relative}button.text-link{padding-left:2px;height:26px}.inline-button{padding-left:1ex}.inline-comment{padding-left:1ex;white-space:pre-line}.inline-comment::before{content:"("}.inline-comment::after{content:")"}.inline-name{color:var(--sys-color-token-subtle);padding-right:4px;user-select:none;white-space:pre-line}.inline-items{display:flex}.span-cols{grid-column-start:span 2;margin-left:var(--sys-size-9);line-height:28px}.report-section:has(.link){line-height:var(--sys-size-12)}.without-min-width{min-width:auto}.bold{font-weight:bold}.link:not(button):has(devtools-icon){vertical-align:baseline;margin-inline-start:3px}.inline-icon{margin-bottom:-5px;width:18px;height:18px;vertical-align:baseline}@media (forced-colors: active){.link,\n .devtools-link{color:linktext;text-decoration-color:linktext}}\n/*# sourceURL=${import.meta.resolve("./frameDetailsReportView.css")} */\n`,re=`:host .badge-error{--override-adorner-text-color:var(--sys-color-error-bright);--override-adorner-border-color:var(--sys-color-error-bright)}:host .badge-success{--override-adorner-text-color:var(--sys-color-tertiary);--override-adorner-border-color:var(--sys-color-tertiary)}:host .badge-secondary{--override-adorner-text-color:var(--sys-color-token-subtle);--override-adorner-border-color:var(--sys-color-token-subtle)}:host{font-family:var(--source-code-font-family)}\n/*# sourceURL=${import.meta.resolve("./badge.css")} */\n`,ae=`.content{display:grid;grid-template-columns:min-content 1fr}.key{color:var(--sys-color-token-subtle);padding:0 6px;text-align:right;white-space:pre}.value{color:var(--sys-color-token-subtle);margin-inline-start:0;padding:0 6px}.error-text{color:var(--sys-color-error-bright);font-weight:bold}\n/*# sourceURL=${import.meta.resolve("./originTrialTokenRows.css")} */\n`,ne=`.status-badge{border-radius:4px;padding:4px;background:var(--sys-color-neutral-container);& > devtools-icon{vertical-align:sub}}\n/*# sourceURL=${import.meta.resolve("./originTrialTreeView.css")} */\n`;const{html:ie,Directives:{ifDefined:se}}=s,le={origin:"Origin",trialName:"Trial Name",expiryTime:"Expiry Time",usageRestriction:"Usage Restriction",isThirdParty:"Third Party",matchSubDomains:"Subdomain Matching",rawTokenText:"Raw Token",status:"Token Status",token:"Token",tokens:"{PH1} tokens",noTrialTokens:"No trial tokens"},ce=o.i18n.registerUIStrings("panels/application/components/OriginTrialTreeView.ts",le),de=o.i18n.getLocalizedString.bind(void 0,ce);class he extends HTMLElement{#e=this.attachShadow({mode:"open"});#W=new m.Adorner.Adorner;set data(e){this.#$(e)}#$(e){const t=document.createElement("span");t.textContent=e.badgeContent,this.#W.data={name:"badge",content:t},this.#W.classList.add(`badge-${e.style}`),s.render(ie`
|
|
232
|
+
<style>${re}</style>
|
|
233
|
+
${this.#W}
|
|
234
|
+
`,this.#e,{host:this})}}function ue(e){return{treeNodeData:e,id:"OriginTrialTreeNode#"+e.trialName,children:async()=>e.tokensWithStatus.length>1?e.tokensWithStatus.map(pe):me(e.tokensWithStatus[0]),renderer:e=>{const t=e.treeNodeData,o=ie`
|
|
235
|
+
<devtools-resources-origin-trial-tree-view-badge .data=${{badgeContent:de(le.tokens,{PH1:t.tokensWithStatus.length}),style:"secondary"}}></devtools-resources-origin-trial-tree-view-badge>
|
|
236
|
+
`;return ie`
|
|
237
|
+
${t.trialName}
|
|
238
|
+
<devtools-resources-origin-trial-tree-view-badge .data=${{badgeContent:t.status,style:"Enabled"===t.status?"success":"error"}}></devtools-resources-origin-trial-tree-view-badge>
|
|
239
|
+
${t.tokensWithStatus.length>1?o:s.nothing}
|
|
240
|
+
`}}}function pe(e){return{treeNodeData:e.status,id:"TokenNode#"+e.rawTokenText,children:async()=>me(e),renderer:(e,t)=>{const o=e.treeNodeData,r=ie`
|
|
241
|
+
<devtools-resources-origin-trial-tree-view-badge .data=${{badgeContent:o,style:"Success"===o?"success":"error"}}></devtools-resources-origin-trial-tree-view-badge>
|
|
242
|
+
`;return ie`${de(le.token)} ${t.isExpanded?s.nothing:r}`}}}function ge(e){return ie`
|
|
243
|
+
<devtools-resources-origin-trial-token-rows .data=${{node:e}}>
|
|
244
|
+
</devtools-resources-origin-trial-token-rows>
|
|
245
|
+
`}function me(e){return[{treeNodeData:e,id:"TokenDetailsNode#"+e.rawTokenText,renderer:ge},(t=e.rawTokenText,{treeNodeData:de(le.rawTokenText),id:"TokenRawTextContainerNode#"+t,children:async()=>[{treeNodeData:t,id:"TokenRawTextNode#"+t,renderer:e=>{const t=e.treeNodeData;return ie`
|
|
246
|
+
<div style="overflow-wrap: break-word;">
|
|
247
|
+
${t}
|
|
248
|
+
</div>
|
|
249
|
+
`}}]})];var t}function ve(e){return ie`${String(e.treeNodeData)}`}customElements.define("devtools-resources-origin-trial-tree-view-badge",he);class be extends HTMLElement{#e=this.attachShadow({mode:"open"});#U=null;#q=[];#j=new Intl.DateTimeFormat(o.DevToolsLocale.DevToolsLocale.instance().locale,{dateStyle:"long",timeStyle:"long"});set data(e){this.#U=e.node.treeNodeData,this.#_()}connectedCallback(){this.#$()}#V=(e,t)=>ie`
|
|
250
|
+
<div class=${se(t?"error-text":void 0)}>
|
|
251
|
+
${e}
|
|
252
|
+
</div>`;#_(){this.#U?.parsedToken&&(this.#q=[{name:de(le.origin),value:this.#V(this.#U.parsedToken.origin,"WrongOrigin"===this.#U.status)},{name:de(le.expiryTime),value:this.#V(this.#j.format(1e3*this.#U.parsedToken.expiryTime),"Expired"===this.#U.status)},{name:de(le.usageRestriction),value:this.#V(this.#U.parsedToken.usageRestriction)},{name:de(le.isThirdParty),value:this.#V(this.#U.parsedToken.isThirdParty.toString())},{name:de(le.matchSubDomains),value:this.#V(this.#U.parsedToken.matchSubDomains.toString())}],"UnknownTrial"===this.#U.status&&(this.#q=[{name:de(le.trialName),value:this.#V(this.#U.parsedToken.trialName)},...this.#q]))}#$(){if(!this.#U)return;const e=[{name:de(le.status),value:ie`
|
|
253
|
+
<devtools-resources-origin-trial-tree-view-badge .data=${{badgeContent:this.#U.status,style:"Success"===this.#U.status?"success":"error"}}></devtools-resources-origin-trial-tree-view-badge>`},...this.#q].map((e=>ie`
|
|
254
|
+
<div class="key">${e.name}</div>
|
|
255
|
+
<div class="value">${e.value}</div>
|
|
256
|
+
`));s.render(ie`
|
|
257
|
+
<style>${ae}</style>
|
|
258
|
+
<div class="content">
|
|
259
|
+
${e}
|
|
260
|
+
</div>
|
|
261
|
+
`,this.#e,{host:this})}}customElements.define("devtools-resources-origin-trial-token-rows",be);class ke extends HTMLElement{#e=this.attachShadow({mode:"open"});set data(e){this.#$(e.trials)}#$(e){e.length?s.render(ie`
|
|
262
|
+
<style>${ne}</style>
|
|
263
|
+
<devtools-tree-outline .data=${{tree:e.map(ue),defaultRenderer:ve}}>
|
|
264
|
+
</devtools-tree-outline>
|
|
265
|
+
`,this.#e,{host:this}):s.render(ie`
|
|
266
|
+
<style>${ne}</style>
|
|
267
|
+
<span class="status-badge">
|
|
268
|
+
<devtools-icon
|
|
269
|
+
.data=${{iconName:"clear",color:"var(--icon-default)",width:"16px",height:"16px"}}
|
|
270
|
+
>
|
|
271
|
+
</devtools-icon>
|
|
272
|
+
<span>${de(le.noTrialTokens)}</span>
|
|
273
|
+
</span>`,this.#e,{host:this})}}customElements.define("devtools-resources-origin-trial-tree-view",ke);var fe=Object.freeze({__proto__:null,Badge:he,OriginTrialTokenRows:be,OriginTrialTreeView:ke}),we=`:host{display:contents}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link,\n.devtools-link{color:var(--sys-color-primary);text-decoration:underline;cursor:pointer;outline-offset:2px}button.link{border:none;background:none;font-family:inherit;font-size:inherit}.policies-list{padding-top:3px}.permissions-row{display:flex;line-height:22px}.permissions-row div{padding-right:5px}.feature-name{width:135px}.allowed-icon{vertical-align:sub}.block-reason{width:215px}.disabled-features-button{padding-left:var(--sys-size-3)}\n/*# sourceURL=${import.meta.resolve("./permissionsPolicySection.css")} */\n`;const{html:ye}=s,xe={showDetails:"Show details",hideDetails:"Hide details",allowedFeatures:"Allowed Features",disabledFeatures:"Disabled Features",clickToShowHeader:'Click to reveal the request whose "`Permissions-Policy`" HTTP header disables this feature.',clickToShowIframe:"Click to reveal the top-most iframe which does not allow this feature in the elements panel.",disabledByIframe:'missing in iframe "`allow`" attribute',disabledByHeader:'disabled by "`Permissions-Policy`" header',disabledByFencedFrame:"disabled inside a `fencedframe`"},Se=o.i18n.registerUIStrings("panels/application/components/PermissionsPolicySection.ts",xe),Te=o.i18n.getLocalizedString.bind(void 0,Se);function $e(e,t,o,r){return ye`
|
|
274
|
+
<devtools-button
|
|
275
|
+
.iconName=${e}
|
|
276
|
+
title=${t}
|
|
277
|
+
.variant=${"icon"}
|
|
278
|
+
.size=${"SMALL"}
|
|
279
|
+
@click=${o}
|
|
280
|
+
jslog=${l.action().track({click:!0}).context(r)}></devtools-button>
|
|
281
|
+
`}class Ce extends HTMLElement{#e=this.attachShadow({mode:"open"});#G={policies:[],showDetails:!1};set data(e){this.#G=e,this.#$()}#K(){this.#G.showDetails=!this.#G.showDetails,this.#$()}#X(){const e=this.#G.policies.filter((e=>e.allowed)).map((e=>e.feature)).sort();return e.length?ye`
|
|
282
|
+
<devtools-report-key>${Te(xe.allowedFeatures)}</devtools-report-key>
|
|
283
|
+
<devtools-report-value>
|
|
284
|
+
${e.join(", ")}
|
|
285
|
+
</devtools-report-value>
|
|
286
|
+
`:s.nothing}async#J(){const e=this.#G.policies.filter((e=>!e.allowed)).sort(((e,t)=>e.feature.localeCompare(t.feature)));if(!e.length)return s.nothing;if(!this.#G.showDetails)return ye`
|
|
287
|
+
<devtools-report-key>${Te(xe.disabledFeatures)}</devtools-report-key>
|
|
288
|
+
<devtools-report-value>
|
|
289
|
+
${e.map((e=>e.feature)).join(", ")}
|
|
290
|
+
<devtools-button
|
|
291
|
+
class="disabled-features-button"
|
|
292
|
+
.variant=${"outlined"}
|
|
293
|
+
@click=${()=>this.#K()}
|
|
294
|
+
jslog=${l.action("show-disabled-features-details").track({click:!0})}>${Te(xe.showDetails)}
|
|
295
|
+
</devtools-button>
|
|
296
|
+
</devtools-report-value>
|
|
297
|
+
`;const o=r.FrameManager.FrameManager.instance(),a=await Promise.all(e.map((async e=>{const r=e.locator?o.getFrame(e.locator.frameId):null,a=e.locator?.blockReason,n=await("IframeAttribute"===a&&r?.getOwnerDOMNodeOrDocument()),i=r?.resourceForURL(r.url),l="Header"===a&&i?.request,c=(()=>{switch(a){case"IframeAttribute":return Te(xe.disabledByIframe);case"Header":return Te(xe.disabledByHeader);case"InFencedFrameTree":return Te(xe.disabledByFencedFrame);default:return""}})();return ye`
|
|
298
|
+
<div class="permissions-row">
|
|
299
|
+
<div>
|
|
300
|
+
<devtools-icon class="allowed-icon"
|
|
301
|
+
.data=${{color:"var(--icon-error)",iconName:"cross-circle",width:"20px",height:"20px"}}>
|
|
302
|
+
</devtools-icon>
|
|
303
|
+
</div>
|
|
304
|
+
<div class="feature-name text-ellipsis">
|
|
305
|
+
${e.feature}
|
|
306
|
+
</div>
|
|
307
|
+
<div class="block-reason">${c}</div>
|
|
308
|
+
<div>
|
|
309
|
+
${n?$e("code-circle",Te(xe.clickToShowIframe),(()=>t.Revealer.reveal(n)),"reveal-in-elements"):s.nothing}
|
|
310
|
+
${l?$e("arrow-up-down-circle",Te(xe.clickToShowHeader),(async()=>{if(!l)return;const e=l.responseHeaderValue("permissions-policy")?"permissions-policy":"feature-policy",o=p.UIRequestLocation.UIRequestLocation.responseHeaderMatch(l,{name:e,value:""});await t.Revealer.reveal(o)}),"reveal-in-network"):s.nothing}
|
|
311
|
+
</div>
|
|
312
|
+
</div>
|
|
313
|
+
`})));return ye`
|
|
314
|
+
<devtools-report-key>${Te(xe.disabledFeatures)}</devtools-report-key>
|
|
315
|
+
<devtools-report-value class="policies-list">
|
|
316
|
+
${a}
|
|
317
|
+
<div class="permissions-row">
|
|
318
|
+
<devtools-button
|
|
319
|
+
.variant=${"outlined"}
|
|
320
|
+
@click=${()=>this.#K()}
|
|
321
|
+
jslog=${l.action("hide-disabled-features-details").track({click:!0})}>${Te(xe.hideDetails)}
|
|
322
|
+
</devtools-button>
|
|
323
|
+
</div>
|
|
324
|
+
</devtools-report-value>
|
|
325
|
+
`}async#$(){await n.write("PermissionsPolicySection render",(()=>{s.render(ye`
|
|
326
|
+
<style>${we}</style>
|
|
327
|
+
<devtools-report-section-header>${o.i18n.lockedString("Permissions Policy")}</devtools-report-section-header>
|
|
328
|
+
${this.#X()}
|
|
329
|
+
${this.#G.policies.findIndex((e=>e.allowed))>0||this.#G.policies.findIndex((e=>!e.allowed))>0?ye`<devtools-report-divider class="subsection-divider"></devtools-report-divider>`:s.nothing}
|
|
330
|
+
${s.Directives.until(this.#J(),s.nothing)}
|
|
331
|
+
<devtools-report-divider></devtools-report-divider>
|
|
332
|
+
`,this.#e,{host:this})}))}}customElements.define("devtools-resources-permissions-policy-section",Ce);const{html:Pe}=s,Re={additionalInformation:"Additional Information",thisAdditionalDebugging:"This additional (debugging) information is shown because the 'Protocol Monitor' experiment is enabled.",frameId:"Frame ID",document:"Document",url:"URL",clickToOpenInSourcesPanel:"Click to open in Sources panel",clickToOpenInNetworkPanel:"Click to open in Network panel",unreachableUrl:"Unreachable URL",clickToOpenInNetworkPanelMight:"Click to open in Network panel (might require page reload)",origin:"Origin",ownerElement:"Owner Element",clickToOpenInElementsPanel:"Click to open in Elements panel",adStatus:"Ad Status",rootDescription:"This frame has been identified as the root frame of an ad",root:"root",childDescription:"This frame has been identified as a child frame of an ad",child:"child",securityIsolation:"Security & Isolation",contentSecurityPolicy:"Content Security Policy (CSP)",secureContext:"Secure Context",yes:"Yes",no:"No",crossoriginIsolated:"Cross-Origin Isolated",localhostIsAlwaysASecureContext:"`Localhost` is always a secure context",aFrameAncestorIsAnInsecure:"A frame ancestor is an insecure context",theFramesSchemeIsInsecure:"The frame's scheme is insecure",reportingTo:"reporting to",apiAvailability:"API availability",availabilityOfCertainApisDepends:"Availability of certain APIs depends on the document being cross-origin isolated.",availableTransferable:"available, transferable",availableNotTransferable:"available, not transferable",unavailable:"unavailable",sharedarraybufferConstructorIs:"`SharedArrayBuffer` constructor is available and `SABs` can be transferred via `postMessage`",sharedarraybufferConstructorIsAvailable:"`SharedArrayBuffer` constructor is available but `SABs` cannot be transferred via `postMessage`",willRequireCrossoriginIsolated:"⚠️ will require cross-origin isolated context in the future",requiresCrossoriginIsolated:"requires cross-origin isolated context",transferRequiresCrossoriginIsolatedPermission:"`SharedArrayBuffer` transfer requires enabling the permission policy:",available:"available",thePerformanceAPI:"The `performance.measureUserAgentSpecificMemory()` API is available",thePerformancemeasureuseragentspecificmemory:"The `performance.measureUserAgentSpecificMemory()` API is not available",measureMemory:"Measure Memory",learnMore:"Learn more",creationStackTrace:"Frame Creation `Stack Trace`",creationStackTraceExplanation:"This frame was created programmatically. The `stack trace` shows where this happened.",parentIsAdExplanation:"This frame is considered an ad frame because its parent frame is an ad frame.",matchedBlockingRuleExplanation:"This frame is considered an ad frame because its current (or previous) main document is an ad resource.",createdByAdScriptExplanation:"There was an ad script in the `(async) stack` when this frame was created. Examining the creation `stack trace` of this frame might provide more insight.",creatorAdScript:"Creator Ad Script",none:"None",originTrialsExplanation:"Origin trials give you access to a new or experimental feature."},Me=o.i18n.registerUIStrings("panels/application/components/FrameDetailsView.ts",Re),De=o.i18n.getLocalizedString.bind(void 0,Me);class Ie extends a.LegacyWrapper.WrappableComponent{#e=this.attachShadow({mode:"open"});#Y;#Q;#Z=!1;#ee=null;#G={policies:[],showDetails:!1};#te=new ke;#N=new i.Linkifier.Linkifier;#oe=null;constructor(e){super(),this.#Y=e,this.render()}connectedCallback(){this.parentElement?.classList.add("overflow-auto"),this.#Z=h.Runtime.experiments.isEnabled("protocol-monitor")}async render(){this.#oe=await(this.#Y?.parentFrame()?.getAdScriptId(this.#Y?.id))||null;const e=this.#oe?.debuggerId?await r.DebuggerModel.DebuggerModel.modelForDebuggerId(this.#oe?.debuggerId):null;this.#Q=e?.target(),!this.#ee&&this.#Y&&(this.#ee=this.#Y.getPermissionsPolicyState()),await n.write("FrameDetailsView render",(()=>{this.#Y&&s.render(Pe`
|
|
333
|
+
<style>${oe}</style>
|
|
334
|
+
<devtools-report .data=${{reportTitle:this.#Y.displayName()}}
|
|
335
|
+
jslog=${l.pane("frames")}>
|
|
336
|
+
${this.#re()}
|
|
337
|
+
${this.#ae()}
|
|
338
|
+
${this.#ne()}
|
|
339
|
+
${this.#ie()}
|
|
340
|
+
${s.Directives.until(this.#ee?.then((e=>(this.#G.policies=e||[],Pe`
|
|
341
|
+
<devtools-resources-permissions-policy-section
|
|
342
|
+
.data=${this.#G}
|
|
343
|
+
>
|
|
344
|
+
</devtools-resources-permissions-policy-section>
|
|
345
|
+
`))),s.nothing)}
|
|
346
|
+
${this.#Z?this.#se():s.nothing}
|
|
347
|
+
</devtools-report>
|
|
348
|
+
`,this.#e,{host:this})}))}#ie(){return this.#Y?(this.#te.classList.add("span-cols"),this.#Y.getOriginTrials().then((e=>{this.#te.data={trials:e}})),Pe`
|
|
349
|
+
<devtools-report-section-header>${o.i18n.lockedString("Origin trials")}</devtools-report-section-header>
|
|
350
|
+
<devtools-report-section><span class="report-section">${De(Re.originTrialsExplanation)}
|
|
351
|
+
<x-link href="https://developer.chrome.com/docs/web-platform/origin-trials/" class="link"
|
|
352
|
+
jslog=${l.link("learn-more.origin-trials").track({click:!0})}>${De(Re.learnMore)}</x-link></span>
|
|
353
|
+
</devtools-report-section>
|
|
354
|
+
${this.#te}
|
|
355
|
+
<devtools-report-divider></devtools-report-divider>
|
|
356
|
+
`):s.nothing}#re(){return this.#Y?Pe`
|
|
357
|
+
<devtools-report-section-header>${De(Re.document)}</devtools-report-section-header>
|
|
358
|
+
<devtools-report-key>${De(Re.url)}</devtools-report-key>
|
|
359
|
+
<devtools-report-value>
|
|
360
|
+
<div class="inline-items">
|
|
361
|
+
${this.#le()}
|
|
362
|
+
${this.#ce()}
|
|
363
|
+
<div class="text-ellipsis" title=${this.#Y.url}>${this.#Y.url}</div>
|
|
364
|
+
</div>
|
|
365
|
+
</devtools-report-value>
|
|
366
|
+
${this.#de()}
|
|
367
|
+
${this.#he()}
|
|
368
|
+
${s.Directives.until(this.#ue(),s.nothing)}
|
|
369
|
+
${this.#pe()}
|
|
370
|
+
${this.#ge()}
|
|
371
|
+
<devtools-report-divider></devtools-report-divider>
|
|
372
|
+
`:s.nothing}#le(){if(!this.#Y||this.#Y.unreachableUrl())return s.nothing;const e=this.#me(this.#Y);return $e("label",De(Re.clickToOpenInSourcesPanel),(()=>t.Revealer.reveal(e)),"reveal-in-sources")}#ce(){if(this.#Y){const e=this.#Y.resourceForURL(this.#Y.url);if(e?.request){const o=e.request;return $e("arrow-up-down-circle",De(Re.clickToOpenInNetworkPanel),(()=>{const e=p.UIRequestLocation.UIRequestLocation.tab(o,"headers-component");return t.Revealer.reveal(e)}),"reveal-in-network")}}return s.nothing}#me(e){for(const t of u.Workspace.WorkspaceImpl.instance().projects()){const o=c.NetworkProject.NetworkProject.getTargetForProject(t);if(o&&o===e.resourceTreeModel().target()){const o=t.uiSourceCodeForURL(e.url);if(o)return o}}return null}#de(){return this.#Y&&this.#Y.unreachableUrl()?Pe`
|
|
373
|
+
<devtools-report-key>${De(Re.unreachableUrl)}</devtools-report-key>
|
|
374
|
+
<devtools-report-value>
|
|
375
|
+
<div class="inline-items">
|
|
376
|
+
${this.#ve()}
|
|
377
|
+
<div class="text-ellipsis" title=${this.#Y.unreachableUrl()}>${this.#Y.unreachableUrl()}</div>
|
|
378
|
+
</div>
|
|
379
|
+
</devtools-report-value>
|
|
380
|
+
`:s.nothing}#ve(){if(this.#Y){const e=t.ParsedURL.ParsedURL.fromString(this.#Y.unreachableUrl());if(e)return $e("arrow-up-down-circle",De(Re.clickToOpenInNetworkPanelMight),(()=>{t.Revealer.reveal(p.UIFilter.UIRequestFilter.filters([{filterType:p.UIFilter.FilterType.Domain,filterValue:e.domain()},{filterType:null,filterValue:e.path}]))}),"unreachable-url.reveal-in-network")}return s.nothing}#he(){return this.#Y&&this.#Y.securityOrigin&&"://"!==this.#Y.securityOrigin?Pe`
|
|
381
|
+
<devtools-report-key>${De(Re.origin)}</devtools-report-key>
|
|
382
|
+
<devtools-report-value>
|
|
383
|
+
<div class="text-ellipsis" title=${this.#Y.securityOrigin}>${this.#Y.securityOrigin}</div>
|
|
384
|
+
</devtools-report-value>
|
|
385
|
+
`:s.nothing}async#ue(){if(this.#Y){const e=await this.#Y.getOwnerDOMNodeOrDocument();if(e)return Pe`
|
|
386
|
+
<devtools-report-key>${De(Re.ownerElement)}</devtools-report-key>
|
|
387
|
+
<devtools-report-value class="without-min-width">
|
|
388
|
+
<div class="inline-items">
|
|
389
|
+
<button class="link text-link" role="link" tabindex=0 title=${De(Re.clickToOpenInElementsPanel)}
|
|
390
|
+
@mouseenter=${()=>this.#Y?.highlight()}
|
|
391
|
+
@mouseleave=${()=>r.OverlayModel.OverlayModel.hideDOMNodeHighlight()}
|
|
392
|
+
@click=${()=>t.Revealer.reveal(e)}
|
|
393
|
+
jslog=${l.action("reveal-in-elements").track({click:!0})}
|
|
394
|
+
>
|
|
395
|
+
<${e.nodeName().toLocaleLowerCase()}>
|
|
396
|
+
</button>
|
|
397
|
+
</div>
|
|
398
|
+
</devtools-report-value>
|
|
399
|
+
`}return s.nothing}#pe(){const e=this.#Y?.getCreationStackTraceData();return e?.creationStackTrace?Pe`
|
|
400
|
+
<devtools-report-key title=${De(Re.creationStackTraceExplanation)}>${De(Re.creationStackTrace)}</devtools-report-key>
|
|
401
|
+
<devtools-report-value
|
|
402
|
+
jslog=${l.section("frame-creation-stack-trace")}
|
|
403
|
+
>
|
|
404
|
+
<devtools-resources-stack-trace .data=${{frame:this.#Y,buildStackTraceRows:i.JSPresentationUtils.buildStackTraceRows}}>
|
|
405
|
+
</devtools-resources-stack-trace>
|
|
406
|
+
</devtools-report-value>
|
|
407
|
+
`:s.nothing}#be(e){switch(e){case"child":return{value:De(Re.child),description:De(Re.childDescription)};case"root":return{value:De(Re.root),description:De(Re.rootDescription)}}}#ke(e){switch(e){case"CreatedByAdScript":return De(Re.createdByAdScriptExplanation);case"MatchedBlockingRule":return De(Re.matchedBlockingRuleExplanation);case"ParentIsAd":return De(Re.parentIsAdExplanation)}}#ge(){if(!this.#Y)return s.nothing;const e=this.#Y.adFrameType();if("none"===e)return s.nothing;const t=this.#be(e),o=[Pe`<div title=${t.description}>${t.value}</div>`];for(const e of this.#Y.adFrameStatus()?.explanations||[])o.push(Pe`<div>${this.#ke(e)}</div>`);const r=this.#Q?this.#N.linkifyScriptLocation(this.#Q,this.#oe?.scriptId||null,d.DevToolsPath.EmptyUrlString,void 0,void 0):null;return Pe`
|
|
408
|
+
<devtools-report-key>${De(Re.adStatus)}</devtools-report-key>
|
|
409
|
+
<devtools-report-value
|
|
410
|
+
jslog=${l.section("ad-status")}>
|
|
411
|
+
<devtools-expandable-list .data=${{rows:o,title:De(Re.adStatus)}}></devtools-expandable-list></devtools-report-value>
|
|
412
|
+
${this.#Q?Pe`
|
|
413
|
+
<devtools-report-key>${De(Re.creatorAdScript)}</devtools-report-key>
|
|
414
|
+
<devtools-report-value class="ad-script-link">${r?.setAttribute("jslog",`${l.link("ad-script").track({click:!0})}`)}</devtools-report-value>
|
|
415
|
+
`:s.nothing}
|
|
416
|
+
`}#ae(){return this.#Y?Pe`
|
|
417
|
+
<devtools-report-section-header>${De(Re.securityIsolation)}</devtools-report-section-header>
|
|
418
|
+
<devtools-report-key>${De(Re.secureContext)}</devtools-report-key>
|
|
419
|
+
<devtools-report-value>
|
|
420
|
+
${this.#Y.isSecureContext()?De(Re.yes):De(Re.no)}\xA0${this.#fe()}
|
|
421
|
+
</devtools-report-value>
|
|
422
|
+
<devtools-report-key>${De(Re.crossoriginIsolated)}</devtools-report-key>
|
|
423
|
+
<devtools-report-value>
|
|
424
|
+
${this.#Y.isCrossOriginIsolated()?De(Re.yes):De(Re.no)}
|
|
425
|
+
</devtools-report-value>
|
|
426
|
+
${s.Directives.until(this.#we(),s.nothing)}
|
|
427
|
+
<devtools-report-divider></devtools-report-divider>
|
|
428
|
+
`:s.nothing}#fe(){const e=this.#ye();return e?Pe`<span class="inline-comment">${e}</span>`:s.nothing}#ye(){switch(this.#Y?.getSecureContextType()){case"Secure":return null;case"SecureLocalhost":return De(Re.localhostIsAlwaysASecureContext);case"InsecureAncestor":return De(Re.aFrameAncestorIsAnInsecure);case"InsecureScheme":return De(Re.theFramesSchemeIsInsecure)}return null}async#we(){if(this.#Y){const e=this.#Y.resourceTreeModel().target().model(r.NetworkManager.NetworkManager),t=e&&await e.getSecurityIsolationStatus(this.#Y.id);if(t)return Pe`
|
|
429
|
+
${this.#xe(t.coep,o.i18n.lockedString("Cross-Origin Embedder Policy (COEP)"),"None")}
|
|
430
|
+
${this.#xe(t.coop,o.i18n.lockedString("Cross-Origin Opener Policy (COOP)"),"UnsafeNone")}
|
|
431
|
+
${this.#Se(t.csp)}
|
|
432
|
+
`}return s.nothing}#xe(e,t,o){if(!e)return s.nothing;const r=e.value!==o,a=!r&&e.reportOnlyValue!==o,n=r?e.reportingEndpoint:e.reportOnlyReportingEndpoint;return Pe`
|
|
433
|
+
<devtools-report-key>${t}</devtools-report-key>
|
|
434
|
+
<devtools-report-value>
|
|
435
|
+
${r?e.value:e.reportOnlyValue}
|
|
436
|
+
${a?Pe`<span class="inline-comment">report-only</span>`:s.nothing}
|
|
437
|
+
${n?Pe`<span class="inline-name">${De(Re.reportingTo)}</span>${n}`:s.nothing}
|
|
438
|
+
</devtools-report-value>
|
|
439
|
+
`}#Te(e){const t=new g.CspParser.CspParser(e).csp.directives,o=[];for(const e in t)o.push(Pe`<div><span class="bold">${e}</span>${": "+t[e]?.join(", ")}</div>`);return o}#$e(e,t){return Pe`
|
|
440
|
+
<devtools-report-key>${e.isEnforced?o.i18n.lockedString("Content-Security-Policy"):Pe`${o.i18n.lockedString("Content-Security-Policy-Report-Only")}<devtools-button
|
|
441
|
+
.iconName=${"help"}
|
|
442
|
+
class='help-button'
|
|
443
|
+
.variant=${"icon"}
|
|
444
|
+
.size=${"SMALL"}
|
|
445
|
+
@click=${()=>{window.location.href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only"}}
|
|
446
|
+
jslog=${l.link("learn-more.csp-report-only").track({click:!0})}
|
|
447
|
+
></devtools-button>`}
|
|
448
|
+
</devtools-report-key>
|
|
449
|
+
<devtools-report-value>
|
|
450
|
+
${"HTTP"===e.source?o.i18n.lockedString("HTTP header"):o.i18n.lockedString("Meta tag")}
|
|
451
|
+
${this.#Te(e.effectiveDirectives)}
|
|
452
|
+
</devtools-report-value>
|
|
453
|
+
${t?Pe`<devtools-report-divider class="subsection-divider"></devtools-report-divider>`:s.nothing}
|
|
454
|
+
`}#Se(e){return Pe`
|
|
455
|
+
<devtools-report-divider></devtools-report-divider>
|
|
456
|
+
<devtools-report-section-header>
|
|
457
|
+
${De(Re.contentSecurityPolicy)}
|
|
458
|
+
</devtools-report-section-header>
|
|
459
|
+
${e?.length?e.map(((t,o)=>this.#$e(t,o<e?.length-1))):Pe`
|
|
460
|
+
<devtools-report-key>${o.i18n.lockedString("Content-Security-Policy")}</devtools-report-key>
|
|
461
|
+
<devtools-report-value>
|
|
462
|
+
${De(Re.none)}
|
|
463
|
+
</devtools-report-value>
|
|
464
|
+
`}
|
|
465
|
+
`}#ne(){return this.#Y?Pe`
|
|
466
|
+
<devtools-report-section-header>${De(Re.apiAvailability)}</devtools-report-section-header>
|
|
467
|
+
<devtools-report-section>
|
|
468
|
+
<span class="report-section">${De(Re.availabilityOfCertainApisDepends)}<x-link href="https://web.dev/why-coop-coep/" class="link" jslog=${l.link("learn-more.coop-coep").track({click:!0})}>${De(Re.learnMore)}</x-link></span>
|
|
469
|
+
</devtools-report-section>
|
|
470
|
+
${this.#Ce()}
|
|
471
|
+
${this.#Pe()}
|
|
472
|
+
<devtools-report-divider></devtools-report-divider>
|
|
473
|
+
`:s.nothing}#Ce(){if(this.#Y){const e=this.#Y.getGatedAPIFeatures();if(e){const t=e.includes("SharedArrayBuffers"),o=t&&e.includes("SharedArrayBuffersTransferAllowed"),r=De(o?Re.availableTransferable:t?Re.availableNotTransferable:Re.unavailable),a=o?De(Re.sharedarraybufferConstructorIs):t?De(Re.sharedarraybufferConstructorIsAvailable):"";function n(e){switch(e.getCrossOriginIsolatedContextType()){case"Isolated":return s.nothing;case"NotIsolated":return t?Pe`<span class="inline-comment">${De(Re.willRequireCrossoriginIsolated)}</span>`:Pe`<span class="inline-comment">${De(Re.requiresCrossoriginIsolated)}</span>`;case"NotIsolatedFeatureDisabled":if(!o)return Pe`<span class="inline-comment">${De(Re.transferRequiresCrossoriginIsolatedPermission)} <code>cross-origin-isolated</code></span>`}return s.nothing}return Pe`
|
|
474
|
+
<devtools-report-key>SharedArrayBuffers</devtools-report-key>
|
|
475
|
+
<devtools-report-value title=${a}>
|
|
476
|
+
${r}\xA0${n(this.#Y)}
|
|
477
|
+
</devtools-report-value>
|
|
478
|
+
`}}return s.nothing}#Pe(){if(this.#Y){const e=this.#Y.isCrossOriginIsolated(),t=De(e?Re.available:Re.unavailable),o=De(e?Re.thePerformanceAPI:Re.thePerformancemeasureuseragentspecificmemory);return Pe`
|
|
479
|
+
<devtools-report-key>${De(Re.measureMemory)}</devtools-report-key>
|
|
480
|
+
<devtools-report-value>
|
|
481
|
+
<span title=${o}>${t}</span>\xA0<x-link class="link" href="https://web.dev/monitor-total-page-memory-usage/" jslog=${l.link("learn-more.monitor-memory-usage").track({click:!0})}>${De(Re.learnMore)}</x-link>
|
|
482
|
+
</devtools-report-value>
|
|
483
|
+
`}return s.nothing}#se(){return this.#Y?Pe`
|
|
484
|
+
<devtools-report-section-header
|
|
485
|
+
title=${De(Re.thisAdditionalDebugging)}
|
|
486
|
+
>${De(Re.additionalInformation)}</devtools-report-section-header>
|
|
487
|
+
<devtools-report-key>${De(Re.frameId)}</devtools-report-key>
|
|
488
|
+
<devtools-report-value>
|
|
489
|
+
<div class="text-ellipsis" title=${this.#Y.id}>${this.#Y.id}</div>
|
|
490
|
+
</devtools-report-value>
|
|
491
|
+
<devtools-report-divider></devtools-report-divider>
|
|
492
|
+
`:s.nothing}}customElements.define("devtools-resources-frame-details-view",Ie);var Be=Object.freeze({__proto__:null,FrameDetailsReportView:Ie}),Ee=`:host{display:flex;padding:20px;height:100%}.heading{font-size:15px}devtools-data-grid{margin-top:20px}.info-icon{vertical-align:text-bottom;height:14px}.no-events-message{margin-top:20px}\n/*# sourceURL=${import.meta.resolve("./interestGroupAccessGrid.css")} */\n`;const{html:Fe}=s,Le={allInterestGroupStorageEvents:"All interest group storage events.",eventTime:"Event Time",eventType:"Access Type",groupOwner:"Owner",groupName:"Name",noEvents:"No interest group events detected",interestGroupDescription:"On this page you can inspect and analyze interest groups"},Ne=o.i18n.registerUIStrings("panels/application/components/InterestGroupAccessGrid.ts",Le),Ae=o.i18n.getLocalizedString.bind(void 0,Ne);class He extends HTMLElement{#e=this.attachShadow({mode:"open"});#Re=[];connectedCallback(){this.#$()}set data(e){this.#Re=e,this.#$()}#$(){s.render(Fe`
|
|
493
|
+
<style>${Ee}</style>
|
|
494
|
+
<style>${A.cssText}</style>
|
|
495
|
+
${0===this.#Re.length?Fe`
|
|
496
|
+
<div class="empty-state">
|
|
497
|
+
<span class="empty-state-header">${Ae(Le.noEvents)}</span>
|
|
498
|
+
<span class="empty-state-description">${Ae(Le.interestGroupDescription)}</span>
|
|
499
|
+
</div>`:Fe`
|
|
500
|
+
<div>
|
|
501
|
+
<span class="heading">Interest Groups</span>
|
|
502
|
+
<devtools-icon class="info-icon"
|
|
503
|
+
title=${Ae(Le.allInterestGroupStorageEvents)}
|
|
504
|
+
.data=${{iconName:"info",color:"var(--icon-default)",width:"16px"}}>
|
|
505
|
+
</devtools-icon>
|
|
506
|
+
${this.#Me()}
|
|
507
|
+
</div>`}
|
|
508
|
+
`,this.#e,{host:this})}#Me(){return Fe`
|
|
509
|
+
<devtools-data-grid @select=${this.#De} striped inline>
|
|
510
|
+
<table>
|
|
511
|
+
<tr>
|
|
512
|
+
<th id="event-time" sortable weight="10">${Ae(Le.eventTime)}</td>
|
|
513
|
+
<th id="event-type" sortable weight="5">${Ae(Le.eventType)}</td>
|
|
514
|
+
<th id="event-group-owner" sortable weight="10">${Ae(Le.groupOwner)}</td>
|
|
515
|
+
<th id="event-group-name" sortable weight="10">${Ae(Le.groupName)}</td>
|
|
516
|
+
</tr>
|
|
517
|
+
${this.#Re.map(((e,t)=>Fe`
|
|
518
|
+
<tr data-index=${t}>
|
|
519
|
+
<td>${new Date(1e3*e.accessTime).toLocaleString()}</td>
|
|
520
|
+
<td>${e.type}</td>
|
|
521
|
+
<td>${e.ownerOrigin}</td>
|
|
522
|
+
<td>${e.name}</td>
|
|
523
|
+
</tr>
|
|
524
|
+
`))}
|
|
525
|
+
</table>
|
|
526
|
+
</devtools-data-grid>
|
|
527
|
+
`}#De(e){e.detail&&this.dispatchEvent(new CustomEvent("select",{detail:this.#Re[Number(e.detail.dataset.index)]}))}}customElements.define("devtools-interest-group-access-grid",He);var Oe=Object.freeze({__proto__:null,InterestGroupAccessGrid:He,i18nString:Ae}),ze=`:host{display:flex;flex-direction:column}.devtools-link{color:var(--sys-color-primary);text-decoration:underline;cursor:pointer;outline-offset:2px}.devtools-link:focus-visible{outline-width:unset}input.devtools-text-input[type="text"]{padding:3px 6px;margin-left:4px;margin-right:4px;width:250px;height:25px}input.devtools-text-input[type="text"]::placeholder{color:var(--sys-color-token-subtle)}.protocol-handlers-row{margin:var(--sys-size-3) 0}.inline-icon{width:16px;height:16px;&[name="check-circle"]{color:var(--icon-checkmark-green)}}@media (forced-colors: active){.devtools-link:not(.devtools-link-prevent-click){color:linktext}.devtools-link:focus-visible{background:Highlight;color:HighlightText}}\n/*# sourceURL=${import.meta.resolve("./protocolHandlersView.css")} */\n`;const{html:We}=s,Ue={protocolDetected:"Found valid protocol handler registration in the {PH1}. With the app installed, test the registered protocols.",protocolNotDetected:"Define protocol handlers in the {PH1} to register your app as a handler for custom protocols when your app is installed.",needHelpReadOur:"Need help? Read {PH1}.",protocolHandlerRegistrations:"URL protocol handler registration for PWAs",manifest:"manifest",testProtocol:"Test protocol",dropdownLabel:"Select protocol handler",textboxLabel:"Query parameter or endpoint for protocol handler",textboxPlaceholder:"Enter URL"},qe=o.i18n.registerUIStrings("panels/application/components/ProtocolHandlersView.ts",Ue),je=o.i18n.getLocalizedString.bind(void 0,qe);class _e extends HTMLElement{#e=this.attachShadow({mode:"open"});#Ie=[];#Be=d.DevToolsPath.EmptyUrlString;#Ee="";#Fe="";set data(e){const t=this.#Be!==e.manifestLink;this.#Ie=e.protocolHandlers,this.#Be=e.manifestLink,t&&this.#Le()}#Le(){this.#Fe="",this.#Ee=this.#Ie[0]?.protocol??"",this.#$()}#Ne(){const e=k.XLink.XLink.create(this.#Be,je(Ue.manifest),void 0,void 0,"manifest"),t=this.#Ie.length>0?Ue.protocolDetected:Ue.protocolNotDetected;return We`
|
|
528
|
+
<div class="protocol-handlers-row status">
|
|
529
|
+
<devtools-icon class="inline-icon"
|
|
530
|
+
name=${this.#Ie.length>0?"check-circle":"info"}>
|
|
531
|
+
</devtools-icon>
|
|
532
|
+
${o.i18n.getFormatLocalizedString(qe,t,{PH1:e})}
|
|
533
|
+
</div>
|
|
534
|
+
`}#Ae(){if(0===this.#Ie.length)return s.nothing;const e=this.#Ie.filter((e=>e.protocol)).map((e=>We`<option value=${e.protocol} jslog=${l.item(e.protocol).track({click:!0})}>${e.protocol}://</option>`));return We`
|
|
535
|
+
<div class="protocol-handlers-row">
|
|
536
|
+
<select class="protocol-select" @change=${this.#He} aria-label=${je(Ue.dropdownLabel)}>
|
|
537
|
+
${e}
|
|
538
|
+
</select>
|
|
539
|
+
<input .value=${this.#Fe} class="devtools-text-input" type="text" @change=${this.#Oe} aria-label=${je(Ue.textboxLabel)}
|
|
540
|
+
placeholder=${je(Ue.textboxPlaceholder)} />
|
|
541
|
+
<devtools-button .variant=${"primary"} @click=${this.#ze}>
|
|
542
|
+
${je(Ue.testProtocol)}
|
|
543
|
+
</devtools-button>
|
|
544
|
+
</div>
|
|
545
|
+
`}#He=e=>{this.#Ee=e.target.value};#Oe=e=>{this.#Fe=e.target.value,this.#$()};#ze=()=>{const e=`${this.#Ee}://${this.#Fe}`;v.InspectorFrontendHost.InspectorFrontendHostInstance.openInNewTab(e),v.userMetrics.actionTaken(v.UserMetrics.Action.CaptureTestProtocolClicked)};#$(){const e=k.XLink.XLink.create("https://web.dev/url-protocol-handler/",je(Ue.protocolHandlerRegistrations),void 0,void 0,"learn-more");s.render(We`
|
|
546
|
+
<style>${ze}</style>
|
|
547
|
+
<style>${A.cssText}</style>
|
|
548
|
+
<style>${b.textInputStylesRaw.cssText}</style>
|
|
549
|
+
${this.#Ne()}
|
|
550
|
+
<div class="protocol-handlers-row">
|
|
551
|
+
${o.i18n.getFormatLocalizedString(qe,Ue.needHelpReadOur,{PH1:e})}
|
|
552
|
+
</div>
|
|
553
|
+
${this.#Ae()}
|
|
554
|
+
`,this.#e,{host:this})}}customElements.define("devtools-protocol-handlers-view",_e);var Ve=Object.freeze({__proto__:null,ProtocolHandlersView:_e});const Ge=new CSSStyleSheet;Ge.replaceSync(H.cssText);const Ke=new CSSStyleSheet;Ke.replaceSync(A.cssText);const Xe={noReportsToDisplay:"No reports to display",reportingApiDescription:"Here you will find reporting api reports that are generated by the page.",learnMore:"Learn more",status:"Status",destination:"Destination",generatedAt:"Generated at"},Je=o.i18n.registerUIStrings("panels/application/components/ReportsGrid.ts",Xe),Ye=o.i18n.getLocalizedString.bind(void 0,Je),{render:Qe,html:Ze}=s;class et extends HTMLElement{#e=this.attachShadow({mode:"open"});connectedCallback(){this.#e.adoptedStyleSheets=[Ge],this.#$()}#$(){Qe(Ze`
|
|
555
|
+
${Ye(Xe.status)}
|
|
556
|
+
<x-link href="https://web.dev/reporting-api/#report-status"
|
|
557
|
+
jslog=${l.link("report-status").track({click:!0})}>
|
|
558
|
+
<devtools-icon class="inline-icon" .data=${{iconName:"help",color:"var(--icon-link)",width:"16px",height:"16px"}}></devtools-icon>
|
|
559
|
+
</x-link>
|
|
560
|
+
`,this.#e,{host:this})}}class tt extends HTMLElement{#e=this.attachShadow({mode:"open"});#We=[];#Z=!1;connectedCallback(){this.#e.adoptedStyleSheets=[Ge,Ke],this.#Z=h.Runtime.experiments.isEnabled("protocol-monitor"),this.#$()}set data(e){this.#We=e.reports,this.#$()}#$(){Qe(Ze`
|
|
561
|
+
<div class="reporting-container" jslog=${l.section("reports")}>
|
|
562
|
+
<div class="reporting-header">${o.i18n.lockedString("Reports")}</div>
|
|
563
|
+
${this.#We.length>0?Ze`
|
|
564
|
+
<devtools-data-grid striped @select=${this.#De}>
|
|
565
|
+
<table>
|
|
566
|
+
<tr>
|
|
567
|
+
${this.#Z?Ze`
|
|
568
|
+
<th id="id" weight="30">${o.i18n.lockedString("ID")}</th>
|
|
569
|
+
`:""}
|
|
570
|
+
<th id="url" weight="30">${o.i18n.lockedString("URL")}</th>
|
|
571
|
+
<th id="type" weight="20">${o.i18n.lockedString("Type")}</th>
|
|
572
|
+
<th id="status" weight="20">
|
|
573
|
+
<devtools-resources-reports-grid-status-header></devtools-resources-reports-grid-status-header>
|
|
574
|
+
</th>
|
|
575
|
+
<th id="destination" weight="20">${Ye(Xe.destination)}</th>
|
|
576
|
+
<th id="timestamp" weight="20">${Ye(Xe.generatedAt)}</th>
|
|
577
|
+
<th id="body" weight="20">${o.i18n.lockedString("Body")}</th>
|
|
578
|
+
</tr>
|
|
579
|
+
${this.#We.map((e=>Ze`
|
|
580
|
+
<tr data-id=${e.id}>
|
|
581
|
+
${this.#Z?Ze`<td>${e.id}</td>`:""}
|
|
582
|
+
<td>${e.initiatorUrl}</td>
|
|
583
|
+
<td>${e.type}</td>
|
|
584
|
+
<td>${e.status}</td>
|
|
585
|
+
<td>${e.destination}</td>
|
|
586
|
+
<td>${new Date(1e3*e.timestamp).toLocaleString()}</td>
|
|
587
|
+
<td>${JSON.stringify(e.body)}</td>
|
|
588
|
+
</tr>
|
|
589
|
+
`))}
|
|
590
|
+
</table>
|
|
591
|
+
</devtools-data-grid>
|
|
592
|
+
`:Ze`
|
|
593
|
+
<div class="empty-state">
|
|
594
|
+
<span class="empty-state-header">${Ye(Xe.noReportsToDisplay)}</span>
|
|
595
|
+
<div class="empty-state-description">
|
|
596
|
+
<span>${Ye(Xe.reportingApiDescription)}</span>
|
|
597
|
+
${k.XLink.XLink.create("https://developer.chrome.com/docs/capabilities/web-apis/reporting-api",Ye(Xe.learnMore),void 0,void 0,"learn-more")}
|
|
598
|
+
</div>
|
|
599
|
+
</div>
|
|
600
|
+
`}
|
|
601
|
+
</div>
|
|
602
|
+
`,this.#e,{host:this})}#De(e){e.detail&&this.dispatchEvent(new CustomEvent("select",{detail:e.detail.dataset.id}))}}customElements.define("devtools-resources-reports-grid-status-header",et),customElements.define("devtools-resources-reports-grid",tt);var ot=Object.freeze({__proto__:null,ReportsGrid:tt,ReportsGridStatusHeader:et,i18nString:Ye}),rt=`:host{display:block;white-space:normal;max-width:400px}.router-rules{border:1px solid var(--sys-color-divider);border-spacing:0;padding-left:10px;padding-right:10px;line-height:initial;margin-top:0;padding-bottom:12px;text-wrap:balance}.router-rule{display:flex;margin-top:12px;flex-direction:column}.rule-id{color:var(--sys-color-token-subtle)}.item{display:flex;flex-direction:column;padding-left:10px}.condition,\n.source{list-style:none;display:flex;margin-top:4px;flex-direction:row}.condition > *,\n.source > *{word-break:break-all;line-height:1.5em}.rule-type{flex:0 0 18%}\n/*# sourceURL=${import.meta.resolve("./serviceWorkerRouterView.css")} */\n`;const{html:at,render:nt}=s;class it extends a.LegacyWrapper.WrappableComponent{#e=this.attachShadow({mode:"open"});#Ue=[];update(e){this.#Ue=e,this.#Ue.length>0&&this.#$()}#$(){nt(at`
|
|
603
|
+
<style>${rt}</style>
|
|
604
|
+
<ul class="router-rules">
|
|
605
|
+
${this.#Ue.map(this.#qe)}
|
|
606
|
+
</ul>
|
|
607
|
+
`,this.#e,{host:this})}#qe(e){return at`
|
|
608
|
+
<li class="router-rule">
|
|
609
|
+
<div class="rule-id">Rule ${e.id}</div>
|
|
610
|
+
<ul class="item">
|
|
611
|
+
<li class="condition">
|
|
612
|
+
<div class="rule-type">Condition</div>
|
|
613
|
+
<div class="rule-value">${e.condition}</div>
|
|
614
|
+
</li>
|
|
615
|
+
<li class="source">
|
|
616
|
+
<div class="rule-type">Source</div>
|
|
617
|
+
<div class="rule-value">${e.source}</div>
|
|
618
|
+
</li>
|
|
619
|
+
</ul>
|
|
620
|
+
</li>
|
|
621
|
+
`}}customElements.define("devtools-service-worker-router-view",it);var st=Object.freeze({__proto__:null,ServiceWorkerRouterView:it}),lt=`:host{padding:20px;height:100%;display:flex}.heading{font-size:15px}devtools-data-grid{margin-top:20px}.info-icon{vertical-align:text-bottom;height:14px}.no-events-message{margin-top:20px}\n/*# sourceURL=${import.meta.resolve("./sharedStorageAccessGrid.css")} */\n`;const{render:ct,html:dt}=s,ht={sharedStorage:"Shared storage",allSharedStorageEvents:"All shared storage events for this page.",eventTime:"Event Time",eventScope:"Access Scope",eventMethod:"Access Method",ownerOrigin:"Owner Origin",ownerSite:"Owner Site",eventParams:"Optional Event Params",noEvents:"No shared storage events detected",sharedStorageDescription:"On this page you can view, add, edit and delete shared storage key-value pairs and view shared storage events.",learnMore:"Learn more"},ut=o.i18n.registerUIStrings("panels/application/components/SharedStorageAccessGrid.ts",ht),pt=o.i18n.getLocalizedString.bind(void 0,ut);class gt extends HTMLElement{#e=this.attachShadow({mode:"open"});#Re=[];connectedCallback(){this.#$()}set data(e){this.#Re=e.sort(((e,t)=>e.accessTime-t.accessTime)),this.#$()}#$(){ct(dt`
|
|
622
|
+
<style>${lt}</style>
|
|
623
|
+
<style>${A.cssText}</style>
|
|
624
|
+
${this.#je()}`,this.#e,{host:this})}#je(){return 0===this.#Re.length?dt`
|
|
625
|
+
<div class="empty-state" jslog=${l.section().context("empty-view")}>
|
|
626
|
+
<div class="empty-state-header">${pt(ht.noEvents)}</div>
|
|
627
|
+
<div class="empty-state-description">
|
|
628
|
+
<span>${pt(ht.sharedStorageDescription)}</span>
|
|
629
|
+
${k.XLink.XLink.create("https://developers.google.com/privacy-sandbox/private-advertising/shared-storage",pt(ht.learnMore),"x-link",void 0,"learn-more")}
|
|
630
|
+
</div>
|
|
631
|
+
</div>
|
|
632
|
+
`:dt`
|
|
633
|
+
<div>
|
|
634
|
+
<span class="heading">${pt(ht.sharedStorage)}</span>
|
|
635
|
+
<devtools-icon class="info-icon"
|
|
636
|
+
title=${pt(ht.allSharedStorageEvents)}
|
|
637
|
+
.data=${{iconName:"info",color:"var(--icon-default)",width:"16px"}}>
|
|
638
|
+
</devtools-icon>
|
|
639
|
+
<devtools-data-grid striped inline @select=${this.#De}>
|
|
640
|
+
<table>
|
|
641
|
+
<tr>
|
|
642
|
+
<th id="event-time" weight="10" sortable>
|
|
643
|
+
${pt(ht.eventTime)}
|
|
644
|
+
</th>
|
|
645
|
+
<th id="event-scope" weight="10" sortable>
|
|
646
|
+
${pt(ht.eventScope)}
|
|
647
|
+
</th>
|
|
648
|
+
<th id="event-method" weight="10" sortable>
|
|
649
|
+
${pt(ht.eventMethod)}
|
|
650
|
+
</th>
|
|
651
|
+
<th id="event-owner-origin" weight="10" sortable>
|
|
652
|
+
${pt(ht.ownerOrigin)}
|
|
653
|
+
</th>
|
|
654
|
+
<th id="event-owner-site" weight="10" sortable>
|
|
655
|
+
${pt(ht.ownerSite)}
|
|
656
|
+
</th>
|
|
657
|
+
<th id="event-params" weight="10" sortable>
|
|
658
|
+
${pt(ht.eventParams)}
|
|
659
|
+
</th>
|
|
660
|
+
</tr>
|
|
661
|
+
${this.#Re.map(((e,t)=>dt`
|
|
662
|
+
<tr data-index=${t}>
|
|
663
|
+
<td data-value=${e.accessTime}>
|
|
664
|
+
${new Date(1e3*e.accessTime).toLocaleString()}
|
|
665
|
+
</td>
|
|
666
|
+
<td>${e.scope}</td>
|
|
667
|
+
<td>${e.method}</td>
|
|
668
|
+
<td>${e.ownerOrigin}</td>
|
|
669
|
+
<td>${e.ownerSite}</td>
|
|
670
|
+
<td>${JSON.stringify(e.params)}</td>
|
|
671
|
+
</tr>
|
|
672
|
+
`))}
|
|
673
|
+
</table>
|
|
674
|
+
</devtools-data-grid>
|
|
675
|
+
</div>
|
|
676
|
+
`}#De(e){const t=parseInt(e.detail.dataset.index||"",10),o=isNaN(t)?void 0:this.#Re[t];o&&this.dispatchEvent(new CustomEvent("select",{detail:o}))}}customElements.define("devtools-shared-storage-access-grid",gt);var mt=Object.freeze({__proto__:null,SharedStorageAccessGrid:gt,i18nString:pt}),vt={cssText:`.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}devtools-icon{vertical-align:text-bottom;margin-left:var(--sys-size-3);width:16px;height:16px}devtools-button{vertical-align:sub;margin-left:var(--sys-size-3)}.entropy-budget{display:flex;align-items:center;height:18px}\n/*# sourceURL=${import.meta.resolve("./sharedStorageMetadataView.css")} */\n`};const{html:bt}=s,kt={origin:"Origin",topLevelSite:"Top-level site",opaque:"(opaque)",isOpaque:"Is opaque",isThirdParty:"Is third-party",yes:"Yes",no:"No",yesBecauseTopLevelIsOpaque:"Yes, because the top-level site is opaque",yesBecauseKeyIsOpaque:"Yes, because the storage key is opaque",yesBecauseOriginNotInTopLevelSite:"Yes, because the origin is outside of the top-level site",yesBecauseAncestorChainHasCrossSite:"Yes, because the ancestry chain contains a third-party origin",loading:"Loading…",bucketName:"Bucket name",defaultBucket:"Default bucket",persistent:"Is persistent",durability:"Durability",quota:"Quota",expiration:"Expiration",none:"None",deleteBucket:"Delete bucket",confirmBucketDeletion:'Delete the "{PH1}" bucket?',bucketWillBeRemoved:"The selected storage bucket and contained data will be removed."},ft=o.i18n.registerUIStrings("panels/application/components/StorageMetadataView.ts",kt),wt=o.i18n.getLocalizedString.bind(void 0,ft);class yt extends a.LegacyWrapper.WrappableComponent{#e=this.attachShadow({mode:"open"});#_e;#Ve=null;#Ge=null;getShadow(){return this.#e}setStorageKey(e){this.#Ve=r.StorageKeyManager.parseStorageKey(e),this.render()}setStorageBucket(e){this.#Ge=e,this.setStorageKey(e.bucket.storageKey)}enableStorageBucketControls(e){this.#_e=e,this.#Ve&&this.render()}render(){return n.write("StorageMetadataView render",(async()=>{s.render(bt`
|
|
677
|
+
<devtools-report .data=${{reportTitle:this.getTitle()??wt(kt.loading)}}>
|
|
678
|
+
${await this.renderReportContent()}
|
|
679
|
+
</devtools-report>`,this.#e,{host:this})}))}getTitle(){if(!this.#Ve)return;const e=this.#Ve.origin,t=this.#Ge?.bucket.name||wt(kt.defaultBucket);return this.#_e?`${t} - ${e}`:e}key(e){return bt`<devtools-report-key>${e}</devtools-report-key>`}value(e){return bt`<devtools-report-value>${e}</devtools-report-value>`}async renderReportContent(){if(!this.#Ve)return s.nothing;const e=this.#Ve.origin,t=Boolean(this.#Ve.components.get("3")),o=Boolean(this.#Ve.components.get("1")),r=Boolean(this.#Ve.components.get("4")),a=this.#Ve.components.get("0"),n=t?wt(kt.yesBecauseAncestorChainHasCrossSite):o?wt(kt.yesBecauseKeyIsOpaque):r?wt(kt.yesBecauseTopLevelIsOpaque):a&&e!==a?wt(kt.yesBecauseOriginNotInTopLevelSite):null;return bt`
|
|
680
|
+
${this.key(wt(kt.origin))}
|
|
681
|
+
${this.value(bt`<div class="text-ellipsis" title=${e}>${e}</div>`)}
|
|
682
|
+
${a||r?this.key(wt(kt.topLevelSite)):s.nothing}
|
|
683
|
+
${a?this.value(a):s.nothing}
|
|
684
|
+
${r?this.value(wt(kt.opaque)):s.nothing}
|
|
685
|
+
${n?bt`${this.key(wt(kt.isThirdParty))}${this.value(n)}`:s.nothing}
|
|
686
|
+
${o||r?this.key(wt(kt.isOpaque)):s.nothing}
|
|
687
|
+
${o?this.value(wt(kt.yes)):s.nothing}
|
|
688
|
+
${r?this.value(wt(kt.yesBecauseTopLevelIsOpaque)):s.nothing}
|
|
689
|
+
${this.#Ge?this.#Ke():s.nothing}
|
|
690
|
+
${this.#_e?this.#Xe():s.nothing}`}#Ke(){if(!this.#Ge)throw new Error("Should not call #renderStorageBucketInfo if #bucket is null.");const{bucket:{name:e},persistent:t,durability:r,quota:a}=this.#Ge;return bt`
|
|
691
|
+
${this.key(wt(kt.bucketName))}
|
|
692
|
+
${this.value(e||"default")}
|
|
693
|
+
${this.key(wt(kt.persistent))}
|
|
694
|
+
${this.value(wt(t?kt.yes:kt.no))}
|
|
695
|
+
${this.key(wt(kt.durability))}
|
|
696
|
+
${this.value(r)}
|
|
697
|
+
${this.key(wt(kt.quota))}
|
|
698
|
+
${this.value(o.ByteUtilities.bytesToString(a))}
|
|
699
|
+
${this.key(wt(kt.expiration))}
|
|
700
|
+
${this.value(this.#Je())}`}#Je(){if(!this.#Ge)throw new Error("Should not call #getExpirationString if #bucket is null.");const{expiration:e}=this.#Ge;return 0===e?wt(kt.none):new Date(1e3*e).toLocaleString()}#Xe(){return bt`
|
|
701
|
+
<devtools-report-divider></devtools-report-divider>
|
|
702
|
+
<devtools-report-section>
|
|
703
|
+
<devtools-button
|
|
704
|
+
aria-label=${wt(kt.deleteBucket)}
|
|
705
|
+
.variant=${"outlined"}
|
|
706
|
+
@click=${this.#Ye}>
|
|
707
|
+
${wt(kt.deleteBucket)}
|
|
708
|
+
</devtools-button>
|
|
709
|
+
</devtools-report-section>`}async#Ye(){if(!this.#_e||!this.#Ge)throw new Error("Should not call #deleteBucket if #storageBucketsModel or #storageBucket is null.");await k.UIUtils.ConfirmDialog.show(wt(kt.bucketWillBeRemoved),wt(kt.confirmBucketDeletion,{PH1:this.#Ge.bucket.name||""}),this,{jslogContext:"delete-bucket-confirmation"})&&this.#_e.deleteBucket(this.#Ge.bucket)}}customElements.define("devtools-storage-metadata-view",yt);var xt=Object.freeze({__proto__:null,StorageMetadataView:yt});const St=new CSSStyleSheet;St.replaceSync(vt.cssText);const{html:Tt}=s,$t={sharedStorage:"Shared storage",creation:"Creation Time",notYetCreated:"Not yet created",numEntries:"Number of Entries",entropyBudget:"Entropy Budget for Fenced Frames",budgetExplanation:"Remaining data leakage allowed within a 24-hour period for this origin in bits of entropy",resetBudget:"Reset Budget",numBytesUsed:"Number of Bytes Used"},Ct=o.i18n.registerUIStrings("panels/application/components/SharedStorageMetadataView.ts",$t),Pt=o.i18n.getLocalizedString.bind(void 0,Ct);class Rt extends yt{#Qe;#Ze=null;#et=0;#tt=0;#ot=0;constructor(e,t){super(),this.#Qe=e,this.classList.add("overflow-auto"),this.setStorageKey(t)}async#rt(){await this.#Qe.resetBudget(),await this.render()}connectedCallback(){this.getShadow().adoptedStyleSheets=[St]}getTitle(){return Pt($t.sharedStorage)}async renderReportContent(){const e=await this.#Qe.getMetadata();return this.#Ze=e?.creationTime??null,this.#et=e?.length??0,this.#tt=e?.bytesUsed??0,this.#ot=e?.remainingBudget??0,Tt`
|
|
710
|
+
${await super.renderReportContent()}
|
|
711
|
+
${this.key(Pt($t.creation))}
|
|
712
|
+
${this.value(this.#at())}
|
|
713
|
+
${this.key(Pt($t.numEntries))}
|
|
714
|
+
${this.value(String(this.#et))}
|
|
715
|
+
${this.key(Pt($t.numBytesUsed))}
|
|
716
|
+
${this.value(String(this.#tt))}
|
|
717
|
+
${this.key(Tt`<span class="entropy-budget">${Pt($t.entropyBudget)}<devtools-icon name="info" title=${Pt($t.budgetExplanation)}></devtools-icon></span>`)}
|
|
718
|
+
${this.value(Tt`<span class="entropy-budget">${this.#ot}${this.#nt()}</span>`)}`}#at(){if(!this.#Ze)return Tt`${Pt($t.notYetCreated)}`;const e=new Date(1e3*this.#Ze);return Tt`${e.toLocaleString()}`}#nt(){return Tt`
|
|
719
|
+
<devtools-button .iconName=${"undo"}
|
|
720
|
+
.jslogContext=${"reset-entropy-budget"}
|
|
721
|
+
.size=${"SMALL"}
|
|
722
|
+
.title=${Pt($t.resetBudget)}
|
|
723
|
+
.variant=${"icon"}
|
|
724
|
+
@click=${this.#rt.bind(this)}></devtools-button>
|
|
725
|
+
`}}customElements.define("devtools-shared-storage-metadata-view",Rt);var Mt=Object.freeze({__proto__:null,SharedStorageMetadataView:Rt}),Dt=`:host{padding:20px;height:100%;display:flex}.heading{font-size:15px}devtools-data-grid{margin-top:20px;& devtools-button{width:14px;height:14px}}devtools-icon{width:14px;height:14px}.no-tt-message{margin-top:20px}\n/*# sourceURL=${import.meta.resolve("./trustTokensView.css")} */\n`;const{html:It}=s,Bt={issuer:"Issuer",storedTokenCount:"Stored token count",allStoredTrustTokensAvailableIn:"All stored private state tokens available in this browser instance.",noTrustTokens:"No private state tokens detected",trustTokensDescription:"On this page you can view all available private state tokens in the current browsing context.",deleteTrustTokens:"Delete all stored private state tokens issued by {PH1}.",trustTokens:"Private state tokens",learnMore:"Learn more"},Et=o.i18n.registerUIStrings("panels/application/components/TrustTokensView.ts",Bt),Ft=o.i18n.getLocalizedString.bind(void 0,Et);class Lt extends a.LegacyWrapper.WrappableComponent{#e=this.attachShadow({mode:"open"});#it(e){const t=r.TargetManager.TargetManager.instance().primaryPageTarget();t?.storageAgent().invoke_clearTrustTokens({issuerOrigin:e})}connectedCallback(){this.wrapper?.contentElement.classList.add("vbox"),this.render()}async render(){const e=r.TargetManager.TargetManager.instance().primaryPageTarget();if(!e)return;const{tokens:t}=await e.storageAgent().invoke_getTrustTokens();t.sort(((e,t)=>e.issuerOrigin.localeCompare(t.issuerOrigin))),await n.write("Render TrustTokensView",(()=>{s.render(It`
|
|
726
|
+
<style>${Dt}</style>
|
|
727
|
+
<style>${A.cssText}</style>
|
|
728
|
+
${this.#je(t)}
|
|
729
|
+
`,this.#e,{host:this}),this.isConnected&&setTimeout((()=>this.render()),1e3)}))}#je(e){return 0===e.length?It`
|
|
730
|
+
<div class="empty-state" jslog=${l.section().context("empty-view")}>
|
|
731
|
+
<div class="empty-state-header">${Ft(Bt.noTrustTokens)}</div>
|
|
732
|
+
<div class="empty-state-description">
|
|
733
|
+
<span>${Ft(Bt.trustTokensDescription)}</span>
|
|
734
|
+
${k.XLink.XLink.create("https://developers.google.com/privacy-sandbox/protections/private-state-tokens",Ft(Bt.learnMore),"x-link",void 0,"learn-more")}
|
|
735
|
+
</div>
|
|
736
|
+
</div>
|
|
737
|
+
`:It`
|
|
738
|
+
<div>
|
|
739
|
+
<span class="heading">${Ft(Bt.trustTokens)}</span>
|
|
740
|
+
<devtools-icon name="info" title=${Ft(Bt.allStoredTrustTokensAvailableIn)}></devtools-icon>
|
|
741
|
+
<devtools-data-grid striped inline>
|
|
742
|
+
<table>
|
|
743
|
+
<tr>
|
|
744
|
+
<th id="issuer" weight="10" sortable>${Ft(Bt.issuer)}</th>
|
|
745
|
+
<th id="count" weight="5" sortable>${Ft(Bt.storedTokenCount)}</th>
|
|
746
|
+
<th id="delete-button" weight="1" sortable></th>
|
|
747
|
+
</tr>
|
|
748
|
+
${e.filter((e=>e.count>0)).map((e=>It`
|
|
749
|
+
<tr>
|
|
750
|
+
<td>${Nt(e.issuerOrigin)}</td>
|
|
751
|
+
<td>${e.count}</td>
|
|
752
|
+
<td>
|
|
753
|
+
<devtools-button .iconName=${"bin"}
|
|
754
|
+
.jslogContext=${"delete-all"}
|
|
755
|
+
.size=${"SMALL"}
|
|
756
|
+
.title=${Ft(Bt.deleteTrustTokens,{PH1:Nt(e.issuerOrigin)})}
|
|
757
|
+
.variant=${"icon"}
|
|
758
|
+
@click=${this.#it.bind(this,Nt(e.issuerOrigin))}></devtools-button>
|
|
759
|
+
</td>
|
|
760
|
+
</tr>
|
|
761
|
+
`))}
|
|
762
|
+
</table>
|
|
763
|
+
</devtools-data-grid>
|
|
764
|
+
</div>
|
|
765
|
+
`}}function Nt(e){return e.replace(/\/$/,"")}customElements.define("devtools-trust-tokens-storage-view",Lt);var At=Object.freeze({__proto__:null,TrustTokensView:Lt,i18nString:Ft});export{M as BackForwardCacheView,N as BounceTrackingMitigationsView,_ as EndpointsGrid,Be as FrameDetailsView,Oe as InterestGroupAccessGrid,fe as OriginTrialTreeView,Ve as ProtocolHandlersView,ot as ReportsGrid,st as ServiceWorkerRouterView,mt as SharedStorageAccessGrid,Mt as SharedStorageMetadataView,te as StackTrace,xt as StorageMetadataView,At as TrustTokensView};
|