@react-native/debugger-frontend 0.73.0-nightly-20230922-52104c6ee
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/BUILD_INFO +10 -0
- package/README.md +22 -0
- package/dist/third-party/LICENSE +28 -0
- package/dist/third-party/front_end/Images/3d-center.svg +1 -0
- package/dist/third-party/front_end/Images/3d-pan.svg +1 -0
- package/dist/third-party/front_end/Images/3d-rotate.svg +1 -0
- package/dist/third-party/front_end/Images/Images.js +223 -0
- package/dist/third-party/front_end/Images/accelerometer-back.svg +1 -0
- package/dist/third-party/front_end/Images/accelerometer-bottom.png +0 -0
- package/dist/third-party/front_end/Images/accelerometer-front.svg +1 -0
- package/dist/third-party/front_end/Images/accelerometer-left.png +0 -0
- package/dist/third-party/front_end/Images/accelerometer-right.png +0 -0
- package/dist/third-party/front_end/Images/accelerometer-top.png +0 -0
- package/dist/third-party/front_end/Images/align-content-center.svg +1 -0
- package/dist/third-party/front_end/Images/align-content-end.svg +1 -0
- package/dist/third-party/front_end/Images/align-content-space-around.svg +1 -0
- package/dist/third-party/front_end/Images/align-content-space-between.svg +1 -0
- package/dist/third-party/front_end/Images/align-content-space-evenly.svg +1 -0
- package/dist/third-party/front_end/Images/align-content-start.svg +1 -0
- package/dist/third-party/front_end/Images/align-content-stretch.svg +1 -0
- package/dist/third-party/front_end/Images/align-items-baseline.svg +1 -0
- package/dist/third-party/front_end/Images/align-items-center.svg +1 -0
- package/dist/third-party/front_end/Images/align-items-end.svg +1 -0
- package/dist/third-party/front_end/Images/align-items-start.svg +1 -0
- package/dist/third-party/front_end/Images/align-items-stretch.svg +1 -0
- package/dist/third-party/front_end/Images/align-self-center.svg +1 -0
- package/dist/third-party/front_end/Images/align-self-end.svg +1 -0
- package/dist/third-party/front_end/Images/align-self-start.svg +1 -0
- package/dist/third-party/front_end/Images/align-self-stretch.svg +1 -0
- package/dist/third-party/front_end/Images/arrow-down.svg +1 -0
- package/dist/third-party/front_end/Images/arrow-drop-down-dark.svg +1 -0
- package/dist/third-party/front_end/Images/arrow-drop-down-light.svg +1 -0
- package/dist/third-party/front_end/Images/arrow-up-down-circle.svg +1 -0
- package/dist/third-party/front_end/Images/arrow-up-down.svg +1 -0
- package/dist/third-party/front_end/Images/arrow-up.svg +1 -0
- package/dist/third-party/front_end/Images/bell.svg +1 -0
- package/dist/third-party/front_end/Images/bezier-curve-filled.svg +1 -0
- package/dist/third-party/front_end/Images/bin.svg +1 -0
- package/dist/third-party/front_end/Images/bottom-panel-close.svg +1 -0
- package/dist/third-party/front_end/Images/bottom-panel-open.svg +1 -0
- package/dist/third-party/front_end/Images/brackets.svg +1 -0
- package/dist/third-party/front_end/Images/breakpoint-circle.svg +1 -0
- package/dist/third-party/front_end/Images/breakpoint-crossed-filled.svg +1 -0
- package/dist/third-party/front_end/Images/breakpoint-crossed.svg +1 -0
- package/dist/third-party/front_end/Images/brush-filled.svg +1 -0
- package/dist/third-party/front_end/Images/brush.svg +1 -0
- package/dist/third-party/front_end/Images/bug.svg +1 -0
- package/dist/third-party/front_end/Images/bundle.svg +1 -0
- package/dist/third-party/front_end/Images/check-circle.svg +1 -0
- package/dist/third-party/front_end/Images/check-double.svg +1 -0
- package/dist/third-party/front_end/Images/checker.svg +1 -0
- package/dist/third-party/front_end/Images/checkmark.svg +1 -0
- package/dist/third-party/front_end/Images/chevron-double-right.svg +1 -0
- package/dist/third-party/front_end/Images/chevron-down.svg +1 -0
- package/dist/third-party/front_end/Images/chevron-left-dot.svg +1 -0
- package/dist/third-party/front_end/Images/chevron-left.svg +1 -0
- package/dist/third-party/front_end/Images/chevron-right.svg +1 -0
- package/dist/third-party/front_end/Images/chevron-up.svg +1 -0
- package/dist/third-party/front_end/Images/chromeLeft.avif +0 -0
- package/dist/third-party/front_end/Images/chromeMiddle.avif +0 -0
- package/dist/third-party/front_end/Images/chromeRight.avif +0 -0
- package/dist/third-party/front_end/Images/clear-list.svg +1 -0
- package/dist/third-party/front_end/Images/clear.svg +1 -0
- package/dist/third-party/front_end/Images/cloud.svg +1 -0
- package/dist/third-party/front_end/Images/code-circle.svg +1 -0
- package/dist/third-party/front_end/Images/code.svg +1 -0
- package/dist/third-party/front_end/Images/colon.svg +1 -0
- package/dist/third-party/front_end/Images/color-picker-filled.svg +1 -0
- package/dist/third-party/front_end/Images/color-picker.svg +1 -0
- package/dist/third-party/front_end/Images/console-conditional-breakpoint.svg +1 -0
- package/dist/third-party/front_end/Images/console-logpoint.svg +1 -0
- package/dist/third-party/front_end/Images/cookie.svg +1 -0
- package/dist/third-party/front_end/Images/copy.svg +1 -0
- package/dist/third-party/front_end/Images/credit-card.svg +1 -0
- package/dist/third-party/front_end/Images/cross-circle-filled.svg +1 -0
- package/dist/third-party/front_end/Images/cross-circle.svg +1 -0
- package/dist/third-party/front_end/Images/cross.svg +1 -0
- package/dist/third-party/front_end/Images/cssoverview_icons_2x.avif +0 -0
- package/dist/third-party/front_end/Images/custom-typography.svg +1 -0
- package/dist/third-party/front_end/Images/database.svg +1 -0
- package/dist/third-party/front_end/Images/deployed.svg +1 -0
- package/dist/third-party/front_end/Images/device-fold.svg +1 -0
- package/dist/third-party/front_end/Images/devices.svg +1 -0
- package/dist/third-party/front_end/Images/dock-bottom.svg +1 -0
- package/dist/third-party/front_end/Images/dock-left.svg +1 -0
- package/dist/third-party/front_end/Images/dock-right.svg +1 -0
- package/dist/third-party/front_end/Images/dock-window.svg +1 -0
- package/dist/third-party/front_end/Images/document.svg +1 -0
- package/dist/third-party/front_end/Images/dots-horizontal.svg +1 -0
- package/dist/third-party/front_end/Images/dots-vertical.svg +1 -0
- package/dist/third-party/front_end/Images/download.svg +1 -0
- package/dist/third-party/front_end/Images/edit.svg +1 -0
- package/dist/third-party/front_end/Images/empty.svg +1 -0
- package/dist/third-party/front_end/Images/errorWave.svg +1 -0
- package/dist/third-party/front_end/Images/exclamation.svg +1 -0
- package/dist/third-party/front_end/Images/experiment-check.svg +1 -0
- package/dist/third-party/front_end/Images/experiment.svg +1 -0
- package/dist/third-party/front_end/Images/eye.svg +1 -0
- package/dist/third-party/front_end/Images/file-document.svg +1 -0
- package/dist/third-party/front_end/Images/file-font.svg +1 -0
- package/dist/third-party/front_end/Images/file-generic.svg +1 -0
- package/dist/third-party/front_end/Images/file-image.svg +1 -0
- package/dist/third-party/front_end/Images/file-script.svg +1 -0
- package/dist/third-party/front_end/Images/file-snippet.svg +1 -0
- package/dist/third-party/front_end/Images/file-stylesheet.svg +1 -0
- package/dist/third-party/front_end/Images/filter-clear.svg +1 -0
- package/dist/third-party/front_end/Images/filter-filled.svg +1 -0
- package/dist/third-party/front_end/Images/filter.svg +1 -0
- package/dist/third-party/front_end/Images/flex-direction.svg +1 -0
- package/dist/third-party/front_end/Images/flex-no-wrap.svg +1 -0
- package/dist/third-party/front_end/Images/flex-wrap.svg +1 -0
- package/dist/third-party/front_end/Images/flow.svg +1 -0
- package/dist/third-party/front_end/Images/fold-more.svg +1 -0
- package/dist/third-party/front_end/Images/folder.svg +1 -0
- package/dist/third-party/front_end/Images/frame-crossed.svg +1 -0
- package/dist/third-party/front_end/Images/frame-icon.svg +1 -0
- package/dist/third-party/front_end/Images/frame.svg +1 -0
- package/dist/third-party/front_end/Images/gear-filled.svg +1 -0
- package/dist/third-party/front_end/Images/gear.svg +1 -0
- package/dist/third-party/front_end/Images/gears.svg +1 -0
- package/dist/third-party/front_end/Images/heap-snapshot.svg +1 -0
- package/dist/third-party/front_end/Images/heap-snapshots.svg +1 -0
- package/dist/third-party/front_end/Images/help.svg +1 -0
- package/dist/third-party/front_end/Images/iframe-crossed.svg +1 -0
- package/dist/third-party/front_end/Images/iframe.svg +1 -0
- package/dist/third-party/front_end/Images/import.svg +1 -0
- package/dist/third-party/front_end/Images/info-filled.svg +1 -0
- package/dist/third-party/front_end/Images/info.svg +1 -0
- package/dist/third-party/front_end/Images/issue-cross-filled.svg +1 -0
- package/dist/third-party/front_end/Images/issue-exclamation-filled.svg +1 -0
- package/dist/third-party/front_end/Images/issue-questionmark-filled.svg +1 -0
- package/dist/third-party/front_end/Images/issue-text-filled.svg +1 -0
- package/dist/third-party/front_end/Images/justify-content-center.svg +1 -0
- package/dist/third-party/front_end/Images/justify-content-end.svg +1 -0
- package/dist/third-party/front_end/Images/justify-content-space-around.svg +1 -0
- package/dist/third-party/front_end/Images/justify-content-space-between.svg +1 -0
- package/dist/third-party/front_end/Images/justify-content-space-evenly.svg +1 -0
- package/dist/third-party/front_end/Images/justify-content-start.svg +1 -0
- package/dist/third-party/front_end/Images/justify-items-center.svg +1 -0
- package/dist/third-party/front_end/Images/justify-items-end.svg +1 -0
- package/dist/third-party/front_end/Images/justify-items-start.svg +1 -0
- package/dist/third-party/front_end/Images/justify-items-stretch.svg +1 -0
- package/dist/third-party/front_end/Images/keyboard-pen.svg +1 -0
- package/dist/third-party/front_end/Images/large-arrow-right-filled.svg +1 -0
- package/dist/third-party/front_end/Images/largeIcons.svg +2 -0
- package/dist/third-party/front_end/Images/layers-filled.svg +1 -0
- package/dist/third-party/front_end/Images/layers.svg +1 -0
- package/dist/third-party/front_end/Images/left-panel-close.svg +1 -0
- package/dist/third-party/front_end/Images/left-panel-open.svg +1 -0
- package/dist/third-party/front_end/Images/lighthouse_logo.svg +1 -0
- package/dist/third-party/front_end/Images/list.svg +1 -0
- package/dist/third-party/front_end/Images/mediumIcons.svg +1 -0
- package/dist/third-party/front_end/Images/memory.svg +1 -0
- package/dist/third-party/front_end/Images/minus.svg +1 -0
- package/dist/third-party/front_end/Images/minus_icon.svg +1 -0
- package/dist/third-party/front_end/Images/navigationControls.png +0 -0
- package/dist/third-party/front_end/Images/navigationControls_2x.png +0 -0
- package/dist/third-party/front_end/Images/network-settings.svg +1 -0
- package/dist/third-party/front_end/Images/nodeIcon.avif +0 -0
- package/dist/third-party/front_end/Images/node_search_icon.svg +1 -0
- package/dist/third-party/front_end/Images/open-externally.svg +1 -0
- package/dist/third-party/front_end/Images/pause.svg +1 -0
- package/dist/third-party/front_end/Images/performance.svg +1 -0
- package/dist/third-party/front_end/Images/person.svg +1 -0
- package/dist/third-party/front_end/Images/play.svg +1 -0
- package/dist/third-party/front_end/Images/plus.svg +1 -0
- package/dist/third-party/front_end/Images/popoverArrows.png +0 -0
- package/dist/third-party/front_end/Images/popup.svg +1 -0
- package/dist/third-party/front_end/Images/preview_feature_video_thumbnail.svg +1 -0
- package/dist/third-party/front_end/Images/profile.svg +1 -0
- package/dist/third-party/front_end/Images/react_native/welcomeIcon.png +0 -0
- package/dist/third-party/front_end/Images/record-start.svg +1 -0
- package/dist/third-party/front_end/Images/record-stop.svg +1 -0
- package/dist/third-party/front_end/Images/redo.svg +1 -0
- package/dist/third-party/front_end/Images/refresh.svg +1 -0
- package/dist/third-party/front_end/Images/replace.svg +1 -0
- package/dist/third-party/front_end/Images/replay.svg +1 -0
- package/dist/third-party/front_end/Images/resizeDiagonal.svg +1 -0
- package/dist/third-party/front_end/Images/resizeHorizontal.svg +1 -0
- package/dist/third-party/front_end/Images/resizeVertical.svg +1 -0
- package/dist/third-party/front_end/Images/resume.svg +1 -0
- package/dist/third-party/front_end/Images/review.svg +1 -0
- package/dist/third-party/front_end/Images/right-panel-close.svg +1 -0
- package/dist/third-party/front_end/Images/right-panel-open.svg +1 -0
- package/dist/third-party/front_end/Images/screen-rotation.svg +1 -0
- package/dist/third-party/front_end/Images/search.svg +1 -0
- package/dist/third-party/front_end/Images/securityIcons.svg +1 -0
- package/dist/third-party/front_end/Images/select-element.svg +1 -0
- package/dist/third-party/front_end/Images/settings_14x14_icon.svg +1 -0
- package/dist/third-party/front_end/Images/shadow.svg +1 -0
- package/dist/third-party/front_end/Images/smallIcons.svg +1 -0
- package/dist/third-party/front_end/Images/snippet.svg +1 -0
- package/dist/third-party/front_end/Images/star.svg +1 -0
- package/dist/third-party/front_end/Images/step-into.svg +1 -0
- package/dist/third-party/front_end/Images/step-out.svg +1 -0
- package/dist/third-party/front_end/Images/step-over.svg +1 -0
- package/dist/third-party/front_end/Images/step.svg +1 -0
- package/dist/third-party/front_end/Images/stop.svg +1 -0
- package/dist/third-party/front_end/Images/symbol.svg +1 -0
- package/dist/third-party/front_end/Images/sync.svg +1 -0
- package/dist/third-party/front_end/Images/table.svg +1 -0
- package/dist/third-party/front_end/Images/toolbarResizerVertical.png +0 -0
- package/dist/third-party/front_end/Images/top-panel-close.svg +1 -0
- package/dist/third-party/front_end/Images/top-panel-open.svg +1 -0
- package/dist/third-party/front_end/Images/touchCursor.png +0 -0
- package/dist/third-party/front_end/Images/touchCursor_2x.png +0 -0
- package/dist/third-party/front_end/Images/triangle-bottom-right.svg +1 -0
- package/dist/third-party/front_end/Images/triangle-down.svg +1 -0
- package/dist/third-party/front_end/Images/triangle-left.svg +1 -0
- package/dist/third-party/front_end/Images/triangle-right.svg +1 -0
- package/dist/third-party/front_end/Images/triangle-up.svg +1 -0
- package/dist/third-party/front_end/Images/undo.svg +1 -0
- package/dist/third-party/front_end/Images/warning-filled.svg +1 -0
- package/dist/third-party/front_end/Images/warning.svg +1 -0
- package/dist/third-party/front_end/Images/warning_icon.svg +1 -0
- package/dist/third-party/front_end/Images/watch.svg +1 -0
- package/dist/third-party/front_end/Images/whatsnew.avif +0 -0
- package/dist/third-party/front_end/Images/width.svg +1 -0
- package/dist/third-party/front_end/Tests.js +1662 -0
- package/dist/third-party/front_end/core/common/common-legacy.js +1 -0
- package/dist/third-party/front_end/core/common/common.js +1 -0
- package/dist/third-party/front_end/core/dom_extension/dom_extension.js +1 -0
- package/dist/third-party/front_end/core/host/host-legacy.js +1 -0
- package/dist/third-party/front_end/core/host/host.js +1 -0
- package/dist/third-party/front_end/core/i18n/i18n.js +1 -0
- package/dist/third-party/front_end/core/i18n/locales/en-US.json +1 -0
- package/dist/third-party/front_end/core/i18n/locales/zh.json +1 -0
- package/dist/third-party/front_end/core/platform/platform.js +1 -0
- package/dist/third-party/front_end/core/protocol_client/protocol_client-legacy.js +1 -0
- package/dist/third-party/front_end/core/protocol_client/protocol_client.js +1 -0
- package/dist/third-party/front_end/core/root/root-legacy.js +1 -0
- package/dist/third-party/front_end/core/root/root.js +1 -0
- package/dist/third-party/front_end/core/sdk/sdk-legacy.js +1 -0
- package/dist/third-party/front_end/core/sdk/sdk-meta.js +1 -0
- package/dist/third-party/front_end/core/sdk/sdk.js +1 -0
- package/dist/third-party/front_end/device_mode_emulation_frame.html +20 -0
- package/dist/third-party/front_end/devtools_app.html +20 -0
- package/dist/third-party/front_end/devtools_compatibility.js +1595 -0
- package/dist/third-party/front_end/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nest-hub-horizontal.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nest-hub-max-horizontal.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/iPad-landscape.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/iPad-portrait.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
- package/dist/third-party/front_end/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
- package/dist/third-party/front_end/entrypoints/device_mode_emulation_frame/device_mode_emulation_frame.js +1 -0
- package/dist/third-party/front_end/entrypoints/devtools_app/devtools_app.js +1 -0
- package/dist/third-party/front_end/entrypoints/formatter_worker/FormatterActions.js +1 -0
- package/dist/third-party/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.js +1 -0
- package/dist/third-party/front_end/entrypoints/formatter_worker/formatter_worker.js +1 -0
- package/dist/third-party/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
- package/dist/third-party/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker-legacy.js +1 -0
- package/dist/third-party/front_end/entrypoints/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
- package/dist/third-party/front_end/entrypoints/inspector/inspector.js +1 -0
- package/dist/third-party/front_end/entrypoints/inspector_main/inspector_main-meta.js +1 -0
- package/dist/third-party/front_end/entrypoints/inspector_main/inspector_main.js +1 -0
- package/dist/third-party/front_end/entrypoints/js_app/js_app.js +1 -0
- package/dist/third-party/front_end/entrypoints/lighthouse_worker/lighthouse_worker.js +1 -0
- package/dist/third-party/front_end/entrypoints/main/main-legacy.js +1 -0
- package/dist/third-party/front_end/entrypoints/main/main-meta.js +1 -0
- package/dist/third-party/front_end/entrypoints/main/main.js +1 -0
- package/dist/third-party/front_end/entrypoints/ndb_app/ndb_app.js +1 -0
- package/dist/third-party/front_end/entrypoints/node_app/node_app.js +1 -0
- package/dist/third-party/front_end/entrypoints/rn_inspector/rn_inspector.js +1 -0
- package/dist/third-party/front_end/entrypoints/shell/shell.js +1 -0
- package/dist/third-party/front_end/entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
- package/dist/third-party/front_end/entrypoints/wasmparser_worker/wasmparser_worker.js +1 -0
- package/dist/third-party/front_end/entrypoints/worker_app/worker_app.js +1 -0
- package/dist/third-party/front_end/inspector.html +20 -0
- package/dist/third-party/front_end/integration_test_runner.html +40 -0
- package/dist/third-party/front_end/js_app.html +20 -0
- package/dist/third-party/front_end/legacy_test_runner/legacy_test_runner.js +36 -0
- package/dist/third-party/front_end/legacy_test_runner/test_runner/test_runner.js +1 -0
- package/dist/third-party/front_end/models/bindings/bindings-legacy.js +1 -0
- package/dist/third-party/front_end/models/bindings/bindings.js +1 -0
- package/dist/third-party/front_end/models/breakpoints/breakpoints-legacy.js +1 -0
- package/dist/third-party/front_end/models/breakpoints/breakpoints.js +1 -0
- package/dist/third-party/front_end/models/emulation/emulation.js +1 -0
- package/dist/third-party/front_end/models/extensions/extensions-legacy.js +1 -0
- package/dist/third-party/front_end/models/extensions/extensions.js +1 -0
- package/dist/third-party/front_end/models/formatter/formatter-legacy.js +1 -0
- package/dist/third-party/front_end/models/formatter/formatter.js +1 -0
- package/dist/third-party/front_end/models/har/har.js +1 -0
- package/dist/third-party/front_end/models/heap_snapshot_model/heap_snapshot_model-legacy.js +1 -0
- package/dist/third-party/front_end/models/heap_snapshot_model/heap_snapshot_model.js +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/CoepCorpNotSameSite.md +7 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/CompatibilityModeQuirks.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/LowTextContrast.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedTreatedAsLaxRead.md +9 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedTreatedAsLaxSet.md +9 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arInsecureContext.md +7 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +18 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +19 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +9 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arSourceIgnored.md +13 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +12 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +11 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/bounceTrackingMitigations.md +3 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +4 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/cookieExcludeBlockedWithinFirstPartySet.md +4 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +11 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +11 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +6 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsDisabledScheme.md +7 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsDisallowedByMode.md +7 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +10 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsInvalidHeaderValues.md +7 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsOriginMismatch.md +6 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +10 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/cspEvalViolation.md +9 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/cspInlineViolation.md +10 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/cspURLViolation.md +10 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/deprecation.md +3 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericCrossOriginPortalPostMessageError.md +3 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingId.md +8 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormLabelForNameError.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInput.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/heavyAd.md +10 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/mixedContent.md +5 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/sharedArrayBuffer.md +7 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
- package/dist/third-party/front_end/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
- package/dist/third-party/front_end/models/issues_manager/issues_manager.js +1 -0
- package/dist/third-party/front_end/models/javascript_metadata/javascript_metadata.js +1 -0
- package/dist/third-party/front_end/models/logs/logs-meta.js +1 -0
- package/dist/third-party/front_end/models/logs/logs.js +1 -0
- package/dist/third-party/front_end/models/persistence/persistence-legacy.js +1 -0
- package/dist/third-party/front_end/models/persistence/persistence-meta.js +1 -0
- package/dist/third-party/front_end/models/persistence/persistence.js +1 -0
- package/dist/third-party/front_end/models/source_map_scopes/source_map_scopes.js +1 -0
- package/dist/third-party/front_end/models/text_utils/text_utils-legacy.js +1 -0
- package/dist/third-party/front_end/models/text_utils/text_utils.js +1 -0
- package/dist/third-party/front_end/models/timeline_model/timeline_model-legacy.js +1 -0
- package/dist/third-party/front_end/models/timeline_model/timeline_model.js +1 -0
- package/dist/third-party/front_end/models/trace/extras/extras.js +1 -0
- package/dist/third-party/front_end/models/trace/handlers/handlers.js +1 -0
- package/dist/third-party/front_end/models/trace/helpers/helpers.js +1 -0
- package/dist/third-party/front_end/models/trace/trace.js +1 -0
- package/dist/third-party/front_end/models/trace/types/types.js +1 -0
- package/dist/third-party/front_end/models/workspace/workspace-legacy.js +1 -0
- package/dist/third-party/front_end/models/workspace/workspace.js +1 -0
- package/dist/third-party/front_end/models/workspace_diff/workspace_diff-legacy.js +1 -0
- package/dist/third-party/front_end/models/workspace_diff/workspace_diff.js +1 -0
- package/dist/third-party/front_end/ndb_app.html +20 -0
- package/dist/third-party/front_end/node_app.html +20 -0
- package/dist/third-party/front_end/panels/accessibility/accessibility-legacy.js +1 -0
- package/dist/third-party/front_end/panels/accessibility/accessibility-meta.js +1 -0
- package/dist/third-party/front_end/panels/accessibility/accessibility.js +1 -0
- package/dist/third-party/front_end/panels/animation/animation-legacy.js +1 -0
- package/dist/third-party/front_end/panels/animation/animation-meta.js +1 -0
- package/dist/third-party/front_end/panels/animation/animation.js +1 -0
- package/dist/third-party/front_end/panels/application/application-legacy.js +1 -0
- package/dist/third-party/front_end/panels/application/application-meta.js +1 -0
- package/dist/third-party/front_end/panels/application/application.js +1 -0
- package/dist/third-party/front_end/panels/application/components/components.js +1 -0
- package/dist/third-party/front_end/panels/application/preloading/components/components.js +1 -0
- package/dist/third-party/front_end/panels/browser_debugger/browser_debugger-legacy.js +1 -0
- package/dist/third-party/front_end/panels/browser_debugger/browser_debugger-meta.js +1 -0
- package/dist/third-party/front_end/panels/browser_debugger/browser_debugger.js +1 -0
- package/dist/third-party/front_end/panels/changes/changes-legacy.js +1 -0
- package/dist/third-party/front_end/panels/changes/changes-meta.js +1 -0
- package/dist/third-party/front_end/panels/changes/changes.js +1 -0
- package/dist/third-party/front_end/panels/console/console-legacy.js +1 -0
- package/dist/third-party/front_end/panels/console/console-meta.js +1 -0
- package/dist/third-party/front_end/panels/console/console.js +6 -0
- package/dist/third-party/front_end/panels/console_counters/console_counters-meta.js +1 -0
- package/dist/third-party/front_end/panels/console_counters/console_counters.js +1 -0
- package/dist/third-party/front_end/panels/coverage/coverage-legacy.js +1 -0
- package/dist/third-party/front_end/panels/coverage/coverage-meta.js +1 -0
- package/dist/third-party/front_end/panels/coverage/coverage.js +1 -0
- package/dist/third-party/front_end/panels/css_overview/components/components.js +1 -0
- package/dist/third-party/front_end/panels/css_overview/css_overview-meta.js +1 -0
- package/dist/third-party/front_end/panels/css_overview/css_overview.js +144 -0
- package/dist/third-party/front_end/panels/developer_resources/developer_resources-meta.js +1 -0
- package/dist/third-party/front_end/panels/developer_resources/developer_resources.js +1 -0
- package/dist/third-party/front_end/panels/elements/components/components.js +1 -0
- package/dist/third-party/front_end/panels/elements/elements-legacy.js +1 -0
- package/dist/third-party/front_end/panels/elements/elements-meta.js +1 -0
- package/dist/third-party/front_end/panels/elements/elements.js +1 -0
- package/dist/third-party/front_end/panels/emulation/components/components.js +22 -0
- package/dist/third-party/front_end/panels/emulation/emulation-legacy.js +1 -0
- package/dist/third-party/front_end/panels/emulation/emulation-meta.js +1 -0
- package/dist/third-party/front_end/panels/emulation/emulation.js +1 -0
- package/dist/third-party/front_end/panels/event_listeners/event_listeners.js +1 -0
- package/dist/third-party/front_end/panels/issues/components/components.js +1 -0
- package/dist/third-party/front_end/panels/issues/issues-meta.js +1 -0
- package/dist/third-party/front_end/panels/issues/issues.js +1 -0
- package/dist/third-party/front_end/panels/js_profiler/js_profiler-meta.js +1 -0
- package/dist/third-party/front_end/panels/js_profiler/js_profiler.js +1 -0
- package/dist/third-party/front_end/panels/layer_viewer/layer_viewer-legacy.js +1 -0
- package/dist/third-party/front_end/panels/layer_viewer/layer_viewer-meta.js +1 -0
- package/dist/third-party/front_end/panels/layer_viewer/layer_viewer.js +1 -0
- package/dist/third-party/front_end/panels/layers/layers-meta.js +1 -0
- package/dist/third-party/front_end/panels/layers/layers.js +1 -0
- package/dist/third-party/front_end/panels/lighthouse/lighthouse-legacy.js +1 -0
- package/dist/third-party/front_end/panels/lighthouse/lighthouse-meta.js +1 -0
- package/dist/third-party/front_end/panels/lighthouse/lighthouse.js +66 -0
- package/dist/third-party/front_end/panels/media/media-meta.js +1 -0
- package/dist/third-party/front_end/panels/media/media.js +25 -0
- package/dist/third-party/front_end/panels/mobile_throttling/mobile_throttling-legacy.js +1 -0
- package/dist/third-party/front_end/panels/mobile_throttling/mobile_throttling-meta.js +1 -0
- package/dist/third-party/front_end/panels/mobile_throttling/mobile_throttling.js +1 -0
- package/dist/third-party/front_end/panels/network/components/components.js +1 -0
- package/dist/third-party/front_end/panels/network/forward/forward.js +1 -0
- package/dist/third-party/front_end/panels/network/network-legacy.js +1 -0
- package/dist/third-party/front_end/panels/network/network-meta.js +1 -0
- package/dist/third-party/front_end/panels/network/network.js +1 -0
- package/dist/third-party/front_end/panels/performance_monitor/performance_monitor-meta.js +1 -0
- package/dist/third-party/front_end/panels/performance_monitor/performance_monitor.js +1 -0
- package/dist/third-party/front_end/panels/profiler/profiler-legacy.js +1 -0
- package/dist/third-party/front_end/panels/profiler/profiler-meta.js +1 -0
- package/dist/third-party/front_end/panels/profiler/profiler.js +7 -0
- package/dist/third-party/front_end/panels/protocol_monitor/components/components.js +1 -0
- package/dist/third-party/front_end/panels/protocol_monitor/protocol_monitor-meta.js +1 -0
- package/dist/third-party/front_end/panels/protocol_monitor/protocol_monitor.js +1 -0
- package/dist/third-party/front_end/panels/recorder/components/components.js +1 -0
- package/dist/third-party/front_end/panels/recorder/controllers/controllers.js +1 -0
- package/dist/third-party/front_end/panels/recorder/converters/converters.js +1 -0
- package/dist/third-party/front_end/panels/recorder/extensions/extensions.js +1 -0
- package/dist/third-party/front_end/panels/recorder/injected/injected.generated.js +1 -0
- package/dist/third-party/front_end/panels/recorder/injected/injected.js +1 -0
- package/dist/third-party/front_end/panels/recorder/models/models.js +1 -0
- package/dist/third-party/front_end/panels/recorder/recorder-actions.js +1 -0
- package/dist/third-party/front_end/panels/recorder/recorder-meta.js +1 -0
- package/dist/third-party/front_end/panels/recorder/recorder.js +1 -0
- package/dist/third-party/front_end/panels/recorder/util/util.js +1 -0
- package/dist/third-party/front_end/panels/rn_welcome/rn_welcome-meta.js +1 -0
- package/dist/third-party/front_end/panels/rn_welcome/rn_welcome.js +1 -0
- package/dist/third-party/front_end/panels/screencast/screencast-meta.js +1 -0
- package/dist/third-party/front_end/panels/screencast/screencast.js +1 -0
- package/dist/third-party/front_end/panels/search/search-legacy.js +1 -0
- package/dist/third-party/front_end/panels/search/search.js +1 -0
- package/dist/third-party/front_end/panels/security/security-legacy.js +1 -0
- package/dist/third-party/front_end/panels/security/security-meta.js +1 -0
- package/dist/third-party/front_end/panels/security/security.js +1 -0
- package/dist/third-party/front_end/panels/sensors/sensors-meta.js +1 -0
- package/dist/third-party/front_end/panels/sensors/sensors.js +1 -0
- package/dist/third-party/front_end/panels/settings/components/components.js +1 -0
- package/dist/third-party/front_end/panels/settings/emulation/components/components.js +1 -0
- package/dist/third-party/front_end/panels/settings/emulation/emulation-meta.js +1 -0
- package/dist/third-party/front_end/panels/settings/emulation/emulation.js +1 -0
- package/dist/third-party/front_end/panels/settings/emulation/utils/utils.js +1 -0
- package/dist/third-party/front_end/panels/settings/settings-legacy.js +1 -0
- package/dist/third-party/front_end/panels/settings/settings-meta.js +1 -0
- package/dist/third-party/front_end/panels/settings/settings.js +1 -0
- package/dist/third-party/front_end/panels/snippets/snippets-legacy.js +1 -0
- package/dist/third-party/front_end/panels/snippets/snippets.js +1 -0
- package/dist/third-party/front_end/panels/sources/components/components.js +1 -0
- package/dist/third-party/front_end/panels/sources/sources-legacy.js +1 -0
- package/dist/third-party/front_end/panels/sources/sources-meta.js +1 -0
- package/dist/third-party/front_end/panels/sources/sources.js +1 -0
- package/dist/third-party/front_end/panels/timeline/timeline-legacy.js +1 -0
- package/dist/third-party/front_end/panels/timeline/timeline-meta.js +1 -0
- package/dist/third-party/front_end/panels/timeline/timeline.js +1 -0
- package/dist/third-party/front_end/panels/utils/utils.js +1 -0
- package/dist/third-party/front_end/panels/web_audio/graph_visualizer/graph_visualizer.js +1 -0
- package/dist/third-party/front_end/panels/web_audio/web_audio-legacy.js +1 -0
- package/dist/third-party/front_end/panels/web_audio/web_audio-meta.js +1 -0
- package/dist/third-party/front_end/panels/web_audio/web_audio.js +1 -0
- package/dist/third-party/front_end/panels/webauthn/webauthn-meta.js +1 -0
- package/dist/third-party/front_end/panels/webauthn/webauthn.js +1 -0
- package/dist/third-party/front_end/rn_inspector.html +20 -0
- package/dist/third-party/front_end/services/puppeteer/puppeteer.js +1 -0
- package/dist/third-party/front_end/services/tracing/tracing.js +1 -0
- package/dist/third-party/front_end/services/window_bounds/window_bounds.js +1 -0
- package/dist/third-party/front_end/third_party/acorn/acorn.js +1 -0
- package/dist/third-party/front_end/third_party/chromium/client-variations/client-variations.js +1 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/angular.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/codemirror.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/cpp.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/java.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/json.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/legacy.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/less.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/markdown.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/php.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/python.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/sass.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/svelte.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/vue.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/wast.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/chunk/xml.js +2 -0
- package/dist/third-party/front_end/third_party/codemirror.next/codemirror.next.js +2 -0
- package/dist/third-party/front_end/third_party/diff/diff-legacy.js +1 -0
- package/dist/third-party/front_end/third_party/diff/diff.js +1 -0
- package/dist/third-party/front_end/third_party/i18n/i18n.js +1 -0
- package/dist/third-party/front_end/third_party/intl-messageformat/intl-messageformat.js +15 -0
- package/dist/third-party/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1297 -0
- package/dist/third-party/front_end/third_party/lighthouse/report/report.js +222 -0
- package/dist/third-party/front_end/third_party/lit/lit.js +98 -0
- package/dist/third-party/front_end/third_party/marked/marked.js +1 -0
- package/dist/third-party/front_end/third_party/puppeteer/puppeteer.js +1 -0
- package/dist/third-party/front_end/third_party/puppeteer-replay/puppeteer-replay.js +1 -0
- package/dist/third-party/front_end/third_party/wasmparser/wasmparser.js +1 -0
- package/dist/third-party/front_end/ui/components/adorners/adorners.js +1 -0
- package/dist/third-party/front_end/ui/components/buttons/buttons.js +1 -0
- package/dist/third-party/front_end/ui/components/chrome_link/chrome_link.js +1 -0
- package/dist/third-party/front_end/ui/components/code_highlighter/code_highlighter.js +1 -0
- package/dist/third-party/front_end/ui/components/data_grid/data_grid.js +1 -0
- package/dist/third-party/front_end/ui/components/dialogs/dialogs.js +1 -0
- package/dist/third-party/front_end/ui/components/diff_view/diff_view.js +1 -0
- package/dist/third-party/front_end/ui/components/expandable_list/expandable_list.js +1 -0
- package/dist/third-party/front_end/ui/components/helpers/helpers.js +1 -0
- package/dist/third-party/front_end/ui/components/icon_button/icon_button.js +1 -0
- package/dist/third-party/front_end/ui/components/input/input.js +1 -0
- package/dist/third-party/front_end/ui/components/issue_counter/issue_counter.js +1 -0
- package/dist/third-party/front_end/ui/components/legacy_wrapper/legacy_wrapper.js +1 -0
- package/dist/third-party/front_end/ui/components/linear_memory_inspector/linear_memory_inspector-meta.js +1 -0
- package/dist/third-party/front_end/ui/components/linear_memory_inspector/linear_memory_inspector.js +1 -0
- package/dist/third-party/front_end/ui/components/linkifier/linkifier.js +1 -0
- package/dist/third-party/front_end/ui/components/markdown_view/markdown_view.js +1 -0
- package/dist/third-party/front_end/ui/components/menus/menus.js +1 -0
- package/dist/third-party/front_end/ui/components/node_text/node_text.js +1 -0
- package/dist/third-party/front_end/ui/components/panel_feedback/panel_feedback.js +1 -0
- package/dist/third-party/front_end/ui/components/panel_introduction_steps/panel_introduction_steps.js +1 -0
- package/dist/third-party/front_end/ui/components/render_coordinator/render_coordinator.js +1 -0
- package/dist/third-party/front_end/ui/components/report_view/report_view.js +1 -0
- package/dist/third-party/front_end/ui/components/request_link_icon/request_link_icon.js +1 -0
- package/dist/third-party/front_end/ui/components/settings/settings.js +1 -0
- package/dist/third-party/front_end/ui/components/srgb_overlay/srgb_overlay.js +1 -0
- package/dist/third-party/front_end/ui/components/survey_link/survey_link.js +1 -0
- package/dist/third-party/front_end/ui/components/text_editor/text_editor.js +1 -0
- package/dist/third-party/front_end/ui/components/text_prompt/text_prompt.js +1 -0
- package/dist/third-party/front_end/ui/components/tree_outline/tree_outline.js +1 -0
- package/dist/third-party/front_end/ui/components/two_states_counter/two_states_counter.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/color_picker/color_picker-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/color_picker/color_picker.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/cookie_table/cookie_table-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/cookie_table/cookie_table.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/data_grid/data_grid-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/data_grid/data_grid.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/inline_editor/inline_editor-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/inline_editor/inline_editor.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/object_ui/object_ui-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/object_ui/object_ui-meta.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/object_ui/object_ui.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/perf_ui/perf_ui-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/perf_ui/perf_ui-meta.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/perf_ui/perf_ui.js +12 -0
- package/dist/third-party/front_end/ui/legacy/components/quick_open/quick_open-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/quick_open/quick_open-meta.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/quick_open/quick_open.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/source_frame/source_frame-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/source_frame/source_frame-meta.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/source_frame/source_frame.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/utils/utils-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/components/utils/utils.js +1 -0
- package/dist/third-party/front_end/ui/legacy/legacy-legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/legacy.js +1 -0
- package/dist/third-party/front_end/ui/legacy/theme_support/theme_support.js +1 -0
- package/dist/third-party/front_end/ui/legacy/utils/utils.js +1 -0
- package/dist/third-party/front_end/ui/lit-html/lit-html.js +1 -0
- package/dist/third-party/front_end/worker_app.html +20 -0
- package/index.js +15 -0
- package/package.json +25 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"../../../core/i18n/i18n.js";import*as t from"../../../ui/components/buttons/buttons.js";import*as i from"../../../core/sdk/sdk.js";import*as r from"../../../ui/lit-html/lit-html.js";import*as a from"../../../core/root/root.js";import*as o from"../../../ui/components/report_view/report_view.js";import*as n from"../../../ui/components/legacy_wrapper/legacy_wrapper.js";import*as s from"../../../ui/components/icon_button/icon_button.js";import*as c from"../../../ui/components/helpers/helpers.js";import*as l from"../../../ui/components/render_coordinator/render_coordinator.js";import*as d from"../../../ui/components/chrome_link/chrome_link.js";import*as h from"../../../ui/components/expandable_list/expandable_list.js";import*as m from"../../../ui/components/tree_outline/tree_outline.js";import*as p from"../../../ui/components/data_grid/data_grid.js";import*as g from"../../../ui/legacy/components/utils/utils.js";import*as u from"../../network/forward/forward.js";import*as w from"../../../core/common/common.js";import*as k from"../../../models/bindings/bindings.js";import*as b from"../../../core/platform/platform.js";import*as f from"../../../models/workspace/workspace.js";import*as v from"../../../ui/components/adorners/adorners.js";import*as S from"../../../core/host/host.js";import*as y from"../../../ui/components/input/input.js";import*as T from"../../../ui/legacy/legacy.js";const R={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 use portals 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.",portal:"Pages that use portals 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.",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:"Undefined",webTransportSticky:"Undefined",webSocketSticky:"Undefined"},x=e.i18n.registerUIStrings("panels/application/components/BackForwardCacheStrings.ts",R),$=e.i18n.getLazilyComputedLocalizedString.bind(void 0,x),N={NotPrimaryMainFrame:{name:$(R.notMainFrame)},BackForwardCacheDisabled:{name:$(R.backForwardCacheDisabled)},RelatedActiveContentsExist:{name:$(R.relatedActiveContentsExist)},HTTPStatusNotOK:{name:$(R.HTTPStatusNotOK)},SchemeNotHTTPOrHTTPS:{name:$(R.schemeNotHTTPOrHTTPS)},Loading:{name:$(R.loading)},WasGrantedMediaAccess:{name:$(R.wasGrantedMediaAccess)},HTTPMethodNotGET:{name:$(R.HTTPMethodNotGET)},SubframeIsNavigating:{name:$(R.subframeIsNavigating)},Timeout:{name:$(R.timeout)},CacheLimit:{name:$(R.cacheLimit)},JavaScriptExecution:{name:$(R.JavaScriptExecution)},RendererProcessKilled:{name:$(R.rendererProcessKilled)},RendererProcessCrashed:{name:$(R.rendererProcessCrashed)},GrantedMediaStreamAccess:{name:$(R.grantedMediaStreamAccess)},CacheFlushed:{name:$(R.cacheFlushed)},ServiceWorkerVersionActivation:{name:$(R.serviceWorkerVersionActivation)},SessionRestored:{name:$(R.sessionRestored)},ServiceWorkerPostMessage:{name:$(R.serviceWorkerPostMessage)},EnteredBackForwardCacheBeforeServiceWorkerHostAdded:{name:$(R.enteredBackForwardCacheBeforeServiceWorkerHostAdded)},ServiceWorkerClaim:{name:$(R.serviceWorkerClaim)},HaveInnerContents:{name:$(R.haveInnerContents)},TimeoutPuttingInCache:{name:$(R.timeoutPuttingInCache)},BackForwardCacheDisabledByLowMemory:{name:$(R.backForwardCacheDisabledByLowMemory)},BackForwardCacheDisabledByCommandLine:{name:$(R.backForwardCacheDisabledByCommandLine)},NetworkRequestDatapipeDrainedAsBytesConsumer:{name:$(R.networkRequestDatapipeDrainedAsBytesConsumer)},NetworkRequestRedirected:{name:$(R.networkRequestRedirected)},NetworkRequestTimeout:{name:$(R.networkRequestTimeout)},NetworkExceedsBufferLimit:{name:$(R.networkExceedsBufferLimit)},NavigationCancelledWhileRestoring:{name:$(R.navigationCancelledWhileRestoring)},BackForwardCacheDisabledForPrerender:{name:$(R.backForwardCacheDisabledForPrerender)},UserAgentOverrideDiffers:{name:$(R.userAgentOverrideDiffers)},ForegroundCacheLimit:{name:$(R.foregroundCacheLimit)},BackForwardCacheDisabledForDelegate:{name:$(R.backForwardCacheDisabledForDelegate)},UnloadHandlerExistsInMainFrame:{name:$(R.unloadHandlerExistsInMainFrame)},UnloadHandlerExistsInSubFrame:{name:$(R.unloadHandlerExistsInSubFrame)},ServiceWorkerUnregistration:{name:$(R.serviceWorkerUnregistration)},NoResponseHead:{name:$(R.noResponseHead)},CacheControlNoStore:{name:$(R.cacheControlNoStore)},CacheControlNoStoreCookieModified:{name:$(R.cacheControlNoStore)},CacheControlNoStoreHTTPOnlyCookieModified:{name:$(R.cacheControlNoStore)},DisableForRenderFrameHostCalled:{name:$(R.ineligibleAPI)},BlocklistedFeatures:{name:$(R.ineligibleAPI)},SchedulerTrackedFeatureUsed:{name:$(R.ineligibleAPI)},DomainNotAllowed:{name:$(R.internalError)},ConflictingBrowsingInstance:{name:$(R.internalError)},NotMostRecentNavigationEntry:{name:$(R.internalError)},IgnoreEventAndEvict:{name:$(R.internalError)},BrowsingInstanceNotSwapped:{name:$(R.internalError)},ActivationNavigationsDisallowedForBug1234857:{name:$(R.internalError)},Unknown:{name:$(R.internalError)},RenderFrameHostReused_SameSite:{name:$(R.internalError)},RenderFrameHostReused_CrossSite:{name:$(R.internalError)},WebSocket:{name:$(R.webSocket)},WebTransport:{name:$(R.webTransport)},WebRTC:{name:$(R.webRTC)},MainResourceHasCacheControlNoStore:{name:$(R.mainResourceHasCacheControlNoStore)},MainResourceHasCacheControlNoCache:{name:$(R.mainResourceHasCacheControlNoCache)},SubresourceHasCacheControlNoStore:{name:$(R.subresourceHasCacheControlNoStore)},SubresourceHasCacheControlNoCache:{name:$(R.subresourceHasCacheControlNoCache)},ContainsPlugins:{name:$(R.containsPlugins)},DocumentLoaded:{name:$(R.documentLoaded)},DedicatedWorkerOrWorklet:{name:$(R.dedicatedWorkerOrWorklet)},OutstandingNetworkRequestOthers:{name:$(R.outstandingNetworkRequestOthers)},OutstandingIndexedDBTransaction:{name:$(R.outstandingIndexedDBTransaction)},RequestedNotificationsPermission:{name:$(R.requestedNotificationsPermission)},RequestedMIDIPermission:{name:$(R.requestedMIDIPermission)},RequestedAudioCapturePermission:{name:$(R.requestedAudioCapturePermission)},RequestedVideoCapturePermission:{name:$(R.requestedVideoCapturePermission)},RequestedBackForwardCacheBlockedSensors:{name:$(R.requestedBackForwardCacheBlockedSensors)},RequestedBackgroundWorkPermission:{name:$(R.requestedBackgroundWorkPermission)},BroadcastChannel:{name:$(R.broadcastChannel)},IndexedDBConnection:{name:$(R.indexedDBConnection)},WebXR:{name:$(R.webXR)},SharedWorker:{name:$(R.sharedWorker)},WebLocks:{name:$(R.webLocks)},WebHID:{name:$(R.webHID)},WebShare:{name:$(R.webShare)},RequestedStorageAccessGrant:{name:$(R.requestedStorageAccessGrant)},WebNfc:{name:$(R.webNfc)},OutstandingNetworkRequestFetch:{name:$(R.outstandingNetworkRequestFetch)},OutstandingNetworkRequestXHR:{name:$(R.outstandingNetworkRequestXHR)},AppBanner:{name:$(R.appBanner)},Printing:{name:$(R.printing)},WebDatabase:{name:$(R.webDatabase)},PictureInPicture:{name:$(R.pictureInPicture)},Portal:{name:$(R.portal)},SpeechRecognizer:{name:$(R.speechRecognizer)},IdleManager:{name:$(R.idleManager)},PaymentManager:{name:$(R.paymentManager)},SpeechSynthesis:{name:$(R.speechSynthesis)},KeyboardLock:{name:$(R.keyboardLock)},WebOTPService:{name:$(R.webOTPService)},OutstandingNetworkRequestDirectSocket:{name:$(R.outstandingNetworkRequestDirectSocket)},InjectedJavascript:{name:$(R.injectedJavascript)},InjectedStyleSheet:{name:$(R.injectedStyleSheet)},Dummy:{name:$(R.internalError)},ContentSecurityHandler:{name:$(R.contentSecurityHandler)},ContentWebAuthenticationAPI:{name:$(R.contentWebAuthenticationAPI)},ContentFileChooser:{name:$(R.contentFileChooser)},ContentSerial:{name:$(R.contentSerial)},ContentFileSystemAccess:{name:$(R.contentFileSystemAccess)},ContentMediaDevicesDispatcherHost:{name:$(R.contentMediaDevicesDispatcherHost)},ContentWebBluetooth:{name:$(R.contentWebBluetooth)},ContentWebUSB:{name:$(R.contentWebUSB)},ContentMediaSession:{name:$(R.contentMediaSession)},ContentMediaSessionService:{name:$(R.contentMediaSessionService)},ContentMediaPlay:{name:$(R.contentMediaPlay)},ContentScreenReader:{name:$(R.contentScreenReader)},EmbedderPopupBlockerTabHelper:{name:$(R.embedderPopupBlockerTabHelper)},EmbedderSafeBrowsingTriggeredPopupBlocker:{name:$(R.embedderSafeBrowsingTriggeredPopupBlocker)},EmbedderSafeBrowsingThreatDetails:{name:$(R.embedderSafeBrowsingThreatDetails)},EmbedderAppBannerManager:{name:$(R.embedderAppBannerManager)},EmbedderDomDistillerViewerSource:{name:$(R.embedderDomDistillerViewerSource)},EmbedderDomDistillerSelfDeletingRequestDelegate:{name:$(R.embedderDomDistillerSelfDeletingRequestDelegate)},EmbedderOomInterventionTabHelper:{name:$(R.embedderOomInterventionTabHelper)},EmbedderOfflinePage:{name:$(R.embedderOfflinePage)},EmbedderChromePasswordManagerClientBindCredentialManager:{name:$(R.embedderChromePasswordManagerClientBindCredentialManager)},EmbedderPermissionRequestManager:{name:$(R.embedderPermissionRequestManager)},EmbedderModalDialog:{name:$(R.embedderModalDialog)},EmbedderExtensions:{name:$(R.embedderExtensions)},EmbedderExtensionMessaging:{name:$(R.embedderExtensionMessaging)},EmbedderExtensionMessagingForOpenPort:{name:$(R.embedderExtensionMessagingForOpenPort)},EmbedderExtensionSentMessageToCachedFrame:{name:$(R.embedderExtensionSentMessageToCachedFrame)},ErrorDocument:{name:$(R.errorDocument)},FencedFramesEmbedder:{name:$(R.fencedFramesEmbedder)},KeepaliveRequest:{name:$(R.keepaliveRequest)},JsNetworkRequestReceivedCacheControlNoStoreResource:{name:$(R.jsNetworkRequestReceivedCacheControlNoStoreResource)},IndexedDBEvent:{name:$(R.indexedDBEvent)},CookieDisabled:{name:$(R.cookieDisabled)},WebRTCSticky:{name:$(R.webRTCSticky)},WebTransportSticky:{name:$(R.webTransportSticky)},WebSocketSticky:{name:$(R.webSocketSticky)}},C=new CSSStyleSheet;C.replaceSync(".inline-icon{vertical-align:sub}.gray-text{color:var(--color-text-secondary);margin:0 0 5px 56px;display:flex;flex-direction:row;align-items:center;flex:auto;overflow-wrap:break-word;overflow:hidden}.explanation-frames{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(--color-text-secondary);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(--color-link);text-decoration:underline;cursor:pointer;outline-offset:2px}.tree-outline li .selection{margin-left:-5px}\n/*# sourceURL=backForwardCacheView.css */\n");const I={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}]"},P=e.i18n.registerUIStrings("panels/application/components/BackForwardCacheView.ts",I),D=e.i18n.getLocalizedString.bind(void 0,P),M=l.RenderCoordinator.RenderCoordinator.instance();class E extends n.LegacyWrapper.WrappableComponent{static litTagName=r.literal`devtools-resources-back-forward-cache-view`;#e=this.attachShadow({mode:"open"});#t="Result";#i=0;#r=0;constructor(){super(),this.#a()?.addEventListener(i.ResourceTreeModel.Events.PrimaryPageChanged,this.render,this),this.#a()?.addEventListener(i.ResourceTreeModel.Events.BackForwardCacheDetailsUpdated,this.render,this),this.classList.add("overflow-auto")}#a(){return i.TargetManager.TargetManager.instance().primaryPageTarget()?.model(i.ResourceTreeModel.ResourceTreeModel)||null}#o(){return this.#a()?.mainFrame||null}connectedCallback(){this.#e.adoptedStyleSheets=[C]}async render(){await M.write("BackForwardCacheView render",(()=>{r.render(r.html` <${o.ReportView.Report.litTagName} .data="${{reportTitle:D(I.backForwardCacheTitle)}}"> ${this.#n()} </${o.ReportView.Report.litTagName}> `,this.#e,{host:this})}))}#s(){i.TargetManager.TargetManager.instance().removeModelListener(i.ResourceTreeModel.ResourceTreeModel,i.ResourceTreeModel.Events.FrameNavigated,this.#s,this),this.#t="Result",this.render()}async#c(){i.TargetManager.TargetManager.instance().removeModelListener(i.ResourceTreeModel.ResourceTreeModel,i.ResourceTreeModel.Events.FrameNavigated,this.#c,this),await this.#l(50)}async#l(e){const t=i.TargetManager.TargetManager.instance().primaryPageTarget()?.model(i.ResourceTreeModel.ResourceTreeModel),r=await(t?.navigationHistory());t&&r&&(r.currentIndex===this.#r?window.setTimeout(this.#l.bind(this,2*e),e):(i.TargetManager.TargetManager.instance().addModelListener(i.ResourceTreeModel.ResourceTreeModel,i.ResourceTreeModel.Events.FrameNavigated,this.#s,this),t.navigateToHistoryEntry(r.entries[r.currentIndex-1])))}async#d(){const e=i.TargetManager.TargetManager.instance().primaryPageTarget()?.model(i.ResourceTreeModel.ResourceTreeModel),t=await(e?.navigationHistory());e&&t&&(this.#r=t.currentIndex,this.#t="Running",this.render(),i.TargetManager.TargetManager.instance().addModelListener(i.ResourceTreeModel.ResourceTreeModel,i.ResourceTreeModel.Events.FrameNavigated,this.#c,this),e.navigate("chrome://terms"))}#n(){const e=this.#o();if(!e)return r.html` <${o.ReportView.ReportKey.litTagName}> ${D(I.mainFrame)} </${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${D(I.unavailable)} </${o.ReportView.ReportValue.litTagName}> `;const i="Running"===this.#t,a=e.url.startsWith("devtools://");return r.html` ${this.#h(e.backForwardCacheDetails.restoredFromCache)} <div class="report-line"> <div class="report-key"> ${D(I.url)} </div> <div class="report-value" title="${e.url}"> ${e.url} </div> </div> ${this.#m(e.backForwardCacheDetails.explanationsTree)} <${o.ReportView.ReportSection.litTagName}> <${t.Button.Button.litTagName} aria-label="${D(I.runTest)}" .disabled="${i||a}" .spinner="${i}" .variant="${"primary"}" @click="${this.#d}"> ${i?r.html` ${D(I.runningTest)}`:`\n ${D(I.runTest)}\n `} </${t.Button.Button.litTagName}> </${o.ReportView.ReportSection.litTagName}> <${o.ReportView.ReportSectionDivider.litTagName}> </${o.ReportView.ReportSectionDivider.litTagName}> ${this.#p(e.backForwardCacheDetails.explanations,e.backForwardCacheDetails.explanationsTree)} <${o.ReportView.ReportSection.litTagName}> <x-link href="https://web.dev/bfcache/" class="link"> ${D(I.learnMore)} </x-link> </${o.ReportView.ReportSection.litTagName}> `}#m(e){if(!e||0===e.explanations.length&&0===e.children.length||!a.Runtime.experiments.isEnabled("bfcacheDisplayTree"))return r.nothing;const t=this.#g(e,{blankCount:1});t.node.treeNodeData.iconName="frame";let i="";i=1===t.frameCount?D(I.issuesInSingleFrame,{n:t.issueCount}):D(I.issuesInMultipleFrames,{n:t.issueCount,m:t.frameCount});const o={treeNodeData:{text:i},id:"root",children:()=>Promise.resolve([t.node])};return r.html` <div class="report-line"> <div class="report-key"> ${D(I.framesTitle)} </div> <div class="report-value"> <${m.TreeOutline.TreeOutline.litTagName} .data="${{tree:[o],defaultRenderer:function(e){return r.html` <div class="text-ellipsis"> ${e.treeNodeData.iconName?r.html` <${s.Icon.Icon.litTagName} class="inline-icon" style="margin-bottom: -3px;" .data="${{iconName:e.treeNodeData.iconName,color:"var(--icon-default)",width:"20px",height:"20px"}}"> </${s.Icon.Icon.litTagName}> `:r.nothing} ${e.treeNodeData.text} </div> `},compact:!0}}"> </${m.TreeOutline.TreeOutline.litTagName}> </div> </div> `}#g(e,t){let i=1,r=0;const a=[];let o="";e.url.length?o=e.url:(o=D(I.blankURLTitle,{PH1:t.blankCount}),t.blankCount+=1);for(const t of e.explanations){const e={treeNodeData:{text:t.reason},id:String(this.#i++)};r+=1,a.push(e)}for(const o of e.children){const e=this.#g(o,t);e.issueCount>0&&(a.push(e.node),r+=e.issueCount,i+=e.frameCount)}let n={treeNodeData:{text:`(${r}) ${o}`},id:String(this.#i++)};return a.length?(n={...n,children:()=>Promise.resolve(a)},n.treeNodeData.iconName="iframe"):e.url.length||(t.blankCount-=1),{node:n,frameCount:i,issueCount:r}}#h(e){switch(e){case!0:return r.html` <${o.ReportView.ReportSection.litTagName}> <div class="status"> <${s.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"check-circle",color:"var(--icon-checkmark-green)",width:"20px",height:"20px"}}"> </${s.Icon.Icon.litTagName}> </div> ${D(I.restoredFromBFCache)} </${o.ReportView.ReportSection.litTagName}> `;case!1:return r.html` <${o.ReportView.ReportSection.litTagName}> <div class="status"> <${s.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"clear",color:"var(--icon-default)",width:"20px",height:"20px"}}"> </${s.Icon.Icon.litTagName}> </div> ${D(I.normalNavigation)} </${o.ReportView.ReportSection.litTagName}> `}return r.html` <${o.ReportView.ReportSection.litTagName}> ${D(I.unknown)} </${o.ReportView.ReportSection.litTagName}> `}#u(e,t,i){let r=e.url;0===r.length&&(r=D(I.blankURLTitle,{PH1:t.blankCount}),t.blankCount+=1),e.explanations.forEach((e=>{let t=i.get(e.reason);void 0===t?(t=[r],i.set(e.reason,t)):t.push(r)})),e.children.map((e=>{this.#u(e,t,i)}))}#p(e,t){if(0===e.length)return r.nothing;const i=e.filter((e=>"PageSupportNeeded"===e.type)),a=e.filter((e=>"SupportPending"===e.type)),o=e.filter((e=>"Circumstantial"===e.type)),n=new Map;return t&&this.#u(t,{blankCount:1},n),r.html` ${this.#w(D(I.pageSupportNeeded),D(I.pageSupportNeededExplanation),i,n)} ${this.#w(D(I.supportPending),D(I.supportPendingExplanation),a,n)} ${this.#w(D(I.circumstantial),D(I.circumstantialExplanation),o,n)} `}#w(e,t,i,a){return r.html` ${i.length>0?r.html` <${o.ReportView.ReportSectionHeader.litTagName}> ${e} <div class="help-outline-icon"> <${s.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"help",color:"var(--icon-default)",width:"16px",height:"16px"}}" title="${t}"> </${s.Icon.Icon.litTagName}> </div> </${o.ReportView.ReportSectionHeader.litTagName}> ${i.map((e=>this.#k(e,a.get(e.reason))))} `:r.nothing} `}#b(e){if("EmbedderExtensionSentMessageToCachedFrame"===e.reason&&e.context){const t="chrome://extensions/?id="+e.context;return r.html`${D(I.blockingExtensionId)} <${d.ChromeLink.ChromeLink.litTagName} .href="${t}">${e.context}</${d.ChromeLink.ChromeLink.litTagName}>`}return r.nothing}#f(e){if(void 0===e||0===e.length||!a.Runtime.experiments.isEnabled("bfcacheDisplayTree"))return r.nothing;const t=[r.html`<div>${D(I.framesPerIssue,{n:e.length})}</div>`];return t.push(...e.map((e=>r.html`<div class="text-ellipsis" title="${e}">${e}</div>`))),r.html` <div class="explanation-frames"> <${h.ExpandableList.ExpandableList.litTagName} .data="${{rows:t}}"></${h.ExpandableList.ExpandableList.litTagName}> </div> `}#v(e){return"UnloadHandlerExistsInMainFrame"===e.reason||"UnloadHandlerExistsInSubFrame"===e.reason?r.html` <x-link href="https://web.dev/bfcache/#never-use-the-unload-event" class="link"> ${D(I.neverUseUnload)} </x-link>`:r.nothing}#k(e,t){return r.html` <${o.ReportView.ReportSection.litTagName}> ${e.reason in N?r.html` <div class="circled-exclamation-icon"> <${s.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"warning",color:"var(--icon-warning)",width:"16px",height:"16px"}}"> </${s.Icon.Icon.litTagName}> </div> <div> ${N[e.reason].name()} ${this.#v(e)} ${this.#b(e)} </div>`:r.nothing} </${o.ReportView.ReportSection.litTagName}> <div class="gray-text"> ${e.reason} </div> ${this.#f(t)} `}}c.CustomElements.defineComponent("devtools-resources-back-forward-cache-view",E);var V=Object.freeze({__proto__:null,BackForwardCacheView:E});const B=new CSSStyleSheet;B.replaceSync("devtools-data-grid-controller{border:1px solid var(--color-details-hairline);margin-top:0}.link,\n.devtools-link{color:var(--color-link);text-decoration:underline;cursor:pointer;outline-offset:2px}\n/*# sourceURL=bounceTrackingMitigationsView.css */\n");const F={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, bounce tracking mitigations are not enabled, or third-party cookies are not blocked."},A=e.i18n.registerUIStrings("panels/application/components/BounceTrackingMitigationsView.ts",F),L=e.i18n.getLocalizedString.bind(void 0,A);class H extends HTMLElement{static litTagName=r.literal`devtools-bounce-tracking-mitigations-view`;#e=this.attachShadow({mode:"open"});#S=[];#t="Result";#y=!1;connectedCallback(){this.#e.adoptedStyleSheets=[B],this.#T()}#T(){r.render(r.html` <${o.ReportView.Report.litTagName} .data="${{reportTitle:L(F.bounceTrackingMitigationsTitle)}}"> ${this.#n()} </${o.ReportView.Report.litTagName}> `,this.#e,{host:this})}#n(){return r.html` <${o.ReportView.ReportSection.litTagName}> ${this.#R()} </${o.ReportView.ReportSection.litTagName}> ${this.#x()} <${o.ReportView.ReportSectionDivider.litTagName}> </${o.ReportView.ReportSectionDivider.litTagName}> <${o.ReportView.ReportSection.litTagName}> <x-link href="https://privacycg.github.io/nav-tracking-mitigations/#bounce-tracking-mitigations" class="link"> ${L(F.learnMore)} </x-link> </${o.ReportView.ReportSection.litTagName}> `}#R(){const e="Running"===this.#t;return r.html` <${t.Button.Button.litTagName} aria-label="${L(F.forceRun)}" .disabled="${e}" .spinner="${e}" .variant="${"primary"}" @click="${this.#$}"> ${e?r.html` ${L(F.runningMitigations)}`:`\n ${L(F.forceRun)}\n `} </${t.Button.Button.litTagName}> `}#x(){if(!this.#y)return r.html``;if(0===this.#S.length)return r.html` <${o.ReportView.ReportSection.litTagName}> ${"Running"===this.#t?r.html` ${L(F.checkingPotentialTrackers)}`:`\n ${L(F.noPotentialBounceTrackersIdentified)}\n `} </${o.ReportView.ReportSection.litTagName}> `;const e={columns:[{id:"sites",title:L(F.stateDeletedFor),widthWeighting:10,hideable:!1,visible:!0,sortable:!0}],rows:this.#N(),initialSort:{columnId:"sites",direction:"ASC"}};return r.html` <${o.ReportView.ReportSection.litTagName}> <${p.DataGridController.DataGridController.litTagName} .data="${e}"> </${p.DataGridController.DataGridController.litTagName}> </${o.ReportView.ReportSection.litTagName}> `}async#$(){const e=i.TargetManager.TargetManager.instance().primaryPageTarget();if(!e)return;this.#y=!0,this.#t="Running",this.#T();const t=await e.storageAgent().invoke_runBounceTrackingMitigations();this.#S=[],t.deletedSites.forEach((e=>{this.#S.push(e)})),this.#C()}#C(){this.#t="Result",this.#T()}#N(){return this.#S.map((e=>({cells:[{columnId:"sites",value:e}]})))}}c.CustomElements.defineComponent("devtools-bounce-tracking-mitigations-view",H);var O=Object.freeze({__proto__:null,i18nString:L,BounceTrackingMitigationsView:H});const U=new CSSStyleSheet;U.replaceSync(":host{overflow:auto;height:100%}.reporting-container{height:100%;display:flex;flex-direction:column}.reporting-header{font-size:15px;background-color:var(--color-background-elevation-1);padding:1px 4px}.reporting-placeholder{flex-grow:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--color-text-secondary)}devtools-data-grid-controller{border:1px solid var(--color-details-hairline)}.inline-icon{vertical-align:text-bottom}\n/*# sourceURL=reportingApiGrid.css */\n");const q={noEndpointsToDisplay:"No endpoints to display"},W=e.i18n.registerUIStrings("panels/application/components/EndpointsGrid.ts",q),G=e.i18n.getLocalizedString.bind(void 0,W),{render:z,html:K}=r;class _ extends HTMLElement{static litTagName=r.literal`devtools-resources-endpoints-grid`;#e=this.attachShadow({mode:"open"});#I=new Map;connectedCallback(){this.#e.adoptedStyleSheets=[U],this.#T()}set data(e){this.#I=e.endpoints,this.#T()}#T(){const t={columns:[{id:"origin",title:e.i18n.lockedString("Origin"),widthWeighting:30,hideable:!1,visible:!0},{id:"name",title:e.i18n.lockedString("Name"),widthWeighting:20,hideable:!1,visible:!0},{id:"url",title:e.i18n.lockedString("URL"),widthWeighting:30,hideable:!1,visible:!0}],rows:this.#P()};z(K` <div class="reporting-container"> <div class="reporting-header">${e.i18n.lockedString("Endpoints")}</div> ${this.#I.size>0?K` <${p.DataGridController.DataGridController.litTagName} .data="${t}"> </${p.DataGridController.DataGridController.litTagName}> `:K` <div class="reporting-placeholder"> <div>${G(q.noEndpointsToDisplay)}</div> </div> `} </div> `,this.#e,{host:this})}#P(){return Array.from(this.#I).map((([e,t])=>t.map((t=>({cells:[{columnId:"origin",value:e},{columnId:"name",value:t.groupName},{columnId:"url",value:t.url}]}))))).flat()}}c.CustomElements.defineComponent("devtools-resources-endpoints-grid",_);var j=Object.freeze({__proto__:null,i18nString:G,EndpointsGrid:_});const X=new CSSStyleSheet;X.replaceSync(".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(--color-link);text-decoration:underline;cursor:pointer;outline-offset:2px}\n/*# sourceURL=stackTraceRow.css */\n");const J=new CSSStyleSheet;J.replaceSync("button.link{color:var(--color-link);text-decoration:underline;cursor:pointer;outline-offset:2px;border:none;background:none;font-family:inherit;font-size:inherit}\n/*# sourceURL=stackTraceLinkButton.css */\n");const Y={cannotRenderStackTrace:"Cannot render stack trace",showSMoreFrames:"{n, plural, =1 {Show # more frame} other {Show # more frames}}",showLess:"Show less"},Q=e.i18n.registerUIStrings("panels/application/components/StackTrace.ts",Y),Z=e.i18n.getLocalizedString.bind(void 0,Q);class ee extends HTMLElement{static litTagName=r.literal`devtools-stack-trace-row`;#e=this.attachShadow({mode:"open"});#D=null;set data(e){this.#D=e.stackTraceRowItem,this.#T()}connectedCallback(){this.#e.adoptedStyleSheets=[X]}#T(){this.#D&&r.render(r.html` <div class="stack-trace-row"> <div class="stack-trace-function-name text-ellipsis" title="${this.#D.functionName}"> ${this.#D.functionName} </div> <div class="stack-trace-source-location"> ${this.#D.link?r.html`<div class="text-ellipsis">\xA0@\xA0${this.#D.link}</div>`:r.nothing} </div> </div> `,this.#e,{host:this})}}class te extends HTMLElement{static litTagName=r.literal`devtools-stack-trace-link-button`;#e=this.attachShadow({mode:"open"});#M=()=>{};#E=null;#V=!1;set data(e){this.#M=e.onShowAllClick,this.#E=e.hiddenCallFramesCount,this.#V=e.expandedView,this.#T()}connectedCallback(){this.#e.adoptedStyleSheets=[J]}#T(){if(!this.#E)return;const e=this.#V?Z(Y.showLess):Z(Y.showSMoreFrames,{n:this.#E});r.render(r.html` <div class="stack-trace-row"> <button class="link" @click="${()=>this.#M()}"> ${e} </button> </div> `,this.#e,{host:this})}}class ie extends HTMLElement{static litTagName=r.literal`devtools-resources-stack-trace`;#e=this.attachShadow({mode:"open"});#B=new g.Linkifier.Linkifier;#F=[];#A=!1;set data(e){const t=e.frame,{creationStackTrace:i,creationStackTraceTarget:r}=t.getCreationStackTraceData();i&&(this.#F=e.buildStackTraceRows(i,r,this.#B,!0,this.#L.bind(this))),this.#T()}#L(e){this.#F=e,this.#T()}#H(){this.#A=!this.#A,this.#T()}createRowTemplates(){const e=[];let t=0;for(const i of this.#F)!this.#A&&i.ignoreListHide||("functionName"in i&&e.push(r.html` <${ee.litTagName} data-stack-trace-row .data="${{stackTraceRowItem:i}}"></${ee.litTagName}>`),"asyncDescription"in i&&e.push(r.html` <div>${i.asyncDescription}</div> `)),"functionName"in i&&i.ignoreListHide&&t++;return t&&e.push(r.html` <${te.litTagName} data-stack-trace-row .data="${{onShowAllClick:this.#H.bind(this),hiddenCallFramesCount:t,expandedView:this.#A}}"></${te.litTagName}> `),e}#T(){if(!this.#F.length)return void r.render(r.html` <span>${Z(Y.cannotRenderStackTrace)}</span> `,this.#e,{host:this});const e=this.createRowTemplates();r.render(r.html` <${h.ExpandableList.ExpandableList.litTagName} .data="${{rows:e}}"> </${h.ExpandableList.ExpandableList.litTagName}> `,this.#e,{host:this})}}c.CustomElements.defineComponent("devtools-stack-trace-row",ee),c.CustomElements.defineComponent("devtools-stack-trace-link-button",te),c.CustomElements.defineComponent("devtools-resources-stack-trace",ie);var re=Object.freeze({__proto__:null,StackTraceRow:ee,StackTraceLinkButton:te,StackTrace:ie});const ae=new CSSStyleSheet;ae.replaceSync(":host{display:contents}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link,\n.devtools-link{color:var(--color-link);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}\n/*# sourceURL=permissionsPolicySection.css */\n");const oe={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`"},ne=e.i18n.registerUIStrings("panels/application/components/PermissionsPolicySection.ts",oe),se=e.i18n.getLocalizedString.bind(void 0,ne),ce=l.RenderCoordinator.RenderCoordinator.instance();function le(e,t,i){return r.html` <button class="link" role="link" tabindex="0" @click="${i}" title="${t}"> <${s.Icon.Icon.litTagName} .data="${{iconName:e,color:"var(--icon-link)",width:"16px",height:"16px"}}"> </${s.Icon.Icon.litTagName}> </button> `}class de extends HTMLElement{static litTagName=r.literal`devtools-resources-permissions-policy-section`;#e=this.attachShadow({mode:"open"});#O={policies:[],showDetails:!1};set data(e){this.#O=e,this.#T()}connectedCallback(){this.#e.adoptedStyleSheets=[ae]}#U(){this.#O.showDetails=!this.#O.showDetails,this.#T()}#q(){const e=this.#O.policies.filter((e=>e.allowed)).map((e=>e.feature)).sort();return e.length?r.html` <${o.ReportView.ReportKey.litTagName}>${se(oe.allowedFeatures)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${e.join(", ")} </${o.ReportView.ReportValue.litTagName}> `:r.nothing}async#W(){const e=this.#O.policies.filter((e=>!e.allowed)).sort(((e,t)=>e.feature.localeCompare(t.feature)));if(!e.length)return r.nothing;if(!this.#O.showDetails)return r.html` <${o.ReportView.ReportKey.litTagName}>${se(oe.disabledFeatures)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${e.map((e=>e.feature)).join(", ")} <button class="link" @click="${()=>this.#U()}"> ${se(oe.showDetails)} </button> </${o.ReportView.ReportValue.litTagName}> `;const t=i.FrameManager.FrameManager.instance(),a=await Promise.all(e.map((async e=>{const i=e.locator?t.getFrame(e.locator.frameId):null,a=e.locator?.blockReason,o=await("IframeAttribute"===a&&i&&i.getOwnerDOMNodeOrDocument()),n=i&&i.resourceForURL(i.url),c="Header"===a&&n&&n.request,l=(()=>{switch(a){case"IframeAttribute":return se(oe.disabledByIframe);case"Header":return se(oe.disabledByHeader);case"InFencedFrameTree":return se(oe.disabledByFencedFrame);default:return""}})();return r.html` <div class="permissions-row"> <div> <${s.Icon.Icon.litTagName} class="allowed-icon" .data="${{color:"var(--icon-error)",iconName:"cross-circle",width:"20px",height:"20px"}}"> </${s.Icon.Icon.litTagName}> </div> <div class="feature-name text-ellipsis"> ${e.feature} </div> <div class="block-reason">${l}</div> <div> ${o?le("code-circle",se(oe.clickToShowIframe),(()=>w.Revealer.reveal(o))):r.nothing} ${c?le("arrow-up-down-circle",se(oe.clickToShowHeader),(async()=>{if(!c)return;const e=c.responseHeaderValue("permissions-policy")?"permissions-policy":"feature-policy",t=u.UIRequestLocation.UIRequestLocation.responseHeaderMatch(c,{name:e,value:""});await w.Revealer.reveal(t)})):r.nothing} </div> </div> `})));return r.html` <${o.ReportView.ReportKey.litTagName}>${se(oe.disabledFeatures)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName} class="policies-list"> ${a} <div class="permissions-row"> <button class="link" @click="${()=>this.#U()}"> ${se(oe.hideDetails)} </button> </div> </${o.ReportView.ReportValue.litTagName}> `}async#T(){await ce.write("PermissionsPolicySection render",(()=>{r.render(r.html` <${o.ReportView.ReportSectionHeader.litTagName}>${e.i18n.lockedString("Permissions Policy")}</${o.ReportView.ReportSectionHeader.litTagName}> ${this.#q()} ${r.Directives.until(this.#W(),r.nothing)} <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}> `,this.#e,{host:this})}))}}c.CustomElements.defineComponent("devtools-resources-permissions-policy-section",de);const he=new CSSStyleSheet;he.replaceSync(":host .badge-error{--override-adorner-text-color:var(--color-red);--override-adorner-border-color:var(--color-red)}:host .badge-success{--override-adorner-text-color:var(--color-accent-green);--override-adorner-border-color:var(--color-accent-green)}:host .badge-secondary{--override-adorner-text-color:var(--color-text-secondary);--override-adorner-border-color:var(--color-text-secondary)}:host{font-family:var(--source-code-font-family)}\n/*# sourceURL=badge.css */\n");const me=new CSSStyleSheet;me.replaceSync(".content{display:grid;grid-template-columns:min-content 1fr}.key{color:var(--color-text-secondary);padding:0 6px;text-align:right;white-space:pre}.value{color:var(--color-text-primary);margin-inline-start:0;padding:0 6px}.error-text{color:var(--color-red);font-weight:bold}\n/*# sourceURL=originTrialTokenRows.css */\n");const pe={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"},ge=e.i18n.registerUIStrings("panels/application/components/OriginTrialTreeView.ts",pe),ue=e.i18n.getLocalizedString.bind(void 0,ge);class we extends HTMLElement{static litTagName=r.literal`devtools-resources-origin-trial-tree-view-badge`;#e=this.attachShadow({mode:"open"});#G=new v.Adorner.Adorner;set data(e){this.#T(e)}connectedCallback(){this.#e.adoptedStyleSheets=[he]}#T(e){const t=document.createElement("span");t.textContent=e.badgeContent,this.#G.data={name:"badge",content:t},this.#G.classList.add(`badge-${e.style}`),r.render(r.html` ${this.#G} `,this.#e,{host:this})}}function ke(e){return{treeNodeData:e,id:"OriginTrialTreeNode#"+e.trialName,children:async()=>e.tokensWithStatus.length>1?e.tokensWithStatus.map(be):ve(e.tokensWithStatus[0]),renderer:e=>{const t=e.treeNodeData,i=r.html` <${we.litTagName} .data="${{badgeContent:ue(pe.tokens,{PH1:t.tokensWithStatus.length}),style:"secondary"}}"></${we.litTagName}> `;return r.html` ${t.trialName} <${we.litTagName} .data="${{badgeContent:t.status,style:"Enabled"===t.status?"success":"error"}}"></${we.litTagName}> ${t.tokensWithStatus.length>1?i:r.nothing} `}}}function be(e){return{treeNodeData:e.status,id:"TokenNode#"+e.rawTokenText,children:async()=>ve(e),renderer:(e,t)=>{const i=e.treeNodeData,a=r.html` <${we.litTagName} .data="${{badgeContent:i,style:"Success"===i?"success":"error"}}"></${we.litTagName}> `;return r.html`${ue(pe.token)} ${t.isExpanded?r.nothing:a}`}}}function fe(e){return r.html` <${ye.litTagName} .data="${{node:e}}"> </${ye.litTagName}> `}function ve(e){return[{treeNodeData:e,id:"TokenDetailsNode#"+e.rawTokenText,renderer:fe},(t=e.rawTokenText,{treeNodeData:ue(pe.rawTokenText),id:"TokenRawTextContainerNode#"+t,children:async()=>[{treeNodeData:t,id:"TokenRawTextNode#"+t,renderer:e=>{const t=e.treeNodeData;return r.html` <div style="overflow-wrap: break-word;"> ${t} </div> `}}]})];var t}function Se(e){return r.html`${String(e.treeNodeData)}`}c.CustomElements.defineComponent("devtools-resources-origin-trial-tree-view-badge",we);class ye extends HTMLElement{static litTagName=r.literal`devtools-resources-origin-trial-token-rows`;#e=this.attachShadow({mode:"open"});#z=null;#K=[];#_=new Intl.DateTimeFormat(e.DevToolsLocale.DevToolsLocale.instance().locale,{dateStyle:"long",timeStyle:"long"});set data(e){this.#z=e.node.treeNodeData,this.#j()}connectedCallback(){this.#e.adoptedStyleSheets=[me],this.#T()}#X=(e,t)=>r.html` <div class="${r.Directives.ifDefined(t?"error-text":void 0)}"> ${e} </div>`;#j(){this.#z?.parsedToken&&(this.#K=[{name:ue(pe.origin),value:this.#X(this.#z.parsedToken.origin,"WrongOrigin"===this.#z.status)},{name:ue(pe.expiryTime),value:this.#X(this.#_.format(1e3*this.#z.parsedToken.expiryTime),"Expired"===this.#z.status)},{name:ue(pe.usageRestriction),value:this.#X(this.#z.parsedToken.usageRestriction)},{name:ue(pe.isThirdParty),value:this.#X(this.#z.parsedToken.isThirdParty.toString())},{name:ue(pe.matchSubDomains),value:this.#X(this.#z.parsedToken.matchSubDomains.toString())}],"UnknownTrial"===this.#z.status&&(this.#K=[{name:ue(pe.trialName),value:this.#X(this.#z.parsedToken.trialName)},...this.#K]))}#T(){if(!this.#z)return;const e=[{name:ue(pe.status),value:r.html` <${we.litTagName} .data="${{badgeContent:this.#z.status,style:"Success"===this.#z.status?"success":"error"}}"></${we.litTagName}>`},...this.#K].map((e=>r.html` <div class="key">${e.name}</div> <div class="value">${e.value}</div> `));r.render(r.html` <div class="content"> ${e} </div> `,this.#e,{host:this})}}c.CustomElements.defineComponent("devtools-resources-origin-trial-token-rows",ye);class Te extends HTMLElement{static litTagName=r.literal`devtools-resources-origin-trial-tree-view`;#e=this.attachShadow({mode:"open"});set data(e){this.#T(e.trials)}#T(e){e.length&&r.render(r.html` <${m.TreeOutline.TreeOutline.litTagName} .data="${{tree:e.map(ke),defaultRenderer:Se}}"> </${m.TreeOutline.TreeOutline.litTagName}> `,this.#e,{host:this})}}c.CustomElements.defineComponent("devtools-resources-origin-trial-tree-view",Te);var Re=Object.freeze({__proto__:null,Badge:we,OriginTrialTokenRows:ye,OriginTrialTreeView:Te});const xe=new CSSStyleSheet;xe.replaceSync('.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button ~ .text-ellipsis{padding-left:2px}.link,\n.devtools-link{color:var(--color-link);text-decoration:underline;cursor:pointer;outline-offset:2px;padding:0}button.link{border:none;background:none;font-family:inherit;font-size:inherit;height:16px}button.link:has(devtools-icon){margin-top:5px}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(--color-text-secondary);padding-left:2ex;user-select:none;white-space:pre-line}.inline-name::after{content:":\\u00a0"}.inline-items{display:flex}.span-cols{grid-column-start:span 2;margin:0 0 8px 30px;line-height:28px}.without-min-width{min-width:auto}\n/*# sourceURL=frameDetailsReportView.css */\n');const $e={Activated:"Activated.",Destroyed:"A prerendered page was abandoned for unknown reasons.",LowEndDevice:"Prerendering is not supported for low-memory devices.",InvalidSchemeRedirect:"Attempted to prerender a URL that redirected to a non-HTTP(S) URL. Only HTTP(S) pages can be prerendered.",InvalidSchemeNavigation:"Only HTTP(S) navigation allowed for Prerender.",InProgressNavigation:"InProgressNavigation.",NavigationRequestBlockedByCsp:"Navigation request is blocked by CSP.",MainFrameNavigation:"Navigations after the initial prerendering navigation are disallowed",MojoBinderPolicy:"A disallowed API was used by the prerendered page",RendererProcessCrashed:"The prerendered page crashed.",RendererProcessKilled:"The renderer process for the prerendering page was killed.",Download:"Download is disallowed in Prerender.",TriggerDestroyed:"Prerender is not activated and destroyed with the trigger.",NavigationNotCommitted:"The prerendering page is not committed in the end.",NavigationBadHttpStatus:"The initial prerendering navigation was not successful due to the server returning a non-200/204/205 status code.",ClientCertRequested:"The page is requesting client cert, which is not suitable for a hidden page like prerendering.",NavigationRequestNetworkError:"Encountered a network error during prerendering.",MaxNumOfRunningPrerendersExceeded:"Max number of prerendering exceeded.",CancelAllHostsForTesting:"CancelAllHostsForTesting.",DidFailLoad:"DidFailLoadWithError happened during prerendering.",Stop:"The tab is stopped.",SslCertificateError:"SSL certificate error.",LoginAuthRequested:"Prerender does not support auth requests from UI.",UaChangeRequiresReload:"Reload is needed after UserAgentOverride.",BlockedByClient:"Resource load is blocked by the client.",AudioOutputDeviceRequested:"Prerendering has not supported the AudioContext API yet.",MixedContent:"Prerendering is canceled by a mixed content frame.",TriggerBackgrounded:"The tab is in the background",EmbedderTriggeredAndSameOriginRedirected:"Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is canceled because the navigation is redirected to another same-origin page.",EmbedderTriggeredAndCrossOriginRedirected:"Prerendering triggered by Chrome internal (e.g., Omnibox prerendering) is is canceled because the navigation is redirected to another cross-origin page.",MemoryLimitExceeded:"Memory limit exceeded",FailToGetMemoryUsage:"Fail to get memory usage",DataSaverEnabled:"Data saver enabled",HasEffectiveUrl:"Has effective URL",ActivatedBeforeStarted:"Activated before started",InactivePageRestriction:"Inactive page restriction",StartFailed:"Start failed",DisallowedApiMethod:"Disallowed API method",PrerenderingOngoing:"Prerendering ongoing",CrossSiteRedirect:"Attempted to prerender a URL which redirected to a cross-site URL. Currently prerendering cross-site pages is disallowed.",CrossSiteNavigation:"The prerendered page navigated to a cross-site URL after loading. Currently prerendering cross-site pages is disallowed.",SameSiteCrossOriginRedirect:"Attempted to prerender a URL which redirected to a same-site cross-origin URL. Currently prerendering cross-origin pages is disallowed.",SameSiteCrossOriginNavigation:"The prerendered page navigated to a same-site cross-origin URL after loading. Currently prerendering cross-origin pages is disallowed.",SameSiteCrossOriginRedirectNotOptIn:"Attempted to prerender a URL which redirected to a same-site cross-origin URL. This is disallowed unless the destination site sends a Supports-Loading-Mode: credentialed-prerender header.",SameSiteCrossOriginNavigationNotOptIn:"The prerendered page navigated to a same-site cross-origin URL after loading. This is disallowed unless the destination site sends a Supports-Loading-Mode: credentialed-prerender header.",ActivationNavigationParameterMismatch:"The page was prerendered, but the navigation ended up being performed differently than the original prerender, so the prerendered page could not be activated."},Ne=e.i18n.registerUIStrings("panels/application/components/Prerender2.ts",$e),Ce=e.i18n.getLazilyComputedLocalizedString.bind(void 0,Ne),Ie={Activated:{name:Ce($e.Activated)},Destroyed:{name:Ce($e.Destroyed)},LowEndDevice:{name:Ce($e.LowEndDevice)},InvalidSchemeRedirect:{name:Ce($e.InvalidSchemeRedirect)},InvalidSchemeNavigation:{name:Ce($e.InvalidSchemeNavigation)},InProgressNavigation:{name:Ce($e.InProgressNavigation)},NavigationRequestBlockedByCsp:{name:Ce($e.NavigationRequestBlockedByCsp)},MainFrameNavigation:{name:Ce($e.MainFrameNavigation)},MojoBinderPolicy:{name:Ce($e.MojoBinderPolicy)},RendererProcessCrashed:{name:Ce($e.RendererProcessCrashed)},RendererProcessKilled:{name:Ce($e.RendererProcessKilled)},Download:{name:Ce($e.Download)},TriggerDestroyed:{name:Ce($e.TriggerDestroyed)},NavigationNotCommitted:{name:Ce($e.NavigationNotCommitted)},NavigationBadHttpStatus:{name:Ce($e.NavigationBadHttpStatus)},ClientCertRequested:{name:Ce($e.ClientCertRequested)},NavigationRequestNetworkError:{name:Ce($e.NavigationRequestNetworkError)},MaxNumOfRunningPrerendersExceeded:{name:Ce($e.MaxNumOfRunningPrerendersExceeded)},CancelAllHostsForTesting:{name:Ce($e.CancelAllHostsForTesting)},DidFailLoad:{name:Ce($e.DidFailLoad)},Stop:{name:Ce($e.Stop)},SslCertificateError:{name:Ce($e.SslCertificateError)},LoginAuthRequested:{name:Ce($e.LoginAuthRequested)},UaChangeRequiresReload:{name:Ce($e.UaChangeRequiresReload)},BlockedByClient:{name:Ce($e.BlockedByClient)},AudioOutputDeviceRequested:{name:Ce($e.AudioOutputDeviceRequested)},MixedContent:{name:Ce($e.MixedContent)},TriggerBackgrounded:{name:Ce($e.TriggerBackgrounded)},EmbedderTriggeredAndSameOriginRedirected:{name:Ce($e.EmbedderTriggeredAndSameOriginRedirected)},EmbedderTriggeredAndCrossOriginRedirected:{name:Ce($e.EmbedderTriggeredAndCrossOriginRedirected)},MemoryLimitExceeded:{name:Ce($e.MemoryLimitExceeded)},FailToGetMemoryUsage:{name:Ce($e.FailToGetMemoryUsage)},DataSaverEnabled:{name:Ce($e.DataSaverEnabled)},HasEffectiveUrl:{name:Ce($e.HasEffectiveUrl)},ActivatedBeforeStarted:{name:Ce($e.ActivatedBeforeStarted)},InactivePageRestriction:{name:Ce($e.InactivePageRestriction)},StartFailed:{name:Ce($e.StartFailed)},DisallowedApiMethod:{name:Ce($e.DisallowedApiMethod)},PrerenderingOngoing:{name:Ce($e.PrerenderingOngoing)},CrossSiteRedirect:{name:Ce($e.CrossSiteRedirect)},CrossSiteNavigation:{name:Ce($e.CrossSiteNavigation)},SameSiteCrossOriginRedirect:{name:Ce($e.SameSiteCrossOriginRedirect)},SameSiteCrossOriginNavigation:{name:Ce($e.SameSiteCrossOriginNavigation)},SameSiteCrossOriginRedirectNotOptIn:{name:Ce($e.SameSiteCrossOriginRedirectNotOptIn)},SameSiteCrossOriginNavigationNotOptIn:{name:Ce($e.SameSiteCrossOriginNavigationNotOptIn)},ActivationNavigationParameterMismatch:{name:Ce($e.ActivationNavigationParameterMismatch)}},Pe={additionalInformation:"Additional Information",thisAdditionalDebugging:"This additional (debugging) information is shown because the 'Protocol Monitor' experiment is enabled.",frameId:"Frame ID",document:"Document",url:"URL",clickToRevealInSourcesPanel:"Click to reveal in Sources panel",clickToRevealInNetworkPanel:"Click to reveal in Network panel",unreachableUrl:"Unreachable URL",clickToRevealInNetworkPanelMight:"Click to reveal in Network panel (might require page reload)",origin:"Origin",ownerElement:"Owner Element",clickToRevealInElementsPanel:"Click to reveal 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",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.",refresh:"Refresh",prerendering:"Prerendering",prerenderingStatus:"Prerendering Status",creatorAdScript:"Creator Ad Script"},De=e.i18n.registerUIStrings("panels/application/components/FrameDetailsView.ts",Pe),Me=e.i18n.getLocalizedString.bind(void 0,De),Ee=l.RenderCoordinator.RenderCoordinator.instance();class Ve extends n.LegacyWrapper.WrappableComponent{static litTagName=r.literal`devtools-resources-frame-details-view`;#e=this.attachShadow({mode:"open"});#J;#Y;#Q;#Z=!1;#ee=null;#O={policies:[],showDetails:!1};#te=new Te;#B=new g.Linkifier.Linkifier;#ie=null;constructor(e){super(),this.#J=e,this.#Q="",this.classList.add("overflow-auto"),i.TargetManager.TargetManager.instance().addModelListener(i.ChildTargetManager.ChildTargetManager,i.ChildTargetManager.Events.TargetInfoChanged,this.targetChanged,this),e.resourceTreeModel().addEventListener(i.ResourceTreeModel.Events.PrerenderingStatusUpdated,this.render,this),this.render()}targetChanged(e){const t=e.data;"prerender"===t.subtype&&(this.#Q=t.url,this.render())}connectedCallback(){this.#Z=a.Runtime.experiments.isEnabled("protocolMonitor"),this.#e.adoptedStyleSheets=[xe]}async render(){this.#ie=await(this.#J?.parentFrame()?.getAdScriptId(this.#J?.id))||null;const e=this.#ie?.debuggerId?await i.DebuggerModel.DebuggerModel.modelForDebuggerId(this.#ie?.debuggerId):null;this.#Y=e?.target(),!this.#ee&&this.#J&&(this.#ee=this.#J.getPermissionsPolicyState()),await Ee.write("FrameDetailsView render",(()=>{this.#J&&r.render(r.html` <${o.ReportView.Report.litTagName} .data="${{reportTitle:this.#J.displayName()}}"> ${this.#re()} ${this.#ae()} ${this.#oe()} ${this.#ne()} ${r.Directives.until(this.#ee?.then((e=>(this.#O.policies=e||[],r.html` <${de.litTagName} .data="${this.#O}"> </${de.litTagName}> `))),r.nothing)} ${this.#se()} ${this.#Z?this.#ce():r.nothing} </${o.ReportView.Report.litTagName}> `,this.#e,{host:this})}))}#ne(){if(!this.#J)return r.nothing;this.#te.classList.add("span-cols");const t=this.#J,i=()=>{t.getOriginTrials().then((e=>{this.#te.data={trials:e}}))};return i(),r.html` <${o.ReportView.ReportSectionHeader.litTagName}> ${e.i18n.lockedString("Origin Trials")} <${s.IconButton.IconButton.litTagName} class="inline-button" .data="${{clickHandler:i,groups:[{iconName:"refresh",text:Me(Pe.refresh),iconColor:"var(--icon-default-hover)",iconWidth:"14px",iconHeight:"14px"}]}}"> </${s.IconButton.IconButton.litTagName}> </${o.ReportView.ReportSectionHeader.litTagName}> ${this.#te} <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}> `}#re(){return this.#J?r.html` <${o.ReportView.ReportSectionHeader.litTagName}>${Me(Pe.document)}</${o.ReportView.ReportSectionHeader.litTagName}> <${o.ReportView.ReportKey.litTagName}>${Me(Pe.url)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="inline-items"> ${this.#le()} ${this.#de()} <div class="text-ellipsis" title="${this.#J.url}">${this.#J.url}</div> </div> </${o.ReportView.ReportValue.litTagName}> ${this.#he()} ${this.#me()} ${r.Directives.until(this.#pe(),r.nothing)} ${this.#ge()} ${this.#ue()} <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}> `:r.nothing}#le(){if(!this.#J||this.#J.unreachableUrl())return r.nothing;const e=this.#we(this.#J);return le("breakpoint-circle",Me(Pe.clickToRevealInSourcesPanel),(()=>w.Revealer.reveal(e)))}#de(){if(this.#J){const e=this.#J.resourceForURL(this.#J.url);if(e&&e.request){const t=e.request;return le("arrow-up-down-circle",Me(Pe.clickToRevealInNetworkPanel),(()=>{const e=a.Runtime.experiments.isEnabled(a.Runtime.ExperimentName.HEADER_OVERRIDES)?u.UIRequestLocation.UIRequestTabs.HeadersComponent:u.UIRequestLocation.UIRequestTabs.Headers,i=u.UIRequestLocation.UIRequestLocation.tab(t,e);return w.Revealer.reveal(i)}))}}return r.nothing}#we(e){for(const t of f.Workspace.WorkspaceImpl.instance().projects()){const i=k.NetworkProject.NetworkProject.getTargetForProject(t);if(i&&i===e.resourceTreeModel().target()){const i=t.uiSourceCodeForURL(e.url);if(i)return i}}return null}#he(){return this.#J&&this.#J.unreachableUrl()?r.html` <${o.ReportView.ReportKey.litTagName}>${Me(Pe.unreachableUrl)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="inline-items"> ${this.#ke()} <div class="text-ellipsis" title="${this.#J.unreachableUrl()}">${this.#J.unreachableUrl()}</div> </div> </${o.ReportView.ReportValue.litTagName}> `:r.nothing}#ke(){if(this.#J){const e=w.ParsedURL.ParsedURL.fromString(this.#J.unreachableUrl());if(e)return le("arrow-up-down-circle",Me(Pe.clickToRevealInNetworkPanelMight),(()=>{w.Revealer.reveal(u.UIFilter.UIRequestFilter.filters([{filterType:u.UIFilter.FilterType.Domain,filterValue:e.domain()},{filterType:null,filterValue:e.path}]))}))}return r.nothing}#me(){return this.#J&&this.#J.securityOrigin&&"://"!==this.#J.securityOrigin?r.html` <${o.ReportView.ReportKey.litTagName}>${Me(Pe.origin)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis" title="${this.#J.securityOrigin}">${this.#J.securityOrigin}</div> </${o.ReportView.ReportValue.litTagName}> `:r.nothing}async#pe(){if(this.#J){const e=await this.#J.getOwnerDOMNodeOrDocument();if(e)return r.html` <${o.ReportView.ReportKey.litTagName}>${Me(Pe.ownerElement)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName} class="without-min-width"> <div class="inline-items"> <button class="link" role="link" tabindex="0" @mouseenter="${()=>this.#J?.highlight()}" @mouseleave="${()=>i.OverlayModel.OverlayModel.hideDOMNodeHighlight()}" @click="${()=>w.Revealer.reveal(e)}" title="${Me(Pe.clickToRevealInElementsPanel)}"> <${s.Icon.Icon.litTagName} .data="${{iconName:"code-circle",color:"var(--icon-link)",width:"16px",height:"16px"}}"> </${s.Icon.Icon.litTagName}> </button> <button class="link text-link" role="link" tabindex="0" title="${Me(Pe.clickToRevealInElementsPanel)}" @mouseenter="${()=>this.#J?.highlight()}" @mouseleave="${()=>i.OverlayModel.OverlayModel.hideDOMNodeHighlight()}" @click="${()=>w.Revealer.reveal(e)}"> <${e.nodeName().toLocaleLowerCase()}> </button> </div> </${o.ReportView.ReportValue.litTagName}> `}return r.nothing}#ge(){const e=this.#J?.getCreationStackTraceData();return e&&e.creationStackTrace?r.html` <${o.ReportView.ReportKey.litTagName} title="${Me(Pe.creationStackTraceExplanation)}">${Me(Pe.creationStackTrace)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <${ie.litTagName} .data="${{frame:this.#J,buildStackTraceRows:g.JSPresentationUtils.buildStackTraceRows}}"> </${ie.litTagName}> </${o.ReportView.ReportValue.litTagName}> `:r.nothing}#be(e){switch(e){case"child":return{value:Me(Pe.child),description:Me(Pe.childDescription)};case"root":return{value:Me(Pe.root),description:Me(Pe.rootDescription)}}}#fe(e){switch(e){case"CreatedByAdScript":return Me(Pe.createdByAdScriptExplanation);case"MatchedBlockingRule":return Me(Pe.matchedBlockingRuleExplanation);case"ParentIsAd":return Me(Pe.parentIsAdExplanation)}}#ue(){if(!this.#J)return r.nothing;const e=this.#J.adFrameType();if("none"===e)return r.nothing;const t=this.#be(e),i=[r.html`<div title="${t.description}">${t.value}</div>`];for(const e of this.#J.adFrameStatus()?.explanations||[])i.push(r.html`<div>${this.#fe(e)}</div>`);const a=this.#Y?this.#B.linkifyScriptLocation(this.#Y,this.#ie?.scriptId||null,b.DevToolsPath.EmptyUrlString,void 0,void 0):null;return r.html` <${o.ReportView.ReportKey.litTagName}>${Me(Pe.adStatus)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <${h.ExpandableList.ExpandableList.litTagName} .data="${{rows:i}}"></${h.ExpandableList.ExpandableList.litTagName}></${o.ReportView.ReportValue.litTagName}> ${this.#Y?r.html` <${o.ReportView.ReportKey.litTagName}>${Me(Pe.creatorAdScript)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName} class="ad-script-link">${a}</${o.ReportView.ReportValue.litTagName}> `:r.nothing} `}#ae(){return this.#J?r.html` <${o.ReportView.ReportSectionHeader.litTagName}>${Me(Pe.securityIsolation)}</${o.ReportView.ReportSectionHeader.litTagName}> <${o.ReportView.ReportKey.litTagName}>${Me(Pe.secureContext)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${this.#J.isSecureContext()?Me(Pe.yes):Me(Pe.no)}\xA0${this.#ve()} </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportKey.litTagName}>${Me(Pe.crossoriginIsolated)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${this.#J.isCrossOriginIsolated()?Me(Pe.yes):Me(Pe.no)} </${o.ReportView.ReportValue.litTagName}> ${r.Directives.until(this.#Se(),r.nothing)} <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}> `:r.nothing}#ve(){const e=this.#ye();return e?r.html`<span class="inline-comment">${e}</span>`:r.nothing}#ye(){switch(this.#J?.getSecureContextType()){case"Secure":return null;case"SecureLocalhost":return Me(Pe.localhostIsAlwaysASecureContext);case"InsecureAncestor":return Me(Pe.aFrameAncestorIsAnInsecure);case"InsecureScheme":return Me(Pe.theFramesSchemeIsInsecure)}return null}async#Se(){if(this.#J){const t=this.#J.resourceTreeModel().target().model(i.NetworkManager.NetworkManager),a=t&&await t.getSecurityIsolationStatus(this.#J.id);if(a)return r.html` ${this.#Te(a.coep,e.i18n.lockedString("Cross-Origin Embedder Policy (COEP)"),"None")} ${this.#Te(a.coop,e.i18n.lockedString("Cross-Origin Opener Policy (COOP)"),"UnsafeNone")} `}return r.nothing}#Te(e,t,i){if(!e)return r.nothing;const a=e.value!==i,n=!a&&e.reportOnlyValue!==i,s=a?e.reportingEndpoint:e.reportOnlyReportingEndpoint;return r.html` <${o.ReportView.ReportKey.litTagName}>${t}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${a?e.value:e.reportOnlyValue} ${n?r.html`<span class="inline-comment">report-only</span>`:r.nothing} ${s?r.html`<span class="inline-name">${Me(Pe.reportingTo)}</span>${s}`:r.nothing} </${o.ReportView.ReportValue.litTagName}> `}#oe(){return this.#J?r.html` <${o.ReportView.ReportSectionHeader.litTagName}>${Me(Pe.apiAvailability)}</${o.ReportView.ReportSectionHeader.litTagName}> <div class="span-cols"> ${Me(Pe.availabilityOfCertainApisDepends)} <x-link href="https://web.dev/why-coop-coep/" class="link">${Me(Pe.learnMore)}</x-link> </div> ${this.#Re()} ${this.#xe()} <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}> `:r.nothing}#Re(){if(this.#J){const e=this.#J.getGatedAPIFeatures();if(e){const t=e.includes("SharedArrayBuffers"),i=t&&e.includes("SharedArrayBuffersTransferAllowed"),a=Me(i?Pe.availableTransferable:t?Pe.availableNotTransferable:Pe.unavailable),n=i?Me(Pe.sharedarraybufferConstructorIs):t?Me(Pe.sharedarraybufferConstructorIsAvailable):"";function s(e){switch(e.getCrossOriginIsolatedContextType()){case"Isolated":return r.nothing;case"NotIsolated":return t?r.html`<span class="inline-comment">${Me(Pe.willRequireCrossoriginIsolated)}</span>`:r.html`<span class="inline-comment">${Me(Pe.requiresCrossoriginIsolated)}</span>`;case"NotIsolatedFeatureDisabled":if(!i)return r.html`<span class="inline-comment">${Me(Pe.transferRequiresCrossoriginIsolatedPermission)} <code>cross-origin-isolated</code></span>`}return r.nothing}return r.html` <${o.ReportView.ReportKey.litTagName}>SharedArrayBuffers</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName} title="${n}"> ${a}\xA0${s(this.#J)} </${o.ReportView.ReportValue.litTagName}> `}}return r.nothing}#xe(){if(this.#J){const e=this.#J.isCrossOriginIsolated(),t=Me(e?Pe.available:Pe.unavailable),i=Me(e?Pe.thePerformanceAPI:Pe.thePerformancemeasureuseragentspecificmemory);return r.html` <${o.ReportView.ReportKey.litTagName}>${Me(Pe.measureMemory)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <span title="${i}">${t}</span>\xA0<x-link class="link" href="https://web.dev/monitor-total-page-memory-usage/">${Me(Pe.learnMore)}</x-link> </${o.ReportView.ReportValue.litTagName}> `}return r.nothing}#se(){if(this.#Q&&""!==this.#Q){const e=Ie.PrerenderingOngoing.name()+" "+this.#Q;return r.html` <${o.ReportView.ReportSectionHeader.litTagName}> ${Me(Pe.prerendering)}</${o.ReportView.ReportSectionHeader.litTagName}> <${o.ReportView.ReportKey.litTagName}>${Me(Pe.prerenderingStatus)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis" title="${e}">${e}</div> </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}>`}if(!this.#J||!this.#J.prerenderFinalStatus)return r.nothing;const e=Ie[this.#J.prerenderFinalStatus].name();if(this.#J.prerenderDisallowedApiMethod){const t=Ie.DisallowedApiMethod.name();return r.html` <${o.ReportView.ReportSectionHeader.litTagName}> ${Me(Pe.prerendering)}</${o.ReportView.ReportSectionHeader.litTagName}> <${o.ReportView.ReportKey.litTagName}>${Me(Pe.prerenderingStatus)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis" title="${e}">${e}</div> </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportKey.litTagName}>${t}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis" title="${this.#J.prerenderDisallowedApiMethod}"> ${this.#J.prerenderDisallowedApiMethod} </div> </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}>`}return r.html` <${o.ReportView.ReportSectionHeader.litTagName}> ${Me(Pe.prerendering)}</${o.ReportView.ReportSectionHeader.litTagName}> <${o.ReportView.ReportKey.litTagName}>${Me(Pe.prerenderingStatus)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis" title="${e}">${e}</div> </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}>`}#ce(){return this.#J?r.html` <${o.ReportView.ReportSectionHeader.litTagName} title="${Me(Pe.thisAdditionalDebugging)}">${Me(Pe.additionalInformation)}</${o.ReportView.ReportSectionHeader.litTagName}> <${o.ReportView.ReportKey.litTagName}>${Me(Pe.frameId)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis" title="${this.#J.id}">${this.#J.id}</div> </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportSectionDivider.litTagName}></${o.ReportView.ReportSectionDivider.litTagName}> `:r.nothing}}c.CustomElements.defineComponent("devtools-resources-frame-details-view",Ve);var Be=Object.freeze({__proto__:null,FrameDetailsReportView:Ve});const Fe=new CSSStyleSheet;Fe.replaceSync(":host{padding:20px}.heading{font-size:15px}devtools-data-grid-controller{border:1px solid var(--color-details-hairline);margin-top:20px}.info-icon{vertical-align:text-bottom;height:14px}.no-events-message{margin-top:20px}\n/*# sourceURL=interestGroupAccessGrid.css */\n");const Ae={allInterestGroupStorageEvents:"All interest group storage events.",eventTime:"Event Time",eventType:"Access Type",groupOwner:"Owner",groupName:"Name",noEvents:"No interest group events recorded."},Le=e.i18n.registerUIStrings("panels/application/components/InterestGroupAccessGrid.ts",Ae),He=e.i18n.getLocalizedString.bind(void 0,Le);class Oe extends HTMLElement{static litTagName=r.literal`devtools-interest-group-access-grid`;#e=this.attachShadow({mode:"open"});#$e=[];connectedCallback(){this.#e.adoptedStyleSheets=[Fe],this.#T()}set data(e){this.#$e=e,this.#T()}#T(){r.render(r.html` <div> <span class="heading">Interest Groups</span> <${s.Icon.Icon.litTagName} class="info-icon" title="${He(Ae.allInterestGroupStorageEvents)}" .data="${{iconName:"info",color:"var(--icon-default)",width:"16px"}}"> </${s.Icon.Icon.litTagName}> ${this.#Ne()} </div> `,this.#e,{host:this})}#Ne(){if(0===this.#$e.length)return r.html`<div class="no-events-message">${He(Ae.noEvents)}</div>`;const e={columns:[{id:"event-time",title:He(Ae.eventTime),widthWeighting:10,hideable:!1,visible:!0,sortable:!0},{id:"event-type",title:He(Ae.eventType),widthWeighting:5,hideable:!1,visible:!0,sortable:!0},{id:"event-group-owner",title:He(Ae.groupOwner),widthWeighting:10,hideable:!1,visible:!0,sortable:!0},{id:"event-group-name",title:He(Ae.groupName),widthWeighting:10,hideable:!1,visible:!0,sortable:!0}],rows:this.#Ce(),initialSort:{columnId:"event-time",direction:"ASC"}};return r.html` <${p.DataGridController.DataGridController.litTagName} .data="${e}"></${p.DataGridController.DataGridController.litTagName}> `}#Ce(){return this.#$e.map((e=>({cells:[{columnId:"event-time",value:e.accessTime,renderer:this.#Ie.bind(this)},{columnId:"event-type",value:e.type},{columnId:"event-group-owner",value:e.ownerOrigin},{columnId:"event-group-name",value:e.name}]})))}#Ie(e){const t=new Date(1e3*e);return r.html`${t.toLocaleString()}`}}c.CustomElements.defineComponent("devtools-interest-group-access-grid",Oe);var Ue=Object.freeze({__proto__:null,i18nString:He,InterestGroupAccessGrid:Oe});const qe=new CSSStyleSheet;qe.replaceSync('*{box-sizing:border-box;min-width:0;min-height:0}:root{height:100%;overflow:hidden;--legacy-accent-color:#1a73e8;--legacy-accent-fg-color:#1a73e8;--legacy-accent-color-hover:#3b86e8;--legacy-accent-fg-color-hover:#1567d3;--legacy-active-control-bg-color:#5a5a5a;--legacy-focus-bg-color:hsl(214deg 40% 92%);--legacy-focus-ring-inactive-shadow-color:#e0e0e0;--legacy-input-validation-error:#db1600;--legacy-toolbar-hover-bg-color:#eaeaea;--legacy-selection-fg-color:#fff;--legacy-selection-bg-color:var(--legacy-accent-color);--legacy-selection-inactive-fg-color:#5a5a5a;--legacy-selection-inactive-bg-color:#dadada;--legacy-tab-selected-fg-color:#333;--legacy-divider-border:1px solid var(--color-details-hairline);--legacy-focus-ring-inactive-shadow:0 0 0 1px var(--legacy-focus-ring-inactive-shadow-color);--legacy-focus-ring-active-shadow:0 0 0 1px var(--legacy-accent-color);--legacy-item-selection-bg-color:#cfe8fc;--legacy-item-selection-inactive-bg-color:#e0e0e0;--item-hover-color:rgb(56 121 217/10%);--monospace-font-size:10px;--monospace-font-family:monospace;--source-code-font-size:11px;--source-code-font-family:monospace;--override-force-white-icons-background:#fafafa}.-theme-with-dark-background{color-scheme:dark;--legacy-accent-color:#0e639c;--legacy-accent-fg-color:#ccc;--legacy-accent-fg-color-hover:#fff;--legacy-accent-color-hover:rgb(17 119 187);--legacy-active-control-bg-color:#cdcdcd;--legacy-focus-bg-color:hsl(214deg 19% 27%);--legacy-focus-ring-inactive-shadow-color:#5a5a5a;--legacy-toolbar-hover-bg-color:#202020;--legacy-selection-fg-color:#cdcdcd;--legacy-selection-inactive-fg-color:#cdcdcd;--legacy-selection-inactive-bg-color:hsl(0deg 0% 28%);--legacy-tab-selected-fg-color:#eaeaea;--legacy-focus-ring-inactive-shadow:0 0 0 1px var(--legacy-focus-ring-inactive-shadow-color);--legacy-item-selection-bg-color:hsl(207deg 88% 22%);--legacy-item-selection-inactive-bg-color:#454545}body{height:100%;width:100%;position:relative;overflow:hidden;margin:0;cursor:default;font-family:".SFNSDisplay-Regular","Helvetica Neue","Lucida Grande",sans-serif;font-size:12px;tab-size:4;user-select:none;color:var(--color-text-primary);background:var(--color-background)}.platform-linux{font-family:Roboto,Ubuntu,Arial,sans-serif}.platform-mac{font-family:".SFNSDisplay-Regular","Helvetica Neue","Lucida Grande",sans-serif}.platform-mac,\n.platform-linux{--override-text-color:rgb(48 57 66);color:var(--override-text-color)}.platform-windows{font-family:"Segoe UI",Tahoma,sans-serif}:focus{outline-width:0}.platform-mac,\n:host-context(.platform-mac){--monospace-font-size:11px;--monospace-font-family:menlo,monospace;--source-code-font-size:11px;--source-code-font-family:menlo,monospace}.platform-windows,\n:host-context(.platform-windows){--monospace-font-size:12px;--monospace-font-family:consolas,lucida console,courier new,monospace;--source-code-font-size:12px;--source-code-font-family:consolas,lucida console,courier new,monospace}.platform-linux,\n:host-context(.platform-linux){--monospace-font-size:11px;--monospace-font-family:dejavu sans mono,monospace;--source-code-font-size:11px;--source-code-font-family:dejavu sans mono,monospace}.-theme-with-dark-background .platform-linux,\n.-theme-with-dark-background .platform-mac,\n:host-context(.-theme-with-dark-background) .platform-linux,\n:host-context(.-theme-with-dark-background) .platform-mac{--override-text-color:rgb(189 198 207)}.monospace{font-family:var(--monospace-font-family);font-size:var(--monospace-font-size)!important}.source-code{font-family:var(--source-code-font-family);font-size:var(--source-code-font-size)!important;white-space:pre-wrap}img{-webkit-user-drag:none}iframe,\na img{border:none}.fill{position:absolute;top:0;left:0;right:0;bottom: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 > .toolbar{border-bottom:1px solid var(--color-details-hairline)}.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(--color-background)}iframe.widget{position:absolute;width:100%;height:100%;left:0;right:0;top:0;bottom:0}.hidden{display:none!important}.highlighted-search-result{--override-highlighted-search-result-background-color:rgb(255 255 0/80%);border-radius:1px;background-color:var(--override-highlighted-search-result-background-color);outline:1px solid var(--override-highlighted-search-result-background-color)}.-theme-with-dark-background .highlighted-search-result,\n:host-context(.-theme-with-dark-background) .highlighted-search-result{--override-highlighted-search-result-background-color:hsl(133deg 100% 30%);color:#333}.link{cursor:pointer;text-decoration:underline;color:var(--color-link);outline-offset:2px}button,\ninput,\nselect{font-family:inherit;font-size:inherit}select option,\nselect optgroup,\ninput{background-color:var(--color-background)}input{color:inherit}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%)}:host-context(.-theme-with-dark-background) input[type="checkbox"]:not(.-theme-preserve){accent-color:var(--color-checkbox-accent-color)}.harmony-input:not([type]),\n.harmony-input[type="number"],\n.harmony-input[type="text"]{padding:3px 6px;height:24px;border:none;box-shadow:var(--legacy-focus-ring-inactive-shadow)}.harmony-input:not([type]).error-input,\n.harmony-input[type="number"].error-input,\n.harmony-input[type="text"].error-input,\n.harmony-input:not([type]):invalid,\n.harmony-input[type="number"]:invalid,\n.harmony-input[type="text"]:invalid{box-shadow:0 0 0 1px var(--color-red)}.harmony-input:not([type]):not(.error-input):not(:invalid):hover,\n.harmony-input[type="number"]:not(.error-input):not(:invalid):hover,\n.harmony-input[type="text"]:not(.error-input):not(:invalid):hover{box-shadow:var(--legacy-focus-ring-inactive-shadow)}.harmony-input:not([type]):not(.error-input):not(:invalid):focus,\n.harmony-input[type="number"]:not(.error-input):not(:invalid):focus,\n.harmony-input[type="text"]:not(.error-input):not(:invalid):focus{box-shadow:var(--legacy-focus-ring-active-shadow)}.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(--color-background);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(--color-text-primary)!important;text-decoration:none!important}.chrome-select{--override-chrome-select-border-color:rgb(0 0 0/20%);appearance:none;user-select:none;border:1px solid var(--override-chrome-select-border-color);border-radius:2px;color:var(--color-text-primary);font:inherit;margin:0;outline:none;padding-right:20px;padding-left:6px;background-image:var(--image-file-arrow-drop-down-light);background-color:var(--color-background-elevation-0);background-position:right center;background-repeat:no-repeat;min-height:24px;min-width:80px}.chrome-select:disabled{opacity:38%}.-theme-with-dark-background .chrome-select,\n:host-context(.-theme-with-dark-background) .chrome-select{--override-chrome-select-border-color:rgb(230 230 230/20%);background-image:var(--image-file-arrow-drop-down-dark)}.chrome-select:enabled:active,\n.chrome-select:enabled:focus,\n.chrome-select:enabled:hover{--override-select-box-shadow:0 0 0 2px var(--color-button-outline-focus);background-color:var(--color-background-elevation-1);box-shadow:var(--override-select-box-shadow)}.chrome-select:enabled:active{background-color:var(--color-background-elevation-2)}.chrome-select:enabled:focus{border-color:transparent}@media (forced-colors: active) and (prefers-color-scheme: light){.chrome-select{background-image:var(--image-file-arrow-drop-down-light)}.-theme-with-dark-background .chrome-select,\n :host-context(.-theme-with-dark-background) .chrome-select{background-image:var(--image-file-arrow-drop-down-light)}}@media (forced-colors: active) and (prefers-color-scheme: dark){.chrome-select{background-image:var(--image-file-arrow-drop-down-dark)}.-theme-with-dark-background .chrome-select,\n :host-context(.-theme-with-dark-background) .chrome-select{background-image:var(--image-file-arrow-drop-down-dark)}}.-theme-with-dark-background .chrome-select:enabled:active,\n.-theme-with-dark-background .chrome-select:enabled:focus,\n.-theme-with-dark-background .chrome-select:enabled:hover,\n:host-context(.-theme-with-dark-background) .chrome-select:enabled:active,\n:host-context(.-theme-with-dark-background) .chrome-select:enabled:focus,\n:host-context(.-theme-with-dark-background) .chrome-select:enabled:hover{--override-select-box-shadow:0 0 0 2px var(--color-button-outline-focus)}.chrome-select-label{margin:0 22px;flex:none}.chrome-select-label p p{margin-top:0;color:var(--color-text-secondary)}.settings-select{margin:0}.chrome-select optgroup,\n.chrome-select option{background-color:var(--color-background-elevation-1);color:var(--color-text-primary)}.gray-info-message{text-align:center;font-style:italic;padding:6px;color:var(--color-text-secondary);white-space:nowrap}span[is="dt-icon-label"]{flex:none}.full-widget-dimmed-banner a{color:inherit}.full-widget-dimmed-banner{color:var(--color-text-secondary);background-color:var(--color-background);display:flex;justify-content:center;align-items:center;text-align:center;padding:20px;position:absolute;top:0;right:0;bottom:0;left:0;font-size:13px;overflow:auto;z-index:500}[is="ui-icon"]{display:inline-block;flex-shrink:0}.-theme-with-dark-background [is="ui-icon"].icon-invert,\n:host-context(.-theme-with-dark-background) [is="ui-icon"].icon-invert{filter:invert(80%) hue-rotate(180deg)}[is="ui-icon"].icon-mask{background-color:var(--icon-default);-webkit-mask-position:var(--spritesheet-position)}.-theme-with-dark-background [is="ui-icon"].icon-mask,\n:host-context(.-theme-with-dark-background) [is="ui-icon"].icon-mask{--override-icon-mask-background-color:rgb(145 145 145)}[is="ui-icon"]:not(.icon-mask){background-position:var(--spritesheet-position)}.spritesheet-smallicons:not(.icon-mask){background-image:var(--image-file-smallIcons)}.spritesheet-smallicons.icon-mask{-webkit-mask-image:var(--image-file-smallIcons)}.spritesheet-largeicons:not(.icon-mask){background-image:var(--image-file-largeIcons)}.spritesheet-largeicons.icon-mask{-webkit-mask-image:var(--image-file-largeIcons)}.spritesheet-mediumicons:not(.icon-mask){background-image:var(--image-file-mediumIcons)}.spritesheet-mediumicons.icon-mask{-webkit-mask-image:var(--image-file-mediumIcons)}.spritesheet-arrowicons{background-image:var(--image-file-popoverArrows)}.spritesheet-3d-center.icon-mask{-webkit-mask-image:var(--image-file-3d-center)}.spritesheet-3d-pan.icon-mask{-webkit-mask-image:var(--image-file-3d-pan)}.spritesheet-3d-rotate.icon-mask{-webkit-mask-image:var(--image-file-3d-rotate)}.spritesheet-arrow-up-down-circle.icon-mask{-webkit-mask-image:var(--image-file-arrow-up-down-circle)}.spritesheet-arrow-up-down.icon-mask{-webkit-mask-image:var(--image-file-arrow-up-down)}.spritesheet-bell.icon-mask{-webkit-mask-image:var(--image-file-bell)}.spritesheet-bezier-curve-filled.icon-mask{-webkit-mask-image:var(--image-file-bezier-curve-filled)}.spritesheet-bin.icon-mask{-webkit-mask-image:var(--image-file-bin)}.spritesheet-bottom-panel-close.icon-mask{-webkit-mask-image:var(--image-file-bottom-panel-close)}.spritesheet-bottom-panel-open.icon-mask{-webkit-mask-image:var(--image-file-bottom-panel-open)}.spritesheet-brackets.icon-mask{-webkit-mask-image:var(--image-file-brackets)}.spritesheet-breakpoint-crossed-filled.icon-mask{-webkit-mask-image:var(--image-file-breakpoint-crossed-filled)}.spritesheet-breakpoint-crossed.icon-mask{-webkit-mask-image:var(--image-file-breakpoint-crossed)}.spritesheet-brush-filled.icon-mask{-webkit-mask-image:var(--image-file-brush-filled)}.spritesheet-brush.icon-mask{-webkit-mask-image:var(--image-file-brush)}.spritesheet-bug.icon-mask{-webkit-mask-image:var(--image-file-bug)}.spritesheet-check-double.icon-mask{-webkit-mask-image:var(--image-file-check-double)}.spritesheet-checkmark.icon-mask{-webkit-mask-image:var(--image-file-checkmark)}.spritesheet-chevron-double-right.icon-mask{-webkit-mask-image:var(--image-file-chevron-double-right)}.spritesheet-chevron-down.icon-mask{-webkit-mask-image:var(--image-file-chevron-down)}.spritesheet-chevron-up.icon-mask{-webkit-mask-image:var(--image-file-chevron-up)}.spritesheet-clear-list.icon-mask{-webkit-mask-image:var(--image-file-clear-list)}.spritesheet-clear.icon-mask{-webkit-mask-image:var(--image-file-clear)}.spritesheet-cloud.icon-mask{-webkit-mask-image:var(--image-file-cloud)}.spritesheet-code-circle.icon-mask{-webkit-mask-image:var(--image-file-code-circle)}.spritesheet-color-picker-filled.icon-mask{-webkit-mask-image:var(--image-file-color-picker-filled)}.spritesheet-color-picker.icon-mask{-webkit-mask-image:var(--image-file-color-picker)}.spritesheet-cookie.icon-mask{-webkit-mask-image:var(--image-file-cookie)}.spritesheet-copy.icon-mask{-webkit-mask-image:var(--image-file-copy)}.spritesheet-credit-card.icon-mask{-webkit-mask-image:var(--image-file-credit-card)}.spritesheet-cross-circle.icon-mask{-webkit-mask-image:var(--image-file-cross-circle)}.spritesheet-cross.icon-mask{-webkit-mask-image:var(--image-file-cross)}.spritesheet-custom-typography.icon-mask{-webkit-mask-image:var(--image-file-custom-typography)}.spritesheet-database.icon-mask{-webkit-mask-image:var(--image-file-database)}.spritesheet-device-fold.icon-mask{-webkit-mask-image:var(--image-file-device-fold)}.spritesheet-devices.icon-mask{-webkit-mask-image:var(--image-file-devices)}.spritesheet-dock-bottom.icon-mask{-webkit-mask-image:var(--image-file-dock-bottom)}.spritesheet-dock-left.icon-mask{-webkit-mask-image:var(--image-file-dock-left)}.spritesheet-dock-right.icon-mask{-webkit-mask-image:var(--image-file-dock-right)}.spritesheet-dock-window.icon-mask{-webkit-mask-image:var(--image-file-dock-window)}.spritesheet-document.icon-mask{-webkit-mask-image:var(--image-file-document)}.spritesheet-dots-vertical.icon-mask{-webkit-mask-image:var(--image-file-dots-vertical)}.spritesheet-download.icon-mask{-webkit-mask-image:var(--image-file-download)}.spritesheet-edit.icon-mask{-webkit-mask-image:var(--image-file-edit)}.spritesheet-experiment-check.icon-mask{-webkit-mask-image:var(--image-file-experiment-check)}.spritesheet-eye.icon-mask{-webkit-mask-image:var(--image-file-eye)}.spritesheet-filter-clear.icon-mask{-webkit-mask-image:var(--image-file-filter-clear)}.spritesheet-filter-filled.icon-mask{-webkit-mask-image:var(--image-file-filter-filled)}.spritesheet-filter.icon-mask{-webkit-mask-image:var(--image-file-filter)}.spritesheet-frame-crossed.icon-mask{-webkit-mask-image:var(--image-file-frame-crossed)}.spritesheet-frame.icon-mask{-webkit-mask-image:var(--image-file-frame)}.spritesheet-gear-filled.icon-mask{-webkit-mask-image:var(--image-file-gear-filled)}.spritesheet-gear.icon-mask{-webkit-mask-image:var(--image-file-gear)}.spritesheet-gears.icon-mask{-webkit-mask-image:var(--image-file-gears)}.spritesheet-heap-snapshot.icon-mask{-webkit-mask-image:var(--image-file-heap-snapshot)}.spritesheet-heap-snapshots.icon-mask{-webkit-mask-image:var(--image-file-heap-snapshots)}.spritesheet-iframe-crossed.icon-mask{-webkit-mask-image:var(--image-file-iframe-crossed)}.spritesheet-iframe.icon-mask{-webkit-mask-image:var(--image-file-iframe)}.spritesheet-import.icon-mask{-webkit-mask-image:var(--image-file-import)}.spritesheet-info.icon-mask{-webkit-mask-image:var(--image-file-info)}.spritesheet-keyboard-pen.icon-mask{-webkit-mask-image:var(--image-file-keyboard-pen)}.spritesheet-layers-filled.icon-mask{-webkit-mask-image:var(--image-file-layers-filled)}.spritesheet-layers.icon-mask{-webkit-mask-image:var(--image-file-layers)}.spritesheet-left-panel-close.icon-mask{-webkit-mask-image:var(--image-file-left-panel-close)}.spritesheet-left-panel-open.icon-mask{-webkit-mask-image:var(--image-file-left-panel-open)}.spritesheet-list.icon-mask{-webkit-mask-image:var(--image-file-list)}.spritesheet-pause.icon-mask{-webkit-mask-image:var(--image-file-pause)}.spritesheet-play.icon-mask{-webkit-mask-image:var(--image-file-play)}.spritesheet-plus.icon-mask{-webkit-mask-image:var(--image-file-plus)}.spritesheet-popup.icon-mask{-webkit-mask-image:var(--image-file-popup)}.spritesheet-profile.icon-mask{-webkit-mask-image:var(--image-file-profile)}.spritesheet-record-start.icon-mask{-webkit-mask-image:var(--image-file-record-start)}.spritesheet-record-stop.icon-mask{-webkit-mask-image:var(--image-file-record-stop)}.spritesheet-refresh.icon-mask{-webkit-mask-image:var(--image-file-refresh)}.spritesheet-replace.icon-mask{-webkit-mask-image:var(--image-file-replace)}.spritesheet-resume.icon-mask{-webkit-mask-image:var(--image-file-resume)}.spritesheet-right-panel-close.icon-mask{-webkit-mask-image:var(--image-file-right-panel-close)}.spritesheet-right-panel-open.icon-mask{-webkit-mask-image:var(--image-file-right-panel-open)}.spritesheet-screen-rotation.icon-mask{-webkit-mask-image:var(--image-file-screen-rotation)}.spritesheet-search.icon-mask{-webkit-mask-image:var(--image-file-search)}.spritesheet-select-element.icon-mask{-webkit-mask-image:var(--image-file-select-element)}.spritesheet-shadow.icon-mask{-webkit-mask-image:var(--image-file-shadow)}.spritesheet-step-into.icon-mask{-webkit-mask-image:var(--image-file-step-into)}.spritesheet-step-out.icon-mask{-webkit-mask-image:var(--image-file-step-out)}.spritesheet-step-over.icon-mask{-webkit-mask-image:var(--image-file-step-over)}.spritesheet-step.icon-mask{-webkit-mask-image:var(--image-file-step)}.spritesheet-stop.icon-mask{-webkit-mask-image:var(--image-file-stop)}.spritesheet-sync.icon-mask{-webkit-mask-image:var(--image-file-sync)}.spritesheet-table.icon-mask{-webkit-mask-image:var(--image-file-table)}.spritesheet-top-panel-close.icon-mask{-webkit-mask-image:var(--image-file-top-panel-close)}.spritesheet-top-panel-open.icon-mask{-webkit-mask-image:var(--image-file-top-panel-open)}.spritesheet-replay.icon-mask{-webkit-mask-image:var(--image-file-replay)}.spritesheet-triangle-bottom-right.icon-mask{-webkit-mask-image:var(--image-file-triangle-bottom-right)}.spritesheet-triangle-down.icon-mask{-webkit-mask-image:var(--image-file-triangle-down)}.spritesheet-triangle-left.icon-mask{-webkit-mask-image:var(--image-file-triangle-left)}.spritesheet-triangle-right.icon-mask{-webkit-mask-image:var(--image-file-triangle-right)}.spritesheet-triangle-up.icon-mask{-webkit-mask-image:var(--image-file-triangle-up)}.spritesheet-undo.icon-mask{-webkit-mask-image:var(--image-file-undo)}.spritesheet-warning.icon-mask{-webkit-mask-image:var(--image-file-warning)}.spritesheet-watch.icon-mask{-webkit-mask-image:var(--image-file-watch)}.force-white-icons [is="ui-icon"].spritesheet-smallicons,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-smallicons,\n[is="ui-icon"].force-white-icons.spritesheet-smallicons,\n.-theme-preserve{-webkit-mask-image:var(--image-file-smallIcons);-webkit-mask-position:var(--spritesheet-position);background:var(--override-force-white-icons-background)!important}.force-white-icons [is="ui-icon"].spritesheet-largeicons,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-largeicons,\n[is="ui-icon"].force-white-icons.spritesheet-largeicons,\n.-theme-preserve{-webkit-mask-image:var(--image-file-largeIcons);-webkit-mask-position:var(--spritesheet-position);background:var(--override-force-white-icons-background)!important}.force-white-icons [is="ui-icon"].spritesheet-mediumicons,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-mediumicons,\n[is="ui-icon"].force-white-icons.spritesheet-mediumicons,\n.-theme-preserve{-webkit-mask-image:var(--image-file-mediumIcons);-webkit-mask-position:var(--spritesheet-position);background:var(--override-force-white-icons-background)!important}.force-white-icons [is="ui-icon"].spritesheet-arrow-up-down,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-arrow-up-down,\n[is="ui-icon"].force-white-icons.spritesheet-arrow-up-down,\n.-theme-preserve{-webkit-mask-image:var(--image-file-arrow-up-down);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-bell,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-bell,\n[is="ui-icon"].force-white-icons.spritesheet-bell,\n.-theme-preserve{-webkit-mask-image:var(--image-file-bell);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-bug,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-bug,\n[is="ui-icon"].force-white-icons.spritesheet-bug,\n.-theme-preserve{-webkit-mask-image:var(--image-file-bug);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-cloud,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-cloud,\n[is="ui-icon"].force-white-icons.spritesheet-cloud,\n.-theme-preserve{-webkit-mask-image:var(--image-file-cloud);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-cookie,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-cookie,\n[is="ui-icon"].force-white-icons.spritesheet-cookie,\n.-theme-preserve{-webkit-mask-image:var(--image-file-cookie);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-credit-card,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-credit-card,\n[is="ui-icon"].force-white-icons.spritesheet-credit-card,\n.-theme-preserve{-webkit-mask-image:var(--image-file-credit-card);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-cross-circle,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-cross-circle,\n[is="ui-icon"].force-white-icons.spritesheet-cross-circle,\n.-theme-preserve{-webkit-mask-image:var(--image-file-cross-circle);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-database,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-database,\n[is="ui-icon"].force-white-icons.spritesheet-database,\n.-theme-preserve{-webkit-mask-image:var(--image-file-database);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-dock-bottom,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-dock-bottom,\n[is="ui-icon"].force-white-icons.spritesheet-dock-bottom,\n.-theme-preserve{-webkit-mask-image:var(--image-file-dock-bottom);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-dock-left,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-dock-left,\n[is="ui-icon"].force-white-icons.spritesheet-dock-left,\n.-theme-preserve{-webkit-mask-image:var(--image-file-dock-left);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-dock-right,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-dock-right,\n[is="ui-icon"].force-white-icons.spritesheet-dock-right,\n.-theme-preserve{-webkit-mask-image:var(--image-file-dock-right);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-dock-window,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-dock-window,\n[is="ui-icon"].force-white-icons.spritesheet-dock-window,\n.-theme-preserve{-webkit-mask-image:var(--image-file-dock-window);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-document,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-document,\n[is="ui-icon"].force-white-icons.spritesheet-document,\n.-theme-preserve{-webkit-mask-image:var(--image-file-document);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-frame-crossed,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-frame-crossed,\n[is="ui-icon"].force-white-icons.spritesheet-frame-crossed,\n.-theme-preserve{-webkit-mask-image:var(--image-file-frame-crossed);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-frame,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-frame,\n[is="ui-icon"].force-white-icons.spritesheet-frame,\n.-theme-preserve{-webkit-mask-image:var(--image-file-frame);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-gears,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-gears,\n[is="ui-icon"].force-white-icons.spritesheet-gears,\n.-theme-preserve{-webkit-mask-image:var(--image-file-gears);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-heap-snapshot,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-heap-snapshot,\n[is="ui-icon"].force-white-icons.spritesheet-heap-snapshot,\n.-theme-preserve{-webkit-mask-image:var(--image-file-heap-snapshot);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-heap-snapshots,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-heap-snapshots,\n[is="ui-icon"].force-white-icons.spritesheet-heap-snapshots,\n.-theme-preserve{-webkit-mask-image:var(--image-file-heap-snapshots);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-iframe-crossed,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-iframe-crossed,\n[is="ui-icon"].force-white-icons.spritesheet-iframe-crossed,\n.-theme-preserve{-webkit-mask-image:var(--image-file-iframe-crossed);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-iframe,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-iframe,\n[is="ui-icon"].force-white-icons.spritesheet-iframe,\n.-theme-preserve{-webkit-mask-image:var(--image-file-iframe);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-info,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-info,\n[is="ui-icon"].force-white-icons.spritesheet-info,\n.-theme-preserve{-webkit-mask-image:var(--image-file-info);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-list,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-list,\n[is="ui-icon"].force-white-icons.spritesheet-list,\n.-theme-preserve{-webkit-mask-image:var(--image-file-list);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-popup,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-popup,\n[is="ui-icon"].force-white-icons.spritesheet-popup,\n.-theme-preserve{-webkit-mask-image:var(--image-file-popup);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-profile,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-profile,\n[is="ui-icon"].force-white-icons.spritesheet-profile,\n.-theme-preserve{-webkit-mask-image:var(--image-file-profile);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-sync,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-sync,\n[is="ui-icon"].force-white-icons.spritesheet-sync,\n.-theme-preserve{-webkit-mask-image:var(--image-file-sync);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-table,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-table,\n[is="ui-icon"].force-white-icons.spritesheet-table,\n.-theme-preserve{-webkit-mask-image:var(--image-file-table);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-triangle-right,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-triangle-right,\n[is="ui-icon"].force-white-icons.spritesheet-triangle-right,\n.-theme-preserve{-webkit-mask-image:var(--image-file-triangle-right);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-warning,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-warning,\n[is="ui-icon"].force-white-icons.spritesheet-warning,\n.-theme-preserve{-webkit-mask-image:var(--image-file-warning);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.force-white-icons [is="ui-icon"].spritesheet-watch,\n:host-context(.force-white-icons) [is="ui-icon"].spritesheet-watch,\n[is="ui-icon"].force-white-icons.spritesheet-watch,\n.-theme-preserve{-webkit-mask-image:var(--image-file-watch);-webkit-mask-position:var(--spritesheet-position);background:var(--icon-force-white)!important}.dot::before{content:url("Images/empty.svg");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(--color-tertiary-bright)}.purple::before{background-color:var(--color-purple-bright)}.expandable-inline-button{background-color:var(--color-background-elevation-2);color:var(--color-text-primary);cursor:pointer;border-radius:3px}.undisplayable-text,\n.expandable-inline-button{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(--color-text-disabled);font-style:italic}.expandable-inline-button:hover,\n.expandable-inline-button:focus-visible{background-color:var(--color-background-elevation-1)}.expandable-inline-button:focus-visible{background-color:var(--color-background-elevation-1)}::selection{--override-selection-background-color:rgb(141 199 248/60%);background-color:var(--override-selection-background-color)}.-theme-with-dark-background *::selection,\n:host-context(.-theme-with-dark-background) *::selection{background-color:rgb(93 93 93/60%)}.reload-warning{align-self:center;margin-left:10px}button.link{border:none;background:none;padding:3px}button.link:focus-visible{--override-link-focus-background-color:rgb(0 0 0/8%);background-color:var(--override-link-focus-background-color);border-radius:2px}.-theme-with-dark-background button.link:focus-visible,\n:host-context(.-theme-with-dark-background) button.link:focus-visible{--override-link-focus-background-color:rgb(230 230 230/8%)}@media (forced-colors: active){.dimmed,\n .chrome-select:disabled{opacity:100%}[is="ui-icon"].icon-mask,\n .force-white-icons [is="ui-icon"].spritesheet-smallicons,\n :host-context(.force-white-icons) [is="ui-icon"].spritesheet-smallicons,\n [is="ui-icon"].force-white-icons.spritesheet-smallicons,\n .force-white-icons [is="ui-icon"].spritesheet-largeicons,\n :host-context(.force-white-icons) [is="ui-icon"].spritesheet-largeicons,\n [is="ui-icon"].force-white-icons.spritesheet-largeicons,\n .force-white-icons [is="ui-icon"].spritesheet-mediumicons,\n :host-context(.force-white-icons) [is="ui-icon"].spritesheet-mediumicons,\n [is="ui-icon"].force-white-icons.spritesheet-mediumicons,\n .-theme-preserve{forced-color-adjust:none;background-color:ButtonText}.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;cursor:pointer;width:16px;height:15px;margin-right:0;background-position:-32px 32px;background-image:var(--image-file-mediumIcons)}.spinner::before{display:block;width:var(--dimension,24px);height:var(--dimension,24px);border:var(--override-spinner-size,3px) solid var(--override-spinner-color,var(--color-text-secondary));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-block}.adorner-container.hidden{display:none}.adorner-container devtools-adorner{margin-left:3px}:host-context(.-theme-with-dark-background) devtools-adorner{--override-adorner-background-color:rgb(var(--color-syntax-2-rgb)/15%);--override-adorner-border-color:rgb(var(--color-syntax-2-rgb)/50%);--override-adorner-focus-border-color:var(--color-syntax-2);--override-adorner-active-background-color:var(--color-syntax-8)}.panel{display:flex;overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background-color:var(--color-background)}.panel-sidebar{overflow-x:hidden;background-color:var(--color-background-elevation-1)}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}}\n/*# sourceURL=inspectorCommon.css */\n');const We=new CSSStyleSheet;We.replaceSync('.devtools-link{color:var(--color-link);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(--color-text-secondary)}.protocol-handlers-row{margin:10px 0 2px 18px}.inline-icon{vertical-align:text-bottom}@media (forced-colors: active){.devtools-link:not(.devtools-link-prevent-click){color:linktext}.devtools-link:focus-visible{background:Highlight;color:HighlightText}}\n/*# sourceURL=protocolHandlersView.css */\n');const Ge={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"},ze=e.i18n.registerUIStrings("panels/application/components/ProtocolHandlersView.ts",Ge),Ke=e.i18n.getLocalizedString.bind(void 0,ze);class _e extends HTMLElement{static litTagName=r.literal`devtools-protocol-handlers-view`;#e=this.attachShadow({mode:"open"});#Pe=[];#De=b.DevToolsPath.EmptyUrlString;#Me="";#Ee="";set data(e){const t=this.#De!==e.manifestLink;this.#Pe=e.protocolHandlers,this.#De=e.manifestLink,t&&this.#Ve()}#Ve(){this.#Ee="",this.#Me=this.#Pe[0]?.protocol??"",this.#T()}#Be(){const t=T.XLink.XLink.create(this.#De,Ke(Ge.manifest)),i=this.#Pe.length>0?Ge.protocolDetected:Ge.protocolNotDetected,a=this.#Pe.length>0?{iconName:"check-circle",color:"var(--icon-checkmark-green)",width:"16px",height:"16px"}:{iconName:"info",color:"var(--icon-default)",width:"16px",height:"16px"};return r.html` <div class="protocol-handlers-row status"> <${s.Icon.Icon.litTagName} class="inline-icon" .data="${a}"> </${s.Icon.Icon.litTagName}> ${e.i18n.getFormatLocalizedString(ze,i,{PH1:t})} </div> `}#Fe(){if(0===this.#Pe.length)return r.nothing;const e=this.#Pe.filter((e=>e.protocol)).map((e=>r.html`<option value="${e.protocol}">${e.protocol}://`));return r.html` <div class="protocol-handlers-row"> <select class="chrome-select protocol-select" @change="${this.#Ae}" aria-label="${Ke(Ge.dropdownLabel)}"> ${e} </select> <input .value="${this.#Ee}" class="devtools-text-input" type="text" @change="${this.#Le}" aria-label="${Ke(Ge.textboxLabel)}" placeholder="${Ke(Ge.textboxPlaceholder)}/"> <${t.Button.Button.litTagName} .variant="${"primary"}" @click="${this.#He}"> ${Ke(Ge.testProtocol)} </${t.Button.Button.litTagName}> </div> `}#Ae=e=>{this.#Me=e.target.value};#Le=e=>{this.#Ee=e.target.value,this.#T()};#He=()=>{const e=`${this.#Me}://${this.#Ee}`;S.InspectorFrontendHost.InspectorFrontendHostInstance.openInNewTab(e),S.userMetrics.actionTaken(S.UserMetrics.Action.CaptureTestProtocolClicked)};connectedCallback(){this.#e.adoptedStyleSheets=[We,qe,y.textInputStyles]}#T(){const t=T.XLink.XLink.create("https://web.dev/url-protocol-handler/",Ke(Ge.protocolHandlerRegistrations));r.render(r.html` ${this.#Be()} <div class="protocol-handlers-row"> ${e.i18n.getFormatLocalizedString(ze,Ge.needHelpReadOur,{PH1:t})} </div> ${this.#Fe()} `,this.#e,{host:this})}}c.CustomElements.defineComponent("devtools-protocol-handlers-view",_e);var je=Object.freeze({__proto__:null,ProtocolHandlersView:_e});const Xe={noReportsToDisplay:"No reports to display",status:"Status",destination:"Destination",generatedAt:"Generated at"},Je=e.i18n.registerUIStrings("panels/application/components/ReportsGrid.ts",Xe),Ye=e.i18n.getLocalizedString.bind(void 0,Je),{render:Qe,html:Ze}=r;class et extends HTMLElement{static litTagName=r.literal`devtools-resources-reports-grid-status-header`;#e=this.attachShadow({mode:"open"});connectedCallback(){this.#e.adoptedStyleSheets=[U],this.#T()}#T(){Qe(Ze` ${Ye(Xe.status)} <x-link href="https://web.dev/reporting-api/#report-status"> <${s.Icon.Icon.litTagName} class="inline-icon" .data="${{iconName:"help",color:"var(--icon-link)",width:"16px",height:"16px"}}"></${s.Icon.Icon.litTagName}> </x-link> `,this.#e,{host:this})}}class tt extends HTMLElement{static litTagName=r.literal`devtools-resources-reports-grid`;#e=this.attachShadow({mode:"open"});#Oe=[];#Z=!1;connectedCallback(){this.#e.adoptedStyleSheets=[U],this.#Z=a.Runtime.experiments.isEnabled("protocolMonitor"),this.#T()}set data(e){this.#Oe=e.reports,this.#T()}#T(){const t={columns:[{id:"url",title:e.i18n.lockedString("URL"),widthWeighting:30,hideable:!1,visible:!0},{id:"type",title:e.i18n.lockedString("Type"),widthWeighting:20,hideable:!1,visible:!0},{id:"status",title:Ye(Xe.status),widthWeighting:20,hideable:!1,visible:!0,titleElement:Ze` <${et.litTagName}></${et.litTagName}> `},{id:"destination",title:Ye(Xe.destination),widthWeighting:20,hideable:!1,visible:!0},{id:"timestamp",title:Ye(Xe.generatedAt),widthWeighting:20,hideable:!1,visible:!0},{id:"body",title:e.i18n.lockedString("Body"),widthWeighting:20,hideable:!1,visible:!0}],rows:this.#P()};this.#Z&&t.columns.unshift({id:"id",title:"ID",widthWeighting:30,hideable:!1,visible:!0}),Qe(Ze` <div class="reporting-container"> <div class="reporting-header">${e.i18n.lockedString("Reports")}</div> ${this.#Oe.length>0?Ze` <${p.DataGridController.DataGridController.litTagName} .data="${t}"> </${p.DataGridController.DataGridController.litTagName}> `:Ze` <div class="reporting-placeholder"> <div>${Ye(Xe.noReportsToDisplay)}</div> </div> `} </div> `,this.#e,{host:this})}#P(){return this.#Oe.map((e=>({cells:[{columnId:"id",value:e.id},{columnId:"url",value:e.initiatorUrl},{columnId:"type",value:e.type},{columnId:"status",value:e.status},{columnId:"destination",value:e.destination},{columnId:"timestamp",value:new Date(1e3*e.timestamp).toLocaleString()},{columnId:"body",value:JSON.stringify(e.body)}]})))}}c.CustomElements.defineComponent("devtools-resources-reports-grid-status-header",et),c.CustomElements.defineComponent("devtools-resources-reports-grid",tt);var it=Object.freeze({__proto__:null,i18nString:Ye,ReportsGridStatusHeader:et,ReportsGrid:tt});const rt=new CSSStyleSheet;rt.replaceSync(":host{padding:20px}.heading{font-size:15px}devtools-data-grid-controller{border:1px solid var(--color-details-hairline);margin-top:20px}.info-icon{vertical-align:text-bottom;height:14px}.no-events-message{margin-top:20px}\n/*# sourceURL=sharedStorageAccessGrid.css */\n");const at={sharedStorage:"Shared Storage",allSharedStorageEvents:"All shared storage events for this page.",eventTime:"Event Time",eventType:"Access Type",mainFrameId:"Main Frame ID",ownerOrigin:"Owner Origin",eventParams:"Optional Event Params",noEvents:"No shared storage events recorded."},ot=e.i18n.registerUIStrings("panels/application/components/SharedStorageAccessGrid.ts",at),nt=e.i18n.getLocalizedString.bind(void 0,ot);class st extends HTMLElement{static litTagName=r.literal`devtools-shared-storage-access-grid`;#e=this.attachShadow({mode:"open"});#$e=[];connectedCallback(){this.#e.adoptedStyleSheets=[rt],this.#T()}set data(e){this.#$e=e,this.#T()}#T(){r.render(r.html` <div> <span class="heading">${nt(at.sharedStorage)}</span> <${s.Icon.Icon.litTagName} class="info-icon" title="${nt(at.allSharedStorageEvents)}" .data="${{iconName:"info",color:"var(--icon-default)",width:"16px"}}"> </${s.Icon.Icon.litTagName}> ${this.#Ne()} </div> `,this.#e,{host:this})}#Ne(){if(0===this.#$e.length)return r.html`<div class="no-events-message">${nt(at.noEvents)}</div>`;const e={columns:[{id:"event-main-frame-id",title:nt(at.mainFrameId),widthWeighting:10,hideable:!1,visible:!1,sortable:!1},{id:"event-time",title:nt(at.eventTime),widthWeighting:10,hideable:!1,visible:!0,sortable:!0},{id:"event-type",title:nt(at.eventType),widthWeighting:10,hideable:!1,visible:!0,sortable:!0},{id:"event-owner-origin",title:nt(at.ownerOrigin),widthWeighting:10,hideable:!1,visible:!0,sortable:!0},{id:"event-params",title:nt(at.eventParams),widthWeighting:10,hideable:!1,visible:!0,sortable:!0}],rows:this.#Ce(),initialSort:{columnId:"event-time",direction:"ASC"}};return r.html` <${p.DataGridController.DataGridController.litTagName} .data="${e}"></${p.DataGridController.DataGridController.litTagName}> `}#Ce(){return this.#$e.map((e=>({cells:[{columnId:"event-main-frame-id",value:e.mainFrameId},{columnId:"event-time",value:e.accessTime,renderer:this.#Ie.bind(this)},{columnId:"event-type",value:e.type},{columnId:"event-owner-origin",value:e.ownerOrigin},{columnId:"event-params",value:JSON.stringify(e.params)}]})))}#Ie(e){const t=new Date(1e3*e);return r.html`${t.toLocaleString()}`}}c.CustomElements.defineComponent("devtools-shared-storage-access-grid",st);var ct=Object.freeze({__proto__:null,i18nString:nt,SharedStorageAccessGrid:st});const lt=new CSSStyleSheet;lt.replaceSync(".text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-icon{vertical-align:text-bottom;margin-left:2px}\n/*# sourceURL=sharedStorageMetadataView.css */\n");const dt=new CSSStyleSheet;dt.replaceSync(".reset-budget-button{width:16px;height:16px;background:transparent;overflow:hidden;border:none;padding:0;outline:none;margin-left:5px;margin-top:-4px;vertical-align:middle}.reset-budget-button:hover devtools-icon{--icon-color:var(--color-text-primary)}.reset-budget-button:focus devtools-icon{--icon-color:var(--color-text-secondary)}.icon-basic{width:12px;height:14px}\n/*# sourceURL=sharedStorageMetadataViewResetBudgetButton.css */\n");const ht={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",persistent:"Is persistent",durability:"Durability",quota:"Quota",expiration:"Expiration",none:"None"},mt=e.i18n.registerUIStrings("panels/application/components/StorageMetadataView.ts",ht),pt=e.i18n.getLocalizedString.bind(void 0,mt),gt=l.RenderCoordinator.RenderCoordinator.instance();class ut extends n.LegacyWrapper.WrappableComponent{static litTagName=r.literal`devtools-storage-metadata-view`;#e=this.attachShadow({mode:"open"});#Ue=null;#qe=null;getShadow(){return this.#e}setStorageKey(e){this.#Ue=i.StorageKeyManager.parseStorageKey(e),this.render()}setStorageBucket(e){this.#qe=e,this.setStorageKey(e.bucket.storageKey)}render(){return gt.write("StorageMetadataView render",(async()=>{r.render(r.html` <${o.ReportView.Report.litTagName} .data="${{reportTitle:this.getTitle()||pt(ht.loading)}}"> ${await this.renderReportContent()} </${o.ReportView.Report.litTagName}>`,this.#e,{host:this})}))}getTitle(){return this.#Ue?.origin}key(e){return r.html`<${o.ReportView.ReportKey.litTagName}>${e}</${o.ReportView.ReportKey.litTagName}>`}value(e){return r.html`<${o.ReportView.ReportValue.litTagName}>${e}</${o.ReportView.ReportValue.litTagName}>`}async renderReportContent(){if(!this.#Ue)return r.nothing;const e=this.#Ue.origin,t=Boolean(this.#Ue.components.get("3")),i=Boolean(this.#Ue.components.get("1")),a=Boolean(this.#Ue.components.get("4")),o=this.#Ue.components.get("0"),n=t?pt(ht.yesBecauseAncestorChainHasCrossSite):i?pt(ht.yesBecauseKeyIsOpaque):a?pt(ht.yesBecauseTopLevelIsOpaque):o&&e!==o?pt(ht.yesBecauseOriginNotInTopLevelSite):null;return r.html` ${this.key(pt(ht.origin))} ${this.value(r.html`<div class="text-ellipsis" title="${e}">${e}</div>`)} ${o||a?this.key(pt(ht.topLevelSite)):r.nothing} ${o?this.value(o):r.nothing} ${a?this.value(pt(ht.opaque)):r.nothing} ${n?r.html`${this.key(pt(ht.isThirdParty))}${this.value(n)}`:r.nothing} ${i||a?this.key(pt(ht.isOpaque)):r.nothing} ${i?this.value(pt(ht.yes)):r.nothing} ${a?this.value(pt(ht.yesBecauseTopLevelIsOpaque)):r.nothing} ${this.#qe?this.#We():r.nothing}`}#We(){if(!this.#qe)throw new Error("Should not call #renderStorageBucketInfo if #bucket is null.");const{bucket:{name:e},persistent:t,durability:i,quota:a}=this.#qe;return r.html` ${this.key(pt(ht.bucketName))} ${this.value(e||"default")} ${this.key(pt(ht.persistent))} ${this.value(pt(t?ht.yes:ht.no))} ${this.key(pt(ht.durability))} ${this.value(i)} ${this.key(pt(ht.quota))} ${this.value(b.NumberUtilities.bytesToString(a))} ${this.key(pt(ht.expiration))} ${this.value(this.#Ge())}`}#Ge(){if(!this.#qe)throw new Error("Should not call #getExpirationString if #bucket is null.");const{expiration:e}=this.#qe;return 0===e?pt(ht.none):new Date(1e3*e).toLocaleString()}}c.CustomElements.defineComponent("devtools-storage-metadata-view",ut);var wt=Object.freeze({__proto__:null,StorageMetadataView:ut});const kt={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"},bt=e.i18n.registerUIStrings("panels/application/components/SharedStorageMetadataView.ts",kt),ft=e.i18n.getLocalizedString.bind(void 0,bt);class vt extends HTMLElement{static litTagName=r.literal`devtools-shared-storage-reset-budget-button`;#e=this.attachShadow({mode:"open"});#ze=()=>{};connectedCallback(){this.#e.adoptedStyleSheets=[dt]}set data(e){this.#ze=e.resetBudgetHandler,this.#T()}#T(){r.render(r.html` <button class="reset-budget-button" title="${ft(kt.resetBudget)}" @click="${()=>this.#ze()}"> <${s.Icon.Icon.litTagName} .data="${{iconName:"undo",color:"var(--icon-default)",width:"16px",height:"16px"}}"> </${s.Icon.Icon.litTagName}> </button>`,this.#e,{host:this})}}class St extends ut{static litTagName=r.literal`devtools-shared-storage-metadata-view`;#Ke;#_e=null;#je=0;#Xe=0;constructor(e,t){super(),this.#Ke=e,this.classList.add("overflow-auto"),this.setStorageKey(t)}async#Je(){await this.#Ke.resetBudget(),await this.render()}connectedCallback(){this.getShadow().adoptedStyleSheets=[lt]}getTitle(){return ft(kt.sharedStorage)}async renderReportContent(){const e=await this.#Ke.getMetadata();return this.#_e=e?.creationTime??null,this.#je=e?.length??0,this.#Xe=e?.remainingBudget??0,r.html` ${await super.renderReportContent()} ${this.key(ft(kt.creation))} ${this.value(this.#Ye())} ${this.key(ft(kt.numEntries))} ${this.value(String(this.#je))} ${this.key(r.html`${ft(kt.entropyBudget)}<${s.Icon.Icon.litTagName} class="info-icon" title="${ft(kt.budgetExplanation)}" .data="${{iconName:"info",color:"var(--icon-default)",width:"16px"}}"> </${s.Icon.Icon.litTagName}>`)} ${this.value(r.html`${this.#Xe}${this.#Qe()}`)}`}#Ye(){if(!this.#_e)return r.html`${ft(kt.notYetCreated)}`;const e=new Date(1e3*this.#_e);return r.html`${e.toLocaleString()}`}#Qe(){return r.html`<${vt.litTagName} .data="${{resetBudgetHandler:this.#Je.bind(this)}}"></${vt.litTagName}>`}}c.CustomElements.defineComponent("devtools-shared-storage-reset-budget-button",vt),c.CustomElements.defineComponent("devtools-shared-storage-metadata-view",St);var yt=Object.freeze({__proto__:null,SharedStorageMetadataView:St});const Tt=new CSSStyleSheet;Tt.replaceSync(":host{padding:20px}.heading{font-size:15px}devtools-data-grid-controller{border:1px solid var(--color-details-hairline);margin-top:20px}.info-icon{vertical-align:text-bottom;height:14px}.no-tt-message{margin-top:20px}\n/*# sourceURL=trustTokensView.css */\n");const Rt=new CSSStyleSheet;Rt.replaceSync(".delete-button{width:16px;height:16px;background:transparent;overflow:hidden;border:none;padding:0;outline:none}.delete-button:hover devtools-icon{--icon-color:var(--color-text-primary)}.delete-button:focus devtools-icon{--icon-color:var(--color-text-secondary)}.button-container{display:block;text-align:center}\n/*# sourceURL=trustTokensViewDeleteButton.css */\n");const xt={issuer:"Issuer",storedTokenCount:"Stored token count",allStoredTrustTokensAvailableIn:"All stored Private State Tokens available in this browser instance.",noTrustTokensStored:"No Private State Tokens are currently stored.",deleteTrustTokens:"Delete all stored Private State Tokens issued by {PH1}.",trustTokens:"Private State Tokens"},$t=e.i18n.registerUIStrings("panels/application/components/TrustTokensView.ts",xt),Nt=e.i18n.getLocalizedString.bind(void 0,$t);class Ct extends HTMLElement{static litTagName=r.literal`devtools-trust-tokens-delete-button`;#e=this.attachShadow({mode:"open"});#Ze=null;#et=()=>{};connectedCallback(){this.#e.adoptedStyleSheets=[Rt]}set data(e){this.#Ze=e.issuer,this.#et=e.deleteClickHandler,this.#T()}#T(){this.#Ze&&r.render(r.html` <span class="button-container"> <button class="delete-button" title="${Nt(xt.deleteTrustTokens,{PH1:this.#Ze})}" @click="${()=>this.#et(this.#Ze)}"> <${s.Icon.Icon.litTagName} .data="${{iconName:"bin",color:"var(--icon-default)",width:"14px",height:"14px"}}"> </${s.Icon.Icon.litTagName}> </button> </span>`,this.#e,{host:this})}}class It extends HTMLElement{static litTagName=r.literal`devtools-trust-tokens-storage-view`;#e=this.attachShadow({mode:"open"});#tt=[];#et=()=>{};connectedCallback(){this.#e.adoptedStyleSheets=[Tt],this.#T()}set data(e){this.#tt=e.tokens,this.#et=e.deleteClickHandler,this.#T()}#T(){r.render(r.html` <div> <span class="heading">${Nt(xt.trustTokens)}</span> <${s.Icon.Icon.litTagName} class="info-icon" title="${Nt(xt.allStoredTrustTokensAvailableIn)}" .data="${{iconName:"info",color:"var(--icon-default)",width:"16px"}}"> </${s.Icon.Icon.litTagName}> ${this.#Ne()} </div> `,this.#e,{host:this})}#Ne(){if(0===this.#tt.length)return r.html`<div class="no-tt-message">${Nt(xt.noTrustTokensStored)}</div>`;const e={columns:[{id:"issuer",title:Nt(xt.issuer),widthWeighting:10,hideable:!1,visible:!0,sortable:!0},{id:"count",title:Nt(xt.storedTokenCount),widthWeighting:5,hideable:!1,visible:!0,sortable:!0},{id:"delete-button",title:"",widthWeighting:1,hideable:!1,visible:!0,sortable:!1}],rows:this.#it(),initialSort:{columnId:"issuer",direction:"ASC"}};return r.html` <${p.DataGridController.DataGridController.litTagName} .data="${e}"></${p.DataGridController.DataGridController.litTagName}> `}#it(){return this.#tt.filter((e=>e.count>0)).map((e=>({cells:[{columnId:"delete-button",value:Pt(e.issuerOrigin),renderer:this.#rt.bind(this)},{columnId:"issuer",value:Pt(e.issuerOrigin)},{columnId:"count",value:e.count}]})))}#rt(e){return r.html`<${Ct.litTagName} .data="${{issuer:e,deleteClickHandler:this.#et}}"></${Ct.litTagName}>`}}function Pt(e){return e.replace(/\/$/,"")}c.CustomElements.defineComponent("devtools-trust-tokens-delete-button",Ct),c.CustomElements.defineComponent("devtools-trust-tokens-storage-view",It);var Dt=Object.freeze({__proto__:null,i18nString:Nt,TrustTokensView:It});export{V as BackForwardCacheView,O as BounceTrackingMitigationsView,j as EndpointsGrid,Be as FrameDetailsView,Ue as InterestGroupAccessGrid,Re as OriginTrialTreeView,je as ProtocolHandlersView,it as ReportsGrid,ct as SharedStorageAccessGrid,yt as SharedStorageMetadataView,re as StackTrace,wt as StorageMetadataView,Dt as TrustTokensView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"../../../../core/i18n/i18n.js";import{assertNotNullOrUndefined as t}from"../../../../core/platform/platform.js";import*as r from"../../../../core/sdk/sdk.js";import*as a from"../../../../ui/components/helpers/helpers.js";import*as i from"../../../../ui/components/legacy_wrapper/legacy_wrapper.js";import*as n from"../../../../ui/components/render_coordinator/render_coordinator.js";import*as o from"../../../../ui/components/report_view/report_view.js";import*as s from"../../../../ui/lit-html/lit-html.js";import*as l from"../../../../ui/components/data_grid/data_grid.js";import*as d from"../../../../core/common/common.js";import*as c from"../../../../ui/components/icon_button/icon_button.js";import*as p from"../../../network/forward/forward.js";const u=new CSSStyleSheet;u.replaceSync("button.link{color:var(--color-link);text-decoration:underline;padding:0;border:none;background:none;font-family:inherit;font-size:inherit;height:16px}button.link devtools-icon{vertical-align:sub}\n/*# sourceURL=preloadingDetailsReportView.css */\n");const g={PrefetchFailedIneligibleRedirect:"The prefetch was redirected, but the redirect URL is not eligible for prefetch.",PrefetchFailedInvalidRedirect:"The prefetch was redirected, but there was a problem with the redirect.",PrefetchFailedMIMENotSupported:"The prefetch failed because the response's Content-Type header was not supported.",PrefetchFailedNetError:"The prefetch failed because of a network error.",PrefetchFailedNon2XX:"The prefetch failed because of a non-2xx HTTP response status code.",PrefetchFailedPerPageLimitExceeded:"The prefetch was not performed because the initiating page already has too many prefetches ongoing.",PrefetchIneligibleRetryAfter:"A previous prefetch to the origin got a HTTP 503 response with an Retry-After header that has not elapsed yet.",PrefetchIsPrivacyDecoy:"The URL was not eligible to be prefetched because there was a registered service worker or cross-site cookies for that origin, but the prefetch was put on the network anyways and not used, to disguise that the user had some kind of previous relationship with the origin.",PrefetchIsStale:"Too much time elapsed between the prefetch and usage, so the prefetch was discarded.",PrefetchNotEligibleBrowserContextOffTheRecord:"The prefetch was not performed because the browser is in Incognito or Guest mode.",PrefetchNotEligibleDataSaverEnabled:"The prefetch was not performed because the operating system is in Data Saver mode.",PrefetchNotEligibleExistingProxy:"The URL is not eligible to be prefetched, because in the default network context it is configured to use a proxy server.",PrefetchNotEligibleHostIsNonUnique:"The URL was not eligible to be prefetched because its host was not unique (e.g., a non publicly routable IP address or a hostname which is not registry-controlled), but the prefetch was required to be proxied.",PrefetchNotEligibleNonDefaultStoragePartition:"The URL was not eligible to be prefetched because it uses a non-default storage partition.",PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy:"The URL was not eligible to be prefetched because the default network context cannot be configured to use the prefetch proxy for a same-site cross-origin prefetch request.",PrefetchNotEligibleSchemeIsNotHttps:"The URL was not eligible to be prefetched because its scheme was not https:.",PrefetchNotEligibleUserHasCookies:"The URL was not eligible to be prefetched because it was cross-site, but the user had cookies for that origin.",PrefetchNotEligibleUserHasServiceWorker:"The URL was not eligible to be prefetched because there was a registered service worker for that origin, which is currently not supported.",PrefetchNotUsedCookiesChanged:"The prefetch was not used because it was a cross-site prefetch, and cookies were added for that URL while the prefetch was ongoing, so the prefetched response is now out-of-date.",PrefetchProxyNotAvailable:"A network error was encountered when trying to set up a connection to the prefetching proxy.",PrefetchNotUsedProbeFailed:"The prefetch was blocked by your Internet Service Provider or network administrator.",PrefetchEvicted:"The prefetch was discarded for a newer prefetch because |kPrefetchNewLimits| is enabled",PrefetchNotEligibleBatterySaverEnabled:"The prefetch was not performed because the Battery Saver setting was enabled.",PrefetchNotEligiblePreloadingDisabled:"The prefetch was not performed because preloading was disabled."},h=e.i18n.registerUIStrings("panels/application/preloading/components/PreloadingString.ts",g),m=e.i18n.getLazilyComputedLocalizedString.bind(void 0,h),f={PrefetchFailedIneligibleRedirect:{name:m(g.PrefetchFailedIneligibleRedirect)},PrefetchFailedInvalidRedirect:{name:m(g.PrefetchFailedInvalidRedirect)},PrefetchFailedMIMENotSupported:{name:m(g.PrefetchFailedMIMENotSupported)},PrefetchFailedNetError:{name:m(g.PrefetchFailedNetError)},PrefetchFailedNon2XX:{name:m(g.PrefetchFailedNon2XX)},PrefetchFailedPerPageLimitExceeded:{name:m(g.PrefetchFailedPerPageLimitExceeded)},PrefetchIneligibleRetryAfter:{name:m(g.PrefetchIneligibleRetryAfter)},PrefetchIsPrivacyDecoy:{name:m(g.PrefetchIsPrivacyDecoy)},PrefetchIsStale:{name:m(g.PrefetchIsStale)},PrefetchNotEligibleBrowserContextOffTheRecord:{name:m(g.PrefetchNotEligibleBrowserContextOffTheRecord)},PrefetchNotEligibleDataSaverEnabled:{name:m(g.PrefetchNotEligibleDataSaverEnabled)},PrefetchNotEligibleExistingProxy:{name:m(g.PrefetchNotEligibleExistingProxy)},PrefetchNotEligibleHostIsNonUnique:{name:m(g.PrefetchNotEligibleHostIsNonUnique)},PrefetchNotEligibleNonDefaultStoragePartition:{name:m(g.PrefetchNotEligibleNonDefaultStoragePartition)},PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy:{name:m(g.PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy)},PrefetchNotEligibleSchemeIsNotHttps:{name:m(g.PrefetchNotEligibleSchemeIsNotHttps)},PrefetchNotEligibleUserHasCookies:{name:m(g.PrefetchNotEligibleUserHasCookies)},PrefetchNotEligibleUserHasServiceWorker:{name:m(g.PrefetchNotEligibleUserHasServiceWorker)},PrefetchNotUsedCookiesChanged:{name:m(g.PrefetchNotUsedCookiesChanged)},PrefetchProxyNotAvailable:{name:m(g.PrefetchProxyNotAvailable)},PrefetchNotUsedProbeFailed:{name:m(g.PrefetchNotUsedProbeFailed)},PrefetchEvicted:{name:m(g.PrefetchEvicted)},PrefetchNotEligibleBatterySaverEnabled:{name:m(g.PrefetchNotEligibleBatterySaverEnabled)},PrefetchNotEligiblePreloadingDisabled:{name:m(g.PrefetchNotEligiblePreloadingDisabled)}},S={selectAnElementForMoreDetails:"Select an element for more details",detailsDetailedInformation:"Detailed information",detailsAction:"Action",detailsStatus:"Status",detailsFailureReason:"Failure reason",detailsRuleSet:"Rule set",detailedStatusNotTriggered:"Preloading attempt is not yet triggered.",detailedStatusPending:"Preloading attempt is eligible but pending.",detailedStatusRunning:"Preloading is running.",detailedStatusReady:"Preloading finished and the result is ready for the next navigation.",detailedStatusSuccess:"Preloading finished and used for a navigation.",detailedStatusFailure:"Preloading failed.",prerenderFinalStatusLowEndDevice:"The prerender was not performed because this device does not have enough total system memory to support prerendering.",prerenderFinalStatusInvalidSchemeRedirect:"The prerendering navigation failed because it redirected to a URL whose scheme was not http: or https:.",prerenderFinalStatusInvalidSchemeNavigation:"The URL was not eligible to be prerendered because its scheme was not http: or https:.",prerenderFinalStatusNavigationRequestBlockedByCsp:"The prerendering navigation was blocked by a Content Security Policy.",prerenderFinalStatusMainFrameNavigation:"The prerendered page navigated itself to another URL, which is currently not supported.",prerenderFinalStatusMojoBinderPolicy:"The prerendered page used a forbidden JavaScript API that is currently not supported.",prerenderFinalStatusRendererProcessCrashed:"The prerendered page crashed.",prerenderFinalStatusRendererProcessKilled:"The prerendered page was killed.",prerenderFinalStatusDownload:"The prerendered page attempted to initiate a download, which is currently not supported.",prerenderFinalStatusNavigationBadHttpStatus:"The prerendering navigation failed because of a non-2xx HTTP response status code.",prerenderFinalStatusClientCertRequested:"The prerendering navigation required a HTTP client certificate.",prerenderFinalStatusNavigationRequestNetworkError:"The prerendering navigation encountered a network error.",prerenderFinalStatusMaxNumOfRunningPrerendersExceeded:"The prerender was not performed because the initiating page already has too many prerenders ongoing. Remove other speculation rules to enable further prerendering.",prerenderFinalStatusSslCertificateError:"The prerendering navigation failed because of an invalid SSL certificate.",prerenderFinalStatusLoginAuthRequested:"The prerendering navigation required HTTP authentication, which is currently not supported.",prerenderFinalStatusUaChangeRequiresReload:"Changing User Agent occured in prerendering navigation.",prerenderFinalStatusBlockedByClient:"Some resource load was blocked.",prerenderFinalStatusAudioOutputDeviceRequested:"The prerendered page requested audio output, which is currently not supported.",prerenderFinalStatusMixedContent:"The prerendered page contained mixed content.",prerenderFinalStatusTriggerBackgrounded:"The initiating page was backgrounded, so the prerendered page was discarded.",prerenderFinalStatusMemoryLimitExceeded:"The prerender was not performed because the browser exceeded the prerendering memory limit.",prerenderFinalStatusFailToGetMemoryUsage:"The prerender was not performed because the browser encountered an internal error attempting to determine current memory usage.",prerenderFinalStatusDataSaverEnabled:"The prerender was not performed because the user requested that the browser use less data.",prerenderFinalStatusHasEffectiveUrl:"The initiating page cannot perform prerendering, because it has an effective URL that is different from its normal URL. (For example, the New Tab Page, or hosted apps.)",prerenderFinalStatusTimeoutBackgrounded:"The initiating page was backgrounded for a long time, so the prerendered page was discarded.",prerenderFinalStatusCrossSiteRedirectInInitialNavigation:"The prerendering navigation failed because the prerendered URL redirected to a cross-site URL.",prerenderFinalStatusCrossSiteNavigationInInitialNavigation:"The prerendering navigation failed because it targeted a cross-site URL.",prerenderFinalStatusSameSiteCrossOriginRedirectNotOptInInInitialNavigation:"The prerendering navigation failed because the prerendered URL redirected to a cross-origin same-site URL, but the destination response did not include the appropriate Supports-Loading-Mode header.",prerenderFinalStatusSameSiteCrossOriginNavigationNotOptInInInitialNavigation:"The prerendered page navigated itself to a cross-origin same-site URL, but the destination response did not include the appropriate Supports-Loading-Mode header.",prerenderFinalStatusActivationNavigationParameterMismatch:"The prerender was not used because during activation time, different navigation parameters (e.g., HTTP headers) were calculated than during the original prerendering navigation request.",prerenderFinalStatusPrimaryMainFrameRendererProcessCrashed:"The initiating page crashed.",prerenderFinalStatusPrimaryMainFrameRendererProcessKilled:"The initiating page was killed.",prerenderFinalStatusActivationFramePolicyNotCompatible:"The prerender was not used because the sandboxing flags or permissions policy of the initiating page was not compatible with those of the prerendering page.",prerenderFinalStatusPreloadingDisabled:"The prerender was not performed because the user disabled preloading in their browser settings.",prerenderFinalStatusBatterySaverEnabled:"The prerender was not performed because the user requested that the browser use less battery.",prerenderFinalStatusActivatedDuringMainFrameNavigation:"Prerendered page activated during initiating page's main frame navigation.",prerenderFinalStatusCrossSiteRedirectInMainFrameNavigation:"The prerendered page navigated to a URL which redirected to a cross-site URL.",prerenderFinalStatusCrossSiteNavigationInMainFrameNavigation:"The prerendered page navigated to a cross-site URL.",prerenderFinalStatusSameSiteCrossOriginRedirectNotOptInInMainFrameNavigation:"The prerendered page navigated to a URL which redirected to a cross-origin same-site URL, but the destination response did not include the appropriate Supports-Loading-Mode header.",prerenderFinalStatusSameSiteCrossOriginNavigationNotOptInInMainFrameNavigation:"The prerendered page navigated to a cross-origin same-site URL, but the destination response did not include the appropriate Supports-Loading-Mode header.",prerenderFinalStatusMemoryPressureOnTrigger:"The prerender was not performed because the browser was under critical memory pressure.",prerenderFinalStatusMemoryPressureAfterTriggered:"The prerendered page was unloaded because the browser came under critical memory pressure.",prerenderFinalStatusPrerenderingDisabledByDevTools:"The prerender was not performed because DevTools has been used to disable prerendering.",prerenderFinalStatusResourceLoadBlockedByClient:"Some resource load was blocked."},R=e.i18n.registerUIStrings("panels/application/preloading/components/PreloadingDetailsReportView.ts",S),v=e.i18n.getLocalizedString.bind(void 0,R);class w{static action({key:t}){switch(t.action){case"Prefetch":return e.i18n.lockedString("prefetch");case"Prerender":return e.i18n.lockedString("prerender")}}static detailedStatus({status:t}){switch(t){case"NotTriggered":return v(S.detailedStatusNotTriggered);case"Pending":return v(S.detailedStatusPending);case"Running":return v(S.detailedStatusRunning);case"Ready":return v(S.detailedStatusReady);case"Success":return v(S.detailedStatusSuccess);case"Failure":return v(S.detailedStatusFailure);case"NotSupported":return e.i18n.lockedString("Internal error")}}static failureReason({prerenderStatus:t}){switch(t){case null:case"Activated":return null;case"Destroyed":case"DidFailLoad":case"Stop":return e.i18n.lockedString("Unknown");case"LowEndDevice":return v(S.prerenderFinalStatusLowEndDevice);case"InvalidSchemeRedirect":return v(S.prerenderFinalStatusInvalidSchemeRedirect);case"InvalidSchemeNavigation":return v(S.prerenderFinalStatusInvalidSchemeNavigation);case"InProgressNavigation":case"TriggerDestroyed":case"NavigationNotCommitted":case"EmbedderTriggeredAndCrossOriginRedirected":case"ActivatedBeforeStarted":case"InactivePageRestriction":case"StartFailed":case"ActivatedInBackground":case"ActivationNavigationDestroyedBeforeSuccess":return e.i18n.lockedString("Internal error");case"NavigationRequestBlockedByCsp":return v(S.prerenderFinalStatusNavigationRequestBlockedByCsp);case"MainFrameNavigation":return v(S.prerenderFinalStatusMainFrameNavigation);case"MojoBinderPolicy":return v(S.prerenderFinalStatusMojoBinderPolicy);case"RendererProcessCrashed":return v(S.prerenderFinalStatusRendererProcessCrashed);case"RendererProcessKilled":return v(S.prerenderFinalStatusRendererProcessKilled);case"Download":return v(S.prerenderFinalStatusDownload);case"NavigationBadHttpStatus":return v(S.prerenderFinalStatusNavigationBadHttpStatus);case"ClientCertRequested":return v(S.prerenderFinalStatusClientCertRequested);case"NavigationRequestNetworkError":return v(S.prerenderFinalStatusNavigationRequestNetworkError);case"MaxNumOfRunningPrerendersExceeded":return v(S.prerenderFinalStatusMaxNumOfRunningPrerendersExceeded);case"CancelAllHostsForTesting":case"EmbedderHostDisallowed":case"TabClosedByUserGesture":case"TabClosedWithoutUserGesture":case"PreloadingUnsupportedByWebContents":throw new Error("unreachable");case"SslCertificateError":return v(S.prerenderFinalStatusSslCertificateError);case"LoginAuthRequested":return v(S.prerenderFinalStatusLoginAuthRequested);case"UaChangeRequiresReload":return v(S.prerenderFinalStatusUaChangeRequiresReload);case"BlockedByClient":return v(S.prerenderFinalStatusBlockedByClient);case"AudioOutputDeviceRequested":return v(S.prerenderFinalStatusAudioOutputDeviceRequested);case"MixedContent":return v(S.prerenderFinalStatusMixedContent);case"TriggerBackgrounded":return v(S.prerenderFinalStatusTriggerBackgrounded);case"MemoryLimitExceeded":return v(S.prerenderFinalStatusMemoryLimitExceeded);case"FailToGetMemoryUsage":return v(S.prerenderFinalStatusFailToGetMemoryUsage);case"DataSaverEnabled":return v(S.prerenderFinalStatusDataSaverEnabled);case"HasEffectiveUrl":return v(S.prerenderFinalStatusHasEffectiveUrl);case"TimeoutBackgrounded":return v(S.prerenderFinalStatusTimeoutBackgrounded);case"CrossSiteRedirectInInitialNavigation":return v(S.prerenderFinalStatusCrossSiteRedirectInInitialNavigation);case"CrossSiteNavigationInInitialNavigation":return v(S.prerenderFinalStatusCrossSiteNavigationInInitialNavigation);case"SameSiteCrossOriginRedirectNotOptInInInitialNavigation":return v(S.prerenderFinalStatusSameSiteCrossOriginRedirectNotOptInInInitialNavigation);case"SameSiteCrossOriginNavigationNotOptInInInitialNavigation":return v(S.prerenderFinalStatusSameSiteCrossOriginNavigationNotOptInInInitialNavigation);case"ActivationNavigationParameterMismatch":return v(S.prerenderFinalStatusActivationNavigationParameterMismatch);case"PrimaryMainFrameRendererProcessCrashed":return v(S.prerenderFinalStatusPrimaryMainFrameRendererProcessCrashed);case"PrimaryMainFrameRendererProcessKilled":return v(S.prerenderFinalStatusPrimaryMainFrameRendererProcessKilled);case"ActivationFramePolicyNotCompatible":return v(S.prerenderFinalStatusActivationFramePolicyNotCompatible);case"PreloadingDisabled":return v(S.prerenderFinalStatusPreloadingDisabled);case"BatterySaverEnabled":return v(S.prerenderFinalStatusBatterySaverEnabled);case"ActivatedDuringMainFrameNavigation":return v(S.prerenderFinalStatusActivatedDuringMainFrameNavigation);case"CrossSiteRedirectInMainFrameNavigation":return v(S.prerenderFinalStatusCrossSiteRedirectInMainFrameNavigation);case"CrossSiteNavigationInMainFrameNavigation":return v(S.prerenderFinalStatusCrossSiteNavigationInMainFrameNavigation);case"SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation":return v(S.prerenderFinalStatusSameSiteCrossOriginRedirectNotOptInInMainFrameNavigation);case"SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation":return v(S.prerenderFinalStatusSameSiteCrossOriginNavigationNotOptInInMainFrameNavigation);case"MemoryPressureOnTrigger":return v(S.prerenderFinalStatusMemoryPressureOnTrigger);case"MemoryPressureAfterTriggered":return v(S.prerenderFinalStatusMemoryPressureAfterTriggered);case"PrerenderingDisabledByDevTools":return v(S.prerenderFinalStatusPrerenderingDisabledByDevTools);case"ResourceLoadBlockedByClient":return v(S.prerenderFinalStatusResourceLoadBlockedByClient);default:return e.i18n.lockedString(`Unknown failure reason: ${t}`)}}static prefetchAttemptToFailureDescription({prefetchStatus:t}){switch(t){case null:case"PrefetchNotStarted":case"PrefetchNotFinishedInTime":case"PrefetchResponseUsed":case"PrefetchAllowed":case"PrefetchHeldback":case"PrefetchSuccessfulButNotUsed":return null;case"PrefetchFailedIneligibleRedirect":return f.PrefetchFailedIneligibleRedirect.name();case"PrefetchFailedInvalidRedirect":return f.PrefetchFailedInvalidRedirect.name();case"PrefetchFailedMIMENotSupported":return f.PrefetchFailedMIMENotSupported.name();case"PrefetchFailedNetError":return f.PrefetchFailedNetError.name();case"PrefetchFailedNon2XX":return f.PrefetchFailedNon2XX.name();case"PrefetchFailedPerPageLimitExceeded":return f.PrefetchFailedPerPageLimitExceeded.name();case"PrefetchIneligibleRetryAfter":return f.PrefetchIneligibleRetryAfter.name();case"PrefetchEvicted":return f.PrefetchEvicted.name();case"PrefetchIsPrivacyDecoy":return f.PrefetchIsPrivacyDecoy.name();case"PrefetchIsStale":return f.PrefetchIsStale.name();case"PrefetchNotEligibleBrowserContextOffTheRecord":return f.PrefetchNotEligibleBrowserContextOffTheRecord.name();case"PrefetchNotEligibleDataSaverEnabled":return f.PrefetchNotEligibleDataSaverEnabled.name();case"PrefetchNotEligibleExistingProxy":return f.PrefetchNotEligibleExistingProxy.name();case"PrefetchNotEligibleHostIsNonUnique":return f.PrefetchNotEligibleHostIsNonUnique.name();case"PrefetchNotEligibleNonDefaultStoragePartition":return f.PrefetchNotEligibleNonDefaultStoragePartition.name();case"PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy":return f.PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy.name();case"PrefetchNotEligibleSchemeIsNotHttps":return f.PrefetchNotEligibleSchemeIsNotHttps.name();case"PrefetchNotEligibleUserHasCookies":return f.PrefetchNotEligibleUserHasCookies.name();case"PrefetchNotEligibleUserHasServiceWorker":return f.PrefetchNotEligibleUserHasServiceWorker.name();case"PrefetchNotUsedCookiesChanged":return f.PrefetchNotUsedCookiesChanged.name();case"PrefetchProxyNotAvailable":return f.PrefetchProxyNotAvailable.name();case"PrefetchNotUsedProbeFailed":return f.PrefetchNotUsedProbeFailed.name();case"PrefetchNotEligibleBatterySaverEnabled":return f.PrefetchNotEligibleBatterySaverEnabled.name();case"PrefetchNotEligiblePreloadingDisabled":return f.PrefetchNotEligiblePreloadingDisabled.name();default:return e.i18n.lockedString(`Unknown failure reason: ${t}`)}}}const b=n.RenderCoordinator.RenderCoordinator.instance();class N extends i.LegacyWrapper.WrappableComponent{static litTagName=s.literal`devtools-resources-preloading-details-report-view`;#e=this.attachShadow({mode:"open"});#t=null;connectedCallback(){this.#e.adoptedStyleSheets=[u]}set data(e){this.#t=e,this.#r()}async#r(){await b.write("PreloadingDetailsReportView render",(()=>{if(null===this.#t)return void s.render(s.html` <div class="preloading-noselected"> <div> <p>${v(S.selectAnElementForMoreDetails)}</p> </div> </div> `,this.#e,{host:this});const t=w.action(this.#t.preloadingAttempt),r=w.detailedStatus(this.#t.preloadingAttempt);s.render(s.html` <${o.ReportView.Report.litTagName} .data="${{reportTitle:"Preloading Attempt"}}"> <${o.ReportView.ReportSectionHeader.litTagName}>${v(S.detailsDetailedInformation)}</${o.ReportView.ReportSectionHeader.litTagName}> <${o.ReportView.ReportKey.litTagName}>${e.i18n.lockedString("URL")}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis" title="${this.#t.preloadingAttempt.key.url}">${this.#t.preloadingAttempt.key.url}</div> </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportKey.litTagName}>${v(S.detailsAction)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis"> ${t} </div> </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportKey.litTagName}>${v(S.detailsStatus)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${r} </${o.ReportView.ReportValue.litTagName}> ${this.#a()} ${this.#i()} ${this.#t.ruleSets.map((e=>this.#n(e)))} </${o.ReportView.Report.litTagName}> `,this.#e,{host:this})}))}#a(){t(this.#t);const e=this.#t.preloadingAttempt;if("Prefetch"!==e.action)return s.nothing;const r=w.prefetchAttemptToFailureDescription(e);return null===r?s.nothing:s.html` <${o.ReportView.ReportKey.litTagName}>${v(S.detailsFailureReason)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${r} </${o.ReportView.ReportValue.litTagName}> `}#i(){t(this.#t);const e=this.#t.preloadingAttempt;if("Prerender"!==e.action)return s.nothing;const r=w.failureReason(e);return null===r?s.nothing:s.html` <${o.ReportView.ReportKey.litTagName}>${v(S.detailsFailureReason)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> ${r} </${o.ReportView.ReportValue.litTagName}> `}#n(e){const t=JSON.stringify(JSON.parse(e.sourceText));return s.html` <${o.ReportView.ReportKey.litTagName}>${v(S.detailsRuleSet)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis"> ${t} </div> </${o.ReportView.ReportValue.litTagName}> `}}a.CustomElements.defineComponent("devtools-resources-preloading-details-report-view",N);var P=Object.freeze({__proto__:null,PreloadingDetailsReportView:N});const T=new CSSStyleSheet;T.replaceSync(":host{overflow:auto;height:100%}.preloading-container{height:100%;display:flex;flex-direction:column}.preloading-header{font-size:15px;background-color:var(--color-background-elevation-1);padding:1px 4px}.preloading-placeholder{flex-grow:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--color-text-secondary)}devtools-data-grid-controller{border:1px solid var(--color-details-hairline)}.inline-icon{vertical-align:text-bottom}\n/*# sourceURL=preloadingGrid.css */\n");const y={action:"Action",status:"Status"},F=e.i18n.registerUIStrings("panels/application/preloading/components/PreloadingGrid.ts",y),I=e.i18n.getLocalizedString.bind(void 0,F),{render:C,html:E}=s;class $ extends i.LegacyWrapper.WrappableComponent{static litTagName=s.literal`devtools-resources-preloading-grid`;#e=this.attachShadow({mode:"open"});#o=[];connectedCallback(){this.#e.adoptedStyleSheets=[T],this.#r()}update(e){this.#o=e,this.#r()}#r(){const t={columns:[{id:"url",title:e.i18n.lockedString("URL"),widthWeighting:40,hideable:!1,visible:!0},{id:"action",title:I(y.action),widthWeighting:15,hideable:!1,visible:!0},{id:"status",title:I(y.status),widthWeighting:15,hideable:!1,visible:!0}],rows:this.#s()};C(E` <div class="preloading-container"> <${l.DataGridController.DataGridController.litTagName} .data="${t}"> </${l.DataGridController.DataGridController.litTagName}> </div> `,this.#e,{host:this})}#s(){return this.#o.map((e=>({cells:[{columnId:"id",value:e.id},{columnId:"url",value:e.url},{columnId:"action",value:e.action},{columnId:"status",value:e.status}]})))}}a.CustomElements.defineComponent("devtools-resources-preloading-grid",$);var k=Object.freeze({__proto__:null,i18nString:I,PreloadingGrid:$});const V={detailsDetailedInformation:"Detailed information",detailsValidity:"Validity",detailsError:"Error",detailsLocation:"Location",detailsSource:"Source",validityValid:"Valid",validityInvalid:"Invalid; source is not a JSON object",validitySomeRulesInvalid:"Some rules are invalid and ignored",buttonClickToRevealInElementsPanel:"Click to reveal in Elements panel",buttonClickToRevealInNetworkPanel:"Click to reveal in Network panel"},x=e.i18n.registerUIStrings("panels/application/preloading/components/RuleSetDetailsReportView.ts",V),U=e.i18n.getLocalizedString.bind(void 0,x);const D=n.RenderCoordinator.RenderCoordinator.instance();class L extends i.LegacyWrapper.WrappableComponent{static litTagName=s.literal`devtools-resources-rulesets-details-report-view`;#e=this.attachShadow({mode:"open"});#t=null;connectedCallback(){this.#e.adoptedStyleSheets=[u]}set data(e){this.#t=e,this.#r()}async#r(){await D.write("RuleSetDetailsReportView render",(()=>{if(null===this.#t)return void s.render(s.nothing,this.#e,{host:this});const e=class{static validity({errorType:e}){switch(e){case void 0:return U(V.validityValid);case"SourceIsNotJsonObject":return U(V.validityInvalid);case"InvalidRulesSkipped":return U(V.validitySomeRulesInvalid)}}}.validity(this.#t),t=this.#t.errorMessage||"";s.render(s.html` <${o.ReportView.Report.litTagName} .data="${{reportTitle:"SpeculationRules rule set"}}"> <${o.ReportView.ReportSectionHeader.litTagName}>${U(V.detailsDetailedInformation)}</${o.ReportView.ReportSectionHeader.litTagName}> <${o.ReportView.ReportKey.litTagName}>${U(V.detailsValidity)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis"> ${e} </div> </${o.ReportView.ReportValue.litTagName}> <${o.ReportView.ReportKey.litTagName}>${U(V.detailsError)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis"> ${t} </div> </${o.ReportView.ReportValue.litTagName}> ${this.#l()} ${this.#d(this.#t.sourceText)} </${o.ReportView.Report.litTagName}> `,this.#e,{host:this})}))}#l(){if(t(this.#t),void 0!==this.#t.backendNodeId)return s.html` <${o.ReportView.ReportKey.litTagName}>${U(V.detailsLocation)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis"> <button class="link" role="link" @click="${this.#c}" title="${U(V.buttonClickToRevealInElementsPanel)}"> <${c.Icon.Icon.litTagName} .data="${{iconName:"code-circle",color:"var(--icon-link)",width:"16px",height:"16px"}}"> </${c.Icon.Icon.litTagName}> <script> </button> </div> </${o.ReportView.ReportValue.litTagName}> `;if(void 0!==this.#t.url){let e;return e=void 0===this.#t.requestId?s.nothing:s.html` <button class="link" role="link" @click="${this.#p}" title="${U(V.buttonClickToRevealInNetworkPanel)}"> <${c.Icon.Icon.litTagName} .data="${{iconName:"arrow-up-down-circle",color:"var(--icon-link)",width:"16px",height:"16px"}}"> </${c.Icon.Icon.litTagName}> </button> `,s.html` <${o.ReportView.ReportKey.litTagName}>${U(V.detailsLocation)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis"> ${e} ${this.#t.url} </div> </${o.ReportView.ReportValue.litTagName}> `}throw new Error("unreachable")}async#c(){const e=this.#t?.backendNodeId||null;if(null===e)throw new Error("unreachable");const t=r.TargetManager.TargetManager.instance().scopeTarget();null!==t&&await d.Revealer.reveal(new r.DOMModel.DeferredDOMNode(t,e))}async#p(){const e=this.#t?.requestId||null;if(null===e)throw new Error("unreachable");const t=r.TargetManager.TargetManager.instance().scopeTarget()?.model(r.NetworkManager.NetworkManager)?.requestForId(e)||null;if(null===t)return;const a=p.UIRequestLocation.UIRequestLocation.tab(t,p.UIRequestLocation.UIRequestTabs.Preview,{clearFilter:!1});await d.Revealer.reveal(a)}#d(e){let t;try{t=JSON.parse(e)}catch(e){}if(void 0===t)return s.html` <${o.ReportView.ReportKey.litTagName}>${U(V.detailsSource)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis"> ${e} </div> </${o.ReportView.ReportValue.litTagName}> `;const r=JSON.stringify(t);return s.html` <${o.ReportView.ReportKey.litTagName}>${U(V.detailsSource)}</${o.ReportView.ReportKey.litTagName}> <${o.ReportView.ReportValue.litTagName}> <div class="text-ellipsis"> ${r} </div> </${o.ReportView.ReportValue.litTagName}> `}}a.CustomElements.defineComponent("devtools-resources-rulesets-details-report-view",L);var M=Object.freeze({__proto__:null,RuleSetDetailsReportView:L});const O=new CSSStyleSheet;O.replaceSync(":host{overflow:auto;height:100%}.ruleset-container{height:100%;display:flex;flex-direction:column}devtools-data-grid-controller{border:1px solid var(--color-details-hairline)}.inline-icon{vertical-align:text-bottom}\n/*# sourceURL=ruleSetGrid.css */\n");const A={validity:"Validity",location:"Location"},B=e.i18n.registerUIStrings("panels/application/preloading/components/RuleSetGrid.ts",A),q=e.i18n.getLocalizedString.bind(void 0,B);class H extends i.LegacyWrapper.WrappableComponent{static litTagName=s.literal`devtools-resources-ruleset-grid`;#e=this.attachShadow({mode:"open"});#o=[];connectedCallback(){this.#e.adoptedStyleSheets=[O],this.#r()}update(e){this.#o=e,this.#r()}#r(){const e={columns:[{id:"validity",title:q(A.validity),widthWeighting:10,hideable:!1,visible:!0},{id:"location",title:q(A.location),widthWeighting:80,hideable:!1,visible:!0}],rows:this.#s()};s.render(s.html` <div class="ruleset-container"> <${l.DataGridController.DataGridController.litTagName} .data="${e}"> </${l.DataGridController.DataGridController.litTagName}> </div> `,this.#e,{host:this})}#s(){return this.#o.map((e=>({cells:[{columnId:"id",value:e.id},{columnId:"validity",value:e.validity},{columnId:"location",value:e.location}]})))}}a.CustomElements.defineComponent("devtools-resources-ruleset-grid",H);var K=Object.freeze({__proto__:null,i18nString:q,RuleSetGrid:H});const _={preloadingUsedForThisPage:"Preloading used for this page",prefetchUsed:"{PH1} prefetched resources are used for this page",prerenderUsed:"This page was prerendered"},j=e.i18n.registerUIStrings("panels/application/preloading/components/UsedPreloadingView.ts",_),G=e.i18n.getLocalizedString.bind(void 0,j),W=n.RenderCoordinator.RenderCoordinator.instance();class z extends i.LegacyWrapper.WrappableComponent{static litTagName=s.literal`devtools-resources-used-preloading-view`;#e=this.attachShadow({mode:"open"});#t=[];connectedCallback(){this.#e.adoptedStyleSheets=[]}set data(e){this.#t=e,this.#r()}async#r(){await W.write("UsedPreloadingView render",(()=>{const t=this.#t.filter((e=>"Success"===e.status)),r=t.filter((e=>"Prefetch"===e.key.action)).length,a=t.length-r;let i="";0===t.length?i=e.i18n.lockedString("No preloading was used for this page."):a>0?i=G(_.prerenderUsed):r>0&&(i=G(_.prefetchUsed,{PH1:r})),s.render(s.html` <${o.ReportView.Report.litTagName} .data="${{reportTitle:G(_.preloadingUsedForThisPage)}}"> <${o.ReportView.ReportSection.litTagName}> ${i} </${o.ReportView.ReportSection.litTagName}> </${o.ReportView.Report.litTagName}> `,this.#e,{host:this})}))}}a.CustomElements.defineComponent("devtools-resources-used-preloading-view",z);var X=Object.freeze({__proto__:null,UsedPreloadingView:z});export{P as PreloadingDetailsReportView,k as PreloadingGrid,M as RuleSetDetailsReportView,K as RuleSetGrid,X as UsedPreloadingView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"./browser_debugger.js";self.BrowserDebugger=self.BrowserDebugger||{},BrowserDebugger=BrowserDebugger||{},BrowserDebugger.DOMBreakpointsSidebarPane=e.DOMBreakpointsSidebarPane.DOMBreakpointsSidebarPane,BrowserDebugger.DOMBreakpointsSidebarPane.BreakpointTypeLabels=e.DOMBreakpointsSidebarPane.BreakpointTypeLabels,BrowserDebugger.DOMBreakpointsSidebarPane.ContextMenuProvider=e.DOMBreakpointsSidebarPane.ContextMenuProvider,BrowserDebugger.EventListenerBreakpointsSidebarPane=e.EventListenerBreakpointsSidebarPane.EventListenerBreakpointsSidebarPane,BrowserDebugger.CSPViolationBreakpointsSidebarPane=e.CSPViolationBreakpointsSidebarPane.CSPViolationBreakpointsSidebarPane,BrowserDebugger.ObjectEventListenersSidebarPane=e.ObjectEventListenersSidebarPane.ObjectEventListenersSidebarPane,BrowserDebugger.ObjectEventListenersSidebarPane._objectGroupName=e.ObjectEventListenersSidebarPane.objectGroupName,BrowserDebugger.XHRBreakpointsSidebarPane=e.XHRBreakpointsSidebarPane.XHRBreakpointsSidebarPane;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"../../core/sdk/sdk.js";import*as t from"../../ui/legacy/legacy.js";import*as i from"../../core/i18n/i18n.js";const r={showEventListenerBreakpoints:"Show Event Listener Breakpoints",eventListenerBreakpoints:"Event Listener Breakpoints",showCspViolationBreakpoints:"Show CSP Violation Breakpoints",cspViolationBreakpoints:"CSP Violation Breakpoints",showXhrfetchBreakpoints:"Show XHR/fetch Breakpoints",xhrfetchBreakpoints:"XHR/fetch Breakpoints",showDomBreakpoints:"Show DOM Breakpoints",domBreakpoints:"DOM Breakpoints",showGlobalListeners:"Show Global Listeners",globalListeners:"Global Listeners",page:"Page",showPage:"Show Page",overrides:"Overrides",showOverrides:"Show Overrides",contentScripts:"Content scripts",showContentScripts:"Show Content scripts"},n=i.i18n.registerUIStrings("panels/browser_debugger/browser_debugger-meta.ts",r),a=i.i18n.getLazilyComputedLocalizedString.bind(void 0,n);let o,s;async function c(){return o||(o=await import("./browser_debugger.js")),o}async function p(){return s||(s=await import("../sources/sources.js")),s}t.ViewManager.registerViewExtension({loadView:async()=>(await c()).EventListenerBreakpointsSidebarPane.EventListenerBreakpointsSidebarPane.instance(),id:"sources.eventListenerBreakpoints",location:"sources.sidebar-bottom",commandPrompt:a(r.showEventListenerBreakpoints),title:a(r.eventListenerBreakpoints),order:9,persistence:"permanent"}),t.ViewManager.registerViewExtension({loadView:async()=>(await c()).CSPViolationBreakpointsSidebarPane.CSPViolationBreakpointsSidebarPane.instance(),id:"sources.cspViolationBreakpoints",location:"sources.sidebar-bottom",commandPrompt:a(r.showCspViolationBreakpoints),title:a(r.cspViolationBreakpoints),order:10,persistence:"permanent"}),t.ViewManager.registerViewExtension({loadView:async()=>(await c()).XHRBreakpointsSidebarPane.XHRBreakpointsSidebarPane.instance(),id:"sources.xhrBreakpoints",location:"sources.sidebar-bottom",commandPrompt:a(r.showXhrfetchBreakpoints),title:a(r.xhrfetchBreakpoints),order:5,persistence:"permanent",hasToolbar:!0}),t.ViewManager.registerViewExtension({loadView:async()=>(await c()).DOMBreakpointsSidebarPane.DOMBreakpointsSidebarPane.instance(),id:"sources.domBreakpoints",location:"sources.sidebar-bottom",commandPrompt:a(r.showDomBreakpoints),title:a(r.domBreakpoints),order:7,persistence:"permanent"}),t.ViewManager.registerViewExtension({loadView:async()=>(await c()).ObjectEventListenersSidebarPane.ObjectEventListenersSidebarPane.instance(),id:"sources.globalListeners",location:"sources.sidebar-bottom",commandPrompt:a(r.showGlobalListeners),title:a(r.globalListeners),order:8,persistence:"permanent",hasToolbar:!0}),t.ViewManager.registerViewExtension({loadView:async()=>(await c()).DOMBreakpointsSidebarPane.DOMBreakpointsSidebarPane.instance(),id:"elements.domBreakpoints",location:"elements-sidebar",commandPrompt:a(r.showDomBreakpoints),title:a(r.domBreakpoints),order:6,persistence:"permanent"}),t.ViewManager.registerViewExtension({location:"navigator-view",id:"navigator-network",title:a(r.page),commandPrompt:a(r.showPage),order:2,persistence:"permanent",loadView:async()=>(await p()).SourcesNavigator.NetworkNavigatorView.instance()}),t.ViewManager.registerViewExtension({location:"navigator-view",id:"navigator-overrides",title:a(r.overrides),commandPrompt:a(r.showOverrides),order:4,persistence:"permanent",loadView:async()=>(await p()).SourcesNavigator.OverridesNavigatorView.instance()}),t.ViewManager.registerViewExtension({location:"navigator-view",id:"navigator-contentScripts",title:a(r.contentScripts),commandPrompt:a(r.showContentScripts),order:5,persistence:"permanent",loadView:async()=>(await p()).SourcesNavigator.ContentScriptsNavigatorView.instance()}),t.ContextMenu.registerProvider({contextTypes:()=>[e.DOMModel.DOMNode],loadProvider:async()=>(await c()).DOMBreakpointsSidebarPane.ContextMenuProvider.instance(),experiment:void 0}),t.Context.registerListener({contextTypes:()=>[e.DebuggerModel.DebuggerPausedDetails],loadListener:async()=>(await c()).XHRBreakpointsSidebarPane.XHRBreakpointsSidebarPane.instance()}),t.Context.registerListener({contextTypes:()=>[e.DebuggerModel.DebuggerPausedDetails],loadListener:async()=>(await c()).DOMBreakpointsSidebarPane.DOMBreakpointsSidebarPane.instance()});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"../../core/sdk/sdk.js";import*as t from"../../core/i18n/i18n.js";import*as i from"../../ui/legacy/legacy.js";import*as n from"../../core/common/common.js";import*as o from"../sources/sources.js";import*as s from"../event_listeners/event_listeners.js";const r=new CSSStyleSheet;r.replaceSync(':host{margin:0;padding:2px 4px;min-height:18px}.tree-outline{padding:0}.tree-outline li{margin-left:14px;user-select:text}.tree-outline li.parent{margin-left:1px}.tree-outline li:not(.parent)::before{display:none}.breakpoint-hit{--override-breakpoint-hit-background-color:rgb(255 255 194);--override-breakpoint-hit-border-color:rgb(107 97 48);background-color:var(--override-breakpoint-hit-background-color)}:host-context(.-theme-with-dark-background) .breakpoint-hit{--override-breakpoint-hit-background-color:hsl(46deg 98% 22%);--override-breakpoint-hit-dark-mode-color:#ccc;color:var(--override-breakpoint-hit-dark-mode-color)}.breakpoint-hit .breakpoint-hit-marker{background-color:var(--override-breakpoint-hit-background-color);border-right:3px solid var(--override-breakpoint-hit-border-color);height:100%;left:0;margin-left:-30px;position:absolute;right:-4px;z-index:-1}.source-code[is="dt-checkbox"]{max-width:100%}\n/*# sourceURL=categorizedBreakpointsSidebarPane.css */\n');const a={breakpointHit:"breakpoint hit"},l=t.i18n.registerUIStrings("panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts",a),d=t.i18n.getLocalizedString.bind(void 0,l);class c extends i.Widget.VBox{#e;#t;#i;#n;#o;#s;constructor(t,n,o,s){super(!0),this.#e=new i.TreeOutline.TreeOutlineInShadow,this.#e.setShowSelectionOnKeyboardFocus(!0),this.contentElement.appendChild(this.#e.element),this.#t=o,this.#i=s,this.#n=new Map;for(const e of t)this.#n.has(e)||this.createCategory(e);if(t.length>0){const e=this.#n.get(t[0]);e&&e.element.select()}this.#o=new Map;for(const e of n)this.createBreakpoint(e);e.TargetManager.TargetManager.instance().addModelListener(e.DebuggerModel.DebuggerModel,e.DebuggerModel.Events.DebuggerPaused,this.update,this),e.TargetManager.TargetManager.instance().addModelListener(e.DebuggerModel.DebuggerModel,e.DebuggerModel.Events.DebuggerResumed,this.update,this),i.Context.Context.instance().addFlavorChangeListener(e.Target.Target,this.update,this)}get categories(){return this.#n}get breakpoints(){return this.#o}focus(){this.#e.forceSelect()}handleSpaceKeyEventOnBreakpoint(e,t){e&&" "===e.key&&(t&&t.checkbox.click(),e.consume(!0))}createCategory(e){const t=i.UIUtils.CheckboxLabel.create(e);t.checkboxElement.addEventListener("click",this.categoryCheckboxClicked.bind(this,e),!0),t.checkboxElement.tabIndex=-1;const n=new i.TreeOutline.TreeElement(t);n.listItemElement.addEventListener("keydown",(t=>{this.handleSpaceKeyEventOnBreakpoint(t,this.#n.get(e))})),t.checkboxElement.addEventListener("keydown",(t=>{n.listItemElement.focus(),this.handleSpaceKeyEventOnBreakpoint(t,this.#n.get(e))})),i.ARIAUtils.setChecked(n.listItemElement,!1),this.#e.appendChild(n),this.#n.set(e,{element:n,checkbox:t.checkboxElement})}createBreakpoint(e){const t=i.UIUtils.CheckboxLabel.create(e.title());t.classList.add("source-code"),t.checkboxElement.addEventListener("click",this.breakpointCheckboxClicked.bind(this,e),!0),t.checkboxElement.tabIndex=-1;const n=new i.TreeOutline.TreeElement(t);n.listItemElement.addEventListener("keydown",(t=>{this.handleSpaceKeyEventOnBreakpoint(t,this.#o.get(e))})),t.checkboxElement.addEventListener("keydown",(t=>{n.listItemElement.focus(),this.handleSpaceKeyEventOnBreakpoint(t,this.#o.get(e))})),i.ARIAUtils.setChecked(n.listItemElement,!1),n.listItemElement.createChild("div","breakpoint-hit-marker");const o=this.#n.get(e.category());o&&o.element.appendChild(n),this.#o.set(e,{element:n,checkbox:t.checkboxElement})}getBreakpointFromPausedDetails(e){return null}update(){const t=i.Context.Context.instance().flavor(e.Target.Target),n=t?t.model(e.DebuggerModel.DebuggerModel):null,o=n?n.debuggerPausedDetails():null;if(!o||o.reason!==this.#i||!o.auxData)return void(this.#s&&(i.ARIAUtils.setDescription(this.#s,""),this.#s.classList.remove("breakpoint-hit"),this.#s=void 0));const s=this.getBreakpointFromPausedDetails(o);if(!s)return;i.ViewManager.ViewManager.instance().showView(this.#t);const r=this.#n.get(s.category());r&&r.element.expand();const l=this.#o.get(s);l&&(this.#s=l.element.listItemElement,i.ARIAUtils.setDescription(this.#s,d(a.breakpointHit)),this.#s.classList.add("breakpoint-hit"))}categoryCheckboxClicked(e){const t=this.#n.get(e);if(!t)return;const n=t.checkbox.checked;i.ARIAUtils.setChecked(t.element.listItemElement,n);for(const[t,o]of this.#o)if(t.category()===e){const e=this.#o.get(t);e&&(e.checkbox.checked=n,this.toggleBreakpoint(t,n),i.ARIAUtils.setChecked(o.element.listItemElement,n))}}toggleBreakpoint(e,t){e.setEnabled(t)}breakpointCheckboxClicked(e){const t=this.#o.get(e);if(!t)return;this.toggleBreakpoint(e,t.checkbox.checked),i.ARIAUtils.setChecked(t.element.listItemElement,t.checkbox.checked);let n=!1,o=!1;for(const t of this.#o.keys())t.category()===e.category()&&(t.enabled()?n=!0:o=!0);const s=this.#n.get(e.category());s&&(s.checkbox.checked=n,s.checkbox.indeterminate=n&&o,s.checkbox.indeterminate?i.ARIAUtils.setCheckboxAsIndeterminate(s.element.listItemElement):i.ARIAUtils.setChecked(s.element.listItemElement,n))}wasShown(){super.wasShown(),this.#e.registerCSSFiles([r])}}let h;class p extends c{constructor(){const t=e.DOMDebuggerModel.DOMDebuggerManager.instance().cspViolationBreakpoints(),i=t.map((e=>e.category()));i.sort(),super(i,t,"sources.cspViolationBreakpoints","CSPViolation")}static instance(){return h||(h=new p),h}getBreakpointFromPausedDetails(t){const i=t.auxData&&t.auxData.violationType?t.auxData.violationType:"",n=e.DOMDebuggerModel.DOMDebuggerManager.instance().cspViolationBreakpoints().find((e=>e.type()===i));return n||null}toggleBreakpoint(t,i){t.setEnabled(i),e.DOMDebuggerModel.DOMDebuggerManager.instance().updateCSPViolationBreakpoints()}}var b=Object.freeze({__proto__:null,CSPViolationBreakpointsSidebarPane:p});const k=new CSSStyleSheet;k.replaceSync(".breakpoint-list{padding-bottom:3px}.breakpoint-list .dom-breakpoint > div{overflow:hidden;text-overflow:ellipsis}.breakpoint-entry{display:flex;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:2px 0}.breakpoint-entry:focus-visible{background-color:var(--legacy-focus-bg-color)}.breakpoint-list .breakpoint-entry:hover{background-color:var(--color-background-elevation-2)}.breakpoint-hit{background-color:var(--color-background-elevation-2);border-right:3px solid var(--color-details-hairline);color:var(--color-text-primary)}@media (forced-colors: active){.breakpoint-entry:focus-visible,\n .breakpoint-list .breakpoint-entry:hover{forced-color-adjust:none;background-color:Highlight}.breakpoint-entry:focus-visible *,\n .breakpoint-list .breakpoint-entry:hover *{color:HighlightText}}\n/*# sourceURL=domBreakpointsSidebarPane.css */\n");const g={noBreakpoints:"No breakpoints",domBreakpointsList:"DOM Breakpoints list",sS:"{PH1}: {PH2}",sSS:"{PH1}: {PH2}, {PH3}",checked:"checked",unchecked:"unchecked",sBreakpointHit:"{PH1} breakpoint hit",breakpointHit:"breakpoint hit",revealDomNodeInElementsPanel:"Reveal DOM node in Elements panel",removeBreakpoint:"Remove breakpoint",removeAllDomBreakpoints:"Remove all DOM breakpoints",subtreeModified:"Subtree modified",attributeModified:"Attribute modified",nodeRemoved:"Node removed",breakOn:"Break on",breakpointRemoved:"Breakpoint removed",breakpointSet:"Breakpoint set"},u=t.i18n.registerUIStrings("panels/browser_debugger/DOMBreakpointsSidebarPane.ts",g),m=t.i18n.getLocalizedString.bind(void 0,u),v=t.i18n.getLazilyComputedLocalizedString.bind(void 0,u);let M;class f extends i.Widget.VBox{elementToCheckboxes;#r;#o;#a;#l;constructor(){super(!0),this.elementToCheckboxes=new WeakMap,this.#r=this.contentElement.createChild("div","gray-info-message"),this.#r.textContent=m(g.noBreakpoints),this.#o=new i.ListModel.ListModel,this.#a=new i.ListControl.ListControl(this.#o,this,i.ListControl.ListMode.NonViewport),this.contentElement.appendChild(this.#a.element),this.#a.element.classList.add("breakpoint-list","hidden"),i.ARIAUtils.markAsList(this.#a.element),i.ARIAUtils.setLabel(this.#a.element,m(g.domBreakpointsList)),this.#r.tabIndex=-1,e.TargetManager.TargetManager.instance().addModelListener(e.DOMDebuggerModel.DOMDebuggerModel,e.DOMDebuggerModel.Events.DOMBreakpointAdded,this.breakpointAdded,this),e.TargetManager.TargetManager.instance().addModelListener(e.DOMDebuggerModel.DOMDebuggerModel,e.DOMDebuggerModel.Events.DOMBreakpointToggled,this.breakpointToggled,this),e.TargetManager.TargetManager.instance().addModelListener(e.DOMDebuggerModel.DOMDebuggerModel,e.DOMDebuggerModel.Events.DOMBreakpointsRemoved,this.breakpointsRemoved,this);for(const t of e.TargetManager.TargetManager.instance().models(e.DOMDebuggerModel.DOMDebuggerModel)){t.retrieveDOMBreakpoints();for(const e of t.domBreakpoints())this.addBreakpoint(e)}this.#l=null,this.update()}static instance(){return M||(M=new f),M}createElementForItem(e){const t=document.createElement("div");t.classList.add("breakpoint-entry"),t.addEventListener("contextmenu",this.contextMenu.bind(this,e),!0),i.ARIAUtils.markAsListitem(t),t.tabIndex=-1;const o=i.UIUtils.CheckboxLabel.create(void 0,e.enabled),s=o.checkboxElement;s.addEventListener("click",this.checkboxClicked.bind(this,e),!1),s.tabIndex=-1,this.elementToCheckboxes.set(t,s),t.appendChild(o),t.addEventListener("keydown",(e=>{" "===e.key&&(o.checkboxElement.click(),e.consume(!0))}));const r=document.createElement("div");r.classList.add("dom-breakpoint"),t.appendChild(r);const a=document.createElement("div"),l=x.get(e.type);a.textContent=l?l():null;const d=l?l():"";i.ARIAUtils.setLabel(s,d);const c=e.enabled?m(g.checked):m(g.unchecked),h=document.createElement("monospace");return h.style.display="block",r.appendChild(h),n.Linkifier.Linkifier.linkify(e.node,{preventKeyboardFocus:!0,tooltip:void 0}).then((e=>{h.appendChild(e),i.ARIAUtils.setLabel(s,m(g.sS,{PH1:d,PH2:e.deepTextContent()})),i.ARIAUtils.setLabel(t,m(g.sSS,{PH1:d,PH2:e.deepTextContent(),PH3:c}))})),r.appendChild(a),e===this.#l?(t.classList.add("breakpoint-hit"),i.ARIAUtils.setDescription(t,m(g.sBreakpointHit,{PH1:c})),i.ARIAUtils.setDescription(s,m(g.breakpointHit))):i.ARIAUtils.setDescription(t,c),this.#r.classList.add("hidden"),this.#a.element.classList.remove("hidden"),t}heightForItem(e){return 0}isItemSelectable(e){return!0}updateSelectedItemARIA(e,t){return!0}selectedItemChanged(e,t,i,n){i&&(i.tabIndex=-1),n&&(this.setDefaultFocusedElement(n),n.tabIndex=0,this.hasFocus()&&n.focus())}breakpointAdded(e){this.addBreakpoint(e.data)}breakpointToggled(e){const t=this.hasFocus(),i=e.data;this.#a.refreshItem(i),t&&this.focus()}breakpointsRemoved(e){const t=this.hasFocus(),i=e.data;let n=-1;for(const e of i){const t=this.#o.indexOf(e);t>=0&&(this.#o.remove(t),n=t)}if(0===this.#o.length)this.#r.classList.remove("hidden"),this.setDefaultFocusedElement(this.#r),this.#a.element.classList.add("hidden");else if(n>=0){const e=this.#o.at(n);e&&this.#a.selectItem(e)}t&&this.focus()}addBreakpoint(e){this.#o.insertWithComparator(e,((e,t)=>e.type>t.type?-1:e.type<t.type?1:0)),this.#a.selectedItem()&&this.hasFocus()||this.#a.selectItem(this.#o.at(0))}contextMenu(e,t){const o=new i.ContextMenu.ContextMenu(t);o.defaultSection().appendItem(m(g.revealDomNodeInElementsPanel),(()=>n.Revealer.reveal(e.node))),o.defaultSection().appendItem(m(g.removeBreakpoint),(()=>{e.domDebuggerModel.removeDOMBreakpoint(e.node,e.type)})),o.defaultSection().appendItem(m(g.removeAllDomBreakpoints),(()=>{e.domDebuggerModel.removeAllDOMBreakpoints()})),o.show()}checkboxClicked(e,t){e.domDebuggerModel.toggleDOMBreakpoint(e,!!t.target&&t.target.checked)}flavorChanged(e){this.update()}update(){const t=i.Context.Context.instance().flavor(e.DebuggerModel.DebuggerPausedDetails);if(this.#l){const e=this.#l;this.#l=null,this.#a.refreshItem(e)}if(!t||!t.auxData||"DOM"!==t.reason)return;const n=t.debuggerModel.target().model(e.DOMDebuggerModel.DOMDebuggerModel);if(!n)return;const o=n.resolveDOMBreakpointData(t.auxData);if(o){for(const e of this.#o)e.node===o.node&&e.type===o.type&&(this.#l=e);this.#l&&this.#a.refreshItem(this.#l),i.ViewManager.ViewManager.instance().showView("sources.domBreakpoints")}}wasShown(){super.wasShown(),this.registerCSSFiles([k])}}const x=new Map([["subtree-modified",v(g.subtreeModified)],["attribute-modified",v(g.attributeModified)],["node-removed",v(g.nodeRemoved)]]);let B;class D{static instance(e={forceNew:null}){const{forceNew:t}=e;return B&&!t||(B=new D),B}appendApplicableItems(t,n,s){const r=s;if(r.pseudoType())return;const a=r.domModel().target().model(e.DOMDebuggerModel.DOMDebuggerModel);if(!a)return;function l(e){if(!a)return;const t=o.DebuggerPausedMessage.BreakpointTypeNouns.get(e),n=t?t():"";a.hasDOMBreakpoint(r,e)?(a.removeDOMBreakpoint(r,e),i.ARIAUtils.alert(`${m(g.breakpointRemoved)}: ${n}`)):(a.setDOMBreakpoint(r,e),i.ARIAUtils.alert(`${m(g.breakpointSet)}: ${n}`))}const d=n.debugSection().appendSubMenuItem(m(g.breakOn)),c={SubtreeModified:"subtree-modified",AttributeModified:"attribute-modified",NodeRemoved:"node-removed"};for(const e of Object.values(c)){const t=o.DebuggerPausedMessage.BreakpointTypeNouns.get(e);t&&d.defaultSection().appendCheckboxItem(t(),l.bind(null,e),a.hasDOMBreakpoint(r,e))}}}var E=Object.freeze({__proto__:null,DOMBreakpointsSidebarPane:f,ContextMenuProvider:D});let C;class w extends c{constructor(){let t=e.DOMDebuggerModel.DOMDebuggerManager.instance().eventListenerBreakpoints();const i=e.EventBreakpointsModel.EventBreakpointsManager.instance().eventListenerBreakpoints();t=t.concat(i);const n=t.map((e=>e.category()));n.sort(),super(n,t,"sources.eventListenerBreakpoints","EventListener")}static instance(){return C||(C=new w),C}getBreakpointFromPausedDetails(t){const i=t.auxData,n=e.DOMDebuggerModel.DOMDebuggerManager.instance().resolveEventListenerBreakpoint(i);return n||e.EventBreakpointsModel.EventBreakpointsManager.instance().resolveEventListenerBreakpoint(i)}}var L=Object.freeze({__proto__:null,EventListenerBreakpointsSidebarPane:w});const I={refreshGlobalListeners:"Refresh global listeners"},y=t.i18n.registerUIStrings("panels/browser_debugger/ObjectEventListenersSidebarPane.ts",I),O=t.i18n.getLocalizedString.bind(void 0,y);let S;class A extends i.Widget.VBox{#d;#c;#h;constructor(){super(),this.#d=new i.Toolbar.ToolbarButton(O(I.refreshGlobalListeners),"refresh"),this.#d.addEventListener(i.Toolbar.ToolbarButton.Events.Click,this.refreshClick,this),this.#d.setEnabled(!1),this.#c=new s.EventListenersView.EventListenersView(this.update.bind(this),!0),this.#c.show(this.element),this.setDefaultFocusedChild(this.#c)}static instance(){return S||(S=new A),S}get eventListenersView(){return this.#c}toolbarItems(){return[this.#d]}update(){this.#h&&(this.#h.runtimeModel.releaseObjectGroup(R),this.#h=void 0);const t=i.Context.Context.instance().flavor(e.RuntimeModel.ExecutionContext);if(!t)return this.#c.reset(),void this.#c.addEmptyHolderIfNeeded();this.#h=t,Promise.all([this.windowObjectInContext(t)]).then(this.#c.addObjects.bind(this.#c))}wasShown(){super.wasShown(),i.Context.Context.instance().addFlavorChangeListener(e.RuntimeModel.ExecutionContext,this.update,this),this.#d.setEnabled(!0),this.update()}willHide(){super.willHide(),i.Context.Context.instance().removeFlavorChangeListener(e.RuntimeModel.ExecutionContext,this.update,this),this.#d.setEnabled(!1)}windowObjectInContext(e){return e.evaluate({expression:"self",objectGroup:R,includeCommandLineAPI:!1,silent:!0,returnByValue:!1,generatePreview:!1},!1,!1).then((e=>"error"in e||e.exceptionDetails?null:e.object))}refreshClick(e){e.data.consume(),this.update()}}const R="object-event-listeners-sidebar-pane";var P=Object.freeze({__proto__:null,ObjectEventListenersSidebarPane:A,objectGroupName:R});const T=new CSSStyleSheet;T.replaceSync('.breakpoint-list{padding-bottom:3px}.breakpoint-list .editing.being-edited{overflow:hidden;white-space:nowrap}.breakpoint-condition{display:block;margin:4px 8px 4px 23px}.breakpoint-condition-input{display:block;margin-left:0;margin-right:0;outline:none!important;border:1px solid var(--color-background-elevation-2)}.breakpoint-entry{white-space:nowrap;padding:2px 0}.breakpoint-list .breakpoint-entry:hover{background-color:var(--color-background-elevation-1)}.breakpoint-list .breakpoint-entry:focus-visible{background-color:var(--legacy-focus-bg-color)}.breakpoint-entry [is="dt-checkbox"]{max-width:100%}.breakpoint-hit{--override-breakpoint-hit-background-color:rgb(255 255 194);--override-breakpoint-hit-border-color:rgb(107 97 48);background-color:var(--override-breakpoint-hit-background-color);border-right:3px solid var(--override-breakpoint-hit-border-color)}.-theme-with-dark-background .breakpoint-hit,\n:host-context(.-theme-with-dark-background) .breakpoint-hit{--override-breakpoint-hit-background-color:hsl(46deg 98% 22%);--override-breakpoint-hit-border-color:#ccc}@media (forced-colors: active){.breakpoint-list .breakpoint-entry:hover,\n .breakpoint-list .breakpoint-entry:focus-visible{forced-color-adjust:none;background-color:Highlight}.breakpoint-list .breakpoint-entry:hover *,\n .breakpoint-list .breakpoint-entry:focus-visible *{color:HighlightText}}\n/*# sourceURL=xhrBreakpointsSidebarPane.css */\n');const U={xhrfetchBreakpoints:"XHR/fetch Breakpoints",noBreakpoints:"No breakpoints",addXhrfetchBreakpoint:"Add XHR/fetch breakpoint",addBreakpoint:"Add breakpoint",breakWhenUrlContains:"Break when URL contains:",urlBreakpoint:"URL Breakpoint",urlContainsS:'URL contains "{PH1}"',anyXhrOrFetch:"Any XHR or fetch",breakpointHit:"breakpoint hit",removeAllBreakpoints:"Remove all breakpoints",removeBreakpoint:"Remove breakpoint"},H=t.i18n.registerUIStrings("panels/browser_debugger/XHRBreakpointsSidebarPane.ts",U),V=t.i18n.getLocalizedString.bind(void 0,H),F=new WeakMap,_=new WeakMap;let j;class X extends i.Widget.VBox{#o;#a;#r;#p;#b;#k;constructor(){super(!0),this.#o=new i.ListModel.ListModel,this.#a=new i.ListControl.ListControl(this.#o,this,i.ListControl.ListMode.NonViewport),this.contentElement.appendChild(this.#a.element),this.#a.element.classList.add("breakpoint-list","hidden"),i.ARIAUtils.markAsList(this.#a.element),i.ARIAUtils.setLabel(this.#a.element,V(U.xhrfetchBreakpoints)),this.#r=this.contentElement.createChild("div","gray-info-message"),this.#r.textContent=V(U.noBreakpoints),this.#p=new Map,this.#b=new i.Toolbar.ToolbarButton(V(U.addXhrfetchBreakpoint),"plus"),this.#b.addEventListener(i.Toolbar.ToolbarButton.Events.Click,(()=>{this.addButtonClicked()})),this.#r.addEventListener("contextmenu",this.emptyElementContextMenu.bind(this),!0),this.#r.tabIndex=-1,this.restoreBreakpoints(),this.update()}static instance(){return j||(j=new X),j}toolbarItems(){return[this.#b]}emptyElementContextMenu(e){const t=new i.ContextMenu.ContextMenu(e);t.defaultSection().appendItem(V(U.addBreakpoint),this.addButtonClicked.bind(this)),t.show()}async addButtonClicked(){await i.ViewManager.ViewManager.instance().showView("sources.xhrBreakpoints");const t=document.createElement("p");t.classList.add("breakpoint-condition"),t.textContent=V(U.breakWhenUrlContains);const n=t.createChild("span","breakpoint-condition-input");function o(i,n,o){this.removeListElement(t),i&&(e.DOMDebuggerModel.DOMDebuggerManager.instance().addXHRBreakpoint(o,!0),this.setBreakpoint(o)),this.update()}i.ARIAUtils.setLabel(n,V(U.urlBreakpoint)),this.addListElement(t,this.#a.element.firstChild);const s=new i.InplaceEditor.Config(o.bind(this,!0),o.bind(this,!1));i.InplaceEditor.InplaceEditor.startEditing(n,s)}heightForItem(e){return 0}isItemSelectable(e){return!0}setBreakpoint(e){-1!==this.#o.indexOf(e)?this.#a.refreshItem(e):this.#o.insertWithComparator(e,((e,t)=>e>t?1:e<t?-1:0)),this.#a.selectedItem()&&this.hasFocus()||this.#a.selectItem(this.#o.at(0))}createElementForItem(t){const n=document.createElement("div");i.ARIAUtils.markAsListitem(n);const o=n.createChild("div","breakpoint-entry");F.set(n,o);const s=e.DOMDebuggerModel.DOMDebuggerManager.instance().xhrBreakpoints().get(t)||!1;i.ARIAUtils.markAsCheckbox(o),i.ARIAUtils.setChecked(o,s),o.addEventListener("contextmenu",this.contextMenu.bind(this,t),!0);const r=t?V(U.urlContainsS,{PH1:t}):V(U.anyXhrOrFetch),a=i.UIUtils.CheckboxLabel.create(r,s);return i.ARIAUtils.markAsHidden(a),i.ARIAUtils.setLabel(o,r),o.appendChild(a),a.checkboxElement.addEventListener("click",this.checkboxClicked.bind(this,t,s),!1),o.addEventListener("click",(e=>{e.target===o&&this.checkboxClicked(t,s)}),!1),_.set(o,a.checkboxElement),a.checkboxElement.tabIndex=-1,o.tabIndex=-1,t===this.#a.selectedItem()&&(o.tabIndex=0,this.setDefaultFocusedElement(o)),o.addEventListener("keydown",(e=>{let i=!1;" "===e.key?(this.checkboxClicked(t,s),i=!0):"Enter"===e.key&&(this.labelClicked(t),i=!0),i&&e.consume(!0)})),t===this.#k&&(o.classList.add("breakpoint-hit"),i.ARIAUtils.setDescription(o,V(U.breakpointHit))),a.classList.add("cursor-auto"),a.textElement.addEventListener("dblclick",this.labelClicked.bind(this,t),!1),this.#p.set(t,n),n}selectedItemChanged(e,t,i,n){if(i){const e=F.get(i);if(!e)throw new Error("Expected breakpoint entry to be found for an element");e.tabIndex=-1}if(n){const e=F.get(n);if(!e)throw new Error("Expected breakpoint entry to be found for an element");this.setDefaultFocusedElement(e),e.tabIndex=0,this.hasFocus()&&e.focus()}}updateSelectedItemARIA(e,t){return!0}removeBreakpoint(e){const t=this.#o.indexOf(e);t>=0&&this.#o.remove(t),this.#p.delete(e),this.update()}addListElement(e,t){this.#a.element.insertBefore(e,t),this.#r.classList.add("hidden"),this.#a.element.classList.remove("hidden")}removeListElement(e){this.#a.element.removeChild(e),this.#a.element.firstElementChild||(this.#r.classList.remove("hidden"),this.#a.element.classList.add("hidden"))}contextMenu(t,n){const o=new i.ContextMenu.ContextMenu(n);const s=V(U.removeAllBreakpoints);o.defaultSection().appendItem(V(U.addBreakpoint),this.addButtonClicked.bind(this)),o.defaultSection().appendItem(V(U.removeBreakpoint),function(){e.DOMDebuggerModel.DOMDebuggerManager.instance().removeXHRBreakpoint(t),this.removeBreakpoint(t)}.bind(this)),o.defaultSection().appendItem(s,function(){for(const t of this.#p.keys())e.DOMDebuggerModel.DOMDebuggerManager.instance().removeXHRBreakpoint(t),this.removeBreakpoint(t);this.update()}.bind(this)),o.show()}checkboxClicked(t,i){const n=this.hasFocus();e.DOMDebuggerModel.DOMDebuggerManager.instance().toggleXHRBreakpoint(t,!i),this.#a.refreshItem(t),this.#a.selectItem(t),n&&this.focus()}labelClicked(t){const n=this.#p.get(t),o=document.createElement("span");function s(i,s,r){if(this.removeListElement(o),i){e.DOMDebuggerModel.DOMDebuggerManager.instance().removeXHRBreakpoint(t),this.removeBreakpoint(t);let i=!0;if(n){const e=F.get(n),t=e?_.get(e):void 0;t&&(i=t.checked)}e.DOMDebuggerModel.DOMDebuggerManager.instance().addXHRBreakpoint(r,i),this.setBreakpoint(r),this.#a.selectItem(r)}else n&&n.classList.remove("hidden");this.focus()}o.classList.add("breakpoint-condition"),o.textContent=t,n&&(this.#a.element.insertBefore(o,n),n.classList.add("hidden"));const r=new i.InplaceEditor.Config(s.bind(this,!0),s.bind(this,!1));i.InplaceEditor.InplaceEditor.startEditing(o,r)}flavorChanged(e){this.update()}update(){const t=0===this.#o.length;this.#a.element.classList.toggle("hidden",t),this.#r.classList.toggle("hidden",!t);const n=i.Context.Context.instance().flavor(e.DebuggerModel.DebuggerPausedDetails);if(!n||"XHR"!==n.reason){if(this.#k){const e=this.#k;this.#k=void 0,this.#o.indexOf(e)>=0&&this.#a.refreshItem(e)}return}const o=n.auxData&&n.auxData.breakpointURL;this.#k=o,this.#o.indexOf(o)<0||(this.#a.refreshItem(o),i.ViewManager.ViewManager.instance().showView("sources.xhrBreakpoints"))}restoreBreakpoints(){const t=e.DOMDebuggerModel.DOMDebuggerManager.instance().xhrBreakpoints();for(const e of t.keys())this.setBreakpoint(e)}wasShown(){super.wasShown(),this.registerCSSFiles([T])}}var z=Object.freeze({__proto__:null,XHRBreakpointsSidebarPane:X});export{b as CSPViolationBreakpointsSidebarPane,E as DOMBreakpointsSidebarPane,L as EventListenerBreakpointsSidebarPane,P as ObjectEventListenersSidebarPane,z as XHRBreakpointsSidebarPane};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"./changes.js";self.Changes=self.Changes||{},Changes=Changes||{},Changes.ChangesSidebar=e.ChangesSidebar.ChangesSidebar,Changes.ChangesView=e.ChangesView.ChangesView,Changes.ChangesView.RowType=e.ChangesView.RowType,Changes.ChangesView.DiffUILocationRevealer=e.ChangesView.DiffUILocationRevealer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"../../core/common/common.js";import*as a from"../../core/i18n/i18n.js";import*as i from"../../models/workspace_diff/workspace_diff.js";import*as n from"../../ui/legacy/legacy.js";let s;const o={changes:"Changes",showChanges:"Show Changes"},t=a.i18n.registerUIStrings("panels/changes/changes-meta.ts",o),r=a.i18n.getLazilyComputedLocalizedString.bind(void 0,t);async function c(){return s||(s=await import("./changes.js")),s}n.ViewManager.registerViewExtension({location:"drawer-view",id:"changes.changes",title:r(o.changes),commandPrompt:r(o.showChanges),persistence:"closeable",loadView:async()=>(await c()).ChangesView.ChangesView.instance()}),e.Revealer.registerRevealer({contextTypes:()=>[i.WorkspaceDiff.DiffUILocation],destination:e.Revealer.RevealerDestination.CHANGES_DRAWER,loadRevealer:async()=>(await c()).ChangesView.DiffUILocationRevealer.instance()});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"../../core/common/common.js";import*as t from"../../core/host/host.js";import*as i from"../../core/i18n/i18n.js";import*as o from"../../core/root/root.js";import{formatCSSChangesFromDiff as s}from"../utils/utils.js";import*as r from"../../third_party/diff/diff.js";import*as n from"../../ui/components/diff_view/diff_view.js";import*as a from"../../ui/legacy/legacy.js";import*as c from"../../models/workspace_diff/workspace_diff.js";import*as l from"../../core/platform/platform.js";import*as d from"../../models/workspace/workspace.js";import*as h from"../../ui/components/icon_button/icon_button.js";import*as f from"../snippets/snippets.js";const u=new CSSStyleSheet;u.replaceSync('[slot="insertion-point-main"]{flex-direction:column;display:flex}[slot="insertion-point-sidebar"]{overflow:auto}.diff-container{flex:1;overflow:auto}:focus.selected{--override-selected-color:#fff;background-color:var(--legacy-selection-bg-color);color:var(--override-selected-color)}.-theme-with-dark-background :focus.selected,\n:host-context(.-theme-with-dark-background) :focus.selected{--override-selected-color:rgb(0 0 0)}.changes-toolbar{background-color:var(--color-background-elevation-1);border-top:var(--legacy-divider-border)}\n/*# sourceURL=changesView.css */\n');const p=new CSSStyleSheet;p.replaceSync(".tree-outline li{min-height:20px}.tree-outline li:hover:not(.selected) .selection{display:block;--icon-color:var(--icon-default-hover)}.navigator-sm-script-tree-item,\n.navigator-script-tree-item,\n.navigator-snippet-tree-item{--icon-color:var(--icon-file-script)}.navigator-sm-stylesheet-tree-item,\n.navigator-stylesheet-tree-item{--icon-color:var(--icon-file-styles)}.navigator-image-tree-item{--icon-color:var(--icon-file-image)}.navigator-font-tree-item{--icon-color:var(--icon-file-font)}.force-white-icons{--icon-color:var(--icon-force-white)}@media (forced-colors: active){li,\n .navigator-sm-script-tree-item,\n .navigator-script-tree-item,\n .navigator-snippet-tree-item,\n .navigator-sm-stylesheet-tree-item,\n .navigator-stylesheet-tree-item,\n .navigator-image-tree-item,\n .navigator-font-tree-item{forced-color-adjust:none;--icon-color:ButtonText}}\n/*# sourceURL=changesSidebar.css */\n");const m={sFromSourceMap:"{PH1} (from source map)"},g=i.i18n.registerUIStrings("panels/changes/ChangesSidebar.ts",m),S=i.i18n.getLocalizedString.bind(void 0,g);class C extends(e.ObjectWrapper.eventMixin(a.Widget.Widget)){treeoutline;treeElements;workspaceDiff;constructor(e){super(),this.treeoutline=new a.TreeOutline.TreeOutlineInShadow,this.treeoutline.setFocusable(!1),this.treeoutline.setComparator(((e,t)=>l.StringUtilities.compare(e.titleAsText(),t.titleAsText()))),this.treeoutline.addEventListener(a.TreeOutline.Events.ElementSelected,this.selectionChanged,this),a.ARIAUtils.markAsTablist(this.treeoutline.contentElement),this.element.appendChild(this.treeoutline.element),this.treeElements=new Map,this.workspaceDiff=e,this.workspaceDiff.modifiedUISourceCodes().forEach(this.addUISourceCode.bind(this)),this.workspaceDiff.addEventListener("ModifiedStatusChanged",this.uiSourceCodeMofiedStatusChanged,this)}selectUISourceCode(e,t){const i=this.treeElements.get(e);i&&i.select(t)}selectedUISourceCode(){return this.treeoutline.selectedTreeElement?this.treeoutline.selectedTreeElement.uiSourceCode:null}selectionChanged(){this.dispatchEventToListeners("SelectedUISourceCodeChanged")}uiSourceCodeMofiedStatusChanged(e){e.data.isModified?this.addUISourceCode(e.data.uiSourceCode):this.removeUISourceCode(e.data.uiSourceCode)}removeUISourceCode(e){const t=this.treeElements.get(e);if(this.treeElements.delete(e),this.treeoutline.selectedTreeElement===t){const e=t.previousSibling||t.nextSibling;e?e.select(!0):(t.deselect(),this.selectionChanged())}t&&(this.treeoutline.removeChild(t),t.dispose()),0===this.treeoutline.rootElement().childCount()&&this.treeoutline.setFocusable(!1)}addUISourceCode(e){const t=new b(e);this.treeElements.set(e,t),this.treeoutline.setFocusable(!0),this.treeoutline.appendChild(t),this.treeoutline.selectedTreeElement||t.select(!0)}wasShown(){super.wasShown(),this.treeoutline.registerCSSFiles([p])}}class b extends a.TreeOutline.TreeElement{uiSourceCode;eventListeners;constructor(e){super(),this.uiSourceCode=e,this.listItemElement.classList.add("navigator-"+e.contentType().name()+"-tree-item"),a.ARIAUtils.markAsTab(this.listItemElement);let t="document";f.ScriptSnippetFileSystem.isSnippetsUISourceCode(this.uiSourceCode)&&(t="snippet");const i=new h.Icon.Icon;i.data={iconName:t,color:"var(--icon-file-default)",width:"20px",height:"20px"},this.setLeadingIcons([i]),this.eventListeners=[e.addEventListener(d.UISourceCode.Events.TitleChanged,this.updateTitle,this),e.addEventListener(d.UISourceCode.Events.WorkingCopyChanged,this.updateTitle,this),e.addEventListener(d.UISourceCode.Events.WorkingCopyCommitted,this.updateTitle,this)],this.updateTitle()}updateTitle(){let e=this.uiSourceCode.displayName();this.uiSourceCode.isDirty()&&(e="*"+e),this.title=e;let t=this.uiSourceCode.url();this.uiSourceCode.contentType().isFromSourceMap()&&(t=S(m.sFromSourceMap,{PH1:this.uiSourceCode.displayName()})),this.tooltip=t}dispose(){e.EventTarget.removeEventListeners(this.eventListeners)}}var v=Object.freeze({__proto__:null,ChangesSidebar:C,UISourceCodeTreeElement:b});const w={revertAllChangesToCurrentFile:"Revert all changes to current file",copyAllChangesFromCurrentFile:"Copy all changes from current file",noChanges:"No changes",binaryData:"Binary data",sInsertions:"{n, plural, =1 {# insertion (+)} other {# insertions (+)}}",sDeletions:"{n, plural, =1 {# deletion (-)} other {# deletions (-)}}",copy:"Copy"},y=i.i18n.registerUIStrings("panels/changes/ChangesView.ts",w),I=i.i18n.getLocalizedString.bind(void 0,y);let T,E;class D extends a.Widget.VBox{emptyWidget;workspaceDiff;changesSidebar;selectedUISourceCode;#e;diffContainer;toolbar;diffStats;diffView;copyButton;copyButtonSeparator;constructor(){super(!0);const e=new a.SplitWidget.SplitWidget(!0,!1),t=new a.Widget.Widget;e.setMainWidget(t),e.show(this.contentElement),this.emptyWidget=new a.EmptyWidget.EmptyWidget(""),this.emptyWidget.show(t.element),this.workspaceDiff=c.WorkspaceDiff.workspaceDiff(),this.changesSidebar=new C(this.workspaceDiff),this.changesSidebar.addEventListener("SelectedUISourceCodeChanged",this.selectedUISourceCodeChanged,this),e.setSidebarWidget(this.changesSidebar),this.selectedUISourceCode=null,this.diffContainer=t.element.createChild("div","diff-container"),a.ARIAUtils.markAsTabpanel(this.diffContainer),this.diffContainer.addEventListener("click",(e=>this.click(e))),this.diffView=this.diffContainer.appendChild(new n.DiffView.DiffView),this.toolbar=new a.Toolbar.Toolbar("changes-toolbar",t.element);const i=new a.Toolbar.ToolbarButton(I(w.revertAllChangesToCurrentFile),"undo");i.addEventListener(a.Toolbar.ToolbarButton.Events.Click,this.revert.bind(this)),this.toolbar.appendToolbarItem(i),this.diffStats=new a.Toolbar.ToolbarText(""),this.toolbar.appendToolbarItem(this.diffStats),this.copyButton=new a.Toolbar.ToolbarButton(I(w.copyAllChangesFromCurrentFile),"copy",w.copy),this.copyButton.addEventListener(a.Toolbar.ToolbarButton.Events.Click,this.copyChanges.bind(this)),this.copyButtonSeparator=new a.Toolbar.ToolbarSeparator,this.toolbar.setEnabled(!1),this.hideDiff(I(w.noChanges)),this.selectedUISourceCodeChanged()}static instance(e={forceNew:null}){const{forceNew:t}=e;return T&&!t||(T=new D),T}selectedUISourceCodeChanged(){this.revealUISourceCode(this.changesSidebar.selectedUISourceCode()),this.selectedUISourceCode?.contentType()===e.ResourceType.resourceTypes.Stylesheet?(this.toolbar.appendToolbarItem(this.copyButtonSeparator),this.toolbar.appendToolbarItem(this.copyButton)):(this.toolbar.removeToolbarItem(this.copyButtonSeparator),this.toolbar.removeToolbarItem(this.copyButton))}revert(){const e=this.selectedUISourceCode;e&&this.workspaceDiff.revertToOriginal(e)}async copyChanges(){const e=this.selectedUISourceCode;if(!e)return;const i=await this.workspaceDiff.requestDiff(e,{shouldFormatDiff:!0});if(!i||i?.diff.length<2)return;const o=await s(i.diff);t.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(o)}click(t){if(this.selectedUISourceCode)for(const i of t.composedPath()){if(!(i instanceof HTMLElement))continue;if(i.ownerDocument.getSelection()?.toString())break;if(i.classList.contains("diff-line-content")&&i.hasAttribute("data-line-number")){let s=Number(i.dataset.lineNumber)-1;o.Runtime.experiments.isEnabled(o.Runtime.ExperimentName.PRECISE_CHANGES)&&this.#e&&(s=this.#e.formattedToOriginal(s,0)[0]),e.Revealer.reveal(this.selectedUISourceCode.uiLocation(s,0),!1),t.consume(!0);break}if(i.classList.contains("diff-listing"))break}}revealUISourceCode(e){this.selectedUISourceCode!==e&&(this.selectedUISourceCode&&this.workspaceDiff.unsubscribeFromDiffChange(this.selectedUISourceCode,this.refreshDiff,this),e&&this.isShowing()&&this.workspaceDiff.subscribeToDiffChange(e,this.refreshDiff,this),this.selectedUISourceCode=e,this.refreshDiff())}wasShown(){this.refreshDiff(),this.registerCSSFiles([u])}async refreshDiff(){if(!this.isShowing())return;if(!this.selectedUISourceCode)return void this.renderDiffRows();const e=this.selectedUISourceCode;if(!e.contentType().isTextType())return void this.hideDiff(I(w.binaryData));const t=await this.workspaceDiff.requestDiff(e,{shouldFormatDiff:o.Runtime.experiments.isEnabled(o.Runtime.ExperimentName.PRECISE_CHANGES)});this.selectedUISourceCode===e&&(this.#e=t?.formattedCurrentMapping,this.renderDiffRows(t?.diff))}hideDiff(e){this.diffStats.setText(""),this.toolbar.setEnabled(!1),this.diffContainer.style.display="none",this.emptyWidget.text=e,this.emptyWidget.showWidget()}renderDiffRows(e){if(!e||1===e.length&&e[0][0]===r.Diff.Operation.Equal)this.hideDiff(I(w.noChanges));else{this.diffStats.setText(function(e){const t=e.reduce(((e,t)=>e+(t[0]===r.Diff.Operation.Insert?t[1].length:0)),0),i=e.reduce(((e,t)=>e+(t[0]===r.Diff.Operation.Delete?t[1].length:0)),0),o=I(w.sDeletions,{n:i});return`${I(w.sInsertions,{n:t})}, ${o}`}(e)),this.toolbar.setEnabled(!0),this.emptyWidget.hideWidget();const t=this.selectedUISourceCode.mimeType();this.diffContainer.style.display="block",this.diffView.data={diff:e,mimeType:t}}}}class U{static instance(e={forceNew:!1}){const{forceNew:t}=e;return E&&!t||(E=new U),E}async reveal(e,t){if(!(e instanceof c.WorkspaceDiff.DiffUILocation))throw new Error("Internal error: not a diff ui location");await a.ViewManager.ViewManager.instance().showView("changes.changes"),D.instance().changesSidebar.selectUISourceCode(e.uiSourceCode,t)}}var k=Object.freeze({__proto__:null,ChangesView:D,DiffUILocationRevealer:U});export{v as ChangesSidebar,k as ChangesView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"./console.js";self.Console=self.Console||{},Console=Console||{},Console.ConsoleFilter=e.ConsoleFilter.ConsoleFilter,Console.ConsolePanel=e.ConsolePanel.ConsolePanel,Console.ConsolePanel.WrapperView=e.ConsolePanel.WrapperView,Console.ConsolePanel.ConsoleRevealer=e.ConsolePanel.ConsoleRevealer,Console.ConsolePin=e.ConsolePinPane.ConsolePin,Console.ConsolePrompt=e.ConsolePrompt.ConsolePrompt,Console.ConsoleSidebar=e.ConsoleSidebar.ConsoleSidebar,Console.ConsoleView=e.ConsoleView.ConsoleView,Console.ConsoleViewFilter=e.ConsoleView.ConsoleViewFilter,Console.ConsoleView.ActionDelegate=e.ConsoleView.ActionDelegate,Console.ConsoleGroup=e.ConsoleView.ConsoleGroup,Console.ConsoleViewMessage=e.ConsoleViewMessage.ConsoleViewMessage,Console.ConsoleViewMessage.setMaxTokenizableStringLength=e.ConsoleViewMessage.setMaxTokenizableStringLength,Console.ConsoleViewMessage.setLongStringVisibleLength=e.ConsoleViewMessage.setLongStringVisibleLength,Console.ConsoleGroupViewMessage=e.ConsoleViewMessage.ConsoleGroupViewMessage,Console.ConsoleViewport=e.ConsoleViewport.ConsoleViewport,Console.ConsoleViewportElement=e.ConsoleViewport.ConsoleViewportElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"../../core/common/common.js";import*as t from"../../ui/legacy/legacy.js";import*as o from"../../core/i18n/i18n.js";const s={console:"Console",showConsole:"Show Console",clearConsole:"Clear console",clearConsoleHistory:"Clear console history",createLiveExpression:"Create live expression",hideNetworkMessages:"Hide network messages",showNetworkMessages:"Show network messages",selectedContextOnly:"Selected context only",onlyShowMessagesFromTheCurrent:"Only show messages from the current context (`top`, `iframe`, `worker`, extension)",showMessagesFromAllContexts:"Show messages from all contexts",logXmlhttprequests:"Log XMLHttpRequests",showTimestamps:"Show timestamps",hideTimestamps:"Hide timestamps",autocompleteFromHistory:"Autocomplete from history",doNotAutocompleteFromHistory:"Do not autocomplete from history",autocompleteOnEnter:"Accept autocomplete suggestion on Enter",doNotAutocompleteOnEnter:"Do not accept autocomplete suggestion on Enter",groupSimilarMessagesInConsole:"Group similar messages in console",doNotGroupSimilarMessagesIn:"Do not group similar messages in console",showCorsErrorsInConsole:"Show `CORS` errors in console",doNotShowCorsErrorsIn:"Do not show `CORS` errors in console",eagerEvaluation:"Eager evaluation",eagerlyEvaluateConsolePromptText:"Eagerly evaluate console prompt text",doNotEagerlyEvaluateConsole:"Do not eagerly evaluate console prompt text",evaluateTriggersUserActivation:"Treat code evaluation as user action",treatEvaluationAsUserActivation:"Treat evaluation as user activation",doNotTreatEvaluationAsUser:"Do not treat evaluation as user activation",expandConsoleTraceMessagesByDefault:"Automatically expand `console.trace()` messages",collapseConsoleTraceMessagesByDefault:"Do not automatically expand `console.trace()` messages"},n=o.i18n.registerUIStrings("panels/console/console-meta.ts",s),i=o.i18n.getLazilyComputedLocalizedString.bind(void 0,n);let a;async function r(){return a||(a=await import("./console.js")),a}t.ViewManager.registerViewExtension({location:"panel",id:"console",title:i(s.console),commandPrompt:i(s.showConsole),order:20,loadView:async()=>(await r()).ConsolePanel.ConsolePanel.instance()}),t.ViewManager.registerViewExtension({location:"drawer-view",id:"console-view",title:i(s.console),commandPrompt:i(s.showConsole),persistence:"permanent",order:0,loadView:async()=>(await r()).ConsolePanel.WrapperView.instance()}),t.ActionRegistration.registerActionExtension({actionId:"console.show",category:t.ActionRegistration.ActionCategory.CONSOLE,title:i(s.showConsole),loadActionDelegate:async()=>(await r()).ConsoleView.ActionDelegate.instance(),bindings:[{shortcut:"Ctrl+`",keybindSets:["devToolsDefault","vsCode"]}]}),t.ActionRegistration.registerActionExtension({actionId:"console.clear",category:t.ActionRegistration.ActionCategory.CONSOLE,title:i(s.clearConsole),iconClass:"clear",loadActionDelegate:async()=>(await r()).ConsoleView.ActionDelegate.instance(),contextTypes(){return e=e=>[e.ConsoleView.ConsoleView],void 0===a?[]:e(a);var e},bindings:[{shortcut:"Ctrl+L"},{shortcut:"Meta+K",platform:"mac"}]}),t.ActionRegistration.registerActionExtension({actionId:"console.clear.history",category:t.ActionRegistration.ActionCategory.CONSOLE,title:i(s.clearConsoleHistory),loadActionDelegate:async()=>(await r()).ConsoleView.ActionDelegate.instance()}),t.ActionRegistration.registerActionExtension({actionId:"console.create-pin",category:t.ActionRegistration.ActionCategory.CONSOLE,title:i(s.createLiveExpression),iconClass:"eye",loadActionDelegate:async()=>(await r()).ConsoleView.ActionDelegate.instance()}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.hideNetworkMessages),settingName:"hideNetworkMessages",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!1,options:[{value:!0,title:i(s.hideNetworkMessages)},{value:!1,title:i(s.showNetworkMessages)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.selectedContextOnly),settingName:"selectedContextFilterEnabled",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!1,options:[{value:!0,title:i(s.onlyShowMessagesFromTheCurrent)},{value:!1,title:i(s.showMessagesFromAllContexts)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.logXmlhttprequests),settingName:"monitoringXHREnabled",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!1}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.showTimestamps),settingName:"consoleTimestampsEnabled",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!1,options:[{value:!0,title:i(s.showTimestamps)},{value:!1,title:i(s.hideTimestamps)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,title:i(s.autocompleteFromHistory),settingName:"consoleHistoryAutocomplete",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!0,options:[{value:!0,title:i(s.autocompleteFromHistory)},{value:!1,title:i(s.doNotAutocompleteFromHistory)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.autocompleteOnEnter),settingName:"consoleAutocompleteOnEnter",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!1,options:[{value:!0,title:i(s.autocompleteOnEnter)},{value:!1,title:i(s.doNotAutocompleteOnEnter)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.groupSimilarMessagesInConsole),settingName:"consoleGroupSimilar",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!0,options:[{value:!0,title:i(s.groupSimilarMessagesInConsole)},{value:!1,title:i(s.doNotGroupSimilarMessagesIn)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,title:i(s.showCorsErrorsInConsole),settingName:"consoleShowsCorsErrors",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!0,options:[{value:!0,title:i(s.showCorsErrorsInConsole)},{value:!1,title:i(s.doNotShowCorsErrorsIn)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.eagerEvaluation),settingName:"consoleEagerEval",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!0,options:[{value:!0,title:i(s.eagerlyEvaluateConsolePromptText)},{value:!1,title:i(s.doNotEagerlyEvaluateConsole)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.evaluateTriggersUserActivation),settingName:"consoleUserActivationEval",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!0,options:[{value:!0,title:i(s.treatEvaluationAsUserActivation)},{value:!1,title:i(s.doNotTreatEvaluationAsUser)}]}),e.Settings.registerSettingExtension({category:e.Settings.SettingCategory.CONSOLE,storageType:e.Settings.SettingStorageType.Synced,title:i(s.expandConsoleTraceMessagesByDefault),settingName:"consoleTraceExpand",settingType:e.Settings.SettingType.BOOLEAN,defaultValue:!0,options:[{value:!0,title:i(s.expandConsoleTraceMessagesByDefault)},{value:!1,title:i(s.collapseConsoleTraceMessagesByDefault)}]}),e.Revealer.registerRevealer({contextTypes:()=>[e.Console.Console],loadRevealer:async()=>(await r()).ConsolePanel.ConsoleRevealer.instance(),destination:void 0});
|