@qilin-agent/experimental-inspector 0.0.0-stage → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +49 -0
- package/README.md +179 -2
- package/README.zh.md +180 -0
- package/cordis.patch.yml +5 -0
- package/icon.svg +12 -0
- package/lib/client.js +3572 -0
- package/lib/client.page.js +314 -0
- package/lib/devtools/Images/3d-center.svg +3 -0
- package/lib/devtools/Images/3d-pan.svg +3 -0
- package/lib/devtools/Images/3d-rotate.svg +3 -0
- package/lib/devtools/Images/accelerometer-back.svg +69 -0
- package/lib/devtools/Images/accelerometer-bottom.png +0 -0
- package/lib/devtools/Images/accelerometer-front.svg +28 -0
- package/lib/devtools/Images/accelerometer-left.png +0 -0
- package/lib/devtools/Images/accelerometer-right.png +0 -0
- package/lib/devtools/Images/accelerometer-top.png +0 -0
- package/lib/devtools/Images/account-tree.svg +10 -0
- package/lib/devtools/Images/add-photo.svg +3 -0
- package/lib/devtools/Images/ai-explorer-badge.svg +114 -0
- package/lib/devtools/Images/align-content-center.svg +5 -0
- package/lib/devtools/Images/align-content-end.svg +5 -0
- package/lib/devtools/Images/align-content-space-around.svg +6 -0
- package/lib/devtools/Images/align-content-space-between.svg +4 -0
- package/lib/devtools/Images/align-content-space-evenly.svg +6 -0
- package/lib/devtools/Images/align-content-start.svg +5 -0
- package/lib/devtools/Images/align-content-stretch.svg +4 -0
- package/lib/devtools/Images/align-items-baseline.svg +4 -0
- package/lib/devtools/Images/align-items-center.svg +5 -0
- package/lib/devtools/Images/align-items-end.svg +5 -0
- package/lib/devtools/Images/align-items-start.svg +5 -0
- package/lib/devtools/Images/align-items-stretch.svg +6 -0
- package/lib/devtools/Images/align-self-center.svg +3 -0
- package/lib/devtools/Images/align-self-end.svg +4 -0
- package/lib/devtools/Images/align-self-start.svg +4 -0
- package/lib/devtools/Images/align-self-stretch.svg +5 -0
- package/lib/devtools/Images/animation.svg +3 -0
- package/lib/devtools/Images/arrow-back.svg +4 -0
- package/lib/devtools/Images/arrow-collapse.svg +3 -0
- package/lib/devtools/Images/arrow-down.svg +10 -0
- package/lib/devtools/Images/arrow-drop-down-dark.svg +3 -0
- package/lib/devtools/Images/arrow-drop-down-light.svg +3 -0
- package/lib/devtools/Images/arrow-drop-down.svg +3 -0
- package/lib/devtools/Images/arrow-forward.svg +4 -0
- package/lib/devtools/Images/arrow-right-circle.svg +3 -0
- package/lib/devtools/Images/arrow-up-down-circle.svg +3 -0
- package/lib/devtools/Images/arrow-up-down.svg +3 -0
- package/lib/devtools/Images/arrow-up.svg +10 -0
- package/lib/devtools/Images/attach-file.svg +3 -0
- package/lib/devtools/Images/baseline-high-availability.svg +17 -0
- package/lib/devtools/Images/baseline-limited-availability.svg +19 -0
- package/lib/devtools/Images/baseline-low-availability.svg +31 -0
- package/lib/devtools/Images/bell.svg +3 -0
- package/lib/devtools/Images/bezier-curve-filled.svg +3 -0
- package/lib/devtools/Images/bin.svg +1 -0
- package/lib/devtools/Images/bottom-panel-close.svg +1 -0
- package/lib/devtools/Images/bottom-panel-open.svg +1 -0
- package/lib/devtools/Images/brackets.svg +1 -0
- package/lib/devtools/Images/breakpoint-circle.svg +4 -0
- package/lib/devtools/Images/breakpoint-crossed-filled.svg +1 -0
- package/lib/devtools/Images/breakpoint-crossed.svg +1 -0
- package/lib/devtools/Images/brush-2.svg +3 -0
- package/lib/devtools/Images/brush-filled.svg +1 -0
- package/lib/devtools/Images/brush.svg +1 -0
- package/lib/devtools/Images/bucket.svg +4 -0
- package/lib/devtools/Images/bug.svg +3 -0
- package/lib/devtools/Images/button-magic.svg +3 -0
- package/lib/devtools/Images/calendar-today.svg +3 -0
- package/lib/devtools/Images/center-focus-weak.svg +3 -0
- package/lib/devtools/Images/check-circle.svg +3 -0
- package/lib/devtools/Images/check-double.svg +3 -0
- package/lib/devtools/Images/checker.svg +12 -0
- package/lib/devtools/Images/checkmark.svg +1 -0
- package/lib/devtools/Images/chevron-double-right.svg +3 -0
- package/lib/devtools/Images/chevron-down.svg +3 -0
- package/lib/devtools/Images/chevron-left-dot.svg +4 -0
- package/lib/devtools/Images/chevron-left.svg +3 -0
- package/lib/devtools/Images/chevron-right.svg +3 -0
- package/lib/devtools/Images/chevron-up.svg +3 -0
- package/lib/devtools/Images/chromeLeft.avif +0 -0
- package/lib/devtools/Images/chromeMiddle.avif +0 -0
- package/lib/devtools/Images/chromeRight.avif +0 -0
- package/lib/devtools/Images/class.svg +6 -0
- package/lib/devtools/Images/clear-list.svg +3 -0
- package/lib/devtools/Images/clear.svg +3 -0
- package/lib/devtools/Images/cloud.svg +3 -0
- package/lib/devtools/Images/code-circle.svg +5 -0
- package/lib/devtools/Images/code-whisperer-badge.svg +166 -0
- package/lib/devtools/Images/code.svg +3 -0
- package/lib/devtools/Images/colon.svg +4 -0
- package/lib/devtools/Images/color-picker-filled.svg +3 -0
- package/lib/devtools/Images/color-picker.svg +3 -0
- package/lib/devtools/Images/compress.svg +8 -0
- package/lib/devtools/Images/console-conditional-breakpoint.svg +1 -0
- package/lib/devtools/Images/console-logpoint.svg +1 -0
- package/lib/devtools/Images/container.svg +4 -0
- package/lib/devtools/Images/cookie.svg +3 -0
- package/lib/devtools/Images/cookie_off.svg +3 -0
- package/lib/devtools/Images/copy.svg +3 -0
- package/lib/devtools/Images/corporate-fare.svg +3 -0
- package/lib/devtools/Images/credit-card.svg +3 -0
- package/lib/devtools/Images/cross-circle-filled.svg +3 -0
- package/lib/devtools/Images/cross-circle.svg +3 -0
- package/lib/devtools/Images/cross.svg +3 -0
- package/lib/devtools/Images/cssoverview_icons_2x.avif +0 -0
- package/lib/devtools/Images/database-off.svg +1 -0
- package/lib/devtools/Images/database.svg +3 -0
- package/lib/devtools/Images/deployed.svg +3 -0
- package/lib/devtools/Images/device-fold.svg +1 -0
- package/lib/devtools/Images/devices.svg +3 -0
- package/lib/devtools/Images/devtools-thumbnail.svg +57 -0
- package/lib/devtools/Images/devtools-tips.svg +61 -0
- package/lib/devtools/Images/devtools-user-badge.svg +129 -0
- package/lib/devtools/Images/devtools.svg +13 -0
- package/lib/devtools/Images/difference.svg +3 -0
- package/lib/devtools/Images/dock-bottom.svg +3 -0
- package/lib/devtools/Images/dock-left.svg +3 -0
- package/lib/devtools/Images/dock-right.svg +3 -0
- package/lib/devtools/Images/dock-window.svg +3 -0
- package/lib/devtools/Images/document.svg +3 -0
- package/lib/devtools/Images/dog-paw.svg +10 -0
- package/lib/devtools/Images/dom-detective-badge.svg +136 -0
- package/lib/devtools/Images/domain.svg +3 -0
- package/lib/devtools/Images/dots-horizontal.svg +1 -0
- package/lib/devtools/Images/dots-vertical.svg +3 -0
- package/lib/devtools/Images/download.svg +3 -0
- package/lib/devtools/Images/edit.svg +1 -0
- package/lib/devtools/Images/empty.svg +2 -0
- package/lib/devtools/Images/errorWave.svg +74 -0
- package/lib/devtools/Images/exclamation.svg +3 -0
- package/lib/devtools/Images/expand.svg +1 -0
- package/lib/devtools/Images/experiment-check.svg +1 -0
- package/lib/devtools/Images/experiment.svg +3 -0
- package/lib/devtools/Images/extension.svg +1 -0
- package/lib/devtools/Images/eye-crossed.svg +3 -0
- package/lib/devtools/Images/eye.svg +3 -0
- package/lib/devtools/Images/file-document.svg +3 -0
- package/lib/devtools/Images/file-fetch-xhr.svg +3 -0
- package/lib/devtools/Images/file-font.svg +4 -0
- package/lib/devtools/Images/file-generic.svg +3 -0
- package/lib/devtools/Images/file-image.svg +3 -0
- package/lib/devtools/Images/file-json.svg +4 -0
- package/lib/devtools/Images/file-manifest.svg +3 -0
- package/lib/devtools/Images/file-media.svg +3 -0
- package/lib/devtools/Images/file-script.svg +3 -0
- package/lib/devtools/Images/file-snippet.svg +4 -0
- package/lib/devtools/Images/file-stylesheet.svg +4 -0
- package/lib/devtools/Images/file-wasm.svg +5 -0
- package/lib/devtools/Images/file-websocket.svg +3 -0
- package/lib/devtools/Images/filter-clear.svg +3 -0
- package/lib/devtools/Images/filter-filled.svg +3 -0
- package/lib/devtools/Images/filter.svg +3 -0
- package/lib/devtools/Images/flex-direction.svg +5 -0
- package/lib/devtools/Images/flex-no-wrap.svg +5 -0
- package/lib/devtools/Images/flex-wrap.svg +8 -0
- package/lib/devtools/Images/flow.svg +3 -0
- package/lib/devtools/Images/flowsheet.svg +1 -0
- package/lib/devtools/Images/fold-more.svg +3 -0
- package/lib/devtools/Images/folder-asterisk.svg +10 -0
- package/lib/devtools/Images/folder-off.svg +3 -0
- package/lib/devtools/Images/folder.svg +3 -0
- package/lib/devtools/Images/frame-crossed.svg +3 -0
- package/lib/devtools/Images/frame-icon.svg +54 -0
- package/lib/devtools/Images/frame.svg +3 -0
- package/lib/devtools/Images/gdp-logo-dark.png +0 -0
- package/lib/devtools/Images/gdp-logo-light.png +0 -0
- package/lib/devtools/Images/gear-filled.svg +3 -0
- package/lib/devtools/Images/gear.svg +4 -0
- package/lib/devtools/Images/gears.svg +3 -0
- package/lib/devtools/Images/geminiInDevTools.png +0 -0
- package/lib/devtools/Images/geminiInDevTools_2x.png +0 -0
- package/lib/devtools/Images/global.svg +5 -0
- package/lib/devtools/Images/google.svg +3 -0
- package/lib/devtools/Images/goto-filled.svg +1 -0
- package/lib/devtools/Images/grid-direction.svg +6 -0
- package/lib/devtools/Images/grid-on.svg +10 -0
- package/lib/devtools/Images/group.svg +3 -0
- package/lib/devtools/Images/heap-snapshot.svg +6 -0
- package/lib/devtools/Images/heap-snapshots.svg +7 -0
- package/lib/devtools/Images/help.svg +3 -0
- package/lib/devtools/Images/history.svg +3 -0
- package/lib/devtools/Images/home.svg +3 -0
- package/lib/devtools/Images/hover.svg +6 -0
- package/lib/devtools/Images/iframe-crossed.svg +3 -0
- package/lib/devtools/Images/iframe.svg +3 -0
- package/lib/devtools/Images/import.svg +3 -0
- package/lib/devtools/Images/indeterminate-question-box.svg +3 -0
- package/lib/devtools/Images/info-filled.svg +3 -0
- package/lib/devtools/Images/info.svg +3 -0
- package/lib/devtools/Images/issue-cross-filled.svg +3 -0
- package/lib/devtools/Images/issue-exclamation-filled.svg +3 -0
- package/lib/devtools/Images/issue-questionmark-filled.svg +3 -0
- package/lib/devtools/Images/issue-text-filled.svg +3 -0
- package/lib/devtools/Images/justify-content-center.svg +5 -0
- package/lib/devtools/Images/justify-content-end.svg +5 -0
- package/lib/devtools/Images/justify-content-space-around.svg +6 -0
- package/lib/devtools/Images/justify-content-space-between.svg +4 -0
- package/lib/devtools/Images/justify-content-space-evenly.svg +6 -0
- package/lib/devtools/Images/justify-content-start.svg +5 -0
- package/lib/devtools/Images/justify-content-stretch.svg +4 -0
- package/lib/devtools/Images/justify-items-center.svg +4 -0
- package/lib/devtools/Images/justify-items-end.svg +4 -0
- package/lib/devtools/Images/justify-items-start.svg +4 -0
- package/lib/devtools/Images/justify-items-stretch.svg +4 -0
- package/lib/devtools/Images/keyboard-arrow-right.svg +1 -0
- package/lib/devtools/Images/keyboard-full.svg +10 -0
- package/lib/devtools/Images/keyboard-pen.svg +1 -0
- package/lib/devtools/Images/keyboard.svg +3 -0
- package/lib/devtools/Images/label-auto.svg +3 -0
- package/lib/devtools/Images/label.svg +10 -0
- package/lib/devtools/Images/large-arrow-right-filled.svg +1 -0
- package/lib/devtools/Images/layers-filled.svg +1 -0
- package/lib/devtools/Images/layers.svg +1 -0
- package/lib/devtools/Images/left-panel-close.svg +1 -0
- package/lib/devtools/Images/left-panel-open.svg +1 -0
- package/lib/devtools/Images/lightbulb-spark.svg +13 -0
- package/lib/devtools/Images/lightbulb.svg +3 -0
- package/lib/devtools/Images/lighthouse_logo.svg +158 -0
- package/lib/devtools/Images/list.svg +3 -0
- package/lib/devtools/Images/location-on.svg +3 -0
- package/lib/devtools/Images/lock-person.svg +1 -0
- package/lib/devtools/Images/lock.svg +3 -0
- package/lib/devtools/Images/mark-email-unread.svg +3 -0
- package/lib/devtools/Images/match-case.svg +3 -0
- package/lib/devtools/Images/match-whole-word.svg +1 -0
- package/lib/devtools/Images/memory.svg +6 -0
- package/lib/devtools/Images/minus.svg +3 -0
- package/lib/devtools/Images/mop.svg +1 -0
- package/lib/devtools/Images/mouse.svg +4 -0
- package/lib/devtools/Images/navigationControls.png +0 -0
- package/lib/devtools/Images/navigationControls_2x.png +0 -0
- package/lib/devtools/Images/network-settings.svg +3 -0
- package/lib/devtools/Images/node-stack-icon.svg +1 -0
- package/lib/devtools/Images/nodeIcon.avif +0 -0
- package/lib/devtools/Images/open-externally.svg +3 -0
- package/lib/devtools/Images/override.svg +11 -0
- package/lib/devtools/Images/palette.svg +10 -0
- package/lib/devtools/Images/pause-circle.svg +1 -0
- package/lib/devtools/Images/pause.svg +1 -0
- package/lib/devtools/Images/pen-spark.svg +3 -0
- package/lib/devtools/Images/performance-panel-delete-annotation.svg +32 -0
- package/lib/devtools/Images/performance-panel-diagram.svg +34 -0
- package/lib/devtools/Images/performance-panel-entry-label.svg +75 -0
- package/lib/devtools/Images/performance-panel-time-range.svg +15 -0
- package/lib/devtools/Images/performance.svg +3 -0
- package/lib/devtools/Images/person.svg +3 -0
- package/lib/devtools/Images/photo-camera.svg +10 -0
- package/lib/devtools/Images/play.svg +3 -0
- package/lib/devtools/Images/plus.svg +3 -0
- package/lib/devtools/Images/policy.svg +3 -0
- package/lib/devtools/Images/popoverArrows.png +0 -0
- package/lib/devtools/Images/popup.svg +3 -0
- package/lib/devtools/Images/preview_feature_video_thumbnail.svg +92 -0
- package/lib/devtools/Images/profile.svg +3 -0
- package/lib/devtools/Images/psychiatry.svg +3 -0
- package/lib/devtools/Images/puzzle.svg +3 -0
- package/lib/devtools/Images/record-start.svg +4 -0
- package/lib/devtools/Images/record-stop.svg +4 -0
- package/lib/devtools/Images/redo.svg +3 -0
- package/lib/devtools/Images/refresh.svg +10 -0
- package/lib/devtools/Images/regular-expression.svg +3 -0
- package/lib/devtools/Images/replace.svg +1 -0
- package/lib/devtools/Images/replay.svg +3 -0
- package/lib/devtools/Images/report.svg +1 -0
- package/lib/devtools/Images/resizeDiagonal.svg +1 -0
- package/lib/devtools/Images/resizeHorizontal.svg +1 -0
- package/lib/devtools/Images/resizeVertical.svg +1 -0
- package/lib/devtools/Images/resume.svg +1 -0
- package/lib/devtools/Images/revert.svg +3 -0
- package/lib/devtools/Images/review.svg +5 -0
- package/lib/devtools/Images/right-panel-close.svg +1 -0
- package/lib/devtools/Images/right-panel-open.svg +1 -0
- package/lib/devtools/Images/scissors.svg +3 -0
- package/lib/devtools/Images/screen-rotation.svg +1 -0
- package/lib/devtools/Images/search.svg +3 -0
- package/lib/devtools/Images/select-element.svg +3 -0
- package/lib/devtools/Images/send.svg +3 -0
- package/lib/devtools/Images/shadow.svg +3 -0
- package/lib/devtools/Images/shield.svg +3 -0
- package/lib/devtools/Images/small-status-dot.svg +3 -0
- package/lib/devtools/Images/smart-assistant.svg +3 -0
- package/lib/devtools/Images/snippet.svg +4 -0
- package/lib/devtools/Images/spark-info.svg +3 -0
- package/lib/devtools/Images/spark.svg +3 -0
- package/lib/devtools/Images/speculative-loads.svg +1 -0
- package/lib/devtools/Images/speedster-badge.svg +166 -0
- package/lib/devtools/Images/star.svg +3 -0
- package/lib/devtools/Images/step-into.svg +1 -0
- package/lib/devtools/Images/step-out.svg +1 -0
- package/lib/devtools/Images/step-over.svg +1 -0
- package/lib/devtools/Images/step.svg +1 -0
- package/lib/devtools/Images/stop.svg +3 -0
- package/lib/devtools/Images/symbol.svg +3 -0
- package/lib/devtools/Images/sync.svg +3 -0
- package/lib/devtools/Images/tab-move.svg +1 -0
- package/lib/devtools/Images/table.svg +3 -0
- package/lib/devtools/Images/terminal.svg +10 -0
- package/lib/devtools/Images/text-analysis.svg +3 -0
- package/lib/devtools/Images/thumb-down-filled.svg +3 -0
- package/lib/devtools/Images/thumb-down.svg +3 -0
- package/lib/devtools/Images/thumb-up-filled.svg +3 -0
- package/lib/devtools/Images/thumb-up.svg +3 -0
- package/lib/devtools/Images/tonality.svg +10 -0
- package/lib/devtools/Images/toolbarResizerVertical.png +0 -0
- package/lib/devtools/Images/top-panel-close.svg +1 -0
- package/lib/devtools/Images/top-panel-open.svg +1 -0
- package/lib/devtools/Images/touch-app.svg +4 -0
- package/lib/devtools/Images/touchCursor.png +0 -0
- package/lib/devtools/Images/touchCursor_2x.png +0 -0
- package/lib/devtools/Images/triangle-bottom-right.svg +3 -0
- package/lib/devtools/Images/triangle-down.svg +1 -0
- package/lib/devtools/Images/triangle-left.svg +1 -0
- package/lib/devtools/Images/triangle-right.svg +1 -0
- package/lib/devtools/Images/triangle-up.svg +3 -0
- package/lib/devtools/Images/trophy.svg +3 -0
- package/lib/devtools/Images/tune.svg +3 -0
- package/lib/devtools/Images/undo.svg +1 -0
- package/lib/devtools/Images/warning-filled.svg +3 -0
- package/lib/devtools/Images/warning.svg +3 -0
- package/lib/devtools/Images/watch.svg +3 -0
- package/lib/devtools/Images/whatsnew.svg +61 -0
- package/lib/devtools/Images/width.svg +3 -0
- package/lib/devtools/Images/zoom-in.svg +3 -0
- package/lib/devtools/LICENSE +27 -0
- package/lib/devtools/application_tokens.css +413 -0
- package/lib/devtools/chunks/FormatterActions-FcPgI0uV.js +19 -0
- package/lib/devtools/chunks/UIFilter-CIzBruM3.js +18 -0
- package/lib/devtools/chunks/UIRequestLocation-CtGcVN3I.js +48 -0
- package/lib/devtools/chunks/_qilin-devtools_empty-BvRk9kiK.js +0 -0
- package/lib/devtools/chunks/accessibility-CwvHp3sj.js +2718 -0
- package/lib/devtools/chunks/acorn-_jSanihy.js +3232 -0
- package/lib/devtools/chunks/adorners-D4aU6nuY.js +45 -0
- package/lib/devtools/chunks/ai_assistance-BU6E0Wio.js +4255 -0
- package/lib/devtools/chunks/angular-Dutmu-L9.js +117 -0
- package/lib/devtools/chunks/animation-TEwO5UI_.js +922 -0
- package/lib/devtools/chunks/application-SCf6MiCN.js +12740 -0
- package/lib/devtools/chunks/autofill-Dp3nMnuK.js +198 -0
- package/lib/devtools/chunks/autofill_manager-BXntqfdp.js +58 -0
- package/lib/devtools/chunks/bindings-DgoVEdsr.js +4105 -0
- package/lib/devtools/chunks/browser-DL1S1Kiu.js +62 -0
- package/lib/devtools/chunks/browser_debugger-p7Rr4IBR.js +629 -0
- package/lib/devtools/chunks/changes-DeW5MC9u.js +2 -0
- package/lib/devtools/chunks/changes-k42bihtm.js +393 -0
- package/lib/devtools/chunks/checkbox.css-CZJJ6atQ.js +4 -0
- package/lib/devtools/chunks/chunk-DF993M8W.js +11 -0
- package/lib/devtools/chunks/code_highlighter-BnTPt9_G.js +210 -0
- package/lib/devtools/chunks/codemirror-CBR9VJma.js +15842 -0
- package/lib/devtools/chunks/color_picker-Cuh_X19Y.js +1566 -0
- package/lib/devtools/chunks/common-DjRFwulW.js +15145 -0
- package/lib/devtools/chunks/common-Uu9A2glf.js +2 -0
- package/lib/devtools/chunks/common-qd_KLeYO.js +6639 -0
- package/lib/devtools/chunks/components-CnPGgDUW.js +704 -0
- package/lib/devtools/chunks/components-Cw5tHQqN.js +1338 -0
- package/lib/devtools/chunks/components-EJwviLtZ.js +1090 -0
- package/lib/devtools/chunks/console-D1WlMaFQ.js +3855 -0
- package/lib/devtools/chunks/console-yMm3XVTY.js +2 -0
- package/lib/devtools/chunks/console_counters-9SfIdrUo.js +103 -0
- package/lib/devtools/chunks/coverage-BbFH390Q.js +1176 -0
- package/lib/devtools/chunks/coverage-CLBpovLw.js +2 -0
- package/lib/devtools/chunks/cpp-CdElSCaB.js +435 -0
- package/lib/devtools/chunks/css_overview-cITV9auE.js +1288 -0
- package/lib/devtools/chunks/data_grid-pC5qqfsJ.js +1671 -0
- package/lib/devtools/chunks/developer_resources-4DqQIvy6.js +240 -0
- package/lib/devtools/chunks/diff-qn55JSCS.js +444 -0
- package/lib/devtools/chunks/dom_extension-BfrKZ4JG.js +172 -0
- package/lib/devtools/chunks/elements-CgEYz3mX.js +2 -0
- package/lib/devtools/chunks/elements-Dbx4q9-v.js +11407 -0
- package/lib/devtools/chunks/emulation-C6XKPPGu.js +1306 -0
- package/lib/devtools/chunks/emulation-D8xbdsAj.js +2 -0
- package/lib/devtools/chunks/emulation-EtJlEukP.js +2732 -0
- package/lib/devtools/chunks/emulation-cjFPXHT9.js +157 -0
- package/lib/devtools/chunks/event_listeners-BeTH3gi2.js +414 -0
- package/lib/devtools/chunks/explain-P_aDGFSD.js +747 -0
- package/lib/devtools/chunks/greendev-BU0QcVPX.js +152 -0
- package/lib/devtools/chunks/heap_snapshot-CZt2KUPL.js +427 -0
- package/lib/devtools/chunks/helper-CI72KvIC.js +33 -0
- package/lib/devtools/chunks/helpers--xrfGSwQ.js +29 -0
- package/lib/devtools/chunks/i18n-DvFMqQdJ.js +17 -0
- package/lib/devtools/chunks/icon_button-BebVdJD8.js +83 -0
- package/lib/devtools/chunks/inline_editor-D54X5UUr.js +1309 -0
- package/lib/devtools/chunks/inspector_main-DRbdXLmF.js +279 -0
- package/lib/devtools/chunks/issue_counter-CeOjTNGW.js +193 -0
- package/lib/devtools/chunks/issues-CegBKEda.js +1649 -0
- package/lib/devtools/chunks/issues_manager-D7nfNPN1.js +3009 -0
- package/lib/devtools/chunks/java-7g_qfFa2.js +263 -0
- package/lib/devtools/chunks/layer_viewer-CaFC5oyv.js +1423 -0
- package/lib/devtools/chunks/layers-CXqlD9zH.js +370 -0
- package/lib/devtools/chunks/legacy-Bqn4Q0Tf.js +41804 -0
- package/lib/devtools/chunks/legacy-DOCLCisy.js +1434 -0
- package/lib/devtools/chunks/less-DXiRNbd4.js +195 -0
- package/lib/devtools/chunks/lighthouse-DtpzvfT6.js +3920 -0
- package/lib/devtools/chunks/lighthouse-T9ZpmENr.js +2 -0
- package/lib/devtools/chunks/linear_memory_inspector-C50PtM45.js +305 -0
- package/lib/devtools/chunks/live-metrics-Bs7wxibB.js +284 -0
- package/lib/devtools/chunks/main-C5y6NscM.js +2 -0
- package/lib/devtools/chunks/main-DcgYyEI0.js +755 -0
- package/lib/devtools/chunks/markdown-tZoR6Bsu.js +1512 -0
- package/lib/devtools/chunks/markdown_view-C67b2DdG.js +461 -0
- package/lib/devtools/chunks/marked-zGgfoDxO.js +1362 -0
- package/lib/devtools/chunks/media-BhuqASbO.js +1337 -0
- package/lib/devtools/chunks/media-Wfo1AbXC.js +2 -0
- package/lib/devtools/chunks/menus-BAUukA5-.js +969 -0
- package/lib/devtools/chunks/mobile_throttling-C26zde8o.js +2 -0
- package/lib/devtools/chunks/mobile_throttling-Cw4AkJH4.js +1052 -0
- package/lib/devtools/chunks/network-C3gIloDN.js +2 -0
- package/lib/devtools/chunks/network-CaxdpGU2.js +9181 -0
- package/lib/devtools/chunks/objectValue.css-C9o9fdM2.js +4 -0
- package/lib/devtools/chunks/object_ui-BYgPTK_b.js +1461 -0
- package/lib/devtools/chunks/object_ui-E7eR7aD-.js +2 -0
- package/lib/devtools/chunks/perf_ui-BqzJrt4p.js +2 -0
- package/lib/devtools/chunks/perf_ui-CQMkYfn3.js +3143 -0
- package/lib/devtools/chunks/performance_monitor-B2kUoCv0.js +385 -0
- package/lib/devtools/chunks/php-tl5gKrxu.js +423 -0
- package/lib/devtools/chunks/platform-BzB373NB.js +600 -0
- package/lib/devtools/chunks/profiler-BGu3akEf.js +4608 -0
- package/lib/devtools/chunks/protocol_client-Cwf_jb8R.js +24329 -0
- package/lib/devtools/chunks/protocol_monitor-B9nMqAAE.js +2 -0
- package/lib/devtools/chunks/protocol_monitor-CvLQ8ms1.js +1224 -0
- package/lib/devtools/chunks/puppeteer-CaOjgj3v.js +13299 -0
- package/lib/devtools/chunks/python-D9AdRkMm.js +580 -0
- package/lib/devtools/chunks/quick_open-C3IZ69m9.js +2 -0
- package/lib/devtools/chunks/quick_open-DRITaPnZ.js +722 -0
- package/lib/devtools/chunks/recorder-C0f1n95b.js +5465 -0
- package/lib/devtools/chunks/recorder-actions-S2RfLX4H.js +6 -0
- package/lib/devtools/chunks/request_link_icon-fGy57GcW.js +87 -0
- package/lib/devtools/chunks/root-DbVQo07X.js +255 -0
- package/lib/devtools/chunks/sass-BPQlMmw2.js +370 -0
- package/lib/devtools/chunks/security-NbgKa3ux.js +898 -0
- package/lib/devtools/chunks/sensors-nM7qcBE4.js +752 -0
- package/lib/devtools/chunks/settings-aKtQC12v.js +1433 -0
- package/lib/devtools/chunks/settings_ui-CzxAFzIb.js +175 -0
- package/lib/devtools/chunks/snackbars-lPThuWYs.js +12010 -0
- package/lib/devtools/chunks/snippets-dIuBmVBv.js +173 -0
- package/lib/devtools/chunks/source_frame-CSjno3kf.js +1352 -0
- package/lib/devtools/chunks/sources-BIZssBei.js +8216 -0
- package/lib/devtools/chunks/sources-Bf8QJxju.js +2 -0
- package/lib/devtools/chunks/suggestion_input-Duuu5pyd.js +196 -0
- package/lib/devtools/chunks/svelte-DJS1itbE.js +744 -0
- package/lib/devtools/chunks/textInput.css-DPvwvIic.js +4 -0
- package/lib/devtools/chunks/text_editor-Dq1P6D2J.js +15706 -0
- package/lib/devtools/chunks/text_utils-ohNt_gua.js +608 -0
- package/lib/devtools/chunks/theme_support-CbSSLkbO.js +92 -0
- package/lib/devtools/chunks/third-party-web-DGiPoc0U.js +12626 -0
- package/lib/devtools/chunks/timeline-BE_ysZxO.js +2 -0
- package/lib/devtools/chunks/timeline-C4vCX79k.js +16347 -0
- package/lib/devtools/chunks/utils-CELci976.js +298 -0
- package/lib/devtools/chunks/vue-CjH9yovn.js +73 -0
- package/lib/devtools/chunks/wast-CbGHiqaW.js +109 -0
- package/lib/devtools/chunks/web_audio-IdfBLjwV.js +277 -0
- package/lib/devtools/chunks/webauthn-iRZlbjGV.js +522 -0
- package/lib/devtools/chunks/whats_new-DOTPf2xJ.js +177 -0
- package/lib/devtools/chunks/xml-DI9dcP5w.js +327 -0
- package/lib/devtools/connect.js +9 -0
- package/lib/devtools/design_system_tokens.css +1061 -0
- package/lib/devtools/device_mode_emulation_frame.html +25 -0
- package/lib/devtools/devtools_app.html +25 -0
- package/lib/devtools/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nest-hub-horizontal.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nest-hub-max-horizontal.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPad-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPad-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
- package/lib/devtools/emulated_devices/optimized/optimized_images.gni +53 -0
- package/lib/devtools/entrypoints/device_mode_emulation_frame/device_mode_emulation_frame.js +4 -0
- package/lib/devtools/entrypoints/devtools_app/devtools_app.js +6240 -0
- package/lib/devtools/entrypoints/formatter_worker/formatter_worker-entrypoint.js +2810 -0
- package/lib/devtools/entrypoints/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +2142 -0
- package/lib/devtools/entrypoints/lighthouse_worker/lighthouse_worker.js +290095 -0
- package/lib/devtools/entrypoints/wasmparser_worker/wasmparser_worker-entrypoint.js +3403 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepCorpNotSameSite.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/CompatibilityModeQuirks.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/LowTextContrast.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/arInsecureContext.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidInfoHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/arNoWebOrOsSupport.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/arOsSourceIgnored.md +18 -0
- package/lib/devtools/models/issues_manager/descriptions/arOsTriggerIgnored.md +19 -0
- package/lib/devtools/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/arSourceIgnored.md +13 -0
- package/lib/devtools/models/issues_manager/descriptions/arTriggerIgnored.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/arWebAndOsHeaders.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/bounceTrackingMitigations.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistInvalidAllowlistItemType.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistInvalidHeader.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistInvalidUrlPattern.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistItemNotInnerList.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistMoreThanOneList.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/connectionAllowlistReportingEndpointNotToken.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieCrossSiteRedirectDowngrade.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutRead.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutSet.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnMetadataGrantRead.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnMetadataGrantSet.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutRead.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutSet.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/corsDisabledScheme.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/corsDisallowedByMode.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsInvalidHeaderValues.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +19 -0
- package/lib/devtools/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsOriginMismatch.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/cspEvalViolation.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/cspInlineViolation.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/cspURLViolation.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/deprecation.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestDnsFetchFailed.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestDnsInvalidRecord.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestInvalidEmail.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestKeyBindingSigningFailed.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestRpOriginIsOpaque.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidContentType.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenInvalidSdJwt.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenMalformedSdJwt.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestTokenNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestUserLoggedOut.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownAccountsEndpointCrossOrigin.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownInvalidContentType.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownIssuanceEndpointCrossOrigin.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownListEmpty.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownMissingAccountsEndpoint.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownMissingIssuanceEndpoint.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/emailVerificationRequestWellKnownUnsupportedSigningAlgorithm.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/fetchingPartitionedBlobURL.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/genericBackUINavigationWouldSkipAd.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingIdError.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormLabelForNameError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextMissingToolDescription.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextMissingToolName.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextParameterMissingName.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextParameterMissingTitleAndDescription.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericFormModelContextRequiredParameterMissingName.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/genericResponseWasBlockedByORB.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/heavyAd.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/mixedContent.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/navigatingPartitionedBlobURL.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementActivationDisabled.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluder.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluderParent.md +9 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementCspFrameAncestorsMissing.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementFencedFrameDisallowed.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementFontSizeTooLarge.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementFontSizeTooSmall.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementGeolocationDeprecated.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInsetBoxShadowUnsupported.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInvalidDisplayStyle.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInvalidSizeValue.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInvalidType.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementInvalidTypeActivation.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementLowContrast.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementNonOpaqueColor.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementPaddingBottomUnsupported.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementPaddingRightUnsupported.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementPermissionsPolicyBlocked.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementRegistrationFailed.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementRequestInProgress.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementSecurityChecksFailed.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementTypeNotSupported.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/permissionElementUntrustedEvent.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/propertyRuleInvalidNameIssue.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/propertyRuleIssue.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityDisallowedSelectChild.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/selectivePermissionsIntervention.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedArrayBuffer.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorExpiredResponse.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorInsufficientResources.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNavigationRequest.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNoMatchField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonSecureContext.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringIdField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorRequestAborted.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorShuttingDown.md +1 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorTooLongIdField.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sharedDictionaryWriteErrorUnsupportedType.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/sriInvalidSignatureHeader.md +14 -0
- package/lib/devtools/models/issues_manager/descriptions/sriInvalidSignatureInputHeader.md +15 -0
- package/lib/devtools/models/issues_manager/descriptions/sriMissingSignatureHeader.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/sriMissingSignatureInputHeader.md +7 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureHeaderValueIsIncorrectLength.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureHeaderValueIsNotByteSequence.md +14 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureHeaderValueIsParameterized.md +15 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentName.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentType.md +13 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidParameter.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderKeyIdLength.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderMissingLabel.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +8 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderValueMissingComponents.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +10 -0
- package/lib/devtools/models/issues_manager/descriptions/sriValidationFailedInvalidLength.md +5 -0
- package/lib/devtools/models/issues_manager/descriptions/sriValidationFailedSignatureExpired.md +6 -0
- package/lib/devtools/models/issues_manager/descriptions/sriValidationFailedSignatureMismatch.md +11 -0
- package/lib/devtools/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
- package/lib/devtools/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
- package/lib/devtools/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
- package/lib/devtools/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +17 -0
- package/lib/devtools/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +14 -0
- package/lib/devtools/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
- package/lib/devtools/models/live-metrics/web-vitals-injected/web-vitals-injected.generated.js +1 -0
- package/lib/devtools/panels/recorder/injected/injected.generated.js +1 -0
- package/lib/devtools/panels/whats_new/resources/WNDT.md +14 -0
- package/lib/devtools/resource-manifest.json +3818 -0
- package/lib/devtools/third_party/acorn/package/LICENSE +21 -0
- package/lib/devtools/third_party/axe-core/LICENSE +362 -0
- package/lib/devtools/third_party/chromium/LICENSE +27 -0
- package/lib/devtools/third_party/codemirror/package/LICENSE +21 -0
- package/lib/devtools/third_party/codemirror.next/LICENSE +21 -0
- package/lib/devtools/third_party/csp_evaluator/package/LICENSE +202 -0
- package/lib/devtools/third_party/diff/LICENSE +202 -0
- package/lib/devtools/third_party/i18n/LICENSE +202 -0
- package/lib/devtools/third_party/intl-messageformat/LICENSE +33 -0
- package/lib/devtools/third_party/intl-messageformat/package/LICENSE.md +33 -0
- package/lib/devtools/third_party/json5/LICENSE +23 -0
- package/lib/devtools/third_party/legacy-javascript/LICENSE +202 -0
- package/lib/devtools/third_party/lighthouse/LICENSE +202 -0
- package/lib/devtools/third_party/lit/LICENSE +28 -0
- package/lib/devtools/third_party/marked/LICENSE +39 -0
- package/lib/devtools/third_party/marked/package/LICENSE.md +44 -0
- package/lib/devtools/third_party/puppeteer/LICENSE +202 -0
- package/lib/devtools/third_party/puppeteer/third_party/mitt/LICENSE +21 -0
- package/lib/devtools/third_party/puppeteer/third_party/parsel/LICENSE +21 -0
- package/lib/devtools/third_party/puppeteer/third_party/rxjs/LICENSE +201 -0
- package/lib/devtools/third_party/puppeteer-replay/package/LICENSE +202 -0
- package/lib/devtools/third_party/source-map-scopes-codec/LICENSE +26 -0
- package/lib/devtools/third_party/source-map-scopes-codec/package/LICENSE +26 -0
- package/lib/devtools/third_party/third-party-web/LICENSE +20 -0
- package/lib/devtools/third_party/third-party-web/package/LICENSE +20 -0
- package/lib/devtools/third_party/vscode.web-custom-data/package/LICENSE.md +21 -0
- package/lib/devtools/third_party/wasmparser/package/LICENSE +177 -0
- package/lib/devtools/third_party/web-vitals/package/LICENSE +202 -0
- package/lib/index.js +2554 -0
- package/lib/types/client/bottom/keyboard.d.ts +10 -0
- package/lib/types/client/bottom/locales.d.ts +17 -0
- package/lib/types/client/bottom/page.d.ts +10 -0
- package/lib/types/client/bottom/resize.d.ts +12 -0
- package/lib/types/client/bridge/controller.d.ts +10 -0
- package/lib/types/client/bridge/dispatcher.d.ts +26 -0
- package/lib/types/client/bridge/lifecycle.d.ts +22 -0
- package/lib/types/client/bridge/locales.d.ts +3 -0
- package/lib/types/client/bridge/publisher.d.ts +42 -0
- package/lib/types/client/bridge/rpc.d.ts +13 -0
- package/lib/types/client/bridge/transport.d.ts +41 -0
- package/lib/types/client/cdp/console.d.ts +45 -0
- package/lib/types/client/cdp/debugger.d.ts +8 -0
- package/lib/types/client/cdp/errors.d.ts +8 -0
- package/lib/types/client/cdp/heap-profiler.d.ts +8 -0
- package/lib/types/client/cdp/index.d.ts +10 -0
- package/lib/types/client/cdp/objects.d.ts +69 -0
- package/lib/types/client/cdp/profiler.d.ts +8 -0
- package/lib/types/client/cdp/properties.d.ts +16 -0
- package/lib/types/client/cdp/runtime.d.ts +79 -0
- package/lib/types/client/cdp/sources.d.ts +53 -0
- package/lib/types/client/cdp/stack.d.ts +27 -0
- package/lib/types/client/index.d.ts +3 -0
- package/lib/types/client/inspection/cordis.d.ts +3 -0
- package/lib/types/client/inspection/network.d.ts +4 -0
- package/lib/types/client/inspection/realm.d.ts +27 -0
- package/lib/types/client/plugin.d.ts +29 -0
- package/lib/types/host/bridge/controller.d.ts +108 -0
- package/lib/types/host/bridge/dispatcher.d.ts +16 -0
- package/lib/types/host/bridge/lifecycle.d.ts +42 -0
- package/lib/types/host/bridge/publisher.d.ts +31 -0
- package/lib/types/host/bridge/rpc.d.ts +15 -0
- package/lib/types/host/bridge/transport.d.ts +28 -0
- package/lib/types/host/cdp/console.d.ts +14 -0
- package/lib/types/host/cdp/debugger.d.ts +8 -0
- package/lib/types/host/cdp/errors.d.ts +6 -0
- package/lib/types/host/cdp/heap-profiler.d.ts +8 -0
- package/lib/types/host/cdp/index.d.ts +10 -0
- package/lib/types/host/cdp/objects.d.ts +8 -0
- package/lib/types/host/cdp/profiler.d.ts +8 -0
- package/lib/types/host/cdp/properties.d.ts +7 -0
- package/lib/types/host/cdp/runtime.d.ts +16 -0
- package/lib/types/host/cdp/sources.d.ts +14 -0
- package/lib/types/host/cdp/stack.d.ts +4 -0
- package/lib/types/host/index.d.ts +3 -0
- package/lib/types/host/inspection/cordis.d.ts +3 -0
- package/lib/types/host/inspection/network.d.ts +23 -0
- package/lib/types/host/inspection/realm.d.ts +9 -0
- package/lib/types/host/plugin.d.ts +19 -0
- package/lib/types/index.d.ts +50 -0
- package/lib/types/shared/bridge/buffer.d.ts +62 -0
- package/lib/types/shared/bridge/codec.d.ts +4 -0
- package/lib/types/shared/bridge/control-codec.d.ts +27 -0
- package/lib/types/shared/bridge/ids.d.ts +19 -0
- package/lib/types/shared/bridge/messages/control.d.ts +64 -0
- package/lib/types/shared/bridge/messages/cordis.d.ts +4 -0
- package/lib/types/shared/bridge/messages/network.d.ts +4 -0
- package/lib/types/shared/bridge/messages/observation.d.ts +110 -0
- package/lib/types/shared/bridge/messages/query/codec.d.ts +40 -0
- package/lib/types/shared/bridge/messages/query/commands.d.ts +35 -0
- package/lib/types/shared/bridge/messages/query/frames.d.ts +31 -0
- package/lib/types/shared/bridge/messages/query/index.d.ts +5 -0
- package/lib/types/shared/bridge/messages/runtime/command-codec.d.ts +9 -0
- package/lib/types/shared/bridge/messages/runtime/commands.d.ts +76 -0
- package/lib/types/shared/bridge/messages/runtime/console-frames.d.ts +52 -0
- package/lib/types/shared/bridge/messages/runtime/frames.d.ts +98 -0
- package/lib/types/shared/bridge/messages/runtime/index.d.ts +5 -0
- package/lib/types/shared/bridge/messages/runtime/value-codec.d.ts +28 -0
- package/lib/types/shared/bridge/messages/sources/codec.d.ts +15 -0
- package/lib/types/shared/bridge/messages/sources/commands.d.ts +42 -0
- package/lib/types/shared/bridge/messages/sources/frames.d.ts +67 -0
- package/lib/types/shared/bridge/messages/sources/index.d.ts +5 -0
- package/lib/types/shared/bridge/publisher.d.ts +33 -0
- package/lib/types/shared/bridge/query-reader.d.ts +10 -0
- package/lib/types/shared/bridge/rpc.d.ts +62 -0
- package/lib/types/shared/bridge/validation.d.ts +3 -0
- package/lib/types/shared/bridge/version.d.ts +3 -0
- package/lib/types/shared/cdp/capabilities.d.ts +17 -0
- package/lib/types/shared/cdp/console.d.ts +28 -0
- package/lib/types/shared/cdp/debugger.d.ts +69 -0
- package/lib/types/shared/cdp/errors.d.ts +27 -0
- package/lib/types/shared/cdp/ids.d.ts +9 -0
- package/lib/types/shared/cdp/index.d.ts +11 -0
- package/lib/types/shared/cdp/operations.d.ts +86 -0
- package/lib/types/shared/cdp/property.d.ts +28 -0
- package/lib/types/shared/cdp/realm.d.ts +137 -0
- package/lib/types/shared/cdp/remote-object.d.ts +44 -0
- package/lib/types/shared/cdp/sources.d.ts +18 -0
- package/lib/types/shared/cordis/collector.d.ts +26 -0
- package/lib/types/shared/cordis/ids.d.ts +7 -0
- package/lib/types/shared/cordis/model.d.ts +61 -0
- package/lib/types/shared/cordis/object-reference.d.ts +14 -0
- package/lib/types/shared/cordis/object-registry.d.ts +80 -0
- package/lib/types/shared/cordis/observer.d.ts +15 -0
- package/lib/types/shared/cordis/projector.d.ts +34 -0
- package/lib/types/shared/cordis/publisher.d.ts +13 -0
- package/lib/types/shared/cordis/reader.d.ts +18 -0
- package/lib/types/shared/cordis/snapshot.d.ts +39 -0
- package/lib/types/shared/dispose.d.ts +11 -0
- package/lib/types/shared/identity.d.ts +12 -0
- package/lib/types/shared/index.d.ts +18 -0
- package/lib/types/shared/json.d.ts +35 -0
- package/lib/types/shared/network/event-source.d.ts +20 -0
- package/lib/types/shared/network/observation.d.ts +52 -0
- package/lib/types/shared/service.d.ts +23 -0
- package/lib/types/shared/validation.d.ts +52 -0
- package/lib/types/shared/web.d.ts +16 -0
- package/lib/types/worker/bridge/endpoint.d.ts +49 -0
- package/lib/types/worker/bridge/hub.d.ts +108 -0
- package/lib/types/worker/bridge/runtime-rpc.d.ts +90 -0
- package/lib/types/worker/bridge/session.d.ts +15 -0
- package/lib/types/worker/bridge/source-rpc.d.ts +42 -0
- package/lib/types/worker/cdp/domains/debugger/cdp-params.d.ts +15 -0
- package/lib/types/worker/cdp/domains/debugger/index.d.ts +6 -0
- package/lib/types/worker/cdp/domains/debugger/projector.d.ts +22 -0
- package/lib/types/worker/cdp/domains/debugger/script-registry.d.ts +70 -0
- package/lib/types/worker/cdp/domains/debugger/session.d.ts +47 -0
- package/lib/types/worker/cdp/domains/dom/index.d.ts +4 -0
- package/lib/types/worker/cdp/domains/dom/model.d.ts +121 -0
- package/lib/types/worker/cdp/domains/dom/session.d.ts +78 -0
- package/lib/types/worker/cdp/domains/native.d.ts +25 -0
- package/lib/types/worker/cdp/domains/network/session.d.ts +46 -0
- package/lib/types/worker/cdp/domains/runtime/cdp-params.d.ts +82 -0
- package/lib/types/worker/cdp/domains/runtime/index.d.ts +3 -0
- package/lib/types/worker/cdp/domains/runtime/object-table.d.ts +117 -0
- package/lib/types/worker/cdp/domains/runtime/session.d.ts +97 -0
- package/lib/types/worker/cdp/ids.d.ts +37 -0
- package/lib/types/worker/cdp/protocol.d.ts +46 -0
- package/lib/types/worker/cdp/realm-sessions.d.ts +67 -0
- package/lib/types/worker/cdp/session.d.ts +39 -0
- package/lib/types/worker/cdp/target.d.ts +17 -0
- package/lib/types/worker/entry.d.ts +3 -0
- package/lib/types/worker/inspection/cordis-query.d.ts +11 -0
- package/lib/types/worker/inspection/cordis-store.d.ts +94 -0
- package/lib/types/worker/inspection/network-store.d.ts +110 -0
- package/lib/types/worker/inspection/query-router.d.ts +78 -0
- package/lib/types/worker/inspection/realm-store.d.ts +58 -0
- package/lib/types/worker/inspection/realm.d.ts +43 -0
- package/lib/types/worker/realms/client/bridge.d.ts +18 -0
- package/lib/types/worker/realms/client/console.d.ts +21 -0
- package/lib/types/worker/realms/client/debugger.d.ts +8 -0
- package/lib/types/worker/realms/client/index.d.ts +18 -0
- package/lib/types/worker/realms/client/runtime.d.ts +28 -0
- package/lib/types/worker/realms/client/scripts.d.ts +15 -0
- package/lib/types/worker/realms/client/sources.d.ts +30 -0
- package/lib/types/worker/realms/client/values.d.ts +55 -0
- package/lib/types/worker/realms/host/bridge.d.ts +49 -0
- package/lib/types/worker/realms/host/console.d.ts +25 -0
- package/lib/types/worker/realms/host/debugger.d.ts +25 -0
- package/lib/types/worker/realms/host/index.d.ts +13 -0
- package/lib/types/worker/realms/host/runtime.d.ts +54 -0
- package/lib/types/worker/realms/host/scripts.d.ts +9 -0
- package/lib/types/worker/realms/host/sources.d.ts +26 -0
- package/lib/types/worker/realms/host/values.d.ts +22 -0
- package/lib/types/worker/server.d.ts +16 -0
- package/lib/worker.js +7289 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +90 -3
|
@@ -0,0 +1,1423 @@
|
|
|
1
|
+
import { U as e, Y as t } from "./platform-BzB373NB.js";
|
|
2
|
+
import { At as n, Et as r, bt as i, d as a, dt as o, jt as s, n as c, vt as l, wt as u } from "./common-qd_KLeYO.js";
|
|
3
|
+
import { $r as d, Ai as f, Dt as p, Fo as m, Hi as h, In as g, L as _, Mn as v, No as y, Si as b, Ti as x, Xn as S, Zo as C, _s as w, a as ee, bi as te, br as ne, dr as re, ei as ie, ha as ae, i as T, ii as oe, ki as se, li as ce, ma as le, mo as ue, ni as de, o as fe, qa as pe, sr as me, ul as he, xa as ge, xn as _e, yi as ve } from "./legacy-Bqn4Q0Tf.js";
|
|
4
|
+
import { t as ye } from "./i18n-DvFMqQdJ.js";
|
|
5
|
+
import { c as be, p as xe, u as Se } from "./perf_ui-CQMkYfn3.js";
|
|
6
|
+
//#region \0qilin-devtools:css:/home/runner/work/QiLin/QiLin/node_modules/.pnpm/chrome-devtools-frontend@1.0.1638082/node_modules/chrome-devtools-frontend/front_end/panels/layer_viewer/layerDetailsView.css.mjs
|
|
7
|
+
var Ce = "/*\n * Copyright 2016 The Chromium Authors\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.layer-details-container:has(.empty-view-scroller) {\n display: flex;\n}\n\ntable {\n border-spacing: 0;\n}\n\ntable td {\n font: var(--sys-typescale-body4-regular);\n line-height: 18px;\n padding: var(--sys-size-3) var(--sys-size-5);\n vertical-align: top;\n}\n\ntable td:first-child {\n color: var(--sys-color-on-surface-subtle);\n font: var(--sys-typescale-body5-medium);\n line-height: 18px;\n white-space: nowrap;\n}\n\n.scroll-rect.active {\n background-color: var(--sys-color-neutral-container);\n}\n\nul {\n list-style: none;\n padding-inline-start: 0;\n margin-block: 0;\n}\n\n.devtools-link.link-margin {\n margin: 8px;\n display: inline-block;\n}\n", E = { showInternalLayers: "Show internal layers" }, we = u("panels/layer_viewer/LayerViewHost.ts", E), Te = i.bind(void 0, we), D = class {
|
|
8
|
+
typeInternal;
|
|
9
|
+
#e;
|
|
10
|
+
constructor(e, t) {
|
|
11
|
+
this.typeInternal = e, this.#e = t;
|
|
12
|
+
}
|
|
13
|
+
static isEqual(e, t) {
|
|
14
|
+
return e && t ? e.isEqual(t) : e === t;
|
|
15
|
+
}
|
|
16
|
+
type() {
|
|
17
|
+
return this.typeInternal;
|
|
18
|
+
}
|
|
19
|
+
layer() {
|
|
20
|
+
return this.#e;
|
|
21
|
+
}
|
|
22
|
+
isEqual(e) {
|
|
23
|
+
return !1;
|
|
24
|
+
}
|
|
25
|
+
}, O = /* @__PURE__ */ function(e) {
|
|
26
|
+
return e.LAYER = "Layer", e.SCROLL_RECT = "ScrollRect", e.SNAPSHOT = "Snapshot", e;
|
|
27
|
+
}({}), k = class extends D {
|
|
28
|
+
constructor(e) {
|
|
29
|
+
console.assert(!!e, "LayerSelection with empty layer"), super("Layer", e);
|
|
30
|
+
}
|
|
31
|
+
isEqual(e) {
|
|
32
|
+
return e.typeInternal === "Layer" && e.layer().id() === this.layer().id();
|
|
33
|
+
}
|
|
34
|
+
}, A = class extends D {
|
|
35
|
+
scrollRectIndex;
|
|
36
|
+
constructor(e, t) {
|
|
37
|
+
super("ScrollRect", e), this.scrollRectIndex = t;
|
|
38
|
+
}
|
|
39
|
+
isEqual(e) {
|
|
40
|
+
return e.typeInternal === "ScrollRect" && this.layer().id() === e.layer().id() && this.scrollRectIndex === e.scrollRectIndex;
|
|
41
|
+
}
|
|
42
|
+
}, Ee = class extends D {
|
|
43
|
+
#e;
|
|
44
|
+
constructor(e, t) {
|
|
45
|
+
super("Snapshot", e), this.#e = t;
|
|
46
|
+
}
|
|
47
|
+
isEqual(e) {
|
|
48
|
+
return e.typeInternal === "Snapshot" && this.layer().id() === e.layer().id() && this.#e === e.#e;
|
|
49
|
+
}
|
|
50
|
+
snapshot() {
|
|
51
|
+
return this.#e;
|
|
52
|
+
}
|
|
53
|
+
}, De = class {
|
|
54
|
+
views;
|
|
55
|
+
selectedObject;
|
|
56
|
+
hoveredObject;
|
|
57
|
+
#e;
|
|
58
|
+
snapshotLayers;
|
|
59
|
+
constructor() {
|
|
60
|
+
this.views = [], this.selectedObject = null, this.hoveredObject = null, this.#e = a.instance().createSetting("layers-show-internal-layers", !1), this.snapshotLayers = /* @__PURE__ */ new Map();
|
|
61
|
+
}
|
|
62
|
+
registerView(e) {
|
|
63
|
+
this.views.push(e);
|
|
64
|
+
}
|
|
65
|
+
setLayerSnapshotMap(e) {
|
|
66
|
+
this.snapshotLayers = e;
|
|
67
|
+
}
|
|
68
|
+
getLayerSnapshotMap() {
|
|
69
|
+
return this.snapshotLayers;
|
|
70
|
+
}
|
|
71
|
+
setLayerTree(e) {
|
|
72
|
+
if (!e) return;
|
|
73
|
+
let t = this.selectedObject?.layer();
|
|
74
|
+
t && !e?.layerById(t.id()) && this.selectObject(null);
|
|
75
|
+
let n = this.hoveredObject?.layer();
|
|
76
|
+
n && !e?.layerById(n.id()) && this.hoverObject(null);
|
|
77
|
+
for (let t of this.views) t.setLayerTree(e);
|
|
78
|
+
}
|
|
79
|
+
hoverObject(e) {
|
|
80
|
+
if (D.isEqual(this.hoveredObject, e)) return;
|
|
81
|
+
this.hoveredObject = e;
|
|
82
|
+
let t = e?.layer();
|
|
83
|
+
this.toggleNodeHighlight(t ? t.nodeForSelfOrAncestor() : null);
|
|
84
|
+
for (let t of this.views) t.hoverObject(e);
|
|
85
|
+
}
|
|
86
|
+
selectObject(e) {
|
|
87
|
+
if (!D.isEqual(this.selectedObject, e)) {
|
|
88
|
+
this.selectedObject = e;
|
|
89
|
+
for (let t of this.views) t.selectObject(e);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
selection() {
|
|
93
|
+
return this.selectedObject;
|
|
94
|
+
}
|
|
95
|
+
showContextMenu(e, t) {
|
|
96
|
+
e.defaultSection().appendCheckboxItem(Te(E.showInternalLayers), this.toggleShowInternalLayers.bind(this), {
|
|
97
|
+
checked: this.#e.get(),
|
|
98
|
+
jslogContext: this.#e.name
|
|
99
|
+
});
|
|
100
|
+
let n = t?.layer()?.nodeForSelfOrAncestor();
|
|
101
|
+
n && e.appendApplicableItems(n), e.show();
|
|
102
|
+
}
|
|
103
|
+
showInternalLayersSetting() {
|
|
104
|
+
return this.#e;
|
|
105
|
+
}
|
|
106
|
+
toggleShowInternalLayers() {
|
|
107
|
+
this.#e.set(!this.#e.get());
|
|
108
|
+
}
|
|
109
|
+
toggleNodeHighlight(e) {
|
|
110
|
+
if (e) {
|
|
111
|
+
e.highlightForTwoSeconds();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
he.hideDOMNodeHighlight();
|
|
115
|
+
}
|
|
116
|
+
}, { html: j, nothing: M } = y, { widget: Oe } = oe, N = {
|
|
117
|
+
selectALayerToSeeItsDetails: "Select a layer to see its details",
|
|
118
|
+
noLayerSelected: "No layer selected",
|
|
119
|
+
scrollRectangleDimensions: "{PH1} {PH2} × {PH3} (at {PH4}, {PH5})",
|
|
120
|
+
unnamed: "<unnamed>",
|
|
121
|
+
stickyAncestorLayersS: "{PH1}: {PH2} ({PH3})",
|
|
122
|
+
stickyBoxRectangleDimensions: "Sticky Box {PH1} × {PH2} (at {PH3}, {PH4})",
|
|
123
|
+
containingBlocRectangleDimensions: "Containing Block {PH1} × {PH2} (at {PH3}, {PH4})",
|
|
124
|
+
nearestLayerShiftingStickyBox: "Nearest Layer Shifting Sticky Box",
|
|
125
|
+
nearestLayerShiftingContaining: "Nearest Layer Shifting Containing Block",
|
|
126
|
+
updateRectangleDimensions: "{PH1} × {PH2} (at {PH3}, {PH4})",
|
|
127
|
+
size: "Size",
|
|
128
|
+
compositingReasons: "Compositing Reasons",
|
|
129
|
+
memoryEstimate: "Memory estimate",
|
|
130
|
+
paintCount: "Paint count",
|
|
131
|
+
slowScrollRegions: "Slow scroll regions",
|
|
132
|
+
stickyPositionConstraint: "Sticky position constraint",
|
|
133
|
+
paintProfiler: "Paint Profiler",
|
|
134
|
+
nonFastScrollable: "Non fast scrollable",
|
|
135
|
+
touchEventHandler: "Touch event handler",
|
|
136
|
+
wheelEventHandler: "Wheel event handler",
|
|
137
|
+
repaintsOnScroll: "Repaints on scroll",
|
|
138
|
+
mainThreadScrollingReason: "Main thread scrolling reason"
|
|
139
|
+
}, P = u("panels/layer_viewer/LayerDetailsView.ts", N), F = i.bind(void 0, P), I = l.bind(void 0, P), ke = (e, t, n) => {
|
|
140
|
+
let { layer: i, snapshotSelection: a, compositingReasons: o, onScrollRectClick: s, onPaintProfilerRequested: c } = e;
|
|
141
|
+
if (!i) {
|
|
142
|
+
m(j`<div class="layer-details-container">
|
|
143
|
+
<devtools-widget class="learn-more" ${Oe(_, {
|
|
144
|
+
header: F(N.noLayerSelected),
|
|
145
|
+
text: F(N.selectALayerToSeeItsDetails)
|
|
146
|
+
})}>
|
|
147
|
+
</devtools-widget>
|
|
148
|
+
</div>`, n);
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
let l = i.scrollRects(), u = i.stickyPositionConstraint(), d = (e, t) => {
|
|
152
|
+
if (!t) return "";
|
|
153
|
+
let n = t.nodeForSelfOrAncestor(), r = n ? n.simpleSelector() : F(N.unnamed);
|
|
154
|
+
return F(N.stickyAncestorLayersS, {
|
|
155
|
+
PH1: e,
|
|
156
|
+
PH2: r,
|
|
157
|
+
PH3: t.id()
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
m(j`
|
|
161
|
+
<div class="layer-details-container">
|
|
162
|
+
<table>
|
|
163
|
+
<tbody>
|
|
164
|
+
<tr>
|
|
165
|
+
<td>${F(N.size)}</td>
|
|
166
|
+
<td>${F(N.updateRectangleDimensions, {
|
|
167
|
+
PH1: i.width(),
|
|
168
|
+
PH2: i.height(),
|
|
169
|
+
PH3: i.offsetX(),
|
|
170
|
+
PH4: i.offsetY()
|
|
171
|
+
})}</td>
|
|
172
|
+
</tr>
|
|
173
|
+
<tr>
|
|
174
|
+
<td>${F(N.compositingReasons)}</td>
|
|
175
|
+
<td>
|
|
176
|
+
${o.length ? j`<ul>${o.map((e) => j`<li>${e}</li>`)}</ul>` : "n/a"}
|
|
177
|
+
</td>
|
|
178
|
+
</tr>
|
|
179
|
+
<tr>
|
|
180
|
+
<td>${F(N.memoryEstimate)}</td>
|
|
181
|
+
<td>${r(i.gpuMemoryUsage())}</td>
|
|
182
|
+
</tr>
|
|
183
|
+
<tr>
|
|
184
|
+
<td>${F(N.paintCount)}</td>
|
|
185
|
+
<td>${i.paintCount()}</td>
|
|
186
|
+
</tr>
|
|
187
|
+
<tr>
|
|
188
|
+
<td>${F(N.slowScrollRegions)}</td>
|
|
189
|
+
<td>
|
|
190
|
+
${l.map((e, t) => j`
|
|
191
|
+
${t > 0 ? ", " : ""}
|
|
192
|
+
<span class="scroll-rect" @click=${(e) => s(t, e)}
|
|
193
|
+
jslog=${ae("layers.select-object").track({ click: !0 })}>
|
|
194
|
+
${F(N.scrollRectangleDimensions, {
|
|
195
|
+
PH1: String(Me.get(e.type)?.()),
|
|
196
|
+
PH2: e.rect.width,
|
|
197
|
+
PH3: e.rect.height,
|
|
198
|
+
PH4: e.rect.x,
|
|
199
|
+
PH5: e.rect.y
|
|
200
|
+
})}
|
|
201
|
+
</span>`)}
|
|
202
|
+
</td>
|
|
203
|
+
</tr>
|
|
204
|
+
<tr>
|
|
205
|
+
<td>${F(N.stickyPositionConstraint)}</td>
|
|
206
|
+
<td>${((e) => {
|
|
207
|
+
if (!e) return M;
|
|
208
|
+
let t = e.stickyBoxRect(), n = e.containingBlockRect(), r = e.nearestLayerShiftingStickyBox(), i = e.nearestLayerShiftingContainingBlock();
|
|
209
|
+
return j`
|
|
210
|
+
<span>${F(N.stickyBoxRectangleDimensions, {
|
|
211
|
+
PH1: t.width,
|
|
212
|
+
PH2: t.height,
|
|
213
|
+
PH3: t.x,
|
|
214
|
+
PH4: t.y
|
|
215
|
+
})}</span>
|
|
216
|
+
<span>, </span>
|
|
217
|
+
<span>${F(N.containingBlocRectangleDimensions, {
|
|
218
|
+
PH1: n.width,
|
|
219
|
+
PH2: n.height,
|
|
220
|
+
PH3: n.x,
|
|
221
|
+
PH4: n.y
|
|
222
|
+
})}</span>
|
|
223
|
+
${r ? j`, <span>${d(F(N.nearestLayerShiftingStickyBox), r)}</span>` : M}
|
|
224
|
+
${i ? j`, <span>${d(F(N.nearestLayerShiftingContaining), i)}</span>` : M}
|
|
225
|
+
`;
|
|
226
|
+
})(u)}</td>
|
|
227
|
+
</tr>
|
|
228
|
+
</tbody>
|
|
229
|
+
</table>
|
|
230
|
+
${a ? j`
|
|
231
|
+
<button class="devtools-link link-margin text-button link-style"
|
|
232
|
+
@click=${c}
|
|
233
|
+
jslog=${ae("layers.paint-profiler").track({
|
|
234
|
+
click: !0,
|
|
235
|
+
keydown: "Enter"
|
|
236
|
+
})}>
|
|
237
|
+
${F(N.paintProfiler)}
|
|
238
|
+
</button>` : M}
|
|
239
|
+
</div>`, n, { container: { attributes: { jslog: `${pe("layers-details")}` } } });
|
|
240
|
+
}, Ae = class extends s(de) {
|
|
241
|
+
layerViewHost;
|
|
242
|
+
layerSnapshotMap;
|
|
243
|
+
selection;
|
|
244
|
+
compositingReasons = [];
|
|
245
|
+
view;
|
|
246
|
+
constructor(e, t = ke) {
|
|
247
|
+
super({ useShadowDom: "pure" }), this.view = t, this.registerRequiredCSS(Ce), this.layerViewHost = e, this.layerViewHost.registerView(this), this.layerSnapshotMap = this.layerViewHost.getLayerSnapshotMap(), this.selection = null;
|
|
248
|
+
}
|
|
249
|
+
hoverObject(e) {}
|
|
250
|
+
selectObject(e) {
|
|
251
|
+
this.selection = e, this.isShowing() && this.update();
|
|
252
|
+
}
|
|
253
|
+
setLayerTree(e) {}
|
|
254
|
+
wasShown() {
|
|
255
|
+
super.wasShown(), this.update();
|
|
256
|
+
}
|
|
257
|
+
onScrollRectClicked(e, t) {
|
|
258
|
+
t.which === 1 && this.selection && this.layerViewHost.selectObject(new A(this.selection.layer(), e));
|
|
259
|
+
}
|
|
260
|
+
invokeProfilerLink() {
|
|
261
|
+
if (!this.selection) return;
|
|
262
|
+
let e = this.selection.type() === O.SNAPSHOT ? this.selection : this.layerSnapshotMap.get(this.selection.layer());
|
|
263
|
+
e && this.dispatchEventToListeners("PaintProfilerRequested", e);
|
|
264
|
+
}
|
|
265
|
+
update() {
|
|
266
|
+
let e = this.selection?.layer();
|
|
267
|
+
e ? e.requestCompositingReasons().then(this.updateCompositingReasons.bind(this)) : this.compositingReasons = [], this.requestUpdate();
|
|
268
|
+
}
|
|
269
|
+
updateCompositingReasons(e) {
|
|
270
|
+
this.compositingReasons = e, this.requestUpdate();
|
|
271
|
+
}
|
|
272
|
+
performUpdate() {
|
|
273
|
+
let e = this.selection?.layer() || null, t = (this.selection && this.selection.type() === O.SNAPSHOT ? this.selection : e ? this.layerSnapshotMap.get(e) : null) || null;
|
|
274
|
+
this.view({
|
|
275
|
+
layer: e,
|
|
276
|
+
snapshotSelection: t,
|
|
277
|
+
compositingReasons: this.compositingReasons,
|
|
278
|
+
onScrollRectClick: this.onScrollRectClicked.bind(this),
|
|
279
|
+
onPaintProfilerRequested: this.invokeProfilerLink.bind(this)
|
|
280
|
+
}, void 0, this.contentElement);
|
|
281
|
+
}
|
|
282
|
+
}, je = /* @__PURE__ */ function(e) {
|
|
283
|
+
return e.PAINT_PROFILER_REQUESTED = "PaintProfilerRequested", e;
|
|
284
|
+
}({}), Me = new Map([
|
|
285
|
+
[w.ScrollRectType.NON_FAST_SCROLLABLE, I(N.nonFastScrollable)],
|
|
286
|
+
[w.ScrollRectType.TOUCH_EVENT_HANDLER, I(N.touchEventHandler)],
|
|
287
|
+
[w.ScrollRectType.WHEEL_EVENT_HANDLER, I(N.wheelEventHandler)],
|
|
288
|
+
[w.ScrollRectType.REPAINTS_ON_SCROLL, I(N.repaintsOnScroll)],
|
|
289
|
+
[w.ScrollRectType.MAIN_THREAD_SCROLL_REASON, I(N.mainThreadScrollingReason)]
|
|
290
|
+
]), Ne = "/*\n * Copyright 2025 The Chromium Authors\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.layer-summary {\n border-top: 1px solid var(--sys-color-divider);\n justify-content: space-between;\n padding: 4px 10px;\n flex-shrink: 0;\n}\n\n.layer-count {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.layer-tree-wrapper {\n flex-grow: 1;\n}\n", L = {
|
|
291
|
+
layerCount: "{PH1} layers",
|
|
292
|
+
layersTreePane: "Layers Tree Pane",
|
|
293
|
+
showPaintProfiler: "Show Paint Profiler",
|
|
294
|
+
updateChildDimension: " ({PH1} × {PH2})"
|
|
295
|
+
}, Pe = u("panels/layer_viewer/LayerTreeOutline.ts", L), R = i.bind(void 0, Pe), Fe = class extends s(ee) {
|
|
296
|
+
layerViewHost;
|
|
297
|
+
treeOutline;
|
|
298
|
+
lastHoveredNode;
|
|
299
|
+
layerCountElement;
|
|
300
|
+
layerMemoryElement;
|
|
301
|
+
element;
|
|
302
|
+
layerTree;
|
|
303
|
+
layerSnapshotMap;
|
|
304
|
+
constructor(e) {
|
|
305
|
+
super(), this.layerViewHost = e, this.layerViewHost.registerView(this), this.treeOutline = new fe(), this.treeOutline.element.classList.add("layer-tree", "overflow-auto"), this.treeOutline.element.addEventListener("mousemove", this.onMouseMove.bind(this), !1), this.treeOutline.element.addEventListener("mouseout", this.onMouseMove.bind(this), !1), this.treeOutline.element.addEventListener("contextmenu", this.onContextMenu.bind(this), !0), p(this.treeOutline.contentElement, R(L.layersTreePane)), this.lastHoveredNode = null;
|
|
306
|
+
let t = document.createElement("div");
|
|
307
|
+
t.classList.add("hbox", "layer-summary"), this.layerCountElement = document.createElement("span"), this.layerCountElement.classList.add("layer-count"), this.layerMemoryElement = document.createElement("span"), t.appendChild(this.layerCountElement), t.appendChild(this.layerMemoryElement);
|
|
308
|
+
let n = document.createElement("div");
|
|
309
|
+
n.classList.add("vbox", "layer-tree-wrapper"), n.appendChild(this.treeOutline.element), n.appendChild(t), this.element = n, ce(this.element, Ne), this.layerViewHost.showInternalLayersSetting().addChangeListener(this.update, this);
|
|
310
|
+
}
|
|
311
|
+
focus() {
|
|
312
|
+
this.treeOutline.focus();
|
|
313
|
+
}
|
|
314
|
+
selectObject(e) {
|
|
315
|
+
this.hoverObject(null);
|
|
316
|
+
let t = e?.layer(), n = t && z.get(t);
|
|
317
|
+
n ? n.revealAndSelect(!0) : this.treeOutline.selectedTreeElement && this.treeOutline.selectedTreeElement.deselect();
|
|
318
|
+
}
|
|
319
|
+
hoverObject(e) {
|
|
320
|
+
let t = e?.layer(), n = t && z.get(t);
|
|
321
|
+
n !== this.lastHoveredNode && (this.lastHoveredNode && this.lastHoveredNode.setHovered(!1), n && n.setHovered(!0), this.lastHoveredNode = n);
|
|
322
|
+
}
|
|
323
|
+
setLayerTree(e) {
|
|
324
|
+
this.layerTree = e, this.update();
|
|
325
|
+
}
|
|
326
|
+
update() {
|
|
327
|
+
let e = this.layerViewHost.showInternalLayersSetting().get(), t = /* @__PURE__ */ new Map(), n = null;
|
|
328
|
+
this.layerTree && (e || (n = this.layerTree.contentRoot()), n ||= this.layerTree.root());
|
|
329
|
+
let i = 0, a = 0;
|
|
330
|
+
function o(r) {
|
|
331
|
+
if (!r.drawsContent() && !e) return;
|
|
332
|
+
t.get(r) && console.assert(!1, "Duplicate layer: " + r.id()), t.set(r, !0), i++, a += r.gpuMemoryUsage();
|
|
333
|
+
let o = z.get(r) || null, s = r.parent();
|
|
334
|
+
for (; s && s !== n && !s.drawsContent() && !e;) s = s.parent();
|
|
335
|
+
let c = r === n ? this.treeOutline.rootElement() : s && z.get(s);
|
|
336
|
+
if (!c) {
|
|
337
|
+
console.assert(!1, "Parent is not in the tree");
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
if (!o) o = new Le(this, r), c.appendChild(o), r.drawsContent() || o.expand();
|
|
341
|
+
else {
|
|
342
|
+
if (o.parent !== c) {
|
|
343
|
+
let e = this.treeOutline.selectedTreeElement;
|
|
344
|
+
o.parent && o.parent.removeChild(o), c.appendChild(o), e && e !== this.treeOutline.selectedTreeElement && e.select();
|
|
345
|
+
}
|
|
346
|
+
o.update();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
n && this.layerTree && this.layerTree.forEachLayer(o.bind(this), n);
|
|
350
|
+
let s = this.treeOutline.rootElement();
|
|
351
|
+
for (let e = s.firstChild(); e instanceof Le && !e.root;) if (t.get(e.layer)) e = e.traverseNextTreeElement(!1);
|
|
352
|
+
else {
|
|
353
|
+
let t = e.nextSibling || e.parent;
|
|
354
|
+
e.parent && e.parent.removeChild(e), e === this.lastHoveredNode && (this.lastHoveredNode = null), e = t;
|
|
355
|
+
}
|
|
356
|
+
if (!this.treeOutline.selectedTreeElement && this.layerTree) {
|
|
357
|
+
let e = this.layerTree.contentRoot() || this.layerTree.root();
|
|
358
|
+
if (e) {
|
|
359
|
+
let t = z.get(e);
|
|
360
|
+
t && t.revealAndSelect(!0);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
this.layerCountElement.textContent = R(L.layerCount, { PH1: i }), this.layerMemoryElement.textContent = r(a);
|
|
364
|
+
}
|
|
365
|
+
onMouseMove(e) {
|
|
366
|
+
let t = this.treeOutline.treeElementFromEvent(e);
|
|
367
|
+
t !== this.lastHoveredNode && this.layerViewHost.hoverObject(this.selectionForNode(t));
|
|
368
|
+
}
|
|
369
|
+
selectedNodeChanged(e) {
|
|
370
|
+
this.layerViewHost.selectObject(this.selectionForNode(e));
|
|
371
|
+
}
|
|
372
|
+
onContextMenu(e) {
|
|
373
|
+
let t = this.selectionForNode(this.treeOutline.treeElementFromEvent(e)), n = new ne(e), r = t?.layer();
|
|
374
|
+
t && r && (this.layerSnapshotMap = this.layerViewHost.getLayerSnapshotMap(), this.layerSnapshotMap.has(r) && n.defaultSection().appendItem(R(L.showPaintProfiler), () => this.dispatchEventToListeners("PaintProfilerRequested", t), { jslogContext: "layers.paint-profiler" })), this.layerViewHost.showContextMenu(n, t);
|
|
375
|
+
}
|
|
376
|
+
selectionForNode(e) {
|
|
377
|
+
return e?.layer ? new k(e.layer) : null;
|
|
378
|
+
}
|
|
379
|
+
}, Ie = /* @__PURE__ */ function(e) {
|
|
380
|
+
return e.PAINT_PROFILER_REQUESTED = "PaintProfilerRequested", e;
|
|
381
|
+
}({}), Le = class extends T {
|
|
382
|
+
#e;
|
|
383
|
+
layer;
|
|
384
|
+
constructor(e, t) {
|
|
385
|
+
super(), this.#e = e, this.layer = t, z.set(t, this), this.update();
|
|
386
|
+
}
|
|
387
|
+
update() {
|
|
388
|
+
let e = this.layer.nodeForSelfOrAncestor(), t = document.createDocumentFragment();
|
|
389
|
+
_e(t, e ? e.simpleSelector() : "#" + this.layer.id());
|
|
390
|
+
let n = t.createChild("span", "dimmed");
|
|
391
|
+
n.textContent = R(L.updateChildDimension, {
|
|
392
|
+
PH1: this.layer.width(),
|
|
393
|
+
PH2: this.layer.height()
|
|
394
|
+
}), this.title = t;
|
|
395
|
+
}
|
|
396
|
+
onselect() {
|
|
397
|
+
return this.#e.selectedNodeChanged(this), !1;
|
|
398
|
+
}
|
|
399
|
+
setHovered(e) {
|
|
400
|
+
this.listItemElement.classList.toggle("hovered", e);
|
|
401
|
+
}
|
|
402
|
+
}, z = /* @__PURE__ */ new WeakMap(), Re = "/*\n * Copyright 2016 The Chromium Authors\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.layers-3d-view {\n overflow: hidden;\n user-select: none;\n\n > .empty-view-scroller{\n inset: 0;\n position: absolute;\n background-color: var(--sys-color-cdt-base-container);\n }\n}\n\ndevtools-toolbar {\n background-color: var(--sys-color-cdt-base-container);\n border-bottom: 1px solid var(--sys-color-divider);\n}\n\ncanvas {\n flex: 1 1;\n}\n\n.layers-3d-view > canvas:focus-visible {\n outline: auto 5px -webkit-focus-ring-color;\n}\n", B = {
|
|
403
|
+
panModeX: "Pan mode (X)",
|
|
404
|
+
rotateModeV: "Rotate mode (V)",
|
|
405
|
+
resetTransform: "Reset transform (0)"
|
|
406
|
+
}, ze = u("panels/layer_viewer/TransformController.ts", B), V = i.bind(void 0, ze), H = class extends n {
|
|
407
|
+
mode;
|
|
408
|
+
#e;
|
|
409
|
+
#t;
|
|
410
|
+
#n;
|
|
411
|
+
#r;
|
|
412
|
+
#i;
|
|
413
|
+
oldRotateX;
|
|
414
|
+
oldRotateY;
|
|
415
|
+
originX;
|
|
416
|
+
originY;
|
|
417
|
+
element;
|
|
418
|
+
minScale;
|
|
419
|
+
maxScale;
|
|
420
|
+
controlPanelToolbar;
|
|
421
|
+
modeButtons;
|
|
422
|
+
constructor(e, t, n = !0) {
|
|
423
|
+
if (super(), this.#e = 1, this.#t = 0, this.#n = 0, this.#r = 0, this.#i = 0, this.oldRotateX = 0, this.oldRotateY = 0, this.originX = 0, this.originY = 0, this.element = e, this.registerShortcuts(), v(e, this.onDragStart.bind(this), this.onDrag.bind(this), this.onDragEnd.bind(this), "move", null, 0, n), e.addEventListener("wheel", this.onMouseWheel.bind(this), !1), this.minScale = 0, this.maxScale = Infinity, this.controlPanelToolbar = document.createElement("devtools-toolbar"), this.controlPanelToolbar.classList.add("transform-control-panel"), this.controlPanelToolbar.setAttribute("jslog", `${ue()}`), this.modeButtons = {}, !t) {
|
|
424
|
+
let e = new re(V(B.panModeX), "3d-pan", void 0, "layers.3d-pan", !1);
|
|
425
|
+
e.addEventListener(S.Events.CLICK, this.setMode.bind(this, "Pan")), this.modeButtons.Pan = e, this.controlPanelToolbar.appendToolbarItem(e);
|
|
426
|
+
let t = new re(V(B.rotateModeV), "3d-rotate", void 0, "layers.3d-rotate", !1);
|
|
427
|
+
t.addEventListener(S.Events.CLICK, this.setMode.bind(this, "Rotate")), this.modeButtons.Rotate = t, this.controlPanelToolbar.appendToolbarItem(t);
|
|
428
|
+
}
|
|
429
|
+
this.setMode("Pan");
|
|
430
|
+
let r = new S(V(B.resetTransform), "3d-center", void 0, "layers.3d-center");
|
|
431
|
+
r.addEventListener(S.Events.CLICK, this.resetAndNotify.bind(this, void 0)), this.controlPanelToolbar.appendToolbarItem(r), this.reset();
|
|
432
|
+
}
|
|
433
|
+
toolbar() {
|
|
434
|
+
return this.controlPanelToolbar;
|
|
435
|
+
}
|
|
436
|
+
registerShortcuts() {
|
|
437
|
+
let e = 1.1;
|
|
438
|
+
h.instance().addShortcutListener(this.element, {
|
|
439
|
+
"layers.reset-view": async () => (this.resetAndNotify(), !0),
|
|
440
|
+
"layers.pan-mode": async () => (this.setMode("Pan"), !0),
|
|
441
|
+
"layers.rotate-mode": async () => (this.setMode("Rotate"), !0),
|
|
442
|
+
"layers.zoom-in": this.onKeyboardZoom.bind(this, e),
|
|
443
|
+
"layers.zoom-out": this.onKeyboardZoom.bind(this, 1 / e),
|
|
444
|
+
"layers.up": this.onKeyboardPanOrRotate.bind(this, 0, -1),
|
|
445
|
+
"layers.down": this.onKeyboardPanOrRotate.bind(this, 0, 1),
|
|
446
|
+
"layers.left": this.onKeyboardPanOrRotate.bind(this, -1, 0),
|
|
447
|
+
"layers.right": this.onKeyboardPanOrRotate.bind(this, 1, 0)
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
postChangeEvent() {
|
|
451
|
+
this.dispatchEventToListeners("TransformChanged");
|
|
452
|
+
}
|
|
453
|
+
reset() {
|
|
454
|
+
this.#e = 1, this.#t = 0, this.#n = 0, this.#r = 0, this.#i = 0;
|
|
455
|
+
}
|
|
456
|
+
setMode(e) {
|
|
457
|
+
this.mode !== e && (this.mode = e, this.updateModeButtons());
|
|
458
|
+
}
|
|
459
|
+
updateModeButtons() {
|
|
460
|
+
for (let e in this.modeButtons) this.modeButtons[e].setToggled(e === this.mode);
|
|
461
|
+
}
|
|
462
|
+
resetAndNotify(e) {
|
|
463
|
+
this.reset(), this.postChangeEvent(), e && e.preventDefault(), this.element.focus();
|
|
464
|
+
}
|
|
465
|
+
setScaleConstraints(e, n) {
|
|
466
|
+
this.minScale = e, this.maxScale = n, this.#e = t(this.#e, e, n);
|
|
467
|
+
}
|
|
468
|
+
clampOffsets(e, n, r, i) {
|
|
469
|
+
this.#t = t(this.#t, e, n), this.#n = t(this.#n, r, i);
|
|
470
|
+
}
|
|
471
|
+
scale() {
|
|
472
|
+
return this.#e;
|
|
473
|
+
}
|
|
474
|
+
offsetX() {
|
|
475
|
+
return this.#t;
|
|
476
|
+
}
|
|
477
|
+
offsetY() {
|
|
478
|
+
return this.#n;
|
|
479
|
+
}
|
|
480
|
+
rotateX() {
|
|
481
|
+
return this.#r;
|
|
482
|
+
}
|
|
483
|
+
rotateY() {
|
|
484
|
+
return this.#i;
|
|
485
|
+
}
|
|
486
|
+
onScale(e, n, r) {
|
|
487
|
+
e = t(this.#e * e, this.minScale, this.maxScale) / this.#e, this.#e *= e, this.#t -= (n - this.#t) * (e - 1), this.#n -= (r - this.#n) * (e - 1), this.postChangeEvent();
|
|
488
|
+
}
|
|
489
|
+
onPan(e, t) {
|
|
490
|
+
this.#t += e, this.#n += t, this.postChangeEvent();
|
|
491
|
+
}
|
|
492
|
+
onRotate(e, t) {
|
|
493
|
+
this.#r = e, this.#i = t, this.postChangeEvent();
|
|
494
|
+
}
|
|
495
|
+
async onKeyboardZoom(e) {
|
|
496
|
+
return this.onScale(e, this.element.clientWidth / 2, this.element.clientHeight / 2), !0;
|
|
497
|
+
}
|
|
498
|
+
async onKeyboardPanOrRotate(e, t) {
|
|
499
|
+
return this.mode === "Rotate" ? this.onRotate(this.#r + t * 5, this.#i + e * 5) : this.onPan(e * 6, t * 6), !0;
|
|
500
|
+
}
|
|
501
|
+
onMouseWheel(e) {
|
|
502
|
+
let t = e, n = 1.1 ** (-t.deltaY * .018867924528301886);
|
|
503
|
+
this.onScale(n, t.clientX - this.element.getBoundingClientRect().left, t.clientY - this.element.getBoundingClientRect().top);
|
|
504
|
+
}
|
|
505
|
+
onDrag(e) {
|
|
506
|
+
let { clientX: t, clientY: n } = e;
|
|
507
|
+
this.mode === "Rotate" ? this.onRotate(this.oldRotateX + (this.originY - n) / this.element.clientHeight * 180, this.oldRotateY - (this.originX - t) / this.element.clientWidth * 180) : (this.onPan(t - this.originX, n - this.originY), this.originX = t, this.originY = n);
|
|
508
|
+
}
|
|
509
|
+
onDragStart(e) {
|
|
510
|
+
return this.element.focus(), this.originX = e.clientX, this.originY = e.clientY, this.oldRotateX = this.#r, this.oldRotateY = this.#i, !0;
|
|
511
|
+
}
|
|
512
|
+
onDragEnd() {
|
|
513
|
+
this.originX = 0, this.originY = 0, this.oldRotateX = 0, this.oldRotateY = 0;
|
|
514
|
+
}
|
|
515
|
+
}, Be = /* @__PURE__ */ function(e) {
|
|
516
|
+
return e.TRANSFORM_CHANGED = "TransformChanged", e;
|
|
517
|
+
}({}), { html: U, render: Ve, Directives: { ref: He } } = y, { widget: Ue } = oe, W = {
|
|
518
|
+
noLayerInformation: "No layers detected yet",
|
|
519
|
+
layerExplanation: "On this page you will be able to view and inspect document layers.",
|
|
520
|
+
dLayersView: "3D Layers View",
|
|
521
|
+
cantDisplayLayers: "Can't display layers",
|
|
522
|
+
webglSupportIsDisabledInYour: "WebGL support is disabled in your browser.",
|
|
523
|
+
checkSForPossibleReasons: "Check {PH1} for possible reasons.",
|
|
524
|
+
slowScrollRects: "Slow scroll rects",
|
|
525
|
+
paints: "Paints",
|
|
526
|
+
resetView: "Reset View",
|
|
527
|
+
showPaintProfiler: "Show Paint Profiler"
|
|
528
|
+
}, We = u("panels/layer_viewer/Layers3DView.ts", W), G = i.bind(void 0, We), Ge = /* @__PURE__ */ new Map(), Ke = /* @__PURE__ */ new Map(), qe = /* @__PURE__ */ new Map(), Je = /* @__PURE__ */ new Map(), Ye = /* @__PURE__ */ new Map(), K = /* @__PURE__ */ new Map(), Xe = (e, t, n) => {
|
|
529
|
+
Ve(U`<style>
|
|
530
|
+
${Re}
|
|
531
|
+
</style>
|
|
532
|
+
${e.panelToolbar}
|
|
533
|
+
${e.error === "missing-root" ? U`<div>${Ue(_, {
|
|
534
|
+
header: G(W.noLayerInformation),
|
|
535
|
+
text: G(W.layerExplanation)
|
|
536
|
+
})}</div>` : C}
|
|
537
|
+
${e.error === "webgl-disabled" ? U`<div>${Ue(_, {
|
|
538
|
+
header: G(W.cantDisplayLayers),
|
|
539
|
+
text: G(W.webglSupportIsDisabledInYour),
|
|
540
|
+
extraElements: [ye(We, W.checkSForPossibleReasons, { PH1: le.create("about:gpu", void 0, void 0, "about-gpu") })]
|
|
541
|
+
})}</div>` : C}
|
|
542
|
+
<canvas
|
|
543
|
+
tabindex="0"
|
|
544
|
+
jslog=${ge("layers").track({
|
|
545
|
+
click: !0,
|
|
546
|
+
drag: !0
|
|
547
|
+
})}
|
|
548
|
+
aria-label=${G(W.dLayersView)}
|
|
549
|
+
@dblclick=${e.onDoubleClick}
|
|
550
|
+
@mousedown=${e.onMouseDown}
|
|
551
|
+
@mouseup=${e.onMouseUp}
|
|
552
|
+
@mouseleave=${e.onMouseMove}
|
|
553
|
+
@mousemove=${e.onMouseMove}
|
|
554
|
+
@contextmenu=${e.onContextMenu}
|
|
555
|
+
${He((e) => {
|
|
556
|
+
e && (t.canvasElement = e);
|
|
557
|
+
})}></canvas>`, n, { container: { attributes: { jslog: `${pe("layers-3d-view")}` } } });
|
|
558
|
+
}, Ze = class extends s(ie) {
|
|
559
|
+
layerViewHost;
|
|
560
|
+
transformController;
|
|
561
|
+
lastSelection;
|
|
562
|
+
layerTree;
|
|
563
|
+
textureManager;
|
|
564
|
+
chromeTextures;
|
|
565
|
+
rects;
|
|
566
|
+
snapshotLayers;
|
|
567
|
+
shaderProgram;
|
|
568
|
+
oldTextureScale;
|
|
569
|
+
depthByLayerId;
|
|
570
|
+
visibleLayers;
|
|
571
|
+
maxDepth;
|
|
572
|
+
scale;
|
|
573
|
+
layerTexture;
|
|
574
|
+
projectionMatrix;
|
|
575
|
+
whiteTexture;
|
|
576
|
+
gl;
|
|
577
|
+
dimensionsForAutoscale;
|
|
578
|
+
needsUpdate;
|
|
579
|
+
updateScheduled;
|
|
580
|
+
panelToolbar;
|
|
581
|
+
showSlowScrollRectsSetting;
|
|
582
|
+
showPaintsSetting;
|
|
583
|
+
mouseDownX;
|
|
584
|
+
mouseDownY;
|
|
585
|
+
#e;
|
|
586
|
+
#t;
|
|
587
|
+
#n;
|
|
588
|
+
constructor(e, t = Xe) {
|
|
589
|
+
super(), this.#e = t, this.layerViewHost = e, this.layerViewHost.registerView(this), this.transformController = new H(this.contentElement, !1, !1), this.transformController.addEventListener(Be.TRANSFORM_CHANGED, this.updateData, this), this.panelToolbar = this.transformController.toolbar(), this.showPaintsSetting = this.createVisibilitySetting(G(W.paints), "frame-viewer-show-paints", !1, this.panelToolbar), this.showSlowScrollRectsSetting = this.createVisibilitySetting(G(W.slowScrollRects), "frame-viewer-show-slow-scroll-rects", !0, this.panelToolbar), this.showPaintsSetting.addChangeListener(this.updatePaints, this), a.instance().moduleSetting("frame-viewer-chrome-window").addChangeListener(this.updateData, this), this.performUpdate(), this.lastSelection = {}, this.layerTree = null, this.updateScheduled = !1, this.textureManager = new q(this.updateData.bind(this)), this.chromeTextures = [], this.rects = [], this.snapshotLayers = /* @__PURE__ */ new Map(), this.layerViewHost.setLayerSnapshotMap(this.snapshotLayers), this.layerViewHost.showInternalLayersSetting().addChangeListener(this.updateData, this);
|
|
590
|
+
}
|
|
591
|
+
performUpdate() {
|
|
592
|
+
let e = {};
|
|
593
|
+
this.#e({
|
|
594
|
+
panelToolbar: this.panelToolbar,
|
|
595
|
+
onDoubleClick: this.onDoubleClick.bind(this),
|
|
596
|
+
onMouseDown: this.onMouseDown.bind(this),
|
|
597
|
+
onMouseUp: this.onMouseUp.bind(this),
|
|
598
|
+
onMouseMove: this.onMouseMove.bind(this),
|
|
599
|
+
onContextMenu: this.onContextMenu.bind(this),
|
|
600
|
+
error: this.#t
|
|
601
|
+
}, e, this.contentElement), e.canvasElement && (this.#n = e.canvasElement);
|
|
602
|
+
}
|
|
603
|
+
setLayerTree(e) {
|
|
604
|
+
this.layerTree = e, this.layerTexture = null, delete this.oldTextureScale, this.showPaints() && this.textureManager.setLayerTree(e), this.updateData();
|
|
605
|
+
}
|
|
606
|
+
showImageForLayer(e, t) {
|
|
607
|
+
if (!t) {
|
|
608
|
+
this.layerTexture = null, this.updateData();
|
|
609
|
+
return;
|
|
610
|
+
}
|
|
611
|
+
g(t).then((t) => {
|
|
612
|
+
let n = t && q.createTextureForImage(this.gl || null, t);
|
|
613
|
+
this.layerTexture = n ? {
|
|
614
|
+
layer: e,
|
|
615
|
+
texture: n
|
|
616
|
+
} : null, this.updateData();
|
|
617
|
+
});
|
|
618
|
+
}
|
|
619
|
+
onResize() {
|
|
620
|
+
this.performUpdate(), this.resizeCanvas(), this.updateData();
|
|
621
|
+
}
|
|
622
|
+
willHide() {
|
|
623
|
+
super.willHide(), this.textureManager.suspend();
|
|
624
|
+
}
|
|
625
|
+
wasShown() {
|
|
626
|
+
super.wasShown(), this.textureManager.resume(), this.needsUpdate && (this.performUpdate(), this.resizeCanvas(), this.updateData());
|
|
627
|
+
}
|
|
628
|
+
updateLayerSnapshot(e) {
|
|
629
|
+
this.textureManager.layerNeedsUpdate(e);
|
|
630
|
+
}
|
|
631
|
+
setOutline(e, t) {
|
|
632
|
+
this.lastSelection[e] = t, this.updateData();
|
|
633
|
+
}
|
|
634
|
+
hoverObject(e) {
|
|
635
|
+
this.setOutline("hovered", e);
|
|
636
|
+
}
|
|
637
|
+
selectObject(e) {
|
|
638
|
+
this.setOutline("hovered", null), this.setOutline("selected", e);
|
|
639
|
+
}
|
|
640
|
+
snapshotForSelection(e) {
|
|
641
|
+
if (e.type() === O.SNAPSHOT) {
|
|
642
|
+
let t = e.snapshot();
|
|
643
|
+
return t.snapshot.addReference(), Promise.resolve(t);
|
|
644
|
+
}
|
|
645
|
+
if (e.layer()) {
|
|
646
|
+
let t = e.layer().snapshots()[0];
|
|
647
|
+
if (t !== void 0) return t;
|
|
648
|
+
}
|
|
649
|
+
return Promise.resolve(null);
|
|
650
|
+
}
|
|
651
|
+
initGL(e) {
|
|
652
|
+
let t = e.getContext("webgl");
|
|
653
|
+
return t ? (t.blendFunc(t.SRC_ALPHA, t.ONE_MINUS_SRC_ALPHA), t.enable(t.BLEND), t.clearColor(0, 0, 0, 0), t.enable(t.DEPTH_TEST), t) : null;
|
|
654
|
+
}
|
|
655
|
+
createShader(e, t) {
|
|
656
|
+
if (!this.gl) return;
|
|
657
|
+
let n = this.gl.createShader(e);
|
|
658
|
+
n && this.shaderProgram && (this.gl.shaderSource(n, t), this.gl.compileShader(n), this.gl.attachShader(this.shaderProgram, n));
|
|
659
|
+
}
|
|
660
|
+
initShaders() {
|
|
661
|
+
if (!this.gl || (this.shaderProgram = this.gl.createProgram(), !this.shaderProgram)) return;
|
|
662
|
+
this.createShader(this.gl.FRAGMENT_SHADER, $e), this.createShader(this.gl.VERTEX_SHADER, et), this.gl.linkProgram(this.shaderProgram), this.gl.useProgram(this.shaderProgram);
|
|
663
|
+
let e = this.gl.getAttribLocation(this.shaderProgram, "aVertexPosition");
|
|
664
|
+
this.gl.enableVertexAttribArray(e), Ge.set(this.shaderProgram, e);
|
|
665
|
+
let t = this.gl.getAttribLocation(this.shaderProgram, "aVertexColor");
|
|
666
|
+
this.gl.enableVertexAttribArray(t), Ke.set(this.shaderProgram, t);
|
|
667
|
+
let n = this.gl.getAttribLocation(this.shaderProgram, "aTextureCoord");
|
|
668
|
+
this.gl.enableVertexAttribArray(n), qe.set(this.shaderProgram, n);
|
|
669
|
+
let r = this.gl.getUniformLocation(this.shaderProgram, "uPMatrix");
|
|
670
|
+
Je.set(this.shaderProgram, r);
|
|
671
|
+
let i = this.gl.getUniformLocation(this.shaderProgram, "uSampler");
|
|
672
|
+
Ye.set(this.shaderProgram, i);
|
|
673
|
+
}
|
|
674
|
+
resizeCanvas() {
|
|
675
|
+
this.#n.width = this.#n.offsetWidth * window.devicePixelRatio, this.#n.height = this.#n.offsetHeight * window.devicePixelRatio;
|
|
676
|
+
}
|
|
677
|
+
updateTransformAndConstraints() {
|
|
678
|
+
let e = .1, n = this.dimensionsForAutoscale || {
|
|
679
|
+
width: 0,
|
|
680
|
+
height: 0
|
|
681
|
+
}, r = this.layerTree ? this.layerTree.viewportSize() : null, i = r ? r.width : n.width, a = r ? r.height : n.height, o = this.#n.width, s = this.#n.height, c = o * e, l = s * e, u = (o - 2 * c) / i, d = (s - 2 * l) / a, f = Math.min(u, d), p = Math.min(i / n.width, a / n.width) / 2;
|
|
682
|
+
this.transformController.setScaleConstraints(p, 10 / f);
|
|
683
|
+
let m = this.transformController.scale(), h = this.transformController.rotateX(), g = this.transformController.rotateY();
|
|
684
|
+
this.scale = m * f;
|
|
685
|
+
let _ = t(this.scale, .1, 1);
|
|
686
|
+
_ !== this.oldTextureScale && (this.oldTextureScale = _, this.textureManager.setScale(_), this.dispatchEventToListeners("ScaleChanged", _));
|
|
687
|
+
let v = new WebKitCSSMatrix().scale(m, m, m).translate(o / 2, s / 2, 0).rotate(h, g, 0).scale(f, f, f).translate(-i / 2, -a / 2, 0), y;
|
|
688
|
+
for (let e = 0; e < this.rects.length; ++e) y = te(v, this.rects[e].vertices, y);
|
|
689
|
+
y && this.transformController.clampOffsets((c - y.maxX) / window.devicePixelRatio, (o - c - y.minX) / window.devicePixelRatio, (l - y.maxY) / window.devicePixelRatio, (s - l - y.minY) / window.devicePixelRatio);
|
|
690
|
+
let b = this.transformController.offsetX() * window.devicePixelRatio, x = this.transformController.offsetY() * window.devicePixelRatio;
|
|
691
|
+
this.projectionMatrix = new WebKitCSSMatrix().translate(b, x, 0).multiply(v);
|
|
692
|
+
let S = new WebKitCSSMatrix().scale(1, -1, -1).translate(-1, -1, 0).scale(2 / this.#n.width, 2 / this.#n.height, 1 / 1e6).multiply(this.projectionMatrix);
|
|
693
|
+
if (this.shaderProgram) {
|
|
694
|
+
let e = Je.get(this.shaderProgram);
|
|
695
|
+
this.gl && e && this.gl.uniformMatrix4fv(e, !1, this.arrayFromMatrix(S));
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
arrayFromMatrix(e) {
|
|
699
|
+
return new Float32Array([
|
|
700
|
+
e.m11,
|
|
701
|
+
e.m12,
|
|
702
|
+
e.m13,
|
|
703
|
+
e.m14,
|
|
704
|
+
e.m21,
|
|
705
|
+
e.m22,
|
|
706
|
+
e.m23,
|
|
707
|
+
e.m24,
|
|
708
|
+
e.m31,
|
|
709
|
+
e.m32,
|
|
710
|
+
e.m33,
|
|
711
|
+
e.m34,
|
|
712
|
+
e.m41,
|
|
713
|
+
e.m42,
|
|
714
|
+
e.m43,
|
|
715
|
+
e.m44
|
|
716
|
+
]);
|
|
717
|
+
}
|
|
718
|
+
initWhiteTexture() {
|
|
719
|
+
if (!this.gl) return;
|
|
720
|
+
this.whiteTexture = this.gl.createTexture(), this.gl.bindTexture(this.gl.TEXTURE_2D, this.whiteTexture);
|
|
721
|
+
let e = new Uint8Array([
|
|
722
|
+
255,
|
|
723
|
+
255,
|
|
724
|
+
255,
|
|
725
|
+
255
|
|
726
|
+
]);
|
|
727
|
+
this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, 1, 1, 0, this.gl.RGBA, this.gl.UNSIGNED_BYTE, e);
|
|
728
|
+
}
|
|
729
|
+
initChromeTextures() {
|
|
730
|
+
function e(e, t) {
|
|
731
|
+
g(t).then((t) => {
|
|
732
|
+
this.chromeTextures[e] = t && q.createTextureForImage(this.gl || null, t) || void 0;
|
|
733
|
+
});
|
|
734
|
+
}
|
|
735
|
+
e.call(this, 0, "Images/chromeLeft.avif"), e.call(this, 1, "Images/chromeMiddle.avif"), e.call(this, 2, "Images/chromeRight.avif");
|
|
736
|
+
}
|
|
737
|
+
initGLIfNecessary() {
|
|
738
|
+
return this.gl && this.gl.canvas === this.#n ? this.gl : (this.gl = this.initGL(this.#n), this.gl ? (this.initShaders(), this.initWhiteTexture(), this.initChromeTextures(), this.textureManager.setContext(this.gl), this.gl) : null);
|
|
739
|
+
}
|
|
740
|
+
calculateDepthsAndVisibility() {
|
|
741
|
+
this.depthByLayerId = /* @__PURE__ */ new Map();
|
|
742
|
+
let e = 0, t = this.layerViewHost.showInternalLayersSetting().get();
|
|
743
|
+
if (!this.layerTree) return;
|
|
744
|
+
let n = t ? this.layerTree.root() : this.layerTree.contentRoot() || this.layerTree.root();
|
|
745
|
+
if (!n) return;
|
|
746
|
+
let r = [n];
|
|
747
|
+
for (this.depthByLayerId.set(n.id(), 0), this.visibleLayers = /* @__PURE__ */ new Set(); r.length > 0;) {
|
|
748
|
+
let n = r.shift();
|
|
749
|
+
if (!n) break;
|
|
750
|
+
(t || n.drawsContent()) && this.visibleLayers.add(n);
|
|
751
|
+
let i = n.children();
|
|
752
|
+
for (let t = 0; t < i.length; ++t) this.depthByLayerId.set(i[t].id(), ++e), r.push(i[t]);
|
|
753
|
+
}
|
|
754
|
+
this.maxDepth = e;
|
|
755
|
+
}
|
|
756
|
+
depthForLayer(e) {
|
|
757
|
+
return (this.depthByLayerId.get(e.id()) || 0) * 20;
|
|
758
|
+
}
|
|
759
|
+
calculateScrollRectDepth(e, t) {
|
|
760
|
+
return this.depthForLayer(e) + t * 4 + 1;
|
|
761
|
+
}
|
|
762
|
+
updateDimensionsForAutoscale(e) {
|
|
763
|
+
this.dimensionsForAutoscale ||= {
|
|
764
|
+
width: 0,
|
|
765
|
+
height: 0
|
|
766
|
+
}, this.dimensionsForAutoscale.width = Math.max(e.width(), this.dimensionsForAutoscale.width), this.dimensionsForAutoscale.height = Math.max(e.height(), this.dimensionsForAutoscale.height);
|
|
767
|
+
}
|
|
768
|
+
calculateLayerRect(e) {
|
|
769
|
+
if (!this.visibleLayers.has(e)) return;
|
|
770
|
+
let t = new J(new k(e));
|
|
771
|
+
t.setVertices(e.quad(), this.depthForLayer(e)), this.appendRect(t), this.updateDimensionsForAutoscale(e);
|
|
772
|
+
}
|
|
773
|
+
appendRect(e) {
|
|
774
|
+
let t = e.relatedObject, n = D.isEqual(this.lastSelection.selected, t), r = D.isEqual(this.lastSelection.hovered, t);
|
|
775
|
+
if (n) e.borderColor = nt;
|
|
776
|
+
else if (r) {
|
|
777
|
+
e.borderColor = tt;
|
|
778
|
+
let t = e.fillColor || [
|
|
779
|
+
255,
|
|
780
|
+
255,
|
|
781
|
+
255,
|
|
782
|
+
1
|
|
783
|
+
], n = ot;
|
|
784
|
+
e.fillColor = [
|
|
785
|
+
t[0] * n[0] / 255,
|
|
786
|
+
t[1] * n[1] / 255,
|
|
787
|
+
t[2] * n[2] / 255,
|
|
788
|
+
t[3] * n[3]
|
|
789
|
+
];
|
|
790
|
+
} else e.borderColor = rt;
|
|
791
|
+
e.lineWidth = n ? 2 : 1, this.rects.push(e);
|
|
792
|
+
}
|
|
793
|
+
calculateLayerScrollRects(e) {
|
|
794
|
+
let t = e.scrollRects();
|
|
795
|
+
for (let n = 0; n < t.length; ++n) {
|
|
796
|
+
let r = new J(new A(e, n));
|
|
797
|
+
r.calculateVerticesFromRect(e, t[n].rect, this.calculateScrollRectDepth(e, n)), r.fillColor = at, this.appendRect(r);
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
calculateLayerTileRects(e) {
|
|
801
|
+
let t = this.textureManager.tilesForLayer(e);
|
|
802
|
+
for (let n = 0; n < t.length; ++n) {
|
|
803
|
+
let r = t[n];
|
|
804
|
+
if (!r.texture) continue;
|
|
805
|
+
let i = new Ee(e, {
|
|
806
|
+
rect: r.rect,
|
|
807
|
+
snapshot: r.snapshot
|
|
808
|
+
}), a = new J(i);
|
|
809
|
+
this.snapshotLayers.has(e) || this.snapshotLayers.set(e, i), a.calculateVerticesFromRect(e, r.rect, this.depthForLayer(e) + 1), a.texture = r.texture, this.appendRect(a);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
calculateRects() {
|
|
813
|
+
if (this.rects = [], this.snapshotLayers.clear(), this.dimensionsForAutoscale = {
|
|
814
|
+
width: 0,
|
|
815
|
+
height: 0
|
|
816
|
+
}, this.layerTree && this.layerTree.forEachLayer(this.calculateLayerRect.bind(this)), this.showSlowScrollRectsSetting && this.showSlowScrollRectsSetting.get() && this.layerTree && this.layerTree.forEachLayer(this.calculateLayerScrollRects.bind(this)), this.layerTexture && this.visibleLayers.has(this.layerTexture.layer)) {
|
|
817
|
+
let e = this.layerTexture.layer, t = new J(new k(e));
|
|
818
|
+
t.setVertices(e.quad(), this.depthForLayer(e)), t.texture = this.layerTexture.texture, this.appendRect(t);
|
|
819
|
+
} else this.showPaints() && this.layerTree && this.layerTree.forEachLayer(this.calculateLayerTileRects.bind(this));
|
|
820
|
+
}
|
|
821
|
+
makeColorsArray(e) {
|
|
822
|
+
let t = [], n = [
|
|
823
|
+
e[0] / 255,
|
|
824
|
+
e[1] / 255,
|
|
825
|
+
e[2] / 255,
|
|
826
|
+
e[3]
|
|
827
|
+
];
|
|
828
|
+
for (let e = 0; e < 4; e++) t = t.concat(n);
|
|
829
|
+
return t;
|
|
830
|
+
}
|
|
831
|
+
setVertexAttribute(e, t, n) {
|
|
832
|
+
let r = this.gl;
|
|
833
|
+
if (!r) return;
|
|
834
|
+
let i = r.createBuffer();
|
|
835
|
+
r.bindBuffer(r.ARRAY_BUFFER, i), r.bufferData(r.ARRAY_BUFFER, new Float32Array(t), r.STATIC_DRAW), r.vertexAttribPointer(e, n, r.FLOAT, !1, 0, 0);
|
|
836
|
+
}
|
|
837
|
+
drawRectangle(e, t, n, r) {
|
|
838
|
+
let i = this.gl;
|
|
839
|
+
if (n ||= [
|
|
840
|
+
255,
|
|
841
|
+
255,
|
|
842
|
+
255,
|
|
843
|
+
1
|
|
844
|
+
], !this.shaderProgram) return;
|
|
845
|
+
let a = Ge.get(this.shaderProgram), o = qe.get(this.shaderProgram), s = Ke.get(this.shaderProgram);
|
|
846
|
+
if (a !== void 0 && this.setVertexAttribute(a, e, 3), o !== void 0 && this.setVertexAttribute(o, [
|
|
847
|
+
0,
|
|
848
|
+
1,
|
|
849
|
+
1,
|
|
850
|
+
1,
|
|
851
|
+
1,
|
|
852
|
+
0,
|
|
853
|
+
0,
|
|
854
|
+
0
|
|
855
|
+
], 2), s !== void 0 && this.setVertexAttribute(s, this.makeColorsArray(n), n.length), !i) return;
|
|
856
|
+
let c = Ye.get(this.shaderProgram);
|
|
857
|
+
r ? c && (i.activeTexture(i.TEXTURE0), i.bindTexture(i.TEXTURE_2D, r), i.uniform1i(c, 0)) : this.whiteTexture && i.bindTexture(i.TEXTURE_2D, this.whiteTexture);
|
|
858
|
+
let l = e.length / 3;
|
|
859
|
+
i.drawArrays(t, 0, l);
|
|
860
|
+
}
|
|
861
|
+
drawTexture(e, t, n) {
|
|
862
|
+
this.gl && this.drawRectangle(e, this.gl.TRIANGLE_FAN, n, t);
|
|
863
|
+
}
|
|
864
|
+
drawViewportAndChrome() {
|
|
865
|
+
if (!this.layerTree) return;
|
|
866
|
+
let e = this.layerTree.viewportSize();
|
|
867
|
+
if (!e) return;
|
|
868
|
+
let t = a.instance().moduleSetting("frame-viewer-chrome-window").get() && this.chromeTextures.length >= 3 && this.chromeTextures.indexOf(void 0) < 0, n = (this.maxDepth + 1) * 20, r = Math.ceil(3 * this.scale), i = [
|
|
869
|
+
e.width,
|
|
870
|
+
0,
|
|
871
|
+
n,
|
|
872
|
+
e.width,
|
|
873
|
+
e.height,
|
|
874
|
+
n,
|
|
875
|
+
0,
|
|
876
|
+
e.height,
|
|
877
|
+
n,
|
|
878
|
+
0,
|
|
879
|
+
0,
|
|
880
|
+
n
|
|
881
|
+
];
|
|
882
|
+
if (!this.gl || (this.gl.lineWidth(r), this.drawRectangle(i, t ? this.gl.LINE_STRIP : this.gl.LINE_LOOP, it), !t)) return;
|
|
883
|
+
let o = this.layerTree.viewportSize();
|
|
884
|
+
if (!o) return;
|
|
885
|
+
let s = o.width + 2 * 1.5;
|
|
886
|
+
if (this.chromeTextures[0] && this.chromeTextures[2]) {
|
|
887
|
+
let e = K.get(this.chromeTextures[0]) || {
|
|
888
|
+
naturalHeight: 0,
|
|
889
|
+
naturalWidth: 0
|
|
890
|
+
}, t = e.naturalHeight, r = K.get(this.chromeTextures[2]) || {
|
|
891
|
+
naturalHeight: 0,
|
|
892
|
+
naturalWidth: 0
|
|
893
|
+
}, a = s - e.naturalWidth - r.naturalWidth, o = -1.5, c = -t;
|
|
894
|
+
for (let e = 0; e < this.chromeTextures.length; ++e) {
|
|
895
|
+
let r = this.chromeTextures[e];
|
|
896
|
+
if (!r) continue;
|
|
897
|
+
let l = K.get(r);
|
|
898
|
+
if (!l) continue;
|
|
899
|
+
let u = e === 1 ? a : l.naturalWidth;
|
|
900
|
+
if (u < 0 || o + u > s) break;
|
|
901
|
+
i = [
|
|
902
|
+
o,
|
|
903
|
+
c,
|
|
904
|
+
n,
|
|
905
|
+
o + u,
|
|
906
|
+
c,
|
|
907
|
+
n,
|
|
908
|
+
o + u,
|
|
909
|
+
c + t,
|
|
910
|
+
n,
|
|
911
|
+
o,
|
|
912
|
+
c + t,
|
|
913
|
+
n
|
|
914
|
+
], this.drawTexture(i, this.chromeTextures[e]), o += u;
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
drawViewRect(e) {
|
|
919
|
+
if (!this.gl) return;
|
|
920
|
+
let t = e.vertices;
|
|
921
|
+
e.texture ? this.drawTexture(t, e.texture, e.fillColor || void 0) : e.fillColor && this.drawRectangle(t, this.gl.TRIANGLE_FAN, e.fillColor), this.gl.lineWidth(e.lineWidth), e.borderColor && this.drawRectangle(t, this.gl.LINE_LOOP, e.borderColor);
|
|
922
|
+
}
|
|
923
|
+
updateData() {
|
|
924
|
+
if (!this.isShowing()) {
|
|
925
|
+
this.needsUpdate = !0;
|
|
926
|
+
return;
|
|
927
|
+
}
|
|
928
|
+
this.updateScheduled || (this.updateScheduled = !0, requestAnimationFrame(() => requestAnimationFrame(() => {
|
|
929
|
+
this.updateScheduled = !1, this.#r();
|
|
930
|
+
})));
|
|
931
|
+
}
|
|
932
|
+
#r() {
|
|
933
|
+
if (this.performUpdate(), !this.layerTree?.root()) {
|
|
934
|
+
this.#t = "missing-root", this.performUpdate();
|
|
935
|
+
return;
|
|
936
|
+
}
|
|
937
|
+
let e = this.initGLIfNecessary();
|
|
938
|
+
if (!e) {
|
|
939
|
+
this.#t = "webgl-disabled", this.performUpdate();
|
|
940
|
+
return;
|
|
941
|
+
}
|
|
942
|
+
this.#t = void 0;
|
|
943
|
+
let t = this.#n.width, n = this.#n.height;
|
|
944
|
+
this.calculateDepthsAndVisibility(), this.calculateRects(), this.updateTransformAndConstraints(), e.viewport(0, 0, t, n), e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT), this.rects.forEach(this.drawViewRect.bind(this)), this.drawViewportAndChrome();
|
|
945
|
+
}
|
|
946
|
+
selectionFromEventPoint(e) {
|
|
947
|
+
let t = e;
|
|
948
|
+
if (!this.layerTree) return null;
|
|
949
|
+
let n = Infinity, r = null, i = new WebKitCSSMatrix().scale(1, -1, -1).translate(-1, -1, 0).multiply(this.projectionMatrix), a = (t.clientX - this.#n.getBoundingClientRect().left) * window.devicePixelRatio, o = -(t.clientY - this.#n.getBoundingClientRect().top) * window.devicePixelRatio;
|
|
950
|
+
function s(e) {
|
|
951
|
+
if (!e.relatedObject) return;
|
|
952
|
+
let t = e.intersectWithLine(i, a, o);
|
|
953
|
+
t && t < n && (n = t, r = e.relatedObject);
|
|
954
|
+
}
|
|
955
|
+
return this.rects.forEach(s), r;
|
|
956
|
+
}
|
|
957
|
+
createVisibilitySetting(e, t, n, r) {
|
|
958
|
+
let i = a.instance().createSetting(t, n);
|
|
959
|
+
return i.setTitle(e), i.addChangeListener(this.updateData, this), r.appendToolbarItem(new me(i)), i;
|
|
960
|
+
}
|
|
961
|
+
onContextMenu(e) {
|
|
962
|
+
let t = new ne(e);
|
|
963
|
+
t.defaultSection().appendItem(G(W.resetView), () => this.transformController.resetAndNotify(), { jslogContext: "layers.3d-center" });
|
|
964
|
+
let n = this.selectionFromEventPoint(e);
|
|
965
|
+
n && n.type() === O.SNAPSHOT && t.defaultSection().appendItem(G(W.showPaintProfiler), () => this.dispatchEventToListeners("PaintProfilerRequested", n), { jslogContext: "layers.paint-profiler" }), this.layerViewHost.showContextMenu(t, n);
|
|
966
|
+
}
|
|
967
|
+
onMouseMove(e) {
|
|
968
|
+
e.which || this.layerViewHost.hoverObject(this.selectionFromEventPoint(e));
|
|
969
|
+
}
|
|
970
|
+
onMouseDown(e) {
|
|
971
|
+
let t = e;
|
|
972
|
+
this.mouseDownX = t.clientX, this.mouseDownY = t.clientY;
|
|
973
|
+
}
|
|
974
|
+
onMouseUp(e) {
|
|
975
|
+
let t = e;
|
|
976
|
+
this.mouseDownX && Math.abs(t.clientX - this.mouseDownX) < 6 && Math.abs(t.clientY - (this.mouseDownY || 0)) < 6 && (this.#n.focus(), this.layerViewHost.selectObject(this.selectionFromEventPoint(e))), delete this.mouseDownX, delete this.mouseDownY;
|
|
977
|
+
}
|
|
978
|
+
onDoubleClick(e) {
|
|
979
|
+
let t = this.selectionFromEventPoint(e);
|
|
980
|
+
t && (t.type() === O.SNAPSHOT || t.layer()) && this.dispatchEventToListeners("PaintProfilerRequested", t), e.stopPropagation();
|
|
981
|
+
}
|
|
982
|
+
updatePaints() {
|
|
983
|
+
this.showPaints() ? (this.textureManager.setLayerTree(this.layerTree), this.textureManager.forceUpdate()) : this.textureManager.reset(), this.updateData();
|
|
984
|
+
}
|
|
985
|
+
showPaints() {
|
|
986
|
+
return this.showPaintsSetting ? this.showPaintsSetting.get() : !1;
|
|
987
|
+
}
|
|
988
|
+
}, Qe = /* @__PURE__ */ function(e) {
|
|
989
|
+
return e.PAINT_PROFILER_REQUESTED = "PaintProfilerRequested", e.SCALE_CHANGED = "ScaleChanged", e;
|
|
990
|
+
}({}), $e = "precision mediump float;\nvarying vec4 vColor;\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nvoid main(void)\n{\n gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t)) * vColor;\n}", et = "attribute vec3 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec4 aVertexColor;\nuniform mat4 uPMatrix;\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nvoid main(void)\n{\ngl_Position = uPMatrix * vec4(aVertexPosition, 1.0);\nvColor = aVertexColor;\nvTextureCoord = aTextureCoord;\n}", tt = [
|
|
991
|
+
0,
|
|
992
|
+
0,
|
|
993
|
+
255,
|
|
994
|
+
1
|
|
995
|
+
], nt = [
|
|
996
|
+
0,
|
|
997
|
+
255,
|
|
998
|
+
0,
|
|
999
|
+
1
|
|
1000
|
+
], rt = [
|
|
1001
|
+
0,
|
|
1002
|
+
0,
|
|
1003
|
+
0,
|
|
1004
|
+
1
|
|
1005
|
+
], it = [
|
|
1006
|
+
160,
|
|
1007
|
+
160,
|
|
1008
|
+
160,
|
|
1009
|
+
1
|
|
1010
|
+
], at = [
|
|
1011
|
+
178,
|
|
1012
|
+
100,
|
|
1013
|
+
100,
|
|
1014
|
+
.6
|
|
1015
|
+
], ot = [
|
|
1016
|
+
200,
|
|
1017
|
+
200,
|
|
1018
|
+
255,
|
|
1019
|
+
1
|
|
1020
|
+
], q = class {
|
|
1021
|
+
textureUpdatedCallback;
|
|
1022
|
+
throttler;
|
|
1023
|
+
scale;
|
|
1024
|
+
active;
|
|
1025
|
+
queue;
|
|
1026
|
+
tilesByLayer;
|
|
1027
|
+
gl;
|
|
1028
|
+
constructor(e) {
|
|
1029
|
+
this.textureUpdatedCallback = e, this.throttler = new c(0), this.scale = 0, this.active = !1, this.reset();
|
|
1030
|
+
}
|
|
1031
|
+
static createTextureForImage(e, t) {
|
|
1032
|
+
if (!e) throw Error("WebGLRenderingContext not provided");
|
|
1033
|
+
let n = e.createTexture();
|
|
1034
|
+
if (!n) throw Error("Unable to create texture");
|
|
1035
|
+
return K.set(n, t), e.bindTexture(e.TEXTURE_2D, n), e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL, 1), e.texImage2D(e.TEXTURE_2D, 0, e.RGBA, e.RGBA, e.UNSIGNED_BYTE, t), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.LINEAR), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, e.LINEAR), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE), e.bindTexture(e.TEXTURE_2D, null), n;
|
|
1036
|
+
}
|
|
1037
|
+
reset() {
|
|
1038
|
+
this.tilesByLayer && this.setLayerTree(null), this.tilesByLayer = /* @__PURE__ */ new Map(), this.queue = [];
|
|
1039
|
+
}
|
|
1040
|
+
setContext(e) {
|
|
1041
|
+
this.gl = e, this.scale && this.updateTextures();
|
|
1042
|
+
}
|
|
1043
|
+
suspend() {
|
|
1044
|
+
this.active = !1;
|
|
1045
|
+
}
|
|
1046
|
+
resume() {
|
|
1047
|
+
this.active = !0, this.queue.length && this.update();
|
|
1048
|
+
}
|
|
1049
|
+
setLayerTree(e) {
|
|
1050
|
+
let t = /* @__PURE__ */ new Set(), n = Array.from(this.tilesByLayer.keys());
|
|
1051
|
+
e && e.forEachLayer((e) => {
|
|
1052
|
+
e.drawsContent() && (t.add(e), this.tilesByLayer.has(e) || (this.tilesByLayer.set(e, []), this.layerNeedsUpdate(e)));
|
|
1053
|
+
}), n.length || this.forceUpdate();
|
|
1054
|
+
for (let e of n) {
|
|
1055
|
+
if (t.has(e)) continue;
|
|
1056
|
+
let n = this.tilesByLayer.get(e);
|
|
1057
|
+
n && n.forEach((e) => e.dispose()), this.tilesByLayer.delete(e);
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
setSnapshotsForLayer(e, t) {
|
|
1061
|
+
let n = new Map((this.tilesByLayer.get(e) || []).map((e) => [e.snapshot, e])), r = [], i = [];
|
|
1062
|
+
for (let e of t) {
|
|
1063
|
+
let t = n.get(e.snapshot);
|
|
1064
|
+
t ? (i.push(t), n.delete(e.snapshot)) : r.push(new st(e));
|
|
1065
|
+
}
|
|
1066
|
+
this.tilesByLayer.set(e, i.concat(r));
|
|
1067
|
+
for (let e of n.values()) e.dispose();
|
|
1068
|
+
let a = this.gl;
|
|
1069
|
+
return !a || !this.scale ? Promise.resolve() : Promise.all(r.map((e) => e.update(a, this.scale))).then(this.textureUpdatedCallback);
|
|
1070
|
+
}
|
|
1071
|
+
setScale(e) {
|
|
1072
|
+
this.scale && this.scale >= e || (this.scale = e, this.updateTextures());
|
|
1073
|
+
}
|
|
1074
|
+
tilesForLayer(e) {
|
|
1075
|
+
return this.tilesByLayer.get(e) || [];
|
|
1076
|
+
}
|
|
1077
|
+
layerNeedsUpdate(e) {
|
|
1078
|
+
this.queue.indexOf(e) < 0 && this.queue.push(e), this.active && this.throttler.schedule(this.update.bind(this));
|
|
1079
|
+
}
|
|
1080
|
+
forceUpdate() {
|
|
1081
|
+
this.queue.forEach((e) => this.updateLayer(e)), this.queue = [], this.update();
|
|
1082
|
+
}
|
|
1083
|
+
update() {
|
|
1084
|
+
let e = this.queue.shift();
|
|
1085
|
+
return e ? (this.queue.length && this.throttler.schedule(this.update.bind(this)), this.updateLayer(e)) : Promise.resolve();
|
|
1086
|
+
}
|
|
1087
|
+
updateLayer(e) {
|
|
1088
|
+
return Promise.all(e.snapshots()).then((t) => this.setSnapshotsForLayer(e, t.filter((e) => e !== null)));
|
|
1089
|
+
}
|
|
1090
|
+
updateTextures() {
|
|
1091
|
+
if (this.gl && this.scale) for (let e of this.tilesByLayer.values()) for (let t of e) {
|
|
1092
|
+
let e = t.updateScale(this.gl, this.scale);
|
|
1093
|
+
e && e.then(this.textureUpdatedCallback);
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1096
|
+
}, J = class {
|
|
1097
|
+
relatedObject;
|
|
1098
|
+
lineWidth;
|
|
1099
|
+
borderColor;
|
|
1100
|
+
fillColor;
|
|
1101
|
+
texture;
|
|
1102
|
+
vertices;
|
|
1103
|
+
constructor(e) {
|
|
1104
|
+
this.relatedObject = e, this.lineWidth = 1, this.borderColor = null, this.fillColor = null, this.texture = null;
|
|
1105
|
+
}
|
|
1106
|
+
setVertices(e, t) {
|
|
1107
|
+
this.vertices = [
|
|
1108
|
+
e[0],
|
|
1109
|
+
e[1],
|
|
1110
|
+
t,
|
|
1111
|
+
e[2],
|
|
1112
|
+
e[3],
|
|
1113
|
+
t,
|
|
1114
|
+
e[4],
|
|
1115
|
+
e[5],
|
|
1116
|
+
t,
|
|
1117
|
+
e[6],
|
|
1118
|
+
e[7],
|
|
1119
|
+
t
|
|
1120
|
+
];
|
|
1121
|
+
}
|
|
1122
|
+
calculatePointOnQuad(e, t, n) {
|
|
1123
|
+
let r = e[0], i = e[1], a = e[2], o = e[3], s = e[4], c = e[5], l = e[6], u = e[7], d = r + t * (a - r), f = i + t * (o - i), p = l + t * (s - l), m = u + t * (c - u);
|
|
1124
|
+
return [d + n * (p - d), f + n * (m - f)];
|
|
1125
|
+
}
|
|
1126
|
+
calculateVerticesFromRect(e, t, n) {
|
|
1127
|
+
let r = e.quad(), i = t.x / e.width(), a = (t.x + t.width) / e.width(), o = t.y / e.height(), s = (t.y + t.height) / e.height(), c = this.calculatePointOnQuad(r, i, o).concat(this.calculatePointOnQuad(r, a, o)).concat(this.calculatePointOnQuad(r, a, s)).concat(this.calculatePointOnQuad(r, i, s));
|
|
1128
|
+
this.setVertices(c, n);
|
|
1129
|
+
}
|
|
1130
|
+
intersectWithLine(e, t, n) {
|
|
1131
|
+
let r, i = [];
|
|
1132
|
+
for (r = 0; r < 4; ++r) i[r] = x(new ve(this.vertices[r * 3], this.vertices[r * 3 + 1], this.vertices[r * 3 + 2]), e);
|
|
1133
|
+
let a = b(f(i[1], i[0]), f(i[2], i[1])), o = a.x, s = a.y, c = a.z, l = -(-(o * i[0].x + s * i[0].y + c * i[0].z) + o * t + s * n) / c, u = new ve(t, n, l), d = i.map(f.bind(null, u));
|
|
1134
|
+
for (r = 0; r < d.length; ++r) if (se(a, b(d[r], d[(r + 1) % d.length])) < 0) return;
|
|
1135
|
+
return l;
|
|
1136
|
+
}
|
|
1137
|
+
}, st = class {
|
|
1138
|
+
snapshot;
|
|
1139
|
+
rect;
|
|
1140
|
+
scale;
|
|
1141
|
+
texture;
|
|
1142
|
+
gl;
|
|
1143
|
+
constructor(e) {
|
|
1144
|
+
this.snapshot = e.snapshot, this.rect = e.rect, this.scale = 0, this.texture = null;
|
|
1145
|
+
}
|
|
1146
|
+
dispose() {
|
|
1147
|
+
this.snapshot.release(), this.texture &&= (this.gl.deleteTexture(this.texture), null);
|
|
1148
|
+
}
|
|
1149
|
+
updateScale(e, t) {
|
|
1150
|
+
return this.texture && this.scale >= t ? null : this.update(e, t);
|
|
1151
|
+
}
|
|
1152
|
+
async update(e, t) {
|
|
1153
|
+
this.gl = e, this.scale = t;
|
|
1154
|
+
let n = await this.snapshot.replay(t), r = n ? await g(n) : null;
|
|
1155
|
+
this.texture = r ? q.createTextureForImage(e, r) : null;
|
|
1156
|
+
}
|
|
1157
|
+
}, ct = "/*\n * Copyright 2016 The Chromium Authors\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.paint-profiler-overview {\n background-color: var(--sys-color-cdt-base-container);\n}\n\n.paint-profiler-canvas-container {\n flex: auto;\n position: relative;\n}\n\n.paint-profiler-pie-chart {\n width: 60px !important; /* stylelint-disable-line declaration-no-important */\n height: 60px !important; /* stylelint-disable-line declaration-no-important */\n padding: 2px;\n overflow: hidden;\n font-size: 10px;\n}\n\n.paint-profiler-canvas-container canvas {\n z-index: 200;\n background-color: var(--sys-color-cdt-base-container);\n opacity: 95%;\n height: 100%;\n width: 100%;\n}\n\n.paint-profiler-canvas-container .overview-grid-window-resizer {\n z-index: 2000;\n}\n", Y = {
|
|
1158
|
+
profiling: "Profiling…",
|
|
1159
|
+
shapes: "Shapes",
|
|
1160
|
+
bitmap: "Bitmap",
|
|
1161
|
+
text: "Text",
|
|
1162
|
+
misc: "Misc",
|
|
1163
|
+
profilingResults: "Profiling results",
|
|
1164
|
+
commandLog: "Command Log"
|
|
1165
|
+
}, lt = u("panels/layer_viewer/PaintProfilerView.ts", Y), X = i.bind(void 0, lt), Z = null, Q = null, ut = class n extends s(d) {
|
|
1166
|
+
canvasContainer;
|
|
1167
|
+
progressBanner;
|
|
1168
|
+
pieChart;
|
|
1169
|
+
showImageCallback;
|
|
1170
|
+
canvas;
|
|
1171
|
+
context;
|
|
1172
|
+
#e;
|
|
1173
|
+
innerBarWidth;
|
|
1174
|
+
minBarHeight;
|
|
1175
|
+
barPaddingWidth;
|
|
1176
|
+
outerBarWidth;
|
|
1177
|
+
pendingScale;
|
|
1178
|
+
scale;
|
|
1179
|
+
samplesPerBar;
|
|
1180
|
+
log;
|
|
1181
|
+
snapshot;
|
|
1182
|
+
logCategories;
|
|
1183
|
+
profiles;
|
|
1184
|
+
updateImageTimer;
|
|
1185
|
+
constructor(e) {
|
|
1186
|
+
super({ useShadowDom: !0 }), this.registerRequiredCSS(ct), this.contentElement.classList.add("paint-profiler-overview"), this.canvasContainer = this.contentElement.createChild("div", "paint-profiler-canvas-container"), this.progressBanner = this.contentElement.createChild("div", "empty-state hidden"), this.progressBanner.textContent = X(Y.profiling), this.pieChart = new be(), this.populatePieChart(0, []), this.pieChart.classList.add("paint-profiler-pie-chart"), this.contentElement.appendChild(this.pieChart), this.showImageCallback = e, this.canvas = this.canvasContainer.createChild("canvas", "fill"), this.context = this.canvas.getContext("2d"), this.#e = new xe(this.canvasContainer), this.#e.addEventListener(Se.WINDOW_CHANGED, this.onWindowChanged, this), this.innerBarWidth = 4 * window.devicePixelRatio, this.minBarHeight = window.devicePixelRatio, this.barPaddingWidth = 2 * window.devicePixelRatio, this.outerBarWidth = this.innerBarWidth + this.barPaddingWidth, this.pendingScale = 1, this.scale = this.pendingScale, this.samplesPerBar = 0, this.log = [], this.reset();
|
|
1187
|
+
}
|
|
1188
|
+
static categories() {
|
|
1189
|
+
return Z ||= {
|
|
1190
|
+
shapes: new $("shapes", X(Y.shapes), "rgb(255, 161, 129)"),
|
|
1191
|
+
bitmap: new $("bitmap", X(Y.bitmap), "rgb(136, 196, 255)"),
|
|
1192
|
+
text: new $("text", X(Y.text), "rgb(180, 255, 137)"),
|
|
1193
|
+
misc: new $("misc", X(Y.misc), "rgb(206, 160, 255)")
|
|
1194
|
+
}, Z;
|
|
1195
|
+
}
|
|
1196
|
+
static initLogItemCategories() {
|
|
1197
|
+
if (!Q) {
|
|
1198
|
+
let e = n.categories(), t = {};
|
|
1199
|
+
t.Clear = e.misc, t.DrawPaint = e.misc, t.DrawData = e.misc, t.SetMatrix = e.misc, t.PushCull = e.misc, t.PopCull = e.misc, t.Translate = e.misc, t.Scale = e.misc, t.Concat = e.misc, t.Restore = e.misc, t.SaveLayer = e.misc, t.Save = e.misc, t.BeginCommentGroup = e.misc, t.AddComment = e.misc, t.EndCommentGroup = e.misc, t.ClipRect = e.misc, t.ClipRRect = e.misc, t.ClipPath = e.misc, t.ClipRegion = e.misc, t.DrawPoints = e.shapes, t.DrawRect = e.shapes, t.DrawOval = e.shapes, t.DrawRRect = e.shapes, t.DrawPath = e.shapes, t.DrawVertices = e.shapes, t.DrawDRRect = e.shapes, t.DrawBitmap = e.bitmap, t.DrawBitmapRectToRect = e.bitmap, t.DrawBitmapMatrix = e.bitmap, t.DrawBitmapNine = e.bitmap, t.DrawSprite = e.bitmap, t.DrawPicture = e.bitmap, t.DrawText = e.text, t.DrawPosText = e.text, t.DrawPosTextH = e.text, t.DrawTextOnPath = e.text, Q = t;
|
|
1200
|
+
}
|
|
1201
|
+
return Q;
|
|
1202
|
+
}
|
|
1203
|
+
static categoryForLogItem(t) {
|
|
1204
|
+
let r = e(t.method), i = n.initLogItemCategories(), a = i[r];
|
|
1205
|
+
return a || (a = n.categories().misc, i[r] = a), a;
|
|
1206
|
+
}
|
|
1207
|
+
onResize() {
|
|
1208
|
+
this.update();
|
|
1209
|
+
}
|
|
1210
|
+
async setSnapshotAndLog(e, t, r) {
|
|
1211
|
+
if (this.reset(), this.snapshot = e, this.snapshot && this.snapshot.addReference(), this.log = t, this.logCategories = this.log.map(n.categoryForLogItem), !e) {
|
|
1212
|
+
this.update(), this.populatePieChart(0, []), this.#e.setResizeEnabled(!1);
|
|
1213
|
+
return;
|
|
1214
|
+
}
|
|
1215
|
+
this.#e.setResizeEnabled(!0), this.progressBanner.classList.remove("hidden"), this.updateImage();
|
|
1216
|
+
let i = await e.profile(r);
|
|
1217
|
+
this.progressBanner.classList.add("hidden"), this.profiles = i, this.update(), this.updatePieChart();
|
|
1218
|
+
}
|
|
1219
|
+
setScale(e) {
|
|
1220
|
+
let t = e > this.scale;
|
|
1221
|
+
this.pendingScale = Math.min(1, e * 2), t && this.snapshot && this.updateImage();
|
|
1222
|
+
}
|
|
1223
|
+
update() {
|
|
1224
|
+
if (this.canvas.width = this.canvasContainer.clientWidth * window.devicePixelRatio, this.canvas.height = this.canvasContainer.clientHeight * window.devicePixelRatio, this.samplesPerBar = 0, !this.profiles?.length || !this.logCategories) return;
|
|
1225
|
+
let e = Math.floor((this.canvas.width - 2 * this.barPaddingWidth) / this.outerBarWidth), t = this.log.length;
|
|
1226
|
+
this.samplesPerBar = Math.ceil(t / e);
|
|
1227
|
+
let n = 0, r = [], i = [], a = {};
|
|
1228
|
+
for (let e = 0, o = 0, s = 0; e < t;) {
|
|
1229
|
+
let c = this.logCategories[e]?.name || "misc", l = this.log[e].commandIndex;
|
|
1230
|
+
for (let e = 0; e < this.profiles.length; e++) {
|
|
1231
|
+
let t = this.profiles[e][l];
|
|
1232
|
+
s += t, a[c] = (a[c] || 0) + t;
|
|
1233
|
+
}
|
|
1234
|
+
if (++e, e - o === this.samplesPerBar || e === t) {
|
|
1235
|
+
let t = this.profiles.length * (e - o);
|
|
1236
|
+
for (c in s /= t, a) a[c] /= t;
|
|
1237
|
+
r.push(s), i.push(a), s > n && (n = s), s = 0, a = {}, o = e;
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
let o = 4 * window.devicePixelRatio, s = (this.canvas.height - o - this.minBarHeight) / n;
|
|
1241
|
+
for (let e = 0; e < r.length; ++e) {
|
|
1242
|
+
for (let t in i[e]) i[e][t] *= (r[e] * s + this.minBarHeight) / r[e];
|
|
1243
|
+
this.renderBar(e, i[e]);
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
renderBar(e, t) {
|
|
1247
|
+
let r = n.categories(), i = 0, a = this.barPaddingWidth + e * this.outerBarWidth;
|
|
1248
|
+
for (let e in r) {
|
|
1249
|
+
if (!t[e]) continue;
|
|
1250
|
+
i += t[e];
|
|
1251
|
+
let n = this.canvas.height - i;
|
|
1252
|
+
this.context.fillStyle = r[e].color, this.context.fillRect(a, n, this.innerBarWidth, t[e]);
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
onWindowChanged() {
|
|
1256
|
+
this.dispatchEventToListeners("WindowChanged"), this.updatePieChart(), !this.updateImageTimer && (this.updateImageTimer = window.setTimeout(this.updateImage.bind(this), 100));
|
|
1257
|
+
}
|
|
1258
|
+
updatePieChart() {
|
|
1259
|
+
let { total: e, slices: t } = this.calculatePieChart();
|
|
1260
|
+
this.populatePieChart(e, t);
|
|
1261
|
+
}
|
|
1262
|
+
calculatePieChart() {
|
|
1263
|
+
let e = this.selectionWindow();
|
|
1264
|
+
if (!this.profiles?.length || !e) return {
|
|
1265
|
+
total: 0,
|
|
1266
|
+
slices: []
|
|
1267
|
+
};
|
|
1268
|
+
let t = 0, r = {};
|
|
1269
|
+
for (let i = e.left; i < e.right; ++i) {
|
|
1270
|
+
let e = this.log[i], a = n.categoryForLogItem(e);
|
|
1271
|
+
r[a.color] = r[a.color] || 0;
|
|
1272
|
+
for (let n = 0; n < this.profiles.length; ++n) {
|
|
1273
|
+
let i = this.profiles[n][e.commandIndex];
|
|
1274
|
+
t += i, r[a.color] += i;
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
let i = [];
|
|
1278
|
+
for (let e in r) i.push({
|
|
1279
|
+
value: r[e] / this.profiles.length,
|
|
1280
|
+
color: e,
|
|
1281
|
+
title: ""
|
|
1282
|
+
});
|
|
1283
|
+
return {
|
|
1284
|
+
total: t / this.profiles.length,
|
|
1285
|
+
slices: i
|
|
1286
|
+
};
|
|
1287
|
+
}
|
|
1288
|
+
populatePieChart(e, t) {
|
|
1289
|
+
this.pieChart.data = {
|
|
1290
|
+
chartName: X(Y.profilingResults),
|
|
1291
|
+
size: 55,
|
|
1292
|
+
formatter: this.formatPieChartTime.bind(this),
|
|
1293
|
+
showLegend: !1,
|
|
1294
|
+
total: e,
|
|
1295
|
+
slices: t
|
|
1296
|
+
};
|
|
1297
|
+
}
|
|
1298
|
+
formatPieChartTime(e) {
|
|
1299
|
+
return o(e * 1e3, !0);
|
|
1300
|
+
}
|
|
1301
|
+
selectionWindow() {
|
|
1302
|
+
if (!this.log) return null;
|
|
1303
|
+
let e = (this.#e.windowLeftRatio || 0) * this.canvas.width, n = (this.#e.windowRightRatio || 0) * this.canvas.width, r = Math.floor(e / this.outerBarWidth), i = Math.floor((n + this.innerBarWidth - this.barPaddingWidth / 2) / this.outerBarWidth);
|
|
1304
|
+
return {
|
|
1305
|
+
left: t(r * this.samplesPerBar, 0, this.log.length - 1),
|
|
1306
|
+
right: t(i * this.samplesPerBar, 0, this.log.length)
|
|
1307
|
+
};
|
|
1308
|
+
}
|
|
1309
|
+
updateImage() {
|
|
1310
|
+
delete this.updateImageTimer;
|
|
1311
|
+
let e, t, n = this.selectionWindow();
|
|
1312
|
+
this.profiles?.length && n && (e = this.log[n.left].commandIndex, t = this.log[n.right - 1].commandIndex);
|
|
1313
|
+
let r = this.pendingScale;
|
|
1314
|
+
this.snapshot && this.snapshot.replay(r, e, t).then((e) => {
|
|
1315
|
+
e && (this.scale = r, this.showImageCallback(e));
|
|
1316
|
+
});
|
|
1317
|
+
}
|
|
1318
|
+
reset() {
|
|
1319
|
+
this.snapshot && this.snapshot.release(), this.snapshot = null, this.profiles = null, this.#e.reset(), this.#e.setResizeEnabled(!1);
|
|
1320
|
+
}
|
|
1321
|
+
}, dt = /* @__PURE__ */ function(e) {
|
|
1322
|
+
return e.WINDOW_CHANGED = "WindowChanged", e;
|
|
1323
|
+
}({}), ft = class extends ie {
|
|
1324
|
+
treeOutline;
|
|
1325
|
+
log;
|
|
1326
|
+
treeItemCache;
|
|
1327
|
+
selectionWindow;
|
|
1328
|
+
constructor() {
|
|
1329
|
+
super(), this.setMinimumSize(100, 25), this.element.classList.add("overflow-auto"), this.treeOutline = new fe(), p(this.treeOutline.contentElement, X(Y.commandLog)), this.element.appendChild(this.treeOutline.element), this.setDefaultFocusedElement(this.treeOutline.contentElement), this.log = [], this.treeItemCache = /* @__PURE__ */ new Map();
|
|
1330
|
+
}
|
|
1331
|
+
setCommandLog(e) {
|
|
1332
|
+
this.log = e, this.updateWindow({
|
|
1333
|
+
left: 0,
|
|
1334
|
+
right: this.log.length
|
|
1335
|
+
});
|
|
1336
|
+
}
|
|
1337
|
+
appendLogItem(e) {
|
|
1338
|
+
let t = this.treeItemCache.get(e);
|
|
1339
|
+
if (!t) t = new pt(e), this.treeItemCache.set(e, t);
|
|
1340
|
+
else if (t.parent) return;
|
|
1341
|
+
this.treeOutline.appendChild(t);
|
|
1342
|
+
}
|
|
1343
|
+
updateWindow(e) {
|
|
1344
|
+
this.selectionWindow = e, this.requestUpdate();
|
|
1345
|
+
}
|
|
1346
|
+
performUpdate() {
|
|
1347
|
+
if (!this.selectionWindow || !this.log.length) return this.treeOutline.removeChildren(), Promise.resolve();
|
|
1348
|
+
let e = this.treeOutline.rootElement();
|
|
1349
|
+
for (;;) {
|
|
1350
|
+
let t = e.firstChild();
|
|
1351
|
+
if (!t || t.logItem.commandIndex >= this.selectionWindow.left) break;
|
|
1352
|
+
e.removeChildAtIndex(0);
|
|
1353
|
+
}
|
|
1354
|
+
for (;;) {
|
|
1355
|
+
let t = e.lastChild();
|
|
1356
|
+
if (!t || t.logItem.commandIndex < this.selectionWindow.right) break;
|
|
1357
|
+
e.removeChildAtIndex(e.children().length - 1);
|
|
1358
|
+
}
|
|
1359
|
+
for (let e = this.selectionWindow.left, t = this.selectionWindow.right; e < t; ++e) this.appendLogItem(this.log[e]);
|
|
1360
|
+
return Promise.resolve();
|
|
1361
|
+
}
|
|
1362
|
+
}, pt = class extends T {
|
|
1363
|
+
logItem;
|
|
1364
|
+
constructor(e) {
|
|
1365
|
+
super("", !!e.params), this.logItem = e;
|
|
1366
|
+
}
|
|
1367
|
+
onattach() {
|
|
1368
|
+
this.update();
|
|
1369
|
+
}
|
|
1370
|
+
async onpopulate() {
|
|
1371
|
+
for (let e in this.logItem.params) mt.appendLogPropertyItem(this, e, this.logItem.params[e]);
|
|
1372
|
+
}
|
|
1373
|
+
paramToString(e, t) {
|
|
1374
|
+
if (typeof e != "object") return typeof e == "string" && e.length > 100 ? t : JSON.stringify(e);
|
|
1375
|
+
let n = "", r = 0;
|
|
1376
|
+
for (let i in e) {
|
|
1377
|
+
let a = e[i];
|
|
1378
|
+
if (++r > 4 || a === "object" || a === "string" && a.length > 100) return t;
|
|
1379
|
+
n && (n += ", "), n += a;
|
|
1380
|
+
}
|
|
1381
|
+
return n;
|
|
1382
|
+
}
|
|
1383
|
+
paramsToString(e) {
|
|
1384
|
+
let t = "";
|
|
1385
|
+
for (let n in e) t && (t += ", "), t += this.paramToString(e[n], n);
|
|
1386
|
+
return t;
|
|
1387
|
+
}
|
|
1388
|
+
update() {
|
|
1389
|
+
let e = document.createDocumentFragment();
|
|
1390
|
+
_e(e, this.logItem.method + "(" + this.paramsToString(this.logItem.params) + ")"), this.title = e;
|
|
1391
|
+
}
|
|
1392
|
+
}, mt = class e extends T {
|
|
1393
|
+
property;
|
|
1394
|
+
constructor(e) {
|
|
1395
|
+
super(), this.property = e;
|
|
1396
|
+
}
|
|
1397
|
+
static appendLogPropertyItem(t, n, r) {
|
|
1398
|
+
let i = new e({
|
|
1399
|
+
name: n,
|
|
1400
|
+
value: r
|
|
1401
|
+
});
|
|
1402
|
+
if (t.appendChild(i), r && typeof r == "object") for (let t in r) e.appendLogPropertyItem(i, t, r[t]);
|
|
1403
|
+
}
|
|
1404
|
+
onattach() {
|
|
1405
|
+
let e = document.createDocumentFragment(), t = e.createChild("span", "name");
|
|
1406
|
+
t.textContent = this.property.name;
|
|
1407
|
+
let n = e.createChild("span", "separator");
|
|
1408
|
+
if (n.textContent = ": ", this.property.value === null || typeof this.property.value != "object") {
|
|
1409
|
+
let t = e.createChild("span", "value");
|
|
1410
|
+
t.textContent = JSON.stringify(this.property.value), t.classList.add("cm-js-" + (this.property.value === null ? "null" : typeof this.property.value));
|
|
1411
|
+
}
|
|
1412
|
+
this.title = e;
|
|
1413
|
+
}
|
|
1414
|
+
}, $ = class {
|
|
1415
|
+
name;
|
|
1416
|
+
title;
|
|
1417
|
+
color;
|
|
1418
|
+
constructor(e, t, n) {
|
|
1419
|
+
this.name = e, this.title = t, this.color = n;
|
|
1420
|
+
}
|
|
1421
|
+
};
|
|
1422
|
+
//#endregion
|
|
1423
|
+
export { Ze as a, Ie as c, Ae as d, De as f, Qe as i, Fe as l, ft as n, Be as o, ut as r, H as s, dt as t, je as u };
|