@browserless.io/browserless 2.2.0-beta-6 → 2.2.0
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/CHANGELOG.md +21 -2
- package/bin/browserless.js +1 -1
- package/bin/scaffold/README.md +8 -7
- package/build/browserless.js +7 -6
- package/build/browsers/chrome.cdp.d.ts +6 -0
- package/build/browsers/chrome.cdp.js +6 -0
- package/build/browsers/chrome.playwright.d.ts +6 -0
- package/build/browsers/chrome.playwright.js +6 -0
- package/build/browsers/{cdp-chromium.d.ts → chromium.cdp.d.ts} +3 -2
- package/build/browsers/{cdp-chromium.js → chromium.cdp.js} +16 -10
- package/build/browsers/{playwright-chromium.d.ts → chromium.playwright.d.ts} +3 -2
- package/build/browsers/{playwright-chromium.js → chromium.playwright.js} +6 -5
- package/build/browsers/{playwright-firefox.d.ts → firefox.playwright.d.ts} +2 -2
- package/build/browsers/{playwright-firefox.js → firefox.playwright.js} +4 -4
- package/build/browsers/index.d.ts +20 -10
- package/build/browsers/index.js +110 -11
- package/build/browsers/{playwright-webkit.d.ts → webkit.playwright.d.ts} +2 -2
- package/build/browsers/{playwright-webkit.js → webkit.playwright.js} +4 -4
- package/build/data/selectors.json +1 -1
- package/build/exports.d.ts +6 -4
- package/build/exports.js +6 -4
- package/build/http.d.ts +22 -1
- package/build/http.js +21 -0
- package/build/router.js +19 -3
- package/build/routes/{chromium/http/content-post.body.json → chrome/http/content.post.body.json} +8 -8
- package/build/routes/chrome/http/content.post.d.ts +7 -0
- package/build/routes/chrome/http/content.post.js +6 -0
- package/build/routes/chrome/http/download.post.d.ts +7 -0
- package/build/routes/chrome/http/download.post.js +6 -0
- package/build/routes/chrome/http/function.post.d.ts +7 -0
- package/build/routes/chrome/http/function.post.js +6 -0
- package/build/routes/chrome/http/json-list.get.d.ts +1 -0
- package/build/routes/chrome/http/json-list.get.js +1 -0
- package/build/routes/chrome/http/json-new.put.d.ts +1 -0
- package/build/routes/chrome/http/json-new.put.js +1 -0
- package/build/routes/chrome/http/json-protocol.get.d.ts +1 -0
- package/build/routes/chrome/http/json-protocol.get.js +1 -0
- package/build/routes/chrome/http/json-version.get.d.ts +1 -0
- package/build/routes/chrome/http/json-version.get.js +1 -0
- package/build/routes/chrome/http/json-version.get.response.json +44 -0
- package/build/routes/{chromium/http/pdf-post.body.json → chrome/http/pdf.post.body.json} +8 -8
- package/build/routes/chrome/http/pdf.post.d.ts +7 -0
- package/build/routes/chrome/http/pdf.post.js +6 -0
- package/build/routes/chrome/http/performance.post.d.ts +7 -0
- package/build/routes/chrome/http/performance.post.js +6 -0
- package/build/routes/{chromium/http/scrape-post.body.json → chrome/http/scrape.post.body.json} +8 -8
- package/build/routes/chrome/http/scrape.post.d.ts +7 -0
- package/build/routes/chrome/http/scrape.post.js +6 -0
- package/build/routes/{chromium/http/screenshot-post.body.json → chrome/http/screenshot.post.body.json} +8 -8
- package/build/routes/chrome/http/screenshot.post.d.ts +7 -0
- package/build/routes/chrome/http/screenshot.post.js +6 -0
- package/build/routes/chrome/tests/content.spec.js +311 -0
- package/build/routes/chrome/tests/download.spec.js +67 -0
- package/build/routes/chrome/tests/function.spec.d.ts +1 -0
- package/build/routes/chrome/tests/function.spec.js +245 -0
- package/build/routes/chrome/tests/json-version.spec.d.ts +1 -0
- package/build/routes/chrome/tests/json-version.spec.js +37 -0
- package/build/routes/chrome/tests/page-websocket.spec.d.ts +1 -0
- package/build/routes/chrome/tests/page-websocket.spec.js +97 -0
- package/build/routes/chrome/tests/pdf.spec.d.ts +1 -0
- package/build/routes/chrome/tests/pdf.spec.js +333 -0
- package/build/routes/chrome/tests/performance.spec.d.ts +1 -0
- package/build/routes/chrome/tests/performance.spec.js +124 -0
- package/build/routes/chrome/tests/scrape.spec.d.ts +1 -0
- package/build/routes/chrome/tests/scrape.spec.js +354 -0
- package/build/routes/chrome/tests/screenshot.spec.d.ts +1 -0
- package/build/routes/chrome/tests/screenshot.spec.js +339 -0
- package/build/routes/chrome/tests/websocket.spec.d.ts +1 -0
- package/build/routes/chrome/tests/websocket.spec.js +371 -0
- package/build/routes/chrome/ws/browser.d.ts +6 -0
- package/build/routes/chrome/ws/browser.js +5 -0
- package/build/routes/chrome/ws/cdp.d.ts +7 -0
- package/build/routes/chrome/ws/cdp.js +6 -0
- package/build/routes/chrome/ws/cdp.query.json +120 -0
- package/build/routes/chrome/ws/page.d.ts +6 -0
- package/build/routes/chrome/ws/page.js +5 -0
- package/build/routes/chrome/ws/page.query.json +120 -0
- package/build/routes/chrome/ws/playwright.d.ts +7 -0
- package/build/routes/chrome/ws/playwright.js +6 -0
- package/build/routes/chromium/http/content.post.body.json +510 -0
- package/build/routes/chromium/http/content.post.d.ts +1 -0
- package/build/routes/chromium/http/content.post.js +1 -0
- package/build/routes/chromium/http/content.post.query.json +183 -0
- package/build/routes/chromium/http/content.post.response.json +5 -0
- package/build/routes/chromium/http/download.post.body.json +32 -0
- package/build/routes/chromium/http/download.post.d.ts +1 -0
- package/build/routes/chromium/http/download.post.js +1 -0
- package/build/routes/chromium/http/download.post.query.json +120 -0
- package/build/routes/chromium/http/download.post.response.json +4 -0
- package/build/routes/chromium/http/function.post.body.json +32 -0
- package/build/routes/chromium/http/function.post.d.ts +1 -0
- package/build/routes/chromium/http/function.post.js +1 -0
- package/build/routes/chromium/http/function.post.query.json +120 -0
- package/build/routes/chromium/http/function.post.response.json +4 -0
- package/build/routes/chromium/http/json-list.get.d.ts +1 -0
- package/build/routes/chromium/http/json-list.get.js +1 -0
- package/build/routes/chromium/http/json-list.get.response.json +52 -0
- package/build/routes/chromium/http/json-new.put.d.ts +1 -0
- package/build/routes/chromium/http/json-new.put.js +1 -0
- package/build/routes/chromium/http/json-new.put.response.json +44 -0
- package/build/routes/chromium/http/json-protocol.get.d.ts +1 -0
- package/build/routes/chromium/http/json-protocol.get.js +1 -0
- package/build/routes/chromium/http/json-protocol.get.response.json +6 -0
- package/build/routes/chromium/http/json-version.get.d.ts +1 -0
- package/build/routes/chromium/http/json-version.get.js +1 -0
- package/build/routes/chromium/http/json-version.get.response.json +44 -0
- package/build/routes/chromium/http/pdf.post.body.json +654 -0
- package/build/routes/chromium/http/pdf.post.d.ts +1 -0
- package/build/routes/chromium/http/pdf.post.js +1 -0
- package/build/routes/chromium/http/pdf.post.query.json +120 -0
- package/build/routes/chromium/http/pdf.post.response.json +5 -0
- package/build/routes/chromium/http/performance.post.body.json +26 -0
- package/build/routes/chromium/http/performance.post.d.ts +1 -0
- package/build/routes/chromium/http/performance.post.js +1 -0
- package/build/routes/chromium/http/performance.post.query.json +120 -0
- package/build/routes/chromium/http/performance.post.response.json +7 -0
- package/build/routes/chromium/http/scrape.post.body.json +557 -0
- package/build/routes/chromium/http/scrape.post.d.ts +1 -0
- package/build/routes/chromium/http/scrape.post.js +1 -0
- package/build/routes/chromium/http/scrape.post.query.json +183 -0
- package/build/routes/chromium/http/scrape.post.response.json +309 -0
- package/build/routes/chromium/http/screenshot.post.body.json +600 -0
- package/build/routes/chromium/http/screenshot.post.d.ts +1 -0
- package/build/routes/chromium/http/screenshot.post.js +1 -0
- package/build/routes/chromium/http/screenshot.post.query.json +120 -0
- package/build/routes/chromium/http/screenshot.post.response.json +5 -0
- package/build/routes/chromium/tests/content.spec.js +16 -16
- package/build/routes/chromium/tests/download.spec.js +3 -3
- package/build/routes/chromium/tests/function.spec.js +10 -10
- package/build/routes/chromium/tests/page-websocket.spec.d.ts +1 -0
- package/build/routes/chromium/tests/page-websocket.spec.js +97 -0
- package/build/routes/chromium/tests/pdf.spec.js +16 -16
- package/build/routes/chromium/tests/performance.spec.js +7 -7
- package/build/routes/chromium/tests/scrape.spec.js +15 -15
- package/build/routes/chromium/tests/screenshot.spec.js +17 -17
- package/build/routes/chromium/tests/websocket.spec.js +31 -37
- package/build/routes/chromium/ws/browser.d.ts +1 -16
- package/build/routes/chromium/ws/browser.js +1 -10
- package/build/routes/chromium/ws/cdp.d.ts +1 -0
- package/build/routes/chromium/ws/cdp.js +1 -0
- package/build/routes/chromium/ws/cdp.query.json +120 -0
- package/build/routes/chromium/ws/page.d.ts +1 -16
- package/build/routes/chromium/ws/page.js +1 -10
- package/build/routes/chromium/ws/playwright.d.ts +1 -0
- package/build/routes/chromium/ws/playwright.js +1 -0
- package/build/routes/firefox/ws/{playwright-firefox.d.ts → playwright.d.ts} +5 -5
- package/build/routes/firefox/ws/{playwright-firefox.js → playwright.js} +4 -4
- package/build/routes/management/http/{sessions-get.response.json → sessions.get.response.json} +11 -1
- package/build/routes/management/http/{static-get.js → static.get.js} +2 -2
- package/build/routes/webkit/ws/{playwright-webkit.d.ts → playwright.d.ts} +5 -5
- package/build/routes/webkit/ws/{playwright-webkit.js → playwright.js} +4 -4
- package/build/routes/webkit/ws/playwright.query.json +100 -0
- package/build/{routes/chromium/ws/cdp-chromium.d.ts → shared/browser.ws.d.ts} +4 -4
- package/build/shared/browser.ws.js +12 -0
- package/build/{routes/chromium/ws/playwright-chromium.d.ts → shared/chromium.playwright.ws.d.ts} +4 -4
- package/build/{routes/chromium/ws/playwright-chromium.js → shared/chromium.playwright.ws.js} +6 -3
- package/build/shared/chromium.ws.d.ts +16 -0
- package/build/shared/chromium.ws.js +10 -0
- package/build/{routes/chromium/http/content-post.d.ts → shared/content.http.d.ts} +3 -3
- package/build/{routes/chromium/http/content-post.js → shared/content.http.js} +3 -3
- package/build/{routes/chromium/http/download-post.d.ts → shared/download.http.d.ts} +3 -3
- package/build/{routes/chromium/http/download-post.js → shared/download.http.js} +4 -4
- package/build/{routes/chromium/http/function-post.d.ts → shared/function.http.d.ts} +3 -3
- package/build/{routes/chromium/http/function-post.js → shared/function.http.js} +4 -4
- package/build/{routes/chromium/http/json-new.d.ts → shared/json-list.http.d.ts} +2 -3
- package/build/{routes/chromium/http/json-list.js → shared/json-list.http.js} +5 -8
- package/build/{routes/chromium/http/json-list.d.ts → shared/json-new.http.d.ts} +2 -3
- package/build/shared/json-new.http.js +34 -0
- package/build/{routes/chromium/http/json-protocol-get.js → shared/json-protocol.http.js} +2 -2
- package/build/{routes/chromium/http/json-version-get.js → shared/json-version.http.js} +3 -3
- package/build/shared/page.ws.d.ts +16 -0
- package/build/shared/page.ws.js +13 -0
- package/build/{routes/chromium/http/pdf-post.d.ts → shared/pdf.http.d.ts} +3 -3
- package/build/{routes/chromium/http/pdf-post.js → shared/pdf.http.js} +3 -3
- package/build/{routes/chromium/http/performance.d.ts → shared/performance.http.d.ts} +3 -3
- package/build/{routes/chromium/http/performance.js → shared/performance.http.js} +4 -4
- package/build/{routes/chromium/http/scrape-post.d.ts → shared/scrape.http.d.ts} +3 -3
- package/build/{routes/chromium/http/scrape-post.js → shared/scrape.http.js} +3 -3
- package/build/{routes/chromium/http/screenshot-post.d.ts → shared/screenshot.http.d.ts} +3 -3
- package/build/{routes/chromium/http/screenshot-post.js → shared/screenshot.http.js} +3 -3
- package/build/shared/utils/performance/child.d.ts +1 -0
- package/build/{routes/chromium → shared}/utils/performance/main.js +1 -1
- package/build/shared/utils/performance/types.js +1 -0
- package/build/shim.js +2 -1
- package/build/types.d.ts +10 -8
- package/build/utils.d.ts +8 -3
- package/build/utils.js +24 -11
- package/docker/base/Dockerfile +1 -1
- package/docker/chrome/Dockerfile +4 -4
- package/docker/chromium/.dockerignore +16 -0
- package/docker/chromium/Dockerfile +40 -0
- package/docker/firefox/Dockerfile +1 -1
- package/docker/multi/Dockerfile +13 -1
- package/docker/webkit/Dockerfile +1 -1
- package/extensions/ublock/3p-filters.html +1 -1
- package/extensions/ublock/_locales/ar/messages.json +4 -0
- package/extensions/ublock/_locales/az/messages.json +4 -0
- package/extensions/ublock/_locales/be/messages.json +4 -0
- package/extensions/ublock/_locales/bg/messages.json +5 -1
- package/extensions/ublock/_locales/bn/messages.json +4 -0
- package/extensions/ublock/_locales/br_FR/messages.json +6 -2
- package/extensions/ublock/_locales/bs/messages.json +4 -0
- package/extensions/ublock/_locales/ca/messages.json +4 -0
- package/extensions/ublock/_locales/cs/messages.json +4 -0
- package/extensions/ublock/_locales/cv/messages.json +4 -0
- package/extensions/ublock/_locales/cy/messages.json +1294 -0
- package/extensions/ublock/_locales/da/messages.json +4 -0
- package/extensions/ublock/_locales/de/messages.json +5 -1
- package/extensions/ublock/_locales/el/messages.json +4 -0
- package/extensions/ublock/_locales/en/messages.json +4 -0
- package/extensions/ublock/_locales/en_GB/messages.json +4 -0
- package/extensions/ublock/_locales/eo/messages.json +9 -5
- package/extensions/ublock/_locales/es/messages.json +4 -0
- package/extensions/ublock/_locales/et/messages.json +4 -0
- package/extensions/ublock/_locales/eu/messages.json +8 -4
- package/extensions/ublock/_locales/fa/messages.json +4 -0
- package/extensions/ublock/_locales/fi/messages.json +4 -0
- package/extensions/ublock/_locales/fil/messages.json +4 -0
- package/extensions/ublock/_locales/fr/messages.json +4 -0
- package/extensions/ublock/_locales/fy/messages.json +4 -0
- package/extensions/ublock/_locales/gl/messages.json +4 -0
- package/extensions/ublock/_locales/gu/messages.json +4 -0
- package/extensions/ublock/_locales/he/messages.json +4 -0
- package/extensions/ublock/_locales/hi/messages.json +4 -0
- package/extensions/ublock/_locales/hr/messages.json +4 -0
- package/extensions/ublock/_locales/hu/messages.json +4 -0
- package/extensions/ublock/_locales/hy/messages.json +4 -0
- package/extensions/ublock/_locales/id/messages.json +5 -1
- package/extensions/ublock/_locales/it/messages.json +4 -0
- package/extensions/ublock/_locales/ja/messages.json +4 -0
- package/extensions/ublock/_locales/ka/messages.json +34 -30
- package/extensions/ublock/_locales/kk/messages.json +4 -0
- package/extensions/ublock/_locales/kn/messages.json +4 -0
- package/extensions/ublock/_locales/ko/messages.json +4 -0
- package/extensions/ublock/_locales/ku/messages.json +4 -0
- package/extensions/ublock/_locales/lt/messages.json +4 -0
- package/extensions/ublock/_locales/lv/messages.json +4 -0
- package/extensions/ublock/_locales/mk/messages.json +4 -0
- package/extensions/ublock/_locales/ml/messages.json +4 -0
- package/extensions/ublock/_locales/mr/messages.json +4 -0
- package/extensions/ublock/_locales/ms/messages.json +13 -9
- package/extensions/ublock/_locales/nb/messages.json +4 -0
- package/extensions/ublock/_locales/nl/messages.json +4 -0
- package/extensions/ublock/_locales/no/messages.json +4 -0
- package/extensions/ublock/_locales/oc/messages.json +4 -0
- package/extensions/ublock/_locales/pa/messages.json +4 -0
- package/extensions/ublock/_locales/pl/messages.json +5 -1
- package/extensions/ublock/_locales/pt_BR/messages.json +4 -0
- package/extensions/ublock/_locales/pt_PT/messages.json +4 -0
- package/extensions/ublock/_locales/ro/messages.json +5 -1
- package/extensions/ublock/_locales/ru/messages.json +4 -0
- package/extensions/ublock/_locales/si/messages.json +4 -0
- package/extensions/ublock/_locales/sk/messages.json +4 -0
- package/extensions/ublock/_locales/sl/messages.json +4 -0
- package/extensions/ublock/_locales/so/messages.json +4 -0
- package/extensions/ublock/_locales/sq/messages.json +4 -0
- package/extensions/ublock/_locales/sr/messages.json +4 -0
- package/extensions/ublock/_locales/sv/messages.json +4 -0
- package/extensions/ublock/_locales/sw/messages.json +4 -0
- package/extensions/ublock/_locales/ta/messages.json +4 -0
- package/extensions/ublock/_locales/te/messages.json +4 -0
- package/extensions/ublock/_locales/th/messages.json +12 -8
- package/extensions/ublock/_locales/tr/messages.json +4 -0
- package/extensions/ublock/_locales/uk/messages.json +4 -0
- package/extensions/ublock/_locales/ur/messages.json +4 -0
- package/extensions/ublock/_locales/vi/messages.json +4 -0
- package/extensions/ublock/_locales/zh_CN/messages.json +6 -2
- package/extensions/ublock/_locales/zh_TW/messages.json +6 -2
- package/extensions/ublock/assets/assets.json +11 -11
- package/extensions/ublock/assets/resources/scriptlets.js +660 -378
- package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +7173 -3455
- package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +18829 -1918
- package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +21 -26
- package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +118 -46
- package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +710 -1117
- package/extensions/ublock/assets/ublock/badlists.txt +0 -4
- package/extensions/ublock/assets/ublock/badware.min.txt +116 -105
- package/extensions/ublock/assets/ublock/filters.min.txt +1443 -1097
- package/extensions/ublock/assets/ublock/privacy.min.txt +50 -31
- package/extensions/ublock/assets/ublock/quick-fixes.min.txt +97 -108
- package/extensions/ublock/assets/ublock/unbreak.min.txt +64 -21
- package/extensions/ublock/css/1p-filters.css +4 -0
- package/extensions/ublock/css/3p-filters.css +6 -4
- package/extensions/ublock/css/common.css +1 -1
- package/extensions/ublock/css/fa-icons.css +1 -0
- package/extensions/ublock/css/logger-ui.css +72 -52
- package/extensions/ublock/css/popup-fenix.css +1 -1
- package/extensions/ublock/img/fontawesome/fontawesome-defs.svg +1 -0
- package/extensions/ublock/js/3p-filters.js +3 -3
- package/extensions/ublock/js/assets.js +7 -4
- package/extensions/ublock/js/background.js +1 -3
- package/extensions/ublock/js/benchmarks.js +1 -0
- package/extensions/ublock/js/broadcast.js +12 -0
- package/extensions/ublock/js/click2load.js +2 -3
- package/extensions/ublock/js/codemirror/ubo-static-filtering.js +1 -0
- package/extensions/ublock/js/commands.js +10 -0
- package/extensions/ublock/js/contentscript-extra.js +13 -11
- package/extensions/ublock/js/contentscript.js +0 -31
- package/extensions/ublock/js/contextmenu.js +5 -1
- package/extensions/ublock/js/dyna-rules.js +83 -52
- package/extensions/ublock/js/fa-icons.js +1 -0
- package/extensions/ublock/js/filtering-context.js +0 -2
- package/extensions/ublock/js/i18n.js +1 -5
- package/extensions/ublock/js/logger-ui.js +71 -38
- package/extensions/ublock/js/logger.js +18 -14
- package/extensions/ublock/js/messaging.js +17 -5
- package/extensions/ublock/js/popup-fenix.js +6 -6
- package/extensions/ublock/js/scriptlet-filtering-core.js +14 -12
- package/extensions/ublock/js/scriptlet-filtering.js +149 -53
- package/extensions/ublock/js/scriptlets/scriptlet-loglevel-1.js +49 -0
- package/extensions/ublock/js/scriptlets/scriptlet-loglevel-2.js +49 -0
- package/extensions/ublock/js/scriptlets/should-inject-contentscript.js +1 -1
- package/extensions/ublock/js/static-dnr-filtering.js +4 -2
- package/extensions/ublock/js/static-filtering-parser.js +14 -8
- package/extensions/ublock/js/static-net-filtering.js +32 -30
- package/extensions/ublock/js/storage.js +18 -4
- package/extensions/ublock/js/traffic.js +3 -3
- package/extensions/ublock/js/ublock.js +1 -1
- package/extensions/ublock/js/vapi-background.js +15 -7
- package/extensions/ublock/logger-ui.html +18 -10
- package/extensions/ublock/manifest.json +4 -1
- package/extensions/ublock/web_accessible_resources/chartbeat.js +3 -0
- package/package.json +12 -11
- package/scripts/build-function.js +1 -1
- package/scripts/build-open-api.js +3 -2
- package/scripts/clean.js +6 -1
- package/scripts/install-debugger.js +20 -0
- package/scripts/install-devtools.js +40 -0
- package/src/browserless.ts +11 -9
- package/src/browsers/chrome.cdp.ts +10 -0
- package/src/browsers/chrome.playwright.ts +10 -0
- package/src/browsers/{cdp-chromium.ts → chromium.cdp.ts} +20 -13
- package/src/browsers/{playwright-chromium.ts → chromium.playwright.ts} +7 -6
- package/src/browsers/{playwright-firefox.ts → firefox.playwright.ts} +5 -5
- package/src/browsers/index.ts +160 -23
- package/src/browsers/{playwright-webkit.ts → webkit.playwright.ts} +5 -5
- package/src/exports.ts +6 -4
- package/src/http.ts +21 -0
- package/src/router.ts +21 -5
- package/src/routes/chrome/http/content.post.ts +14 -0
- package/src/routes/chrome/http/download.post.ts +14 -0
- package/src/routes/chrome/http/function.post.ts +14 -0
- package/src/routes/chrome/http/json-list.get.ts +1 -0
- package/src/routes/chrome/http/json-new.put.ts +1 -0
- package/src/routes/chrome/http/json-protocol.get.ts +1 -0
- package/src/routes/chrome/http/json-version.get.ts +1 -0
- package/src/routes/chrome/http/pdf.post.ts +14 -0
- package/src/routes/chrome/http/performance.post.ts +14 -0
- package/src/routes/chrome/http/scrape.post.ts +14 -0
- package/src/routes/chrome/http/screenshot.post.ts +14 -0
- package/src/routes/chrome/tests/content.spec.ts +375 -0
- package/src/routes/chrome/tests/download.spec.ts +77 -0
- package/src/routes/chrome/tests/function.spec.ts +282 -0
- package/src/routes/chrome/tests/json-version.spec.ts +52 -0
- package/src/routes/chrome/tests/page-websocket.spec.ts +129 -0
- package/src/routes/chrome/tests/pdf.spec.ts +380 -0
- package/src/routes/chrome/tests/performance.spec.ts +155 -0
- package/src/routes/chrome/tests/scrape.spec.ts +417 -0
- package/src/routes/chrome/tests/screenshot.spec.ts +387 -0
- package/src/routes/chrome/tests/websocket.spec.ts +491 -0
- package/src/routes/chrome/ws/browser.ts +8 -0
- package/src/routes/chrome/ws/cdp.ts +12 -0
- package/src/routes/chrome/ws/page.ts +8 -0
- package/src/routes/chrome/ws/playwright.ts +12 -0
- package/src/routes/chromium/http/content.post.ts +6 -0
- package/src/routes/chromium/http/download.post.ts +6 -0
- package/src/routes/chromium/http/function.post.ts +6 -0
- package/src/routes/chromium/http/json-list.get.ts +1 -0
- package/src/routes/chromium/http/json-new.put.ts +1 -0
- package/src/routes/chromium/http/json-protocol.get.ts +1 -0
- package/src/routes/chromium/http/json-version.get.ts +1 -0
- package/src/routes/chromium/http/pdf.post.ts +6 -0
- package/src/routes/chromium/http/performance.post.ts +6 -0
- package/src/routes/chromium/http/scrape.post.ts +6 -0
- package/src/routes/chromium/http/screenshot.post.ts +6 -0
- package/src/routes/chromium/tests/content.spec.ts +36 -28
- package/src/routes/chromium/tests/download.spec.ts +3 -3
- package/src/routes/chromium/tests/function.spec.ts +18 -15
- package/src/routes/chromium/tests/page-websocket.spec.ts +129 -0
- package/src/routes/chromium/tests/pdf.spec.ts +31 -26
- package/src/routes/chromium/tests/performance.spec.ts +46 -34
- package/src/routes/chromium/tests/scrape.spec.ts +23 -20
- package/src/routes/chromium/tests/screenshot.spec.ts +24 -24
- package/src/routes/chromium/tests/websocket.spec.ts +31 -40
- package/src/routes/chromium/ws/browser.ts +1 -29
- package/src/routes/chromium/ws/cdp.ts +1 -0
- package/src/routes/chromium/ws/page.ts +1 -29
- package/src/routes/chromium/ws/playwright.ts +4 -0
- package/src/routes/firefox/ws/{playwright-firefox.ts → playwright.ts} +5 -5
- package/src/routes/management/http/{static-get.ts → static.get.ts} +2 -2
- package/src/routes/webkit/ws/{playwright-webkit.ts → playwright.ts} +5 -5
- package/src/shared/browser.ws.ts +34 -0
- package/src/{routes/chromium/ws/playwright-chromium.ts → shared/chromium.playwright.ws.ts} +7 -4
- package/src/{routes/chromium/ws/cdp-chromium.ts → shared/chromium.ws.ts} +6 -6
- package/src/{routes/chromium/http/content-post.ts → shared/content.http.ts} +4 -4
- package/src/{routes/chromium/http/download-post.ts → shared/download.http.ts} +4 -4
- package/src/{routes/chromium/http/function-post.ts → shared/function.http.ts} +4 -4
- package/src/shared/json-list.http.ts +35 -0
- package/src/{routes/chromium/http/json-new.ts → shared/json-new.http.ts} +23 -7
- package/src/{routes/chromium/http/json-protocol-get.ts → shared/json-protocol.http.ts} +3 -5
- package/src/{routes/chromium/http/json-version-get.ts → shared/json-version.http.ts} +4 -5
- package/src/shared/page.ws.ts +35 -0
- package/src/{routes/chromium/http/pdf-post.ts → shared/pdf.http.ts} +4 -4
- package/src/{routes/chromium/http/performance.ts → shared/performance.http.ts} +4 -4
- package/src/{routes/chromium/http/scrape-post.ts → shared/scrape.http.ts} +4 -4
- package/src/{routes/chromium/http/screenshot-post.ts → shared/screenshot.http.ts} +4 -4
- package/src/{routes/chromium → shared}/utils/function/handler.ts +2 -2
- package/src/{routes/chromium → shared}/utils/performance/main.ts +1 -2
- package/src/shim.ts +2 -1
- package/src/types.ts +27 -20
- package/src/utils.ts +32 -14
- package/static/devtools/Images/accelerometer-back.svg +1 -0
- package/static/devtools/Images/accelerometer-bottom.png +0 -0
- package/static/devtools/Images/accelerometer-front.svg +1 -0
- package/static/devtools/Images/accelerometer-left.png +0 -0
- package/static/devtools/Images/accelerometer-right.png +0 -0
- package/static/devtools/Images/accelerometer-top.png +0 -0
- package/static/devtools/Images/baseline-icon.svg +1 -0
- package/static/devtools/Images/breaking_change_icon.svg +1 -0
- package/static/devtools/Images/checkboxCheckmark.svg +1 -0
- package/static/devtools/Images/checker.png +0 -0
- package/static/devtools/Images/chevrons.svg +1 -0
- package/static/devtools/Images/chromeDisabledSelect.png +0 -0
- package/static/devtools/Images/chromeDisabledSelect_2x.png +0 -0
- package/static/devtools/Images/chromeLeft.avif +0 -0
- package/static/devtools/Images/chromeMiddle.avif +0 -0
- package/static/devtools/Images/chromeRight.avif +0 -0
- package/static/devtools/Images/chromeSelect.svg +1 -0
- package/static/devtools/Images/chromeSelectDark.svg +1 -0
- package/static/devtools/Images/cssoverview_icons_2x.avif +0 -0
- package/static/devtools/Images/dropdown_7x6_icon.svg +1 -0
- package/static/devtools/Images/elements_panel_icon.svg +1 -0
- package/static/devtools/Images/errorWave.svg +1 -0
- package/static/devtools/Images/error_icon.svg +1 -0
- package/static/devtools/Images/feedback_thin_16x16_icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-center-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-end-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-space-around-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-space-between-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-space-evenly-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-start-icon.svg +1 -0
- package/static/devtools/Images/flex-align-content-stretch-icon.svg +1 -0
- package/static/devtools/Images/flex-align-items-center-icon.svg +1 -0
- package/static/devtools/Images/flex-align-items-flex-end-icon.svg +1 -0
- package/static/devtools/Images/flex-align-items-flex-start-icon.svg +1 -0
- package/static/devtools/Images/flex-align-items-stretch-icon.svg +1 -0
- package/static/devtools/Images/flex-align-self-center-icon.svg +1 -0
- package/static/devtools/Images/flex-align-self-flex-end-icon.svg +1 -0
- package/static/devtools/Images/flex-align-self-flex-start-icon.svg +1 -0
- package/static/devtools/Images/flex-align-self-stretch-icon.svg +1 -0
- package/static/devtools/Images/flex-direction-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-center-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-flex-end-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-flex-start-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-space-around-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-space-between-icon.svg +1 -0
- package/static/devtools/Images/flex-justify-content-space-evenly-icon.svg +1 -0
- package/static/devtools/Images/ic_checkmark_16x16.svg +3 -0
- package/static/devtools/Images/ic_delete_filter.svg +1 -0
- package/static/devtools/Images/ic_delete_list.svg +1 -0
- package/static/devtools/Images/ic_info_black_18dp.svg +1 -0
- package/static/devtools/Images/ic_page_next_16x16_icon.svg +1 -0
- package/static/devtools/Images/ic_page_prev_16x16_icon.svg +1 -0
- package/static/devtools/Images/ic_redo_16x16_icon.svg +1 -0
- package/static/devtools/Images/ic_show_node_16x16.svg +4 -0
- package/static/devtools/Images/ic_suggest_color.svg +6 -0
- package/static/devtools/Images/ic_undo_16x16_icon.svg +1 -0
- package/static/devtools/Images/ic_warning_black_18dp.svg +1 -0
- package/static/devtools/Images/issue-text-icon.svg +1 -0
- package/static/devtools/Images/largeIcons.svg +1 -0
- package/static/devtools/Images/lighthouse_logo.svg +1 -0
- package/static/devtools/Images/link_icon.svg +1 -0
- package/static/devtools/Images/mediumIcons.svg +1 -0
- package/static/devtools/Images/navigationControls.png +0 -0
- package/static/devtools/Images/navigationControls_2x.png +0 -0
- package/static/devtools/Images/network_panel_icon.svg +1 -0
- package/static/devtools/Images/nodeIcon.avif +0 -0
- package/static/devtools/Images/node_search_icon.svg +1 -0
- package/static/devtools/Images/popoverArrows.png +0 -0
- package/static/devtools/Images/profileGroupIcon.png +0 -0
- package/static/devtools/Images/profileIcon.png +0 -0
- package/static/devtools/Images/profileSmallIcon.png +0 -0
- package/static/devtools/Images/radioDot-dark-theme.png +0 -0
- package/static/devtools/Images/radioDot.png +0 -0
- package/static/devtools/Images/refresh_12x12_icon.svg +1 -0
- package/static/devtools/Images/resizeDiagonal.svg +1 -0
- package/static/devtools/Images/resizeHorizontal.svg +1 -0
- package/static/devtools/Images/resizeVertical.svg +1 -0
- package/static/devtools/Images/resourceCSSIcon.png +0 -0
- package/static/devtools/Images/resourceDocumentIcon.png +0 -0
- package/static/devtools/Images/resourceDocumentIconSmall.png +0 -0
- package/static/devtools/Images/resourceJSIcon.png +0 -0
- package/static/devtools/Images/resourcePlainIcon.png +0 -0
- package/static/devtools/Images/resourcePlainIconSmall.png +0 -0
- package/static/devtools/Images/resourcesTimeGraphIcon.avif +0 -0
- package/static/devtools/Images/searchNext.png +0 -0
- package/static/devtools/Images/searchPrev.png +0 -0
- package/static/devtools/Images/securityIcons.svg +1 -0
- package/static/devtools/Images/settings_14x14_icon.svg +1 -0
- package/static/devtools/Images/smallIcons.svg +1 -0
- package/static/devtools/Images/sources_panel_icon.svg +1 -0
- package/static/devtools/Images/speech.png +0 -0
- package/static/devtools/Images/toolbarResizerVertical.png +0 -0
- package/static/devtools/Images/touchCursor.png +0 -0
- package/static/devtools/Images/touchCursor_2x.png +0 -0
- package/static/devtools/Images/treeoutlineTriangles.svg +1 -0
- package/static/devtools/Images/warning_icon.svg +1 -0
- package/static/devtools/Images/whatsnew.avif +0 -0
- package/static/devtools/Tests.js +1654 -0
- package/static/devtools/accessibility/accessibility-legacy.js +1 -0
- package/static/devtools/accessibility/accessibility-meta.js +1 -0
- package/static/devtools/accessibility/accessibility.js +1 -0
- package/static/devtools/accessibility/accessibility_module.js +1 -0
- package/static/devtools/accessibility_test_runner/accessibility_test_runner.js +77 -0
- package/static/devtools/accessibility_test_runner/accessibility_test_runner_module.js +0 -0
- package/static/devtools/animation/animation-legacy.js +1 -0
- package/static/devtools/animation/animation-meta.js +1 -0
- package/static/devtools/animation/animation.js +1 -0
- package/static/devtools/animation/animation_module.js +1 -0
- package/static/devtools/application_test_runner/AppcacheTestRunner.js +220 -0
- package/static/devtools/application_test_runner/CacheStorageTestRunner.js +286 -0
- package/static/devtools/application_test_runner/IndexedDBTestRunner.js +476 -0
- package/static/devtools/application_test_runner/ResourceTreeTestRunner.js +99 -0
- package/static/devtools/application_test_runner/ResourcesTestRunner.js +167 -0
- package/static/devtools/application_test_runner/ServiceWorkersTestRunner.js +131 -0
- package/static/devtools/application_test_runner/application_test_runner.js +10 -0
- package/static/devtools/application_test_runner/application_test_runner_module.js +0 -0
- package/static/devtools/axe_core_test_runner/axe_core_test_runner.js +174 -0
- package/static/devtools/axe_core_test_runner/axe_core_test_runner_module.js +0 -0
- package/static/devtools/bindings/bindings-legacy.js +1 -0
- package/static/devtools/bindings/bindings.js +1 -0
- package/static/devtools/bindings_test_runner/AutomappingTestRunner.js +130 -0
- package/static/devtools/bindings_test_runner/BindingsTestRunner.js +238 -0
- package/static/devtools/bindings_test_runner/IsolatedFilesystemTestRunner.js +287 -0
- package/static/devtools/bindings_test_runner/OverridesTestRunner.js +26 -0
- package/static/devtools/bindings_test_runner/PersistenceTestRunner.js +109 -0
- package/static/devtools/bindings_test_runner/bindings_test_runner.js +9 -0
- package/static/devtools/bindings_test_runner/bindings_test_runner_module.js +0 -0
- package/static/devtools/browser_debugger/browser_debugger-legacy.js +1 -0
- package/static/devtools/browser_debugger/browser_debugger-meta.js +1 -0
- package/static/devtools/browser_debugger/browser_debugger.js +1 -0
- package/static/devtools/browser_debugger/browser_debugger_module.js +1 -0
- package/static/devtools/browser_sdk/browser_sdk-meta.js +1 -0
- package/static/devtools/browser_sdk/browser_sdk.js +1 -0
- package/static/devtools/changes/changes-legacy.js +1 -0
- package/static/devtools/changes/changes-meta.js +1 -0
- package/static/devtools/changes/changes.js +1 -0
- package/static/devtools/changes/changes_module.js +1 -0
- package/static/devtools/client_variations/client_variations.js +1 -0
- package/static/devtools/client_variations/client_variations_module.js +0 -0
- package/static/devtools/cm/cm.js +1 -0
- package/static/devtools/cm/cm_module.js +1 -0
- package/static/devtools/cm_headless/cm_headless.js +1 -0
- package/static/devtools/color_picker/color_picker-legacy.js +1 -0
- package/static/devtools/color_picker/color_picker.js +1 -0
- package/static/devtools/color_picker/color_picker_module.js +1 -0
- package/static/devtools/common/common-legacy.js +1 -0
- package/static/devtools/common/common.js +1 -0
- package/static/devtools/component_helpers/component_helpers.js +1 -0
- package/static/devtools/components/components-legacy.js +1 -0
- package/static/devtools/components/components.js +1 -0
- package/static/devtools/console/console-legacy.js +1 -0
- package/static/devtools/console/console-meta.js +1 -0
- package/static/devtools/console/console.js +6 -0
- package/static/devtools/console/console_module.js +1 -0
- package/static/devtools/console_counters/console_counters-legacy.js +1 -0
- package/static/devtools/console_counters/console_counters.js +1 -0
- package/static/devtools/console_test_runner/console_test_runner.js +696 -0
- package/static/devtools/console_test_runner/console_test_runner_module.js +0 -0
- package/static/devtools/cookie_table/cookie_table-legacy.js +1 -0
- package/static/devtools/cookie_table/cookie_table.js +1 -0
- package/static/devtools/cookie_table/cookie_table_module.js +1 -0
- package/static/devtools/coverage/coverage-legacy.js +1 -0
- package/static/devtools/coverage/coverage-meta.js +1 -0
- package/static/devtools/coverage/coverage.js +1 -0
- package/static/devtools/coverage/coverage_module.js +1 -0
- package/static/devtools/coverage_test_runner/coverage_test_runner.js +151 -0
- package/static/devtools/coverage_test_runner/coverage_test_runner_module.js +0 -0
- package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner.js +72 -0
- package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js +0 -0
- package/static/devtools/css_overview/css_overview-meta.js +1 -0
- package/static/devtools/css_overview/css_overview.js +146 -0
- package/static/devtools/css_overview/css_overview_module.js +1 -0
- package/static/devtools/data_grid/data_grid-legacy.js +1 -0
- package/static/devtools/data_grid/data_grid.js +1 -0
- package/static/devtools/data_grid/data_grid_module.js +1 -0
- package/static/devtools/data_grid_test_runner/data_grid_test_runner.js +78 -0
- package/static/devtools/data_grid_test_runner/data_grid_test_runner_module.js +0 -0
- package/static/devtools/developer_resources/developer_resources-legacy.js +1 -0
- package/static/devtools/developer_resources/developer_resources-meta.js +1 -0
- package/static/devtools/developer_resources/developer_resources.js +1 -0
- package/static/devtools/developer_resources/developer_resources_module.js +1 -0
- package/static/devtools/device_mode_test_runner/device_mode_test_runner.js +45 -0
- package/static/devtools/device_mode_test_runner/device_mode_test_runner_module.js +0 -0
- package/static/devtools/devtools_app.html +20 -0
- package/static/devtools/devtools_app.js +1 -0
- package/static/devtools/devtools_compatibility.js +1546 -0
- package/static/devtools/diff/diff-legacy.js +1 -0
- package/static/devtools/diff/diff.js +1 -0
- package/static/devtools/diff/diff_module.js +0 -0
- package/static/devtools/dom_extension/dom_extension.js +1 -0
- package/static/devtools/elements/elements-legacy.js +1 -0
- package/static/devtools/elements/elements-meta.js +1 -0
- package/static/devtools/elements/elements.js +469 -0
- package/static/devtools/elements/elements_module.js +1 -0
- package/static/devtools/elements_test_runner/EditDOMTestRunner.js +78 -0
- package/static/devtools/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +39 -0
- package/static/devtools/elements_test_runner/ElementsTestRunner.js +1280 -0
- package/static/devtools/elements_test_runner/SetOuterHTMLTestRunner.js +115 -0
- package/static/devtools/elements_test_runner/StylesUpdateLinksTestRunner.js +134 -0
- package/static/devtools/elements_test_runner/elements_test_runner.js +9 -0
- package/static/devtools/elements_test_runner/elements_test_runner_module.js +0 -0
- package/static/devtools/emulated_devices/emulated_devices_module.js +0 -0
- package/static/devtools/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPad-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPad-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
- package/static/devtools/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
- package/static/devtools/emulation/emulation-legacy.js +1 -0
- package/static/devtools/emulation/emulation-meta.js +1 -0
- package/static/devtools/emulation/emulation.js +1 -0
- package/static/devtools/event_listeners/event_listeners-legacy.js +1 -0
- package/static/devtools/event_listeners/event_listeners.js +1 -0
- package/static/devtools/event_listeners/event_listeners_module.js +1 -0
- package/static/devtools/extensions/extensions-legacy.js +1 -0
- package/static/devtools/extensions/extensions.js +1 -0
- package/static/devtools/extensions_test_runner/ExtensionsNetworkTestRunner.js +27 -0
- package/static/devtools/extensions_test_runner/ExtensionsTestRunner.js +68 -0
- package/static/devtools/extensions_test_runner/extensions_test_runner.js +6 -0
- package/static/devtools/extensions_test_runner/extensions_test_runner_module.js +0 -0
- package/static/devtools/formatter/formatter-legacy.js +1 -0
- package/static/devtools/formatter/formatter.js +1 -0
- package/static/devtools/formatter/formatter_module.js +0 -0
- package/static/devtools/formatter_worker/FormatterActions.js +1 -0
- package/static/devtools/formatter_worker/formatter_worker-entrypoint.js +1 -0
- package/static/devtools/formatter_worker/formatter_worker.js +1 -0
- package/static/devtools/har_importer/har_importer-legacy.js +1 -0
- package/static/devtools/har_importer/har_importer.js +1 -0
- package/static/devtools/har_importer/har_importer_module.js +0 -0
- package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner.js +740 -0
- package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner_module.js +0 -0
- package/static/devtools/heap_snapshot_model/heap_snapshot_model-legacy.js +1 -0
- package/static/devtools/heap_snapshot_model/heap_snapshot_model.js +1 -0
- package/static/devtools/heap_snapshot_model/heap_snapshot_model_module.js +0 -0
- package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
- package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-legacy.js +1 -0
- package/static/devtools/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
- package/static/devtools/heap_snapshot_worker/heap_snapshot_worker_module.js +0 -0
- package/static/devtools/help/help-legacy.js +1 -0
- package/static/devtools/help/help-meta.js +1 -0
- package/static/devtools/help/help.js +1 -0
- package/static/devtools/help/help_module.js +1 -0
- package/static/devtools/host/host-legacy.js +1 -0
- package/static/devtools/host/host.js +1 -0
- package/static/devtools/i18n/i18n.js +1 -0
- package/static/devtools/i18n/i18n_locales-tsconfig.json +8 -0
- package/static/devtools/i18n/locales/en-US.json +3566 -0
- package/static/devtools/inline_editor/inline_editor-legacy.js +1 -0
- package/static/devtools/inline_editor/inline_editor.js +203 -0
- package/static/devtools/inline_editor/inline_editor_module.js +1 -0
- package/static/devtools/input/input-legacy.js +1 -0
- package/static/devtools/input/input-meta.js +1 -0
- package/static/devtools/input/input.js +1 -0
- package/static/devtools/input/input_module.js +1 -0
- package/static/devtools/inspector.html +20 -0
- package/static/devtools/inspector.js +1 -0
- package/static/devtools/inspector_main/inspector_main-legacy.js +1 -0
- package/static/devtools/inspector_main/inspector_main-meta.js +1 -0
- package/static/devtools/inspector_main/inspector_main.js +1 -0
- package/static/devtools/integration_test_runner.html +14 -0
- package/static/devtools/integration_test_runner.js +2 -0
- package/static/devtools/issues/issues-legacy.js +1 -0
- package/static/devtools/issues/issues-meta.js +1 -0
- package/static/devtools/issues/issues.js +67 -0
- package/static/devtools/issues/issues_module.js +1 -0
- package/static/devtools/javascript_metadata/javascript_metadata-legacy.js +1 -0
- package/static/devtools/javascript_metadata/javascript_metadata.js +1 -0
- package/static/devtools/javascript_metadata/javascript_metadata_module.js +0 -0
- package/static/devtools/js_app.html +20 -0
- package/static/devtools/js_app.js +1 -0
- package/static/devtools/js_main/js_main-legacy.js +1 -0
- package/static/devtools/js_main/js_main.js +1 -0
- package/static/devtools/js_profiler/js_profiler-meta.js +1 -0
- package/static/devtools/js_profiler/js_profiler.js +1 -0
- package/static/devtools/js_profiler/js_profiler_module.js +0 -0
- package/static/devtools/layer_viewer/layer_viewer-legacy.js +1 -0
- package/static/devtools/layer_viewer/layer_viewer.js +1 -0
- package/static/devtools/layer_viewer/layer_viewer_module.js +1 -0
- package/static/devtools/layers/layers-legacy.js +1 -0
- package/static/devtools/layers/layers-meta.js +1 -0
- package/static/devtools/layers/layers.js +1 -0
- package/static/devtools/layers/layers_module.js +0 -0
- package/static/devtools/layers_test_runner/layers_test_runner.js +156 -0
- package/static/devtools/layers_test_runner/layers_test_runner_module.js +0 -0
- package/static/devtools/lighthouse/lighthouse-legacy.js +1 -0
- package/static/devtools/lighthouse/lighthouse-meta.js +1 -0
- package/static/devtools/lighthouse/lighthouse.js +70 -0
- package/static/devtools/lighthouse/lighthouse_module.js +1 -0
- package/static/devtools/lighthouse_test_runner/lighthouse_test_runner.js +136 -0
- package/static/devtools/lighthouse_test_runner/lighthouse_test_runner_module.js +0 -0
- package/static/devtools/lighthouse_worker/LighthouseService.js +195 -0
- package/static/devtools/lighthouse_worker/lighthouse_worker.js +6 -0
- package/static/devtools/lighthouse_worker.js +1 -0
- package/static/devtools/linear_memory_inspector/linear_memory_inspector-legacy.js +1 -0
- package/static/devtools/linear_memory_inspector/linear_memory_inspector-meta.js +1 -0
- package/static/devtools/linear_memory_inspector/linear_memory_inspector.js +399 -0
- package/static/devtools/linear_memory_inspector/linear_memory_inspector_module.js +0 -0
- package/static/devtools/main/main-legacy.js +1 -0
- package/static/devtools/main/main.js +1 -0
- package/static/devtools/media/media-legacy.js +1 -0
- package/static/devtools/media/media-meta.js +1 -0
- package/static/devtools/media/media.js +1 -0
- package/static/devtools/media/media_module.js +1 -0
- package/static/devtools/mobile_throttling/mobile_throttling-legacy.js +1 -0
- package/static/devtools/mobile_throttling/mobile_throttling-meta.js +1 -0
- package/static/devtools/mobile_throttling/mobile_throttling.js +1 -0
- package/static/devtools/ndb_app.html +20 -0
- package/static/devtools/ndb_app.js +1 -0
- package/static/devtools/network/network-legacy.js +1 -0
- package/static/devtools/network/network-meta.js +1 -0
- package/static/devtools/network/network.js +72 -0
- package/static/devtools/network/network_module.js +1 -0
- package/static/devtools/network_test_runner/network_test_runner.js +280 -0
- package/static/devtools/network_test_runner/network_test_runner_module.js +0 -0
- package/static/devtools/node_app.html +20 -0
- package/static/devtools/node_app.js +1 -0
- package/static/devtools/node_debugger/node_debugger-meta.js +1 -0
- package/static/devtools/node_debugger/node_debugger.js +1 -0
- package/static/devtools/node_debugger/node_debugger_module.js +0 -0
- package/static/devtools/node_main/node_main-legacy.js +1 -0
- package/static/devtools/node_main/node_main-meta.js +1 -0
- package/static/devtools/node_main/node_main.js +1 -0
- package/static/devtools/object_ui/object_ui-legacy.js +1 -0
- package/static/devtools/object_ui/object_ui.js +3 -0
- package/static/devtools/object_ui/object_ui_module.js +1 -0
- package/static/devtools/perf_ui/perf_ui-legacy.js +1 -0
- package/static/devtools/perf_ui/perf_ui.js +152 -0
- package/static/devtools/perf_ui/perf_ui_module.js +1 -0
- package/static/devtools/performance_monitor/performance_monitor-legacy.js +1 -0
- package/static/devtools/performance_monitor/performance_monitor-meta.js +1 -0
- package/static/devtools/performance_monitor/performance_monitor.js +1 -0
- package/static/devtools/performance_monitor/performance_monitor_module.js +1 -0
- package/static/devtools/performance_test_runner/TimelineDataTestRunner.js +5375 -0
- package/static/devtools/performance_test_runner/TimelineTestRunner.js +446 -0
- package/static/devtools/performance_test_runner/performance_test_runner.js +6 -0
- package/static/devtools/performance_test_runner/performance_test_runner_module.js +0 -0
- package/static/devtools/persistence/persistence-legacy.js +1 -0
- package/static/devtools/persistence/persistence-meta.js +1 -0
- package/static/devtools/persistence/persistence.js +1 -0
- package/static/devtools/platform/platform.js +1 -0
- package/static/devtools/profiler/profiler-legacy.js +1 -0
- package/static/devtools/profiler/profiler-meta.js +1 -0
- package/static/devtools/profiler/profiler.js +8 -0
- package/static/devtools/profiler/profiler_module.js +1 -0
- package/static/devtools/protocol_client/protocol_client-legacy.js +1 -0
- package/static/devtools/protocol_client/protocol_client.js +1 -0
- package/static/devtools/protocol_monitor/protocol_monitor-legacy.js +1 -0
- package/static/devtools/protocol_monitor/protocol_monitor-meta.js +1 -0
- package/static/devtools/protocol_monitor/protocol_monitor.js +1 -0
- package/static/devtools/protocol_monitor/protocol_monitor_module.js +1 -0
- package/static/devtools/quick_open/quick_open-legacy.js +1 -0
- package/static/devtools/quick_open/quick_open.js +1 -0
- package/static/devtools/quick_open/quick_open_module.js +1 -0
- package/static/devtools/recorder/recorder.js +1 -0
- package/static/devtools/resources/resources-legacy.js +1 -0
- package/static/devtools/resources/resources-meta.js +1 -0
- package/static/devtools/resources/resources.js +28 -0
- package/static/devtools/resources/resources_module.js +1 -0
- package/static/devtools/root/root-legacy.js +1 -0
- package/static/devtools/root/root.js +1 -0
- package/static/devtools/screencast/screencast-legacy.js +1 -0
- package/static/devtools/screencast/screencast.js +1 -0
- package/static/devtools/sdk/sdk-legacy.js +1 -0
- package/static/devtools/sdk/sdk.js +2 -0
- package/static/devtools/sdk_test_runner/sdk_test_runner.js +297 -0
- package/static/devtools/sdk_test_runner/sdk_test_runner_module.js +0 -0
- package/static/devtools/search/search-legacy.js +1 -0
- package/static/devtools/search/search.js +1 -0
- package/static/devtools/search/search_module.js +1 -0
- package/static/devtools/security/security-legacy.js +1 -0
- package/static/devtools/security/security-meta.js +1 -0
- package/static/devtools/security/security.js +1 -0
- package/static/devtools/security/security_module.js +1 -0
- package/static/devtools/security_test_runner/security_test_runner.js +32 -0
- package/static/devtools/security_test_runner/security_test_runner_module.js +0 -0
- package/static/devtools/services/services-legacy.js +1 -0
- package/static/devtools/services/services.js +1 -0
- package/static/devtools/settings/settings-legacy.js +1 -0
- package/static/devtools/settings/settings-meta.js +1 -0
- package/static/devtools/settings/settings.js +1 -0
- package/static/devtools/settings/settings_module.js +1 -0
- package/static/devtools/shell.js +1 -0
- package/static/devtools/snippets/snippets-legacy.js +1 -0
- package/static/devtools/snippets/snippets.js +1 -0
- package/static/devtools/snippets/snippets_module.js +0 -0
- package/static/devtools/source_frame/source_frame-legacy.js +1 -0
- package/static/devtools/source_frame/source_frame.js +1 -0
- package/static/devtools/source_frame/source_frame_module.js +1 -0
- package/static/devtools/sources/sources-legacy.js +1 -0
- package/static/devtools/sources/sources-meta.js +1 -0
- package/static/devtools/sources/sources.js +13 -0
- package/static/devtools/sources/sources_module.js +1 -0
- package/static/devtools/sources_test_runner/AutocompleteTestRunner.js +46 -0
- package/static/devtools/sources_test_runner/DebuggerTestRunner.js +895 -0
- package/static/devtools/sources_test_runner/EditorTestRunner.js +237 -0
- package/static/devtools/sources_test_runner/LiveEditTestRunner.js +33 -0
- package/static/devtools/sources_test_runner/SearchTestRunner.js +158 -0
- package/static/devtools/sources_test_runner/SourcesTestRunner.js +173 -0
- package/static/devtools/sources_test_runner/sources_test_runner.js +10 -0
- package/static/devtools/sources_test_runner/sources_test_runner_module.js +0 -0
- package/static/devtools/startup/startup.js +1 -0
- package/static/devtools/test_runner/test_runner.js +1 -0
- package/static/devtools/text_editor/text_editor-legacy.js +1 -0
- package/static/devtools/text_editor/text_editor.js +1 -0
- package/static/devtools/text_editor/text_editor_module.js +1 -0
- package/static/devtools/text_utils/text_utils-legacy.js +1 -0
- package/static/devtools/text_utils/text_utils.js +1 -0
- package/static/devtools/theme_support/theme_support.js +1 -0
- package/static/devtools/third_party/acorn/acorn-tsconfig.json +8 -0
- package/static/devtools/third_party/acorn/acorn.js +1 -0
- package/static/devtools/third_party/acorn/package/dist/acorn.d.ts +209 -0
- package/static/devtools/third_party/acorn/package/dist/acorn.mjs +5261 -0
- package/static/devtools/third_party/acorn/package/dist/acorn.mjs.d.ts +2 -0
- package/static/devtools/third_party/acorn/package/dist/acorn.mjs.map +1 -0
- package/static/devtools/third_party/acorn-loose/acorn-loose-tsconfig.json +8 -0
- package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.d.ts +16 -0
- package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.mjs +1418 -0
- package/static/devtools/third_party/axe-core/axe.js +16423 -0
- package/static/devtools/third_party/chromium/chromium-tsconfig.json +8 -0
- package/static/devtools/third_party/chromium/client-variations/ClientVariations.d.ts +13 -0
- package/static/devtools/third_party/chromium/client-variations/ClientVariations.js +27 -0
- package/static/devtools/third_party/codemirror/codemirror-tsconfig.json +72 -0
- package/static/devtools/third_party/codemirror/package/addon/comment/comment.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/addon/comment/comment.js +211 -0
- package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.js +201 -0
- package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.js +158 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.js +105 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.js +157 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.js +163 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.js +131 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/overlay.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/overlay.js +90 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/simple.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/mode/simple.js +216 -0
- package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.js +333 -0
- package/static/devtools/third_party/codemirror/package/addon/selection/active-line.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/selection/active-line.js +72 -0
- package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.js +119 -0
- package/static/devtools/third_party/codemirror/package/lib/codemirror.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/lib/codemirror.js +9800 -0
- package/static/devtools/third_party/codemirror/package/mode/clike/clike.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/clike/clike.js +935 -0
- package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.js +292 -0
- package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.js +359 -0
- package/static/devtools/third_party/codemirror/package/mode/css/css.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/css/css.js +864 -0
- package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.js +37 -0
- package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.js +153 -0
- package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.js +942 -0
- package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.js +148 -0
- package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.d.ts +4 -0
- package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.js +280 -0
- package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.js +886 -0
- package/static/devtools/third_party/codemirror/package/mode/php/php.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/php/php.js +234 -0
- package/static/devtools/third_party/codemirror/package/mode/python/python.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/python/python.js +399 -0
- package/static/devtools/third_party/codemirror/package/mode/shell/shell.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/shell/shell.js +168 -0
- package/static/devtools/third_party/codemirror/package/mode/wast/wast.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/wast/wast.js +41 -0
- package/static/devtools/third_party/codemirror/package/mode/xml/xml.d.ts +1 -0
- package/static/devtools/third_party/codemirror/package/mode/xml/xml.js +413 -0
- package/static/devtools/third_party/i18n/bundle-tsconfig.json +8 -0
- package/static/devtools/third_party/i18n/i18n.d.ts +108 -0
- package/static/devtools/third_party/i18n/i18n.js +4336 -0
- package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.d.ts +1 -0
- package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.js +1140 -0
- package/static/devtools/third_party/lighthouse/lighthouse-tsconfig.json +10 -0
- package/static/devtools/third_party/lighthouse/locales/ar-XB.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ar.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/bg.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ca.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/cs.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/da.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/de.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/el.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/en-GB.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/en-US.json +2297 -0
- package/static/devtools/third_party/lighthouse/locales/en-XA.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/en-XL.json +2297 -0
- package/static/devtools/third_party/lighthouse/locales/es-419.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/es.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/fi.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/fil.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/fr.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/he.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/hi.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/hr.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/hu.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/id.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/it.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ja.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ko.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/lt.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/lv.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/nl.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/no.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/pl.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/pt-PT.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/pt.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ro.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ru.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sk.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sl.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sr-Latn.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sr.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/sv.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/ta.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/te.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/th.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/tr.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/uk.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/vi.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/zh-HK.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/zh-TW.json +2066 -0
- package/static/devtools/third_party/lighthouse/locales/zh.json +2066 -0
- package/static/devtools/third_party/lighthouse/report-assets/report-generator.d.ts +1 -0
- package/static/devtools/third_party/lighthouse/report-assets/report-generator.js +167 -0
- package/static/devtools/third_party/lighthouse/report-assets/report.d.ts +1 -0
- package/static/devtools/third_party/lighthouse/report-assets/report.js +5032 -0
- package/static/devtools/third_party/lit-html/lit-html-tsconfig.json +22 -0
- package/static/devtools/third_party/lit-html/lit-html.js +120 -0
- package/static/devtools/third_party/lit-html/package/directives/class-map.d.ts +28 -0
- package/static/devtools/third_party/lit-html/package/directives/class-map.js +101 -0
- package/static/devtools/third_party/lit-html/package/directives/class-map.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/directives/if-defined.d.ts +22 -0
- package/static/devtools/third_party/lit-html/package/directives/if-defined.js +37 -0
- package/static/devtools/third_party/lit-html/package/directives/if-defined.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/directives/live.d.ts +38 -0
- package/static/devtools/third_party/lit-html/package/directives/live.js +73 -0
- package/static/devtools/third_party/lit-html/package/directives/live.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/directives/repeat.d.ts +37 -0
- package/static/devtools/third_party/lit-html/package/directives/repeat.js +415 -0
- package/static/devtools/third_party/lit-html/package/directives/repeat.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/directives/style-map.d.ts +36 -0
- package/static/devtools/third_party/lit-html/package/directives/style-map.js +78 -0
- package/static/devtools/third_party/lit-html/package/directives/style-map.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/default-template-processor.d.ts +39 -0
- package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js +52 -0
- package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/directive.d.ts +59 -0
- package/static/devtools/third_party/lit-html/package/lib/directive.js +63 -0
- package/static/devtools/third_party/lit-html/package/lib/directive.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/dom.d.ts +29 -0
- package/static/devtools/third_party/lit-html/package/lib/dom.js +44 -0
- package/static/devtools/third_party/lit-html/package/lib/dom.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/part.d.ts +46 -0
- package/static/devtools/third_party/lit-html/package/lib/part.js +23 -0
- package/static/devtools/third_party/lit-html/package/lib/part.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/parts.d.ts +148 -0
- package/static/devtools/third_party/lit-html/package/lib/parts.js +476 -0
- package/static/devtools/third_party/lit-html/package/lib/parts.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/render.d.ts +33 -0
- package/static/devtools/third_party/lit-html/package/lib/render.js +43 -0
- package/static/devtools/third_party/lit-html/package/lib/render.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/template-factory.d.ts +57 -0
- package/static/devtools/third_party/lit-html/package/lib/template-factory.js +48 -0
- package/static/devtools/third_party/lit-html/package/lib/template-factory.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/template-instance.d.ts +30 -0
- package/static/devtools/third_party/lit-html/package/lib/template-instance.js +134 -0
- package/static/devtools/third_party/lit-html/package/lib/template-instance.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/template-result.d.ts +42 -0
- package/static/devtools/third_party/lit-html/package/lib/template-result.js +131 -0
- package/static/devtools/third_party/lit-html/package/lib/template-result.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lib/template.d.ts +92 -0
- package/static/devtools/third_party/lit-html/package/lib/template.js +215 -0
- package/static/devtools/third_party/lit-html/package/lib/template.js.map +1 -0
- package/static/devtools/third_party/lit-html/package/lit-html.d.ts +42 -0
- package/static/devtools/third_party/lit-html/package/lit-html.js +59 -0
- package/static/devtools/third_party/lit-html/package/lit-html.js.map +1 -0
- package/static/devtools/third_party/marked/marked-tsconfig.json +8 -0
- package/static/devtools/third_party/marked/marked.js +1 -0
- package/static/devtools/third_party/marked/package/lib/marked.esm.d.ts +1 -0
- package/static/devtools/third_party/marked/package/lib/marked.esm.js +2584 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts +53 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.js +64 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts +176 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js +356 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +21 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +423 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +516 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +39 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +76 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +26 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +120 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +266 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.js +15 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +60 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +181 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +316 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +174 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +647 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts +53 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +77 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +33 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js +873 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts +76 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js +92 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts +25 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.js +33 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +34 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +37 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts +59 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.js +15 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts +89 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js +109 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts +82 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.js +83 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts +189 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js +313 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts +60 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js +66 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +735 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +962 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +276 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +421 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +128 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +150 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +322 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +463 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +439 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +724 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +62 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +80 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +262 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +152 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js +31 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +910 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +1343 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts +21 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.js +15 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +135 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js +133 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +24 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.js +0 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts +66 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +157 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts +61 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.js +72 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +98 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +137 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts +28 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.js +43 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts +47 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +94 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +40 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts +102 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js +109 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js +24 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts +17 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.js +20 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts +66 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +288 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +17 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +16 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js +39 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.js +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +132 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +468 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +197 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +42 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js +0 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts +16 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +469 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +29 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +34 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +31 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +61 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +156 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +183 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +151 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js +23 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.js +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +19 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts +18 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.js +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts +22 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts.map +1 -0
- package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js +53 -0
- package/static/devtools/third_party/puppeteer/puppeteer-tsconfig.json +58 -0
- package/static/devtools/third_party/puppeteer/puppeteer.js +1 -0
- package/static/devtools/third_party/wasmparser/package/dist/esm/WasmDis.js +1595 -0
- package/static/devtools/third_party/wasmparser/package/dist/esm/WasmParser.js +3120 -0
- package/static/devtools/third_party/wasmparser/wasmparser-tsconfig.json +9 -0
- package/static/devtools/timeline/timeline-legacy.js +1 -0
- package/static/devtools/timeline/timeline-meta.js +1 -0
- package/static/devtools/timeline/timeline.js +1 -0
- package/static/devtools/timeline/timeline_module.js +1 -0
- package/static/devtools/timeline_model/timeline_model-legacy.js +1 -0
- package/static/devtools/timeline_model/timeline_model.js +1 -0
- package/static/devtools/timeline_model/timeline_model_module.js +0 -0
- package/static/devtools/toolbox.html +20 -0
- package/static/devtools/toolbox.js +1 -0
- package/static/devtools/toolbox_bootstrap/toolbox_bootstrap.js +1 -0
- package/static/devtools/ui/components/components.js +378 -0
- package/static/devtools/ui/ui-legacy.js +1 -0
- package/static/devtools/ui/ui.js +3 -0
- package/static/devtools/ui/utils/utils.js +1 -0
- package/static/devtools/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
- package/static/devtools/wasmparser_worker/wasmparser_worker.js +1 -0
- package/static/devtools/web_audio/graph_visualizer/graph_visualizer.js +1 -0
- package/static/devtools/web_audio/web_audio-legacy.js +1 -0
- package/static/devtools/web_audio/web_audio-meta.js +1 -0
- package/static/devtools/web_audio/web_audio.js +23 -0
- package/static/devtools/web_audio/web_audio_module.js +1 -0
- package/static/devtools/webauthn/webauthn-legacy.js +1 -0
- package/static/devtools/webauthn/webauthn-meta.js +1 -0
- package/static/devtools/webauthn/webauthn.js +6 -0
- package/static/devtools/webauthn/webauthn_module.js +1 -0
- package/static/devtools/worker_app.html +20 -0
- package/static/devtools/worker_app.js +1 -0
- package/static/devtools/worker_main/worker_main-legacy.js +1 -0
- package/static/devtools/worker_main/worker_main.js +1 -0
- package/static/devtools/worker_service/worker_service.js +1 -0
- package/static/devtools/workspace/workspace-legacy.js +1 -0
- package/static/devtools/workspace/workspace.js +1 -0
- package/static/devtools/workspace_diff/workspace_diff-legacy.js +1 -0
- package/static/devtools/workspace_diff/workspace_diff.js +1 -0
- package/static/devtools/workspace_diff/workspace_diff_module.js +0 -0
- package/static/docs/swagger.json +2337 -279
- package/static/function/client.js +1037 -992
- package/build/routes/chromium/http/json-new.js +0 -23
- package/build/routes/chromium/http/json-version-get.response.json +0 -37
- package/build/routes/chromium/utils/cdp.d.ts +0 -2
- package/build/routes/chromium/utils/cdp.js +0 -14
- package/build/routes/chromium/ws/cdp-chromium.js +0 -10
- package/src/routes/chromium/http/json-list.ts +0 -50
- package/src/routes/chromium/utils/cdp.ts +0 -19
- package/build/routes/{chromium/http/content-post.query.json → chrome/http/content.post.query.json} +0 -0
- package/build/routes/{chromium/http/content-post.response.json → chrome/http/content.post.response.json} +0 -0
- package/build/routes/{chromium/http/download-post.body.json → chrome/http/download.post.body.json} +0 -0
- package/build/routes/{chromium/http/download-post.query.json → chrome/http/download.post.query.json} +0 -0
- package/build/routes/{chromium/http/download-post.response.json → chrome/http/download.post.response.json} +0 -0
- package/build/routes/{chromium/http/function-post.body.json → chrome/http/function.post.body.json} +0 -0
- package/build/routes/{chromium/http/function-post.query.json → chrome/http/function.post.query.json} +0 -0
- package/build/routes/{chromium/http/function-post.response.json → chrome/http/function.post.response.json} +0 -0
- package/build/routes/{chromium/http/json-list.response.json → chrome/http/json-list.get.response.json} +0 -0
- package/build/routes/{chromium/http/json-new.response.json → chrome/http/json-new.put.response.json} +0 -0
- package/build/routes/{chromium/http/json-protocol-get.response.json → chrome/http/json-protocol.get.response.json} +0 -0
- package/build/routes/{chromium/http/pdf-post.query.json → chrome/http/pdf.post.query.json} +0 -0
- package/build/routes/{chromium/http/pdf-post.response.json → chrome/http/pdf.post.response.json} +0 -0
- package/build/routes/{chromium/http/performance.body.json → chrome/http/performance.post.body.json} +0 -0
- package/build/routes/{chromium/http/performance.query.json → chrome/http/performance.post.query.json} +0 -0
- package/build/routes/{chromium/http/performance.response.json → chrome/http/performance.post.response.json} +0 -0
- package/build/routes/{chromium/http/scrape-post.query.json → chrome/http/scrape.post.query.json} +0 -0
- package/build/routes/{chromium/http/scrape-post.response.json → chrome/http/scrape.post.response.json} +0 -0
- package/build/routes/{chromium/http/screenshot-post.query.json → chrome/http/screenshot.post.query.json} +0 -0
- package/build/routes/{chromium/http/screenshot-post.response.json → chrome/http/screenshot.post.response.json} +0 -0
- package/build/routes/{chromium/utils/performance/child.d.ts → chrome/tests/content.spec.d.ts} +0 -0
- package/build/routes/{chromium/utils/performance/types.js → chrome/tests/download.spec.d.ts} +0 -0
- package/build/routes/{chromium/ws/cdp-chromium.query.json → chrome/ws/browser.query.json} +0 -0
- package/build/routes/{chromium/ws/playwright-chromium.query.json → chrome/ws/playwright.query.json} +0 -0
- package/build/routes/{firefox/ws/playwright-firefox.query.json → chromium/ws/playwright.query.json} +0 -0
- package/build/routes/{webkit/ws/playwright-webkit.query.json → firefox/ws/playwright.query.json} +0 -0
- package/build/routes/management/http/{config-get.d.ts → config.get.d.ts} +0 -0
- package/build/routes/management/http/{config-get.js → config.get.js} +0 -0
- package/build/routes/management/http/{config-get.response.json → config.get.response.json} +0 -0
- package/build/routes/management/http/{metrics-total-get.d.ts → metrics-total.get.d.ts} +0 -0
- package/build/routes/management/http/{metrics-total-get.js → metrics-total.get.js} +0 -0
- package/build/routes/management/http/{metrics-total-get.response.json → metrics-total.get.response.json} +0 -0
- package/build/routes/management/http/{metrics-get.d.ts → metrics.get.d.ts} +0 -0
- package/build/routes/management/http/{metrics-get.js → metrics.get.js} +0 -0
- package/build/routes/management/http/{metrics-get.response.json → metrics.get.response.json} +0 -0
- package/build/routes/management/http/{sessions-get.d.ts → sessions.get.d.ts} +0 -0
- package/build/routes/management/http/{sessions-get.js → sessions.get.js} +0 -0
- package/build/routes/management/http/{static-get.d.ts → static.get.d.ts} +0 -0
- package/build/{routes/chromium/http/json-protocol-get.d.ts → shared/json-protocol.http.d.ts} +1 -1
- package/build/{routes/chromium/http/json-version-get.d.ts → shared/json-version.http.d.ts} +1 -1
- /package/build/{routes/chromium → shared}/utils/function/client.d.ts +0 -0
- /package/build/{routes/chromium → shared}/utils/function/client.js +0 -0
- /package/build/{routes/chromium → shared}/utils/function/handler.d.ts +0 -0
- /package/build/{routes/chromium → shared}/utils/function/handler.js +0 -0
- /package/build/{routes/chromium → shared}/utils/performance/child.js +0 -0
- /package/build/{routes/chromium → shared}/utils/performance/main.d.ts +0 -0
- /package/build/{routes/chromium → shared}/utils/performance/types.d.ts +0 -0
- /package/src/routes/management/http/{config-get.ts → config.get.ts} +0 -0
- /package/src/routes/management/http/{metrics-total-get.ts → metrics-total.get.ts} +0 -0
- /package/src/routes/management/http/{metrics-get.ts → metrics.get.ts} +0 -0
- /package/src/routes/management/http/{sessions-get.ts → sessions.get.ts} +0 -0
- /package/src/{routes/chromium → shared}/utils/function/client.ts +0 -0
- /package/src/{routes/chromium → shared}/utils/performance/child.ts +0 -0
- /package/src/{routes/chromium → shared}/utils/performance/types.ts +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import{Settings as e,UIString as t,Throttler as i,Progress as s,ResourceType as r,ObjectWrapper as o,Color as n,ParsedURL as a,StringOutputStream as l,Console as d}from"../common/common.js";import{InspectorFrontendHost as c,userMetrics as h,UserMetrics as u,Platform as m}from"../host/host.js";import{ls as p,StringUtilities as _,UIString as g,NumberUtilities as w}from"../platform/platform.js";import{BinaryResourceViewFactory as S,ResourceSourceFrame as C,JSONView as f,PreviewFactory as v}from"../source_frame/source_frame.js";import{Widget as k,Toolbar as b,ListWidget as T,UIUtils as y,ARIAUtils as R,Tooltip as I,SettingsUI as q,EmptyWidget as L,Icon as x,TreeOutline as F,ContextMenu as E,XLink as P,View as M,Utils as H,SplitWidget as B,TabbedPane as U,PopoverHelper as N,Dialog as V,GlassPane as A,FilterBar as W,FilterSuggestionBuilder as O,DropTarget as D,ShortcutRegistry as G,ViewManager as z,ProgressIndicator as K,Panel as j,ActionRegistry as $,Context as X,InspectorView as Q}from"../ui/ui.js";import{NetworkManager as J,SDKModel as Z,NetworkRequest as Y,HARLog as ee,CookieParser as te,Issue as ie,RemoteObject as se,NetworkLog as re,ResourceTreeModel as oe,Resource as ne,FilmStripModel as ae,TracingManager as le,TracingModel as de}from"../sdk/sdk.js";import{SortableDataGrid as ce,DataGrid as he,ViewportDataGrid as ue}from"../data_grid/data_grid.js";import{ThrottlingManager as me}from"../mobile_throttling/mobile_throttling.js";import{ResourceUtils as pe,FileUtils as _e,TempFile as ge}from"../bindings/bindings.js";import{Linkifier as we,JSPresentationUtils as Se}from"../components/components.js";import{NetworkPriorities as Ce,TimelineGrid as fe,TimelineOverviewPane as ve,FilmStripView as ke}from"../perf_ui/perf_ui.js";import{Workspace as be,UISourceCode as Te}from"../workspace/workspace.js";import{CookiesTable as ye}from"../cookie_table/cookie_table.js";import{RelatedIssue as Re}from"../browser_sdk/browser_sdk.js";import{parseClientVariations as Ie,formatClientVariations as qe}from"../client_variations/client_variations.js";import{ObjectPropertiesSection as Le}from"../object_ui/object_ui.js";import{ContentProvider as xe,StaticContentProvider as Fe,TextUtils as Ee}from"../text_utils/text_utils.js";import"../ui/components/components.js";import{render as Pe,html as Me,nothing as He}from"../third_party/lit-html/lit-html.js";import{HARFormat as Be,HARImporter as Ue}from"../har_importer/har_importer.js";import{ThemeSupport as Ne}from"../theme_support/theme_support.js";import{SearchView as Ve}from"../search/search.js";class Ae extends k.VBox{constructor(t,i,s){super(),this.registerRequiredCSS("network/binaryResourceView.css",{enableLegacyPatching:!1}),this._binaryResourceViewFactory=new S.BinaryResourceViewFactory(t,i,s),this._toolbar=new b.Toolbar("binary-view-toolbar",this.element),this._binaryViewObjects=[new We("base64",p`Base64`,p`Copied as Base64`,this._binaryResourceViewFactory.createBase64View.bind(this._binaryResourceViewFactory),this._binaryResourceViewFactory.base64.bind(this._binaryResourceViewFactory)),new We("hex",p`Hex Viewer`,p`Copied as Hex`,this._binaryResourceViewFactory.createHexView.bind(this._binaryResourceViewFactory),this._binaryResourceViewFactory.hex.bind(this._binaryResourceViewFactory)),new We("utf8",p`UTF-8`,p`Copied as UTF-8`,this._binaryResourceViewFactory.createUtf8View.bind(this._binaryResourceViewFactory),this._binaryResourceViewFactory.utf8.bind(this._binaryResourceViewFactory))],this._binaryViewTypeSetting=e.Settings.instance().createSetting("binaryViewType","hex"),this._binaryViewTypeCombobox=new b.ToolbarComboBox(this._binaryViewTypeChanged.bind(this),p`Binary view type`);for(const e of this._binaryViewObjects)this._binaryViewTypeCombobox.addOption(this._binaryViewTypeCombobox.createOption(e.label,e.type));this._toolbar.appendToolbarItem(this._binaryViewTypeCombobox);const r=new b.ToolbarButton(p`Copy to clipboard`,"largeicon-copy");r.addEventListener(b.ToolbarButton.Events.Click,(e=>{this._copySelectedViewToClipboard()}),this),this._toolbar.appendToolbarItem(r),this._copiedText=new b.ToolbarText,this._copiedText.element.classList.add("binary-view-copied-text"),this._toolbar.element.appendChild(this._copiedText.element),this._addFadeoutSettimeoutId=null,this._lastView=null,this._updateView()}_getCurrentViewObject(){const e=this._binaryViewObjects.find((e=>e.type===this._binaryViewTypeSetting.get()));return console.assert(Boolean(e),"No binary view found for binary view type found in setting 'binaryViewType': "+this._binaryViewTypeSetting.get()),e||null}async _copySelectedViewToClipboard(){const e=this._getCurrentViewObject();e&&(c.InspectorFrontendHostInstance.copyText((await e.content()).content),this._copiedText.setText(e.copiedMessage),this._copiedText.element.classList.remove("fadeout"),this._addFadeoutSettimeoutId&&(clearTimeout(this._addFadeoutSettimeoutId),this._addFadeoutSettimeoutId=null),this._addFadeoutSettimeoutId=window.setTimeout(function(){this._copiedText.element.classList.add("fadeout")}.bind(this),2e3))}wasShown(){this._updateView()}_updateView(){const e=this._getCurrentViewObject();if(!e)return;const t=e.getView();t!==this._lastView&&(this._lastView&&this._lastView.detach(),this._lastView=t,t.show(this.element,this._toolbar.element),this._binaryViewTypeCombobox.selectElement().value=this._binaryViewTypeSetting.get())}_binaryViewTypeChanged(){const e=this._binaryViewTypeCombobox.selectedOption();if(!e)return;const t=e.value;this._binaryViewTypeSetting.get()!==t&&(this._binaryViewTypeSetting.set(t),this._updateView())}addCopyToContextMenu(e,t){const i=e.clipboardSection().appendSubMenuItem(t).footerSection();i.appendItem(p`Copy as Base64`,(async()=>{const e=await this._binaryResourceViewFactory.base64();c.InspectorFrontendHostInstance.copyText(e.content)})),i.appendItem(p`Copy as Hex`,(async()=>{const e=await this._binaryResourceViewFactory.hex();c.InspectorFrontendHostInstance.copyText(e.content)})),i.appendItem(p`Copy as UTF-8`,(async()=>{const e=await this._binaryResourceViewFactory.utf8();c.InspectorFrontendHostInstance.copyText(e.content)}))}}class We{constructor(e,t,i,s,r){this.type=e,this.label=t,this.copiedMessage=i,this.content=r,this._createViewFn=s,this._view=null}getView(){return this._view||(this._view=this._createViewFn()),this._view}}var Oe=Object.freeze({__proto__:null,BinaryResourceView:Ae,BinaryViewObject:We});let De=null;class Ge extends k.VBox{constructor(){super(!0),this.registerRequiredCSS("network/blockedURLsPane.css",{enableLegacyPatching:!1}),this._manager=J.MultitargetNetworkManager.instance(),this._manager.addEventListener(J.MultitargetNetworkManager.Events.BlockedPatternsChanged,(()=>{this._update()}),this),this._toolbar=new b.Toolbar("",this.contentElement),this._enabledCheckbox=new b.ToolbarCheckbox(t.UIString("Enable network request blocking"),void 0,this._toggleEnabled.bind(this)),this._toolbar.appendToolbarItem(this._enabledCheckbox),this._toolbar.appendSeparator();const e=new b.ToolbarButton(t.UIString("Add pattern"),"largeicon-add");e.addEventListener(b.ToolbarButton.Events.Click,this._addButtonClicked,this),this._toolbar.appendToolbarItem(e);const s=new b.ToolbarButton(t.UIString("Remove all patterns"),"largeicon-clear");s.addEventListener(b.ToolbarButton.Events.Click,this._removeAll,this),this._toolbar.appendToolbarItem(s),this._list=new T.ListWidget(this),this._list.element.classList.add("blocked-urls"),this._list.registerRequiredCSS("network/blockedURLsPane.css",{enableLegacyPatching:!1}),this._list.setEmptyPlaceholder(this._createEmptyPlaceholder()),this._list.show(this.contentElement),this._editor=null,this._blockedCountForUrl=new Map,Z.TargetManager.instance().addModelListener(J.NetworkManager,J.Events.RequestFinished,this._onRequestFinished,this),this._updateThrottler=new i.Throttler(200),this._update()}static instance(e={forceNew:null}){const{forceNew:t}=e;return De&&!t||(De=new Ge),De}_createEmptyPlaceholder(){const e=this.contentElement.createChild("div","no-blocked-urls"),t=y.createTextButton(p`Add pattern`,this._addButtonClicked.bind(this),"add-button");return R.setAccessibleName(t,p`Add network request blocking pattern`),e.appendChild(y.formatLocalized("Network requests are not blocked. %s",[t])),e}static reset(){De&&De.reset()}_addButtonClicked(){this._manager.setBlockingEnabled(!0),this._list.addNewItem(0,{url:"",enabled:!0})}renderItem(e,i){const s=this._blockedRequestsCount(e.url),r=document.createElement("div");r.classList.add("blocked-url");const o=r.createChild("input","blocked-url-checkbox");return o.type="checkbox",o.checked=e.enabled,o.disabled=!this._manager.blockingEnabled(),r.createChild("div","blocked-url-label").textContent=e.url,r.createChild("div","blocked-url-count").textContent=t.UIString("%d blocked",s),r.addEventListener("click",(t=>this._togglePattern(e,t))),o.addEventListener("click",(t=>this._togglePattern(e,t))),r}_togglePattern(e,t){t.consume(!0);const i=this._manager.blockedPatterns();i.splice(i.indexOf(e),1,{enabled:!e.enabled,url:e.url}),this._manager.setBlockedPatterns(i)}_toggleEnabled(){this._manager.setBlockingEnabled(!this._manager.blockingEnabled()),this._update()}removeItemRequested(e,t){const i=this._manager.blockedPatterns();i.splice(t,1),this._manager.setBlockedPatterns(i)}beginEdit(e){return this._editor=this._createEditor(),this._editor.control("url").value=e.url,this._editor}commitEdit(e,t,i){const s=t.control("url").value,r=this._manager.blockedPatterns();i?r.push({enabled:!0,url:s}):r.splice(r.indexOf(e),1,{enabled:!0,url:s}),this._manager.setBlockedPatterns(r)}_createEditor(){if(this._editor)return this._editor;const e=new T.Editor,i=e.contentElement();i.createChild("div","blocked-url-edit-row").createChild("div").textContent=t.UIString("Text pattern to block matching requests; use * for wildcard");const s=i.createChild("div","blocked-url-edit-row"),r=e.createInput("url","text","",((e,t,i)=>{let s,r=!0;return i.value?this._manager.blockedPatterns().find((e=>e.url===i.value))&&(s=p`Pattern already exists.`,r=!1):(s=p`Pattern input cannot be empty.`,r=!1),{valid:r,errorMessage:s}}));return s.createChild("div","blocked-url-edit-value").appendChild(r),e}_removeAll(){this._manager.setBlockedPatterns([])}_update(){const e=this._manager.blockingEnabled();this._list.element.classList.toggle("blocking-disabled",!e&&Boolean(this._manager.blockedPatterns().length)),this._enabledCheckbox.setChecked(e),this._list.clear();for(const e of this._manager.blockedPatterns())this._list.appendItem(e,!0);return Promise.resolve()}_blockedRequestsCount(e){if(!e)return 0;let t=0;for(const i of this._blockedCountForUrl.keys())this._matches(e,i)&&(t+=this._blockedCountForUrl.get(i));return t}_matches(e,t){let i=0;const s=e.split("*");for(let e=0;e<s.length;e++){const r=s[e];if(r.length){if(i=t.indexOf(r,i),-1===i)return!1;i+=r.length}}return!0}reset(){this._blockedCountForUrl.clear(),this._updateThrottler.schedule(this._update.bind(this))}_onRequestFinished(e){const t=e.data;if(t.wasBlocked()){const e=this._blockedCountForUrl.get(t.url())||0;this._blockedCountForUrl.set(t.url(),e+1),this._updateThrottler.schedule(this._update.bind(this))}}}var ze=Object.freeze({__proto__:null,get blockedURLsPaneInstance(){return De},BlockedURLsPane:Ge});class Ke extends k.VBox{constructor(e){super(),this.registerRequiredCSS("network/eventSourceMessagesView.css",{enableLegacyPatching:!1}),this.element.classList.add("event-source-messages-view"),this._request=e;const i=[{id:"id",title:t.UIString("Id"),sortable:!0,weight:8},{id:"type",title:t.UIString("Type"),sortable:!0,weight:8},{id:"data",title:t.UIString("Data"),sortable:!1,weight:88},{id:"time",title:t.UIString("Time"),sortable:!0,weight:8}];this._dataGrid=new ce.SortableDataGrid({displayName:p`Event Source`,columns:i,editCallback:void 0,deleteCallback:void 0,refreshCallback:void 0}),this._dataGrid.setStriped(!0),this._dataGrid.setStickToBottom(!0),this._dataGrid.setRowContextMenuCallback(this._onRowContextMenu.bind(this)),this._dataGrid.markColumnAsSortedBy("time",he.Order.Ascending),this._sortItems(),this._dataGrid.addEventListener(he.Events.SortingChanged,this._sortItems,this),this._dataGrid.setName("EventSourceMessagesView"),this._dataGrid.asWidget().show(this.element)}wasShown(){this._dataGrid.rootNode().removeChildren();const e=this._request.eventSourceMessages();for(let t=0;t<e.length;++t)this._dataGrid.insertChild(new je(e[t]));this._request.addEventListener(Y.Events.EventSourceMessageAdded,this._messageAdded,this)}willHide(){this._request.removeEventListener(Y.Events.EventSourceMessageAdded,this._messageAdded,this)}_messageAdded(e){const t=e.data;this._dataGrid.insertChild(new je(t))}_sortItems(){const e=this._dataGrid.sortColumnId();if(!e)return;const t=Xe[e];t&&this._dataGrid.sortNodes(t,!this._dataGrid.isSortOrderAscending())}_onRowContextMenu(e,i){e.clipboardSection().appendItem(t.UIString("Copy message"),c.InspectorFrontendHostInstance.copyText.bind(c.InspectorFrontendHostInstance,i.data.data))}}class je extends ce.SortableDataGridNode{constructor(e){const t=new Date(1e3*e.time),i=("0"+t.getHours()).substr(-2)+":"+("0"+t.getMinutes()).substr(-2)+":"+("0"+t.getSeconds()).substr(-2)+"."+("00"+t.getMilliseconds()).substr(-3),s=document.createElement("div");y.createTextChild(s,i),I.Tooltip.install(s,t.toLocaleString()),super({id:e.eventId,type:e.eventName,data:e.data,time:s}),this._message=e}}function $e(e,t,i){const s=e(t._message),r=e(i._message);return s<r?-1:s>r?1:0}const Xe={id:$e.bind(null,(e=>e.eventId)),type:$e.bind(null,(e=>e.eventName)),time:$e.bind(null,(e=>e.time))};var Qe=Object.freeze({__proto__:null,EventSourceMessagesView:Ke,EventSourceMessageNode:je,EventSourceMessageNodeComparator:$e,Comparators:Xe});class Je{static async write(e,t,i){const r=new s.CompositeProgress(i),o=await Je._harStringForRequests(t,r);i.isCanceled()||await Je._writeToStream(e,r,o)}static async _harStringForRequests(e,i){const s=i.createSubProgress();s.setTitle(t.UIString("Collecting content…")),s.setTotalWork(e.length),e.sort(((e,t)=>e.issueTime()-t.issueTime()));const r=await ee.HARLog.build(e),o=[];for(let t=0;t<e.length;t++){const i=e[t].contentData();o.push(i.then(n.bind(null,r.entries[t])))}return await Promise.all(o),s.done(),s.isCanceled()?"":JSON.stringify({log:r},null,Ze);function n(e,t){s.worked();let i=t.encoded;if(null!==t.content){let s=t.content;s&&!i&&function(e){for(let i=0;i<e.length;i++)if(!((t=e.charCodeAt(i))<55296||t>=57344&&t<64976||t>65007&&t<=1114111&&65534!=(65534&t)))return!0;var t;return!1}(s)&&(s=_.toBase64(s),i=!0),e.response.content.text=s}i&&(e.response.content.encoding="base64")}}static async _writeToStream(e,i,s){const r=i.createSubProgress();r.setTitle(t.UIString("Writing file…")),r.setTotalWork(s.length);for(let t=0;t<s.length&&!r.isCanceled();t+=Ye){const i=s.substr(t,Ye);await e.write(i),r.worked(i.length)}r.done()}}const Ze=2,Ye=1e5;var et=Object.freeze({__proto__:null,HARWriter:Je,_jsonIndent:Ze,_chunkSize:Ye});let tt;class it extends k.VBox{constructor(){super(!0),this.registerRequiredCSS("network/networkConfigView.css",{enableLegacyPatching:!0}),this.contentElement.classList.add("network-config"),this._createCacheSection(),this.contentElement.createChild("div").classList.add("panel-section-separator"),this._createNetworkThrottlingSection(),this.contentElement.createChild("div").classList.add("panel-section-separator"),this._createUserAgentSection()}static instance(e={forceNew:null}){const{forceNew:t}=e;return tt&&!t||(tt=new it),tt}static createUserAgentSelectAndInput(i){const s=e.Settings.instance().createSetting("customUserAgent",""),r=document.createElement("select");R.setAccessibleName(r,i);const o={title:t.UIString("Custom..."),value:"custom"};r.appendChild(new Option(o.title,o.value));for(const e of st){const t=r.createChild("optgroup");t.label=e.title;for(const i of e.values){const e=J.MultitargetNetworkManager.patchUserAgentWithChromeVersion(i.value);t.appendChild(new Option(i.title,e))}}r.selectedIndex=0;const n=y.createInput("","text");n.value=s.get(),I.Tooltip.install(n,s.get()),n.placeholder=t.UIString("Enter a custom user agent"),n.required=!0,R.setAccessibleName(n,n.placeholder);const a=document.createElement("div");function l(){const e=s.get(),t=r.options;let i=!1;for(let s=0;s<t.length;++s)if(t[s].value===e){r.selectedIndex=s,i=!0;break}i||(r.selectedIndex=0)}return a.classList.add("network-config-input-validation-error"),R.markAsAlert(a),n.value||(a.textContent=p`Custom user agent field is required`),l(),r.addEventListener("change",(function(){const e=r.options[r.selectedIndex].value;e!==o.value?(s.set(e),n.value=e,I.Tooltip.install(n,e)):n.select();a.textContent=""}),!1),n.addEventListener("input",(function(){s.get()!==n.value&&(n.value?a.textContent="":a.textContent=p`Custom user agent field is required`,s.set(n.value),I.Tooltip.install(n,n.value),l())}),!1),{select:r,input:n,error:a}}_createSection(e,t){const i=this.contentElement.createChild("section","network-config-group");return t&&i.classList.add(t),i.createChild("div","network-config-title").textContent=e,i.createChild("div","network-config-fields")}_createCacheSection(){this._createSection(t.UIString("Caching"),"network-config-disable-cache").appendChild(q.createSettingCheckbox(t.UIString("Disable cache"),e.Settings.instance().moduleSetting("cacheDisabled"),!0))}_createNetworkThrottlingSection(){const e=p`Network throttling`,t=this._createSection(e,"network-config-throttling").createChild("select","chrome-select");me.throttlingManager().decorateSelectWithNetworkThrottling(t),R.setAccessibleName(t,e)}_createUserAgentSection(){const i=p`User agent`,s=this._createSection(i,"network-config-ua"),r=y.CheckboxLabel.create(t.UIString("Select automatically"),!0);s.appendChild(r);const o=r.checkboxElement,n=e.Settings.instance().createSetting("customUserAgent","");n.addChangeListener((()=>{o.checked||J.MultitargetNetworkManager.instance().setCustomUserAgentOverride(n.get())}));const a=s.createChild("div","network-config-ua-custom");o.addEventListener("change",d);const l=it.createUserAgentSelectAndInput(i);function d(){const e=!o.checked;a.classList.toggle("checked",e),l.select.disabled=!e,l.input.disabled=!e,l.error.hidden=!e;const t=e?n.get():"";J.MultitargetNetworkManager.instance().setCustomUserAgentOverride(t)}l.select.classList.add("chrome-select"),a.appendChild(l.select),a.appendChild(l.input),a.appendChild(l.error),d()}}const st=[{title:p`Android`,values:[{title:p`Android (4.0.2) Browser \u2014 Galaxy Nexus`,value:"Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"},{title:p`Android (2.3) Browser \u2014 Nexus S`,value:"Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"}]},{title:p`BlackBerry`,values:[{title:p`BlackBerry \u2014 BB10`,value:"Mozilla/5.0 (BB10; Touch) AppleWebKit/537.1+ (KHTML, like Gecko) Version/10.0.0.1337 Mobile Safari/537.1+"},{title:p`BlackBerry \u2014 PlayBook 2.1`,value:"Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+"},{title:p`BlackBerry \u2014 9900`,value:"Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.187 Mobile Safari/534.11+"}]},{title:p`Chrome`,values:[{title:p`Chrome \u2014 Android Mobile`,value:"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36"},{title:p`Chrome \u2014 Android Mobile (high-end)`,value:"Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36"},{title:p`Chrome \u2014 Android Tablet`,value:"Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36"},{title:p`Chrome \u2014 iPhone`,value:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/%s Mobile/15E148 Safari/604.1"},{title:p`Chrome \u2014 iPad`,value:"Mozilla/5.0 (iPad; CPU OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/%s Mobile/15E148 Safari/604.1"},{title:p`Chrome \u2014 Chrome OS`,value:"Mozilla/5.0 (X11; CrOS x86_64 10066.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36"},{title:p`Chrome \u2014 Mac`,value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36"},{title:p`Chrome \u2014 Windows`,value:"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36"}]},{title:p`Firefox`,values:[{title:p`Firefox \u2014 Android Mobile`,value:"Mozilla/5.0 (Android 4.4; Mobile; rv:70.0) Gecko/70.0 Firefox/70.0"},{title:p`Firefox \u2014 Android Tablet`,value:"Mozilla/5.0 (Android 4.4; Tablet; rv:70.0) Gecko/70.0 Firefox/70.0"},{title:p`Firefox \u2014 iPhone`,value:"Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4"},{title:p`Firefox \u2014 iPad`,value:"Mozilla/5.0 (iPad; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4"},{title:p`Firefox \u2014 Mac`,value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:70.0) Gecko/20100101 Firefox/70.0"},{title:p`Firefox \u2014 Windows`,value:"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:70.0) Gecko/20100101 Firefox/70.0"}]},{title:p`Googlebot`,values:[{title:p`Googlebot`,value:"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"},{title:p`Googlebot Desktop`,value:"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/%s Safari/537.36"},{title:p`Googlebot Smartphone`,value:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"}]},{title:p`Internet Explorer`,values:[{title:p`Internet Explorer 11`,value:"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"},{title:p`Internet Explorer 10`,value:"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"},{title:p`Internet Explorer 9`,value:"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"},{title:p`Internet Explorer 8`,value:"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)"},{title:p`Internet Explorer 7`,value:"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"}]},{title:p`Microsoft Edge`,values:[{title:p`Microsoft Edge (Chromium) \u2014 Windows`,value:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36 Edg/%s"},{title:p`Microsoft Edge (Chromium) \u2014 Mac`,value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Chrome/%s Safari/604.1 Edg/%s"},{title:p`Microsoft Edge \u2014 iPhone`,value:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 EdgiOS/44.5.0.10 Mobile/15E148 Safari/604.1"},{title:p`Microsoft Edge \u2014 iPad`,value:"Mozilla/5.0 (iPad; CPU OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 EdgiOS/44.5.2 Mobile/15E148 Safari/605.1.15"},{title:p`Microsoft Edge \u2014 Android Mobile`,value:"Mozilla/5.0 (Linux; Android 8.1.0; Pixel Build/OPM4.171019.021.D1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Mobile Safari/537.36 EdgA/42.0.0.2057"},{title:p`Microsoft Edge \u2014 Android Tablet`,value:"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36 EdgA/42.0.0.2057"},{title:p`Microsoft Edge (EdgeHTML) \u2014 Windows`,value:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"},{title:p`Microsoft Edge (EdgeHTML) \u2014 XBox`,value:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362"}]},{title:p`Opera`,values:[{title:p`Opera \u2014 Mac`,value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36 OPR/65.0.3467.48"},{title:p`Opera \u2014 Windows`,value:"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36 OPR/65.0.3467.48"},{title:p`Opera (Presto) \u2014 Mac`,value:"Opera/9.80 (Macintosh; Intel Mac OS X 10.9.1) Presto/2.12.388 Version/12.16"},{title:p`Opera (Presto) \u2014 Windows`,value:"Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.16"},{title:p`Opera Mobile \u2014 Android Mobile`,value:"Opera/12.02 (Android 4.1; Linux; Opera Mobi/ADR-1111101157; U; en-US) Presto/2.9.201 Version/12.02"},{title:p`Opera Mini \u2014 iOS`,value:"Opera/9.80 (iPhone; Opera Mini/8.0.0/34.2336; U; en) Presto/2.8.119 Version/11.10"}]},{title:p`Safari`,values:[{title:p`Safari \u2014 iPad iOS 13.2`,value:"Mozilla/5.0 (iPad; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"},{title:p`Safari \u2014 iPhone iOS 13.2`,value:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"},{title:p`Safari \u2014 Mac`,value:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15"}]},{title:p`UC Browser`,values:[{title:p`UC Browser \u2014 Android Mobile`,value:"Mozilla/5.0 (Linux; U; Android 8.1.0; en-US; Nexus 6P Build/OPM7.181205.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.11.1.1197 Mobile Safari/537.36"},{title:p`UC Browser \u2014 iOS`,value:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/16B92 UCBrowser/12.1.7.1109 Mobile AliApp(TUnionSDK/0.1.20.3)"},{title:p`UC Browser \u2014 Windows Phone`,value:"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) UCBrowser/10.1.0.563 Mobile"}]}];var rt=Object.freeze({__proto__:null,NetworkConfigView:it,userAgentGroups:st});class ot extends k.Widget{constructor(i){super(),this.registerRequiredCSS("network/requestCookiesView.css",{enableLegacyPatching:!0}),this.element.classList.add("request-cookies-view"),this._request=i,this._showFilteredOutCookiesSetting=e.Settings.instance().createSetting("show-filtered-out-request-cookies",!1),this._emptyWidget=new L.EmptyWidget(t.UIString("This request has no cookies.")),this._emptyWidget.show(this.element),this._requestCookiesTitle=this.element.createChild("div");const s=this._requestCookiesTitle.createChild("span","request-cookies-title");s.textContent=p`Request Cookies`,I.Tooltip.install(s,p`Cookies that were sent to the server in the 'cookie' header of the request`);const r=q.createSettingCheckbox(p`show filtered out request cookies`,this._showFilteredOutCookiesSetting,!0);r.checkboxElement.addEventListener("change",(()=>{this._refreshRequestCookiesView()})),this._requestCookiesTitle.appendChild(r),this._requestCookiesEmpty=this.element.createChild("div","cookies-panel-item"),this._requestCookiesEmpty.textContent=p`No request cookies were sent.`,this._requestCookiesTable=new ye.CookiesTable(!0),this._requestCookiesTable.contentElement.classList.add("cookie-table","cookies-panel-item"),this._requestCookiesTable.show(this.element),this._responseCookiesTitle=this.element.createChild("div","request-cookies-title"),this._responseCookiesTitle.textContent=p`Response Cookies`,this._responseCookiesTitle.title=p`Cookies that were received from the server in the 'set-cookie' header of the response`,this._responseCookiesTable=new ye.CookiesTable(!0),this._responseCookiesTable.contentElement.classList.add("cookie-table","cookies-panel-item"),this._responseCookiesTable.show(this.element),this._malformedResponseCookiesTitle=this.element.createChild("div","request-cookies-title"),this._malformedResponseCookiesTitle.textContent=p`Malformed Response Cookies`,I.Tooltip.install(this._malformedResponseCookiesTitle,p`Cookies that were received from the server in the 'set-cookie' header of the response but were malformed`),this._malformedResponseCookiesList=this.element.createChild("div")}_getRequestCookies(){const e=new Map,t=this._request.includedRequestCookies().slice();if(this._showFilteredOutCookiesSetting.get())for(const i of this._request.blockedRequestCookies())e.set(i.cookie,i.blockedReasons.map((e=>({attribute:Y.cookieBlockedReasonToAttribute(e),uiString:Y.cookieBlockedReasonToUiString(e)})))),t.push(i.cookie);return{requestCookies:t,requestCookieToBlockedReasons:e}}_getResponseCookies(){let e=[];const t=new Map,i=[];if(this._request.responseCookies.length){const s=this._request.blockedResponseCookies().map((e=>e.cookieLine));e=this._request.responseCookies.filter((e=>{const t=s.indexOf(e.getCookieLine());return-1===t||(s[t]=null,!1)}));for(const s of this._request.blockedResponseCookies()){const r=te.CookieParser.parseSetCookie(s.cookieLine);if(r&&!r.length||s.blockedReasons.includes(Protocol.Network.SetCookieBlockedReason.SyntaxError)){i.push(s);continue}let o=s.cookie;!o&&r&&(o=r[0]),o&&(t.set(o,s.blockedReasons.map((e=>({attribute:Y.setCookieBlockedReasonToAttribute(e),uiString:Y.setCookieBlockedReasonToUiString(e)})))),e.push(o))}}return{responseCookies:e,responseCookieToBlockedReasons:t,malformedResponseCookies:i}}_refreshRequestCookiesView(){if(!this.isShowing())return;this._request.hasRequestCookies()||this._request.responseCookies.length?this._emptyWidget.hideWidget():this._emptyWidget.showWidget();const{requestCookies:e,requestCookieToBlockedReasons:t}=this._getRequestCookies(),{responseCookies:i,responseCookieToBlockedReasons:s,malformedResponseCookies:r}=this._getResponseCookies();if(e.length?(this._requestCookiesTitle.classList.remove("hidden"),this._requestCookiesEmpty.classList.add("hidden"),this._requestCookiesTable.showWidget(),this._requestCookiesTable.setCookies(e,t)):this._request.blockedRequestCookies().length?(this._requestCookiesTitle.classList.remove("hidden"),this._requestCookiesEmpty.classList.remove("hidden"),this._requestCookiesTable.hideWidget()):(this._requestCookiesTitle.classList.add("hidden"),this._requestCookiesEmpty.classList.add("hidden"),this._requestCookiesTable.hideWidget()),i.length?(this._responseCookiesTitle.classList.remove("hidden"),this._responseCookiesTable.showWidget(),this._responseCookiesTable.setCookies(i,s)):(this._responseCookiesTitle.classList.add("hidden"),this._responseCookiesTable.hideWidget()),r.length){this._malformedResponseCookiesTitle.classList.remove("hidden"),this._malformedResponseCookiesList.classList.remove("hidden"),this._malformedResponseCookiesList.removeChildren();for(const e of r){const t=this._malformedResponseCookiesList.createChild("span","cookie-line source-code"),i=x.Icon.create("smallicon-error","cookie-warning-icon");t.appendChild(i),y.createTextChild(t,e.cookieLine),t.title=Y.setCookieBlockedReasonToUiString(Protocol.Network.SetCookieBlockedReason.SyntaxError)}}else this._malformedResponseCookiesTitle.classList.add("hidden"),this._malformedResponseCookiesList.classList.add("hidden")}wasShown(){this._request.addEventListener(Y.Events.RequestHeadersChanged,this._refreshRequestCookiesView,this),this._request.addEventListener(Y.Events.ResponseHeadersChanged,this._refreshRequestCookiesView,this),this._refreshRequestCookiesView()}willHide(){this._request.removeEventListener(Y.Events.RequestHeadersChanged,this._refreshRequestCookiesView,this),this._request.removeEventListener(Y.Events.ResponseHeadersChanged,this._refreshRequestCookiesView,this)}}var nt=Object.freeze({__proto__:null,RequestCookiesView:ot});class at extends k.VBox{constructor(e){super(),this.registerRequiredCSS("network/requestHeadersView.css",{enableLegacyPatching:!0}),this.element.classList.add("request-headers-view"),this._request=e,this._decodeRequestParameters=!0,this._showRequestHeadersText=!1,this._showResponseHeadersText=!1;const i=e.requestContentType();i&&(this._decodeRequestParameters=Boolean(i.match(/^application\/x-www-form-urlencoded\s*(;.*)?$/i))),this._highlightedElement=null;const s=new F.TreeOutlineInShadow;s.registerRequiredCSS("object_ui/objectValue.css",{enableLegacyPatching:!0}),s.registerRequiredCSS("object_ui/objectPropertiesSection.css",{enableLegacyPatching:!0}),s.registerRequiredCSS("network/requestHeadersTree.css",{enableLegacyPatching:!0}),s.element.classList.add("request-headers-tree"),s.makeDense(),this.element.appendChild(s.element);const r=new ct(s,"general",t.UIString("General"));r.hidden=!1,this._root=r,this.setDefaultFocusedElement(this._root.listItemElement),this._urlItem=r.createLeaf(),this._requestMethodItem=r.createLeaf(),this._statusCodeItem=r.createLeaf(),this._remoteAddressItem=r.createLeaf(),this._remoteAddressItem.hidden=!0,this._referrerPolicyItem=r.createLeaf(),this._referrerPolicyItem.hidden=!0,this._responseHeadersCategory=new ct(s,"responseHeaders",""),this._requestHeadersCategory=new ct(s,"requestHeaders",""),this._queryStringCategory=new ct(s,"queryString",""),this._formDataCategory=new ct(s,"formData",""),this._requestPayloadCategory=new ct(s,"requestPayload",t.UIString("Request Payload"))}wasShown(){this._clearHighlight(),this._request.addEventListener(Y.Events.RemoteAddressChanged,this._refreshRemoteAddress,this),this._request.addEventListener(Y.Events.RequestHeadersChanged,this._refreshRequestHeaders,this),this._request.addEventListener(Y.Events.ResponseHeadersChanged,this._refreshResponseHeaders,this),this._request.addEventListener(Y.Events.FinishedLoading,this._refreshHTTPInformation,this),this._refreshURL(),this._refreshQueryString(),this._refreshRequestHeaders(),this._refreshResponseHeaders(),this._refreshHTTPInformation(),this._refreshRemoteAddress(),this._refreshReferrerPolicy(),this._root.select(!0,!1)}willHide(){this._request.removeEventListener(Y.Events.RemoteAddressChanged,this._refreshRemoteAddress,this),this._request.removeEventListener(Y.Events.RequestHeadersChanged,this._refreshRequestHeaders,this),this._request.removeEventListener(Y.Events.ResponseHeadersChanged,this._refreshResponseHeaders,this),this._request.removeEventListener(Y.Events.FinishedLoading,this._refreshHTTPInformation,this)}_addEntryContextMenuHandler(e,t){e.listItemElement.addEventListener("contextmenu",(e=>{e.consume(!0);const i=new E.ContextMenu(e),s=decodeURIComponent(t);i.clipboardSection().appendItem(p`Copy value`,(()=>{h.actionTaken(u.Action.NetworkPanelCopyValue),c.InspectorFrontendHostInstance.copyText(s)})),i.show()}))}_formatHeader(e,t){const i=document.createDocumentFragment();return i.createChild("div","header-name").textContent=e+": ",i.createChild("span","header-separator"),i.createChild("div","header-value source-code").textContent=t,i}_formatHeaderObject(e){const t=document.createDocumentFragment();e.headerNotSet&&(t.createChild("div","header-badge header-badge-text").textContent="not-set");const i=e.value?": ":"";if(t.createChild("div","header-name").textContent=e.name+i,t.createChild("span","header-separator"),e.value&&(e.headerValueIncorrect?t.createChild("div","header-value source-code header-warning").textContent=e.value.toString():t.createChild("div","header-value source-code").textContent=e.value.toString()),e.details){const i=t.createChild("div","header-details").createChild("div","call-to-action").createChild("div","call-to-action-body");i.createChild("div","explanation").textContent=e.details.explanation;for(const t of e.details.examples){const e=i.createChild("div","example");e.createChild("code").textContent=t.codeSnippet,t.comment&&(e.createChild("span","comment").textContent=t.comment)}if(Re.hasIssueOfCategory(this._request,ie.IssueCategory.CrossOriginEmbedderPolicy)){const e=document.createElement("div");e.classList.add("devtools-link"),e.onclick=()=>{h.issuesPanelOpenedFrom(u.IssueOpener.LearnMoreLinkCOEP),Re.reveal(this._request,ie.IssueCategory.CrossOriginEmbedderPolicy)};const t=document.createElement("span");t.classList.add("devtools-link"),t.textContent=p`Learn more in the issues tab`,e.appendChild(t),e.prepend(x.Icon.create("largeicon-breaking-change","icon")),i.appendChild(e)}else if(e.details.link){const t=P.XLink.create(e.details.link.url,p`Learn more`,"link");t.prepend(x.Icon.create("largeicon-link")),i.appendChild(t)}}return t}_formatParameter(e,i,s){let r=!1;if(s&&(e=e.replace(/\+/g," ")).indexOf("%")>=0)try{e=decodeURIComponent(e)}catch(e){r=!0}const o=document.createElement("div");return i&&(o.className=i),""===e&&o.classList.add("empty-value"),r?o.createChild("span","header-decode-error").textContent=t.UIString("(unable to decode value)"):o.textContent=e,o}_refreshURL(){this._urlItem.title=this._formatHeader(t.UIString("Request URL"),this._request.url())}_refreshQueryString(){const e=this._request.queryString(),i=this._request.queryParameters;this._queryStringCategory.hidden=!i,i&&this._refreshParams(t.UIString("Query String Parameters"),i,e,this._queryStringCategory)}async _refreshFormData(){const e=await this._request.requestFormData();if(!e)return this._formDataCategory.hidden=!0,void(this._requestPayloadCategory.hidden=!0);const i=await this._request.formParameters();if(i)this._formDataCategory.hidden=!1,this._requestPayloadCategory.hidden=!0,this._refreshParams(t.UIString("Form Data"),i,e,this._formDataCategory);else{this._requestPayloadCategory.hidden=!1,this._formDataCategory.hidden=!0;try{const t=JSON.parse(e);this._refreshRequestJSONPayload(t,e)}catch(t){this._populateTreeElementWithSourceText(this._requestPayloadCategory,e)}}}_populateTreeElementWithSourceText(e,i){const s=(i||"").trim(),r=s.length>3e3,o=document.createElement("span");o.classList.add("header-value"),o.classList.add("source-code"),o.textContent=r?s.substr(0,3e3):s;const n=new F.TreeElement(o);if(e.removeChildren(),e.appendChild(n),!r)return;const a=document.createElement("button");function l(){a.remove(),o.textContent=s,n.listItemElement.removeEventListener("contextmenu",d)}function d(e){const t=new E.ContextMenu(e);t.newSection().appendItem(p`Show more`,l),t.show()}a.classList.add("request-headers-show-more-button"),a.textContent=t.UIString("Show more"),a.addEventListener("click",l),n.listItemElement.addEventListener("contextmenu",d),o.appendChild(a)}_refreshParams(e,i,s,r){r.removeChildren(),r.listItemElement.removeChildren(),r.listItemElement.createChild("div","selection fill"),y.createTextChild(r.listItemElement,e);const o=document.createElement("span");o.classList.add("header-count");const n=i?i.length:0;o.textContent=t.UIString(" (%d)",n),r.listItemElement.appendChild(o);lt.has(r)?this._appendParamsSource(e,i,s,r):this._appendParamsParsed(e,i,s,r)}_appendParamsSource(e,t,i,s){this._populateTreeElementWithSourceText(s,i);const r=s.listItemElement,o=function(o){r.removeEventListener("contextmenu",n),lt.delete(s),this._refreshParams(e,t,i,s),o.consume()},n=e=>{if(!s.expanded)return;const t=new E.ContextMenu(e);t.newSection().appendItem(p`View parsed`,o.bind(this,e)),t.show()},a=this._createViewSourceToggle(!0,o.bind(this));r.appendChild(a),r.addEventListener("contextmenu",n)}_appendParamsParsed(e,i,s,r){for(const e of i||[]){const i=document.createDocumentFragment();if(""!==e.name){const t=this._formatParameter(e.name+": ","header-name",this._decodeRequestParameters),s=this._formatParameter(e.value,"header-value source-code",this._decodeRequestParameters);i.appendChild(t),i.createChild("span","header-separator"),i.appendChild(s)}else i.appendChild(this._formatParameter(t.UIString("(empty)"),"empty-request-header",this._decodeRequestParameters));const s=new F.TreeElement(i);this._addEntryContextMenuHandler(s,e.value),r.appendChild(s)}const o=r.listItemElement,n=function(t){o.removeEventListener("contextmenu",l),lt.add(r),this._refreshParams(e,i,s,r),t.consume()},a=function(e){o.removeEventListener("contextmenu",l),this._toggleURLDecoding(e)},l=e=>{if(!r.expanded)return;const t=new E.ContextMenu(e),i=t.newSection();i.appendItem(p`View source`,n.bind(this,e));const s=this._decodeRequestParameters?p`View URL encoded`:p`View decoded`;i.appendItem(s,a.bind(this,e)),t.show()},d=this._createViewSourceToggle(!1,n.bind(this));o.appendChild(d);const c=this._decodeRequestParameters?p`view URL encoded`:p`view decoded`,h=this._createToggleButton(c);h.addEventListener("click",a.bind(this),!1),o.appendChild(h),o.addEventListener("contextmenu",l)}_refreshRequestJSONPayload(e,t){const i=this._requestPayloadCategory;i.removeChildren();const s=i.listItemElement;s.removeChildren(),s.createChild("div","selection fill"),y.createTextChild(s,this._requestPayloadCategory.title.toString()),lt.has(i)?this._appendJSONPayloadSource(i,e,t):this._appendJSONPayloadParsed(i,e,t)}_appendJSONPayloadSource(e,t,i){const s=e.listItemElement;this._populateTreeElementWithSourceText(e,i);const r=function(r){s.removeEventListener("contextmenu",n),lt.delete(e),this._refreshRequestJSONPayload(t,i),r.consume()},o=this._createViewSourceToggle(!0,r.bind(this));s.appendChild(o);const n=t=>{if(!e.expanded)return;const i=new E.ContextMenu(t);i.newSection().appendItem(p`View parsed`,r.bind(this,t)),i.show()};s.addEventListener("contextmenu",n)}_appendJSONPayloadParsed(e,t,i){const s=se.RemoteObject.fromLocalObject(t),r=new Le.RootElement(s);r.title=s.description,r.expand(),r.editable=!1,e.childrenListElement.classList.add("source-code","object-properties-section"),e.appendChild(r);const o=e.listItemElement,n=function(s){o.removeEventListener("contextmenu",a),lt.add(e),this._refreshRequestJSONPayload(t,i),s.consume()},a=t=>{if(!e.expanded)return;const i=new E.ContextMenu(t);i.newSection().appendItem(p`View source`,n.bind(this,t)),i.show()},l=this._createViewSourceToggle(!1,n.bind(this));o.appendChild(l),o.addEventListener("contextmenu",a)}_createViewSourceToggle(e,i){const s=e?t.UIString("view parsed"):t.UIString("view source"),r=this._createToggleButton(s);return r.addEventListener("click",i,!1),r}_toggleURLDecoding(e){this._decodeRequestParameters=!this._decodeRequestParameters,this._refreshQueryString(),this._refreshFormData(),e.consume()}_refreshRequestHeaders(){const e=this._requestHeadersCategory,i=this._request.requestHeaders().slice();i.sort((function(e,t){return _.compare(e.name.toLowerCase(),t.name.toLowerCase())}));const s=this._request.requestHeadersText();if(this._showRequestHeadersText&&s?this._refreshHeadersText(t.UIString("Request Headers"),i.length,s,e):this._refreshHeaders(t.UIString("Request Headers"),i,e,void 0===s),s){const t=this._createHeadersToggleButton(this._showRequestHeadersText);t.addEventListener("click",this._toggleRequestHeadersText.bind(this),!1),e.listItemElement.appendChild(t)}this._refreshFormData()}_refreshResponseHeaders(){const e=this._responseHeadersCategory,i=this._request.sortedResponseHeaders.slice(),s=this._request.responseHeadersText;if(this._showResponseHeadersText)this._refreshHeadersText(t.UIString("Response Headers"),i.length,s,e);else{const s=[];if(this._request.wasBlocked()){const e=ht.get(this._request.blockedReason());e&&s.push(e)}this._refreshHeaders(t.UIString("Response Headers"),function(e,t){let i=0,s=0;const r=[];for(;i<e.length||s<t.length;)i<e.length&&(s>=t.length||e[i].name<t[s].name)?r.push({...e[i++],headerNotSet:!1}):s<t.length&&(i>=e.length||e[i].name>t[s].name)?r.push({...t[s++],headerNotSet:!0}):i<e.length&&s<t.length&&e[i].name===t[s].name&&r.push({...t[s++],...e[i++],headerNotSet:!1});return r}(i,s),e,!1,this._request.blockedResponseCookies())}if(s){const t=this._createHeadersToggleButton(this._showResponseHeadersText);t.addEventListener("click",this._toggleResponseHeadersText.bind(this),!1),e.listItemElement.appendChild(t)}}_refreshHTTPInformation(){const e=this._requestMethodItem;e.hidden=!this._request.statusCode;const t=this._statusCodeItem;if(t.hidden=!this._request.statusCode,this._request.statusCode){const i=document.createDocumentFragment();i.createChild("div","header-name").textContent=p`Status Code`+": ",i.createChild("span","header-separator");const s=i.createChild("span","resource-status-image","dt-icon-label");I.Tooltip.install(s,this._request.statusCode+" "+this._request.statusText),this._request.statusCode<300||304===this._request.statusCode?s.type="smallicon-green-ball":this._request.statusCode<400?s.type="smallicon-orange-ball":s.type="smallicon-red-ball",e.title=this._formatHeader(p`Request Method`,this._request.requestMethod);const r=i.createChild("div","header-value source-code");let o=this._request.statusCode+" "+this._request.statusText;this._request.cachedInMemory()?(o+=" "+p`(from memory cache)`,r.classList.add("status-from-cache")):this._request.fetchedViaServiceWorker?(o+=" "+p`(from service worker)`,r.classList.add("status-from-cache")):this._request.redirectSourceSignedExchangeInfoHasNoErrors()?(o+=" "+p`(from signed-exchange)`,r.classList.add("status-from-cache")):this._request.fromPrefetchCache()?(o+=" "+p`(from prefetch cache)`,r.classList.add("status-from-cache")):this._request.cached()&&(o+=" "+p`(from disk cache)`,r.classList.add("status-from-cache")),r.textContent=o,t.title=i}}_refreshHeadersTitle(e,i,s){i.listItemElement.removeChildren(),i.listItemElement.createChild("div","selection fill"),y.createTextChild(i.listItemElement,e);const r=t.UIString(" (%d)",s);i.listItemElement.createChild("span","header-count").textContent=r}_refreshHeaders(e,t,i,s,r){i.removeChildren();const o=t.length;if(this._refreshHeadersTitle(e,i,o),s){let e,t="";this._request.cachedInMemory()||this._request.cached()?(e=p`Provisional headers are shown. Disable cache to see full headers.`,t=p`Only provisional headers are available because this request was not sent over the network and instead was served from a local cache, which doesn’t store the original request headers. Disable cache to see full request headers.`):e=p`Provisional headers are shown`;const s=document.createElement("div");I.Tooltip.install(s,t),s.createChild("span","","dt-icon-label").type="smallicon-warning",s.createChild("div","caution").textContent=e;const r=new F.TreeElement(s);i.appendChild(r)}const n=new Map;r&&r.forEach((e=>{n.set(e.cookieLine,e.blockedReasons)})),i.hidden=!o&&!s;for(const e of t){const t=new F.TreeElement(this._formatHeaderObject(e));dt.set(t,e.name);const s=e.name.toLowerCase();if("set-cookie"===s){const i=n.get(e.value);if(i){const e=x.Icon.create("smallicon-warning","");t.listItemElement.appendChild(e);let s="";for(const e of i)s&&(s+="\n"),s+=Y.setCookieBlockedReasonToUiString(e);I.Tooltip.install(e,s)}}if(this._addEntryContextMenuHandler(t,e.value),i.appendChild(t),"x-client-data"===s){const i=Ie(e.value),s=qe(i,p`Active client experiment variation IDs.`,p`Active client experiment variation IDs that trigger server-side behavior.`),r=document.createElement("div");r.classList.add("x-client-data-details"),y.createTextChild(r,p`Decoded:`);const o=r.createChild("div");o.classList.add("source-code"),o.textContent=s,t.listItemElement.appendChild(r)}}}_refreshHeadersText(e,t,i,s){this._populateTreeElementWithSourceText(s,i),this._refreshHeadersTitle(e,s,t)}_refreshRemoteAddress(){const e=this._request.remoteAddress(),i=this._remoteAddressItem;i.hidden=!e,e&&(i.title=this._formatHeader(t.UIString("Remote Address"),e))}_refreshReferrerPolicy(){const e=this._request.referrerPolicy(),i=this._referrerPolicyItem;i.hidden=!e,e&&(i.title=this._formatHeader(t.UIString("Referrer Policy"),e))}_toggleRequestHeadersText(e){this._showRequestHeadersText=!this._showRequestHeadersText,this._refreshRequestHeaders(),e.consume()}_toggleResponseHeadersText(e){this._showResponseHeadersText=!this._showResponseHeadersText,this._refreshResponseHeaders(),e.consume()}_createToggleButton(e){const t=document.createElement("span");return t.classList.add("header-toggle"),t.textContent=e,t}_createHeadersToggleButton(e){const i=e?t.UIString("view parsed"):t.UIString("view source");return this._createToggleButton(i)}_clearHighlight(){this._highlightedElement&&this._highlightedElement.listItemElement.classList.remove("header-highlight"),this._highlightedElement=null}_revealAndHighlight(e,t){if(this._clearHighlight(),e)for(const i of e.children())if(dt.get(i)===t)return this._highlightedElement=i,i.reveal(),void i.listItemElement.classList.add("header-highlight")}revealRequestHeader(e){this._revealAndHighlight(this._requestHeadersCategory,e)}revealResponseHeader(e){this._revealAndHighlight(this._responseHeadersCategory,e)}}const lt=new WeakSet,dt=new WeakMap;class ct extends F.TreeElement{constructor(t,i,s){super(s||"",!0),this.toggleOnClick=!0,this.hidden=!0,this._expandedSetting=e.Settings.instance().createSetting("request-info-"+i+"-category-expanded",!0),this.expanded=this._expandedSetting.get(),t.appendChild(this)}createLeaf(){const e=new F.TreeElement;return this.appendChild(e),e}onexpand(){this._expandedSetting.set(!0)}oncollapse(){this._expandedSetting.set(!1)}}const ht=new Map([[Protocol.Network.BlockedReason.CoepFrameResourceNeedsCoepHeader,{name:"cross-origin-embedder-policy",value:null,headerValueIncorrect:null,details:{explanation:p`To embed this frame in your document, the response needs to enable the cross-origin embedder policy by specifying the following response header:`,examples:[{codeSnippet:"Cross-Origin-Embedder-Policy: require-corp",comment:void 0}],link:{url:"https://web.dev/coop-coep/"}},headerNotSet:null}],[Protocol.Network.BlockedReason.CorpNotSameOriginAfterDefaultedToSameOriginByCoep,{name:"cross-origin-resource-policy",value:null,headerValueIncorrect:null,details:{explanation:p`To use this resource from a different origin, the server needs to specify a cross-origin resource policy in the response headers:`,examples:[{codeSnippet:"Cross-Origin-Resource-Policy: same-site",comment:p`Choose this option if the resource and the document are served from the same site.`},{codeSnippet:"Cross-Origin-Resource-Policy: cross-origin",comment:p`Only choose this option if an arbitrary website including this resource does not impose a security risk.`}],link:{url:"https://web.dev/coop-coep/"}},headerNotSet:null}],[Protocol.Network.BlockedReason.CoopSandboxedIframeCannotNavigateToCoopPage,{name:"cross-origin-opener-policy",value:null,headerValueIncorrect:!1,details:{explanation:p`This document was blocked from loading in an iframe with a sandbox attribute because this document specified a cross-origin opener policy.`,examples:[],link:{url:"https://web.dev/coop-coep/"}},headerNotSet:null}],[Protocol.Network.BlockedReason.CorpNotSameSite,{name:"cross-origin-resource-policy",value:null,headerValueIncorrect:!0,details:{explanation:p`To use this resource from a different site, the server may relax the cross-origin resource policy response header:`,examples:[{codeSnippet:"Cross-Origin-Resource-Policy: cross-origin",comment:p`Only choose this option if an arbitrary website including this resource does not impose a security risk.`}],link:null},headerNotSet:null}],[Protocol.Network.BlockedReason.CorpNotSameOrigin,{name:"cross-origin-resource-policy",value:null,headerValueIncorrect:!0,details:{explanation:p`To use this resource from a different origin, the server may relax the cross-origin resource policy response header:`,examples:[{codeSnippet:"Cross-Origin-Resource-Policy: same-site",comment:p`Choose this option if the resource and the document are served from the same site.`},{codeSnippet:"Cross-Origin-Resource-Policy: cross-origin",comment:p`Only choose this option if an arbitrary website including this resource does not impose a security risk.`}],link:null},headerNotSet:null}]]);var ut=Object.freeze({__proto__:null,RequestHeadersView:at,Category:ct});class mt extends k.VBox{constructor(e){super(),this.registerRequiredCSS("network/requestInitiatorView.css",{enableLegacyPatching:!1}),this.element.classList.add("request-initiator-view"),this._linkifier=new we.Linkifier,this._request=e,this._emptyWidget=new L.EmptyWidget(t.UIString("This request has no initiator data.")),this._emptyWidget.show(this.element),this._hasShown=!1}static createStackTracePreview(e,t,i,s){const r=e.initiator();if(!r||!r.stack)return null;const o=J.NetworkManager.forRequest(e),n=o?o.target():null;return Se.buildStackTracePreviewContents(n,t,{stackTrace:r.stack,contentUpdated:s,tabStops:i})}_appendExpandableSection(e,t,i){const s=document.createElement("div");s.classList.add("request-initiator-view-section");const r=x.Icon.create("smallicon-triangle-right"),o=s.createChild("div","request-initiator-view-section-title");o.appendChild(r),y.createTextChild(o,t),o.tabIndex=0,e.classList.add("hidden","request-initiator-view-section-content"),s.appendChild(e);const n=t=>{r.setIconType(t?"smallicon-triangle-down":"smallicon-triangle-right"),e.classList.toggle("hidden",!t)};self.onInvokeElement(o,(t=>{n(e.classList.contains("hidden")),t.consume()})),n(i),this.element.appendChild(s)}_buildRequestChainTree(e){const t=new F.TreeOutlineInShadow,i=e.initiators;let s=t;for(const e of Array.from(i).reverse()){const i=new F.TreeElement(e.url());s.appendChild(i),s!==t&&s instanceof F.TreeElement&&s.expand(),s=i}if(s instanceof F.TreeElement){s.select();const e=s.titleElement;e instanceof HTMLElement&&(e.style.fontWeight="bold")}const r=e.initiated;return this._depthFirstSearchTreeBuilder(r,s,this._request),t}_depthFirstSearchTreeBuilder(e,t,i){const s=new Set;s.add(this._request);for(const r of e.keys())if(e.get(r)===i){const i=new F.TreeElement(r.url());t.appendChild(i),t.expand(),s.has(r)||(s.add(r),this._depthFirstSearchTreeBuilder(e,i,r))}}wasShown(){if(this._hasShown)return;let e=!1;const t=mt.createStackTracePreview(this._request,this._linkifier,!0);t&&(e=!0,this._appendExpandableSection(t.element,p`Request call stack`,!0));const i=re.NetworkLog.instance().initiatorGraphForRequest(this._request);(i.initiators.size>1||i.initiated.size>1)&&(e=!0,this._appendExpandableSection(this._buildRequestChainTree(i).element,p`Request initiator chain`,!0)),e&&this._emptyWidget.hideWidget(),this._hasShown=!0}}var pt=Object.freeze({__proto__:null,RequestInitiatorView:mt});class _t extends k.VBox{constructor(e){super(!0),this.registerRequiredCSS("network/requestHTMLView.css",{enableLegacyPatching:!1}),this._dataURL=encodeURI(e).replace(/#/g,"%23"),this.contentElement.classList.add("html","request-view")}wasShown(){this._createIFrame()}willHide(){this.contentElement.removeChildren()}_createIFrame(){this.contentElement.removeChildren();const e=document.createElement("iframe");e.className="html-preview-frame",e.setAttribute("sandbox",""),e.setAttribute("src",this._dataURL),e.tabIndex=-1,R.markAsPresentation(e),this.contentElement.appendChild(e)}}var gt=Object.freeze({__proto__:null,RequestHTMLView:_t});class wt extends k.VBox{constructor(e){super(),this.element.classList.add("request-view"),this.request=e,this._contentViewPromise=null}static _hasTextContent(e,t){const i=e.mimeType||"";let s=r.ResourceType.fromMimeType(i);return s===r.resourceTypes.Other&&(s=e.contentType()),s===r.resourceTypes.Image?i.startsWith("image/svg"):!!s.isTextType()||!t.error&&(s===r.resourceTypes.Other&&(Boolean(t.content)&&!t.encoded))}static async sourceViewForRequest(e){let t=St.get(e);if(void 0!==t)return t;const i=await e.contentData();if(!wt._hasTextContent(e,i))return St.delete(e),null;const s=e.resourceType().canonicalMimeType()||e.mimeType;return t=C.ResourceSourceFrame.createSearchableView(e,s),St.set(e,t),t}wasShown(){this._doShowPreview()}_doShowPreview(){return this._contentViewPromise||(this._contentViewPromise=this.showPreview()),this._contentViewPromise}async showPreview(){const e=await this.createPreview();return e.show(this.element),e}async createPreview(){const e=await this.request.contentData(),i=await wt.sourceViewForRequest(this.request);return e.content&&i||e.error?e.content&&i?i:new L.EmptyWidget(t.UIString("Failed to load response data")):new L.EmptyWidget(t.UIString("This request has no response data available."))}async revealLine(e){const t=await this._doShowPreview();t instanceof C.SearchableContainer&&t.revealPosition(e)}}const St=new WeakMap;var Ct=Object.freeze({__proto__:null,RequestResponseView:wt});class ft extends k.VBox{constructor(e){super(),console.assert(null!==e.signedExchangeInfo());const i=e.signedExchangeInfo();this.registerRequiredCSS("network/signedExchangeInfoView.css",{enableLegacyPatching:!1}),this.element.classList.add("signed-exchange-info-view");const s=new F.TreeOutlineInShadow;s.registerRequiredCSS("network/signedExchangeInfoTree.css",{enableLegacyPatching:!0}),s.element.classList.add("signed-exchange-info-tree"),s.setFocusable(!1),s.makeDense(),s.expandTreeElementsWhenArrowing=!0,this.element.appendChild(s.element);const r=new Map;if(i.errors&&i.errors.length){const e=new vt(s,t.UIString("Errors"));for(const t of i.errors){const i=document.createDocumentFragment();if(i.appendChild(x.Icon.create("smallicon-error","prompt-icon")),i.createChild("div","error-log").textContent=t.message,e.createLeaf(i),t.errorField){let e=r.get(t.signatureIndex);e||(e=new Set,r.set(t.signatureIndex,e)),e.add(t.errorField)}}}const o=document.createDocumentFragment();o.createChild("div","header-name").textContent=t.UIString("Signed HTTP exchange");const n=P.XLink.create("https://github.com/WICG/webpackage",t.UIString("Learn more"),"header-toggle");o.appendChild(n);const a=new vt(s,o);if(i.header){const o=i.header,n=e.redirectDestination(),l=this._formatHeader(t.UIString("Request URL"),o.requestUrl);if(n){const e=we.Linkifier.linkifyRevealable(n,"View request");e.classList.add("header-toggle"),l.appendChild(e)}a.createLeaf(l),a.createLeaf(this._formatHeader(t.UIString("Response code"),String(o.responseCode))),a.createLeaf(this._formatHeader(t.UIString("Header integrity hash"),o.headerIntegrity)),this._responseHeadersItem=a.createLeaf(this._formatHeader(t.UIString("Response headers"),""));const d=o.responseHeaders;for(const e in d){const t=new F.TreeElement(this._formatHeader(e,d[e]));t.selectable=!1,this._responseHeadersItem.appendChild(t)}this._responseHeadersItem.expand();for(let e=0;e<o.signatures.length;++e){const i=r.get(e)||new Set,n=o.signatures[e],a=new vt(s,t.UIString("Signature"));if(a.createLeaf(this._formatHeader(t.UIString("Label"),n.label)),a.createLeaf(this._formatHeaderForHexData(t.UIString("Signature"),n.signature,i.has(Protocol.Network.SignedExchangeErrorField.SignatureSig))),n.certUrl){const e=this._formatHeader(t.UIString("Certificate URL"),n.certUrl,i.has(Protocol.Network.SignedExchangeErrorField.SignatureCertUrl));if(n.certificates){const i=e.createChild("span","devtools-link header-toggle");i.textContent=t.UIString("View certificate"),i.addEventListener("click",c.InspectorFrontendHostInstance.showCertificateViewer.bind(null,n.certificates),!1)}a.createLeaf(e)}a.createLeaf(this._formatHeader(t.UIString("Integrity"),n.integrity,i.has(Protocol.Network.SignedExchangeErrorField.SignatureIntegrity))),n.certSha256&&a.createLeaf(this._formatHeaderForHexData(t.UIString("Certificate SHA256"),n.certSha256,i.has(Protocol.Network.SignedExchangeErrorField.SignatureCertSha256))),a.createLeaf(this._formatHeader(t.UIString("Validity URL"),n.validityUrl,i.has(Protocol.Network.SignedExchangeErrorField.SignatureValidityUrl))),a.createLeaf().title=this._formatHeader(t.UIString("Date"),new Date(1e3*n.date).toUTCString(),i.has(Protocol.Network.SignedExchangeErrorField.SignatureTimestamps)),a.createLeaf().title=this._formatHeader(t.UIString("Expires"),new Date(1e3*n.expires).toUTCString(),i.has(Protocol.Network.SignedExchangeErrorField.SignatureTimestamps))}}if(i.securityDetails){const e=i.securityDetails,r=new vt(s,t.UIString("Certificate"));r.createLeaf(this._formatHeader(t.UIString("Subject"),e.subjectName)),r.createLeaf(this._formatHeader(t.UIString("Valid from"),new Date(1e3*e.validFrom).toUTCString())),r.createLeaf(this._formatHeader(t.UIString("Valid until"),new Date(1e3*e.validTo).toUTCString())),r.createLeaf(this._formatHeader(t.UIString("Issuer"),e.issuer))}}_formatHeader(e,t,i){const s=document.createDocumentFragment(),r=s.createChild("div","header-name");r.textContent=e+": ",s.createChild("span","header-separator");const o=s.createChild("div","header-value source-code");return o.textContent=t,i&&(r.classList.add("error-field"),o.classList.add("error-field")),s}_formatHeaderForHexData(e,t,i){const s=document.createDocumentFragment(),r=s.createChild("div","header-name");r.textContent=e+": ",s.createChild("span","header-separator");const o=s.createChild("div","header-value source-code hex-data");return o.textContent=t.replace(/(.{2})/g,"$1 "),i&&(r.classList.add("error-field"),o.classList.add("error-field")),s}}class vt extends F.TreeElement{constructor(e,t){super(t,!0),this.selectable=!1,this.toggleOnClick=!0,this.expanded=!0,e.appendChild(this)}createLeaf(e){const t=new F.TreeElement(e);return t.selectable=!1,this.appendChild(t),t}}var kt=Object.freeze({__proto__:null,SignedExchangeInfoView:ft,Category:vt});class bt extends wt{constructor(e){super(e)}async showPreview(){const e=await super.showPreview();if(!(e instanceof M.SimpleView))return e;const t=new b.Toolbar("network-item-preview-toolbar",this.element);return e.toolbarItems().then((e=>{e.map((e=>t.appendToolbarItem(e)))})),e}async _htmlPreview(){const e=await this.request.contentData();if(e.error)return new L.EmptyWidget(t.UIString("Failed to load response data"));if(!new Set(["text/html","text/plain","application/xhtml+xml"]).has(this.request.mimeType))return null;const i=e.encoded?window.atob(e.content):e.content,s=await f.JSONView.createView(i);if(s)return s;const r=xe.contentAsDataURL(e.content,this.request.mimeType,e.encoded,this.request.charset());return r?new _t(r):null}async createPreview(){if(this.request.signedExchangeInfo())return new ft(this.request);const e=await this._htmlPreview();if(e)return e;const i=await v.PreviewFactory.createPreview(this.request,this.request.mimeType);return i||new L.EmptyWidget(t.UIString("Preview not available"))}}var Tt=Object.freeze({__proto__:null,RequestPreviewView:bt});class yt{constructor(e,t){this.minimum=e,this.maximum=t}equals(e){return this.minimum===e.minimum&&this.maximum===e.maximum}}class Rt extends o.ObjectWrapper{constructor(e){super(),this.startAtZero=e,this._minimumBoundary=-1,this._maximumBoundary=-1,this._boundryChangedEventThrottler=new i.Throttler(0),this._window=null}setWindow(e){this._window=e,this._boundaryChanged()}setInitialUserFriendlyBoundaries(){this._minimumBoundary=0,this._maximumBoundary=1}computePosition(e){return(e-this.minimumBoundary())/this.boundarySpan()*(this._workingArea||0)}formatValue(e,t){return Number.secondsToString(e,Boolean(t))}minimumBoundary(){return this._window?this._window.minimum:this._minimumBoundary}zeroTime(){return this._minimumBoundary}maximumBoundary(){return this._window?this._window.maximum:this._maximumBoundary}boundary(){return new yt(this.minimumBoundary(),this.maximumBoundary())}boundarySpan(){return this.maximumBoundary()-this.minimumBoundary()}reset(){this._minimumBoundary=-1,this._maximumBoundary=-1,this._boundaryChanged()}_value(){return 0}setDisplayWidth(e){this._workingArea=e}computeBarGraphPercentages(e){let t,i,s;return t=-1!==e.startTime?(e.startTime-this.minimumBoundary())/this.boundarySpan()*100:0,i=-1!==e.responseReceivedTime?(e.responseReceivedTime-this.minimumBoundary())/this.boundarySpan()*100:this.startAtZero?t:100,s=-1!==e.endTime?(e.endTime-this.minimumBoundary())/this.boundarySpan()*100:this.startAtZero?i:100,this.startAtZero&&(s-=t,i-=t,t=0),{start:t,middle:i,end:s}}computePercentageFromEventTime(e){return-1===e||this.startAtZero?0:(e-this.minimumBoundary())/this.boundarySpan()*100}percentageToTime(e){return e*this.boundarySpan()/100+this.minimumBoundary()}_boundaryChanged(){this._boundryChangedEventThrottler.schedule((async()=>{this.dispatchEventToListeners(qt.BoundariesChanged)}))}updateBoundariesForEventTime(e){-1===e||this.startAtZero||(void 0===this._maximumBoundary||e>this._maximumBoundary)&&(this._maximumBoundary=e,this._boundaryChanged())}computeBarGraphLabels(e){let t="";-1!==e.responseReceivedTime&&-1!==e.endTime&&(t=Number.secondsToString(e.endTime-e.responseReceivedTime));const i=e.latency>0,s=i?Number.secondsToString(e.latency):t;if(e.timing)return{left:s,right:t,tooltip:void 0};let r;if(i&&t){const i=Number.secondsToString(e.duration);r=Lt.format(s,t,i)}else i?r=xt.format(s):t&&(r=Ft.format(t));return e.fetchedViaServiceWorker?r=Et.format(r):e.cached()&&(r=Pt.format(r)),{left:s,right:t,tooltip:r}}updateBoundaries(e){const t=this._lowerBound(e),i=this._upperBound(e);let s=!1;(-1!==t||this.startAtZero)&&(s=this._extendBoundariesToIncludeTimestamp(this.startAtZero?0:t)),-1!==i&&(s=this._extendBoundariesToIncludeTimestamp(i)||s),s&&this._boundaryChanged()}_extendBoundariesToIncludeTimestamp(e){const t=this._minimumBoundary,i=this._maximumBoundary,s=It;return-1===this._minimumBoundary||-1===this._maximumBoundary?(this._minimumBoundary=e,this._maximumBoundary=e+s):(this._minimumBoundary=Math.min(e,this._minimumBoundary),this._maximumBoundary=Math.max(e,this._minimumBoundary+s,this._maximumBoundary)),t!==this._minimumBoundary||i!==this._maximumBoundary}_lowerBound(e){return 0}_upperBound(e){return 0}}const It=.1,qt={BoundariesChanged:Symbol("BoundariesChanged")},Lt=new t.UIStringFormat("%s latency, %s download (%s total)"),xt=new t.UIStringFormat("%s latency"),Ft=new t.UIStringFormat("%s download"),Et=new t.UIStringFormat("%s (from ServiceWorker)"),Pt=new t.UIStringFormat("%s (from cache)");class Mt extends Rt{constructor(){super(!1)}formatValue(e,t){return Number.secondsToString(e-this.zeroTime(),Boolean(t))}_lowerBound(e){return e.issueTime()}_upperBound(e){return e.endTime}}class Ht extends Rt{constructor(){super(!0)}formatValue(e,t){return Number.secondsToString(e,Boolean(t))}_upperBound(e){return e.duration}}var Bt=Object.freeze({__proto__:null,NetworkTimeBoundary:yt,NetworkTimeCalculator:Rt,_minimumSpread:It,Events:qt,_latencyDownloadTotalFormat:Lt,_latencyFormat:xt,_downloadFormat:Ft,_fromServiceWorkerFormat:Et,_fromCacheFormat:Pt,NetworkTransferTimeCalculator:Mt,NetworkTransferDurationCalculator:Ht});class Ut extends k.VBox{constructor(e,t){super(),this.element.classList.add("resource-timing-view"),this._request=e,this._calculator=t}static _timeRangeTitle(e){switch(e){case Nt.Push:return t.UIString("Receiving Push");case Nt.Queueing:return t.UIString("Queueing");case Nt.Blocking:return t.UIString("Stalled");case Nt.Connecting:return t.UIString("Initial connection");case Nt.DNS:return t.UIString("DNS Lookup");case Nt.Proxy:return t.UIString("Proxy negotiation");case Nt.ReceivingPush:return t.UIString("Reading Push");case Nt.Receiving:return t.UIString("Content Download");case Nt.Sending:return t.UIString("Request sent");case Nt.ServiceWorker:return t.UIString("Request to ServiceWorker");case Nt.ServiceWorkerPreparation:return t.UIString("Startup");case Nt.ServiceWorkerRespondWith:return t.UIString("respondWith");case Nt.SSL:return t.UIString("SSL");case Nt.Total:return t.UIString("Total");case Nt.Waiting:return t.UIString("Waiting (TTFB)");default:return t.UIString(e)}}static calculateRequestTimeRanges(e,t){const i=[];function s(e,t,s){t<Number.MAX_VALUE&&t<=s&&i.push({name:e,start:t,end:s})}function r(e){for(let t=0;t<e.length;++t)if(e[t]>0)return e[t]}function o(e,t,i){t>=0&&i>=0&&s(e,l+t/1e3,l+i/1e3)}const n=e.timing;if(!n){const t=-1!==e.issueTime()?e.issueTime():-1!==e.startTime?e.startTime:0,r=-1===e.responseReceivedTime?Number.MAX_VALUE:e.responseReceivedTime,o=-1===e.endTime?Number.MAX_VALUE:e.endTime;return s(Nt.Total,t,o),s(Nt.Blocking,t,r),s(Nt.Receiving,r,o),i}const a=e.issueTime(),l=n.requestTime,d=r([e.endTime,e.responseReceivedTime])||l;if(s(Nt.Total,a<l?a:l,d),n.pushStart){const e=n.pushEnd||d;e>t&&s(Nt.Push,Math.max(n.pushStart,t),e)}a<l&&s(Nt.Queueing,a,l);const c=1e3*(e.responseReceivedTime-l);if(e.fetchedViaServiceWorker)o(Nt.Blocking,0,n.workerStart),o(Nt.ServiceWorkerPreparation,n.workerStart,n.workerReady),o(Nt.ServiceWorkerRespondWith,n.workerFetchStart,n.workerRespondWithSettled),o(Nt.ServiceWorker,n.workerReady,n.sendEnd),o(Nt.Waiting,n.sendEnd,c);else if(!n.pushStart){const e=r([n.dnsStart,n.connectStart,n.sendStart,c])||0;o(Nt.Blocking,0,e),o(Nt.Proxy,n.proxyStart,n.proxyEnd),o(Nt.DNS,n.dnsStart,n.dnsEnd),o(Nt.Connecting,n.connectStart,n.connectEnd),o(Nt.SSL,n.sslStart,n.sslEnd),o(Nt.Sending,n.sendStart,n.sendEnd),o(Nt.Waiting,Math.max(n.sendEnd,n.connectEnd,n.dnsEnd,n.proxyEnd,e),c)}return-1!==e.endTime&&s(n.pushStart?Nt.ReceivingPush:Nt.Receiving,e.responseReceivedTime,d),i}static createTimingTable(e,i){const s=document.createElement("table");s.classList.add("network-timing-table"),H.appendStyle(s,"network/networkTimingTable.css",{enableLegacyPatching:!0});const r=s.createChild("colgroup");r.createChild("col","labels"),r.createChild("col","bars"),r.createChild("col","duration");const o=Ut.calculateRequestTimeRanges(e,i.minimumBoundary()),a=o.map((e=>e.start)).reduce(((e,t)=>Math.min(e,t))),l=o.map((e=>e.end)).reduce(((e,t)=>Math.max(e,t))),d=100/(l-a);let c,h,u,m,_=0;const g=s.createChild("thead","network-timing-start"),w=g.createChild("tr"),S=w.createChild("th");S.createChild("span","network-timing-hidden-header").textContent=p`Label`,S.scope="col";const C=w.createChild("th");C.createChild("span","network-timing-hidden-header").textContent=p`Waterfall`,C.scope="col";const f=w.createChild("th");f.createChild("span","network-timing-hidden-header").textContent=p`Duration`,f.scope="col";const v=g.createChild("tr").createChild("td"),k=g.createChild("tr").createChild("td");let b;v.colSpan=k.colSpan=3,y.createTextChild(v,t.UIString("Queued at %s",i.formatValue(e.issueTime(),2))),y.createTextChild(k,t.UIString("Started at %s",i.formatValue(e.startTime,2)));for(let e=0;e<o.length;++e){const r=o[e],n=r.name;if(n===Nt.Total){_=r.end-r.start;continue}n===Nt.Push?B(t.UIString("Server Push")):n===Nt.Queueing?m||(m=B(p`Resource Scheduling`)):At.has(n)?c||(c=B(t.UIString("Connection Start"))):Vt.has(n)?h||(h=B(p`Service Worker`)):u||(u=B(t.UIString("Request/Response")));const g=d*(r.start-a);b=d*(l-r.end);const w=r.end-r.start,S=s.createChild("tr"),C=S.createChild("td");y.createTextChild(C,Ut._timeRangeTitle(n));const f=S.createChild("td").createChild("div","network-timing-row"),v=f.createChild("span","network-timing-bar "+n);v.style.left=g+"%",v.style.right=b+"%",v.textContent="",R.setAccessibleName(f,p`Started at ${i.formatValue(r.start,2)}`);S.createChild("td").createChild("div","network-timing-bar-title").textContent=Number.secondsToString(w,!0),"serviceworker-respondwith"===r.name&&(C.classList.add("network-fetch-timing-bar-clickable"),s.createChild("tr","network-fetch-timing-bar-details"),C.setAttribute("tabindex","0"),C.setAttribute("role","switch"),R.setChecked(C,!1))}if(!e.finished){const e=s.createChild("tr").createChild("td","caution");e.colSpan=3,y.createTextChild(e,t.UIString("CAUTION: request is not finished yet!"))}const T=s.createChild("tr","network-timing-footer"),q=T.createChild("td");q.colSpan=1,q.appendChild(y.createDocumentationLink("network-performance/reference#timing-explanation",t.UIString("Explanation"))),T.createChild("td"),y.createTextChild(T.createChild("td"),Number.secondsToString(_,!0));const L=e.serverTimings,x=void 0===b?100:b,F=s.createChild("tr","network-timing-table-header").createChild("td");F.colSpan=3,F.createChild("hr","break");const E=s.createChild("tr","network-timing-table-header");if(y.createTextChild(E.createChild("td"),t.UIString("Server Timing")),E.createChild("td"),y.createTextChild(E.createChild("td"),t.UIString("TIME")),!L){const e=s.createChild("tr").createChild("td");e.colSpan=3;const t=P.XLink.create("https://web.dev/custom-metrics/#server-timing-api",p`the Server Timing API`);return e.appendChild(y.formatLocalized("During development, you can use %s to add insights into the server-side timing of this request.",[t])),s}return L.filter((e=>"total"!==e.metric.toLowerCase())).forEach((e=>M(e,x))),L.filter((e=>"total"===e.metric.toLowerCase())).forEach((e=>M(e,x))),s;function M(e,t){const i=new n.Generator({min:0,max:360,count:36},{min:50,max:80,count:void 0},80),r="total"===e.metric.toLowerCase(),o=s.createChild("tr",r?"network-timing-footer":""),c=o.createChild("td","network-timing-metric"),h=e.description||e.metric;y.createTextChild(c,h),I.Tooltip.install(c,h);const u=o.createChild("td").createChild("div","network-timing-row");if(null===e.value)return;const m=d*(l-a-e.value/1e3);if(m>=0){const s=u.createChild("span","network-timing-bar server-timing");s.style.left=m+"%",s.style.right=t+"%",s.textContent="",r||(s.style.backgroundColor=i.colorForID(e.metric))}o.createChild("td").createChild("div","network-timing-bar-title").textContent=Number.millisToString(e.value,!0)}function B(e){const t=s.createChild("tr","network-timing-table-header"),i=t.createChild("td");return y.createTextChild(i,e),R.markAsHeading(i,2),y.createTextChild(t.createChild("td"),""),y.createTextChild(t.createChild("td"),p`DURATION`),t}}_constructFetchDetailsView(){if(!this._tableElement)return;const e=this._tableElement.ownerDocument,t=e.querySelector(".network-fetch-timing-bar-details");if(!t)return;t.classList.add("network-fetch-timing-bar-details-collapsed"),self.onInvokeElement(this._tableElement,this._onToggleFetchDetails.bind(this,t));const i=new F.TreeOutlineInShadow;t.appendChild(i.element);const s=re.NetworkLog.instance().originalRequestForURL(this._request.url());if(s){const e=se.RemoteObject.fromLocalObject(s),t=new Le.RootElement(e);t.title=p`Original Request`,i.appendChild(t)}const r=re.NetworkLog.instance().originalResponseForURL(this._request.url());if(r){const e=se.RemoteObject.fromLocalObject(r),t=new Le.RootElement(e);t.title=p`Response Received`,i.appendChild(t)}const o=e.createElementWithClass("div","network-fetch-details-treeitem");let n=p`Unknown`;const a=this._request.serviceWorkerResponseSource();a&&(n=this._getLocalizedResponseSourceForCode(a)),o.textContent=p`Source of response: ${n}`;const l=new F.TreeElement(o);i.appendChild(l);const d=e.createElementWithClass("div","network-fetch-details-treeitem"),c=this._request.getResponseCacheStorageCacheName();d.textContent=c?p`Cache storage cache name: ${c}`:p`Cache storage cache name: Unknown`;const h=new F.TreeElement(d);i.appendChild(h);const u=this._request.getResponseRetrievalTime();if(u){const t=e.createElementWithClass("div","network-fetch-details-treeitem");t.textContent=p`Retrieval Time: ${u}`;const s=new F.TreeElement(t);i.appendChild(s)}}_getLocalizedResponseSourceForCode(e){switch(e){case Protocol.Network.ServiceWorkerResponseSource.CacheStorage:return p`ServiceWorker cache storage`;case Protocol.Network.ServiceWorkerResponseSource.HttpCache:return p`From HTTP cache`;case Protocol.Network.ServiceWorkerResponseSource.Network:return p`Network fetch`;default:return p`Fallback code`}}_onToggleFetchDetails(e,t){if(!t.target)return;const i=t.target;if(i.classList.contains("network-fetch-timing-bar-clickable")){e.classList.contains("network-fetch-timing-bar-details-collapsed")&&h.actionTaken(u.Action.NetworkPanelServiceWorkerRespondWith);const t="true"===i.getAttribute("aria-checked");i.setAttribute("aria-checked",String(!t)),e.classList.toggle("network-fetch-timing-bar-details-collapsed"),e.classList.toggle("network-fetch-timing-bar-details-expanded")}}wasShown(){this._request.addEventListener(Y.Events.TimingChanged,this._refresh,this),this._request.addEventListener(Y.Events.FinishedLoading,this._refresh,this),this._calculator.addEventListener(qt.BoundariesChanged,this._refresh,this),this._refresh()}willHide(){this._request.removeEventListener(Y.Events.TimingChanged,this._refresh,this),this._request.removeEventListener(Y.Events.FinishedLoading,this._refresh,this),this._calculator.removeEventListener(qt.BoundariesChanged,this._refresh,this)}_refresh(){this._tableElement&&this._tableElement.remove(),this._tableElement=Ut.createTimingTable(this._request,this._calculator),this._tableElement.classList.add("resource-timing-table"),this.element.appendChild(this._tableElement),this._request.fetchedViaServiceWorker&&this._constructFetchDetailsView()}}const Nt={Push:"push",Queueing:"queueing",Blocking:"blocking",Connecting:"connecting",DNS:"dns",Proxy:"proxy",Receiving:"receiving",ReceivingPush:"receiving-push",Sending:"sending",ServiceWorker:"serviceworker",ServiceWorkerPreparation:"serviceworker-preparation",ServiceWorkerRespondWith:"serviceworker-respondwith",SSL:"ssl",Total:"total",Waiting:"waiting"},Vt=new Set([Nt.ServiceWorker,Nt.ServiceWorkerPreparation,Nt.ServiceWorkerRespondWith]),At=new Set([Nt.Queueing,Nt.Blocking,Nt.Connecting,Nt.DNS,Nt.Proxy,Nt.SSL]);var Wt=Object.freeze({__proto__:null,RequestTimingView:Ut,RequestTimeRangeNames:Nt,ServiceWorkerRangeNames:Vt,ConnectionSetupRangeNames:At,RequestTimeRange:undefined});const Ot=g.ls;class Dt extends k.VBox{constructor(e){super(),this.reportView=new Gt,this.request=e,this.contentElement.appendChild(this.reportView)}wasShown(){this.request.addEventListener(Y.Events.TrustTokenResultAdded,this.refreshReportView,this),this.refreshReportView()}willHide(){this.request.removeEventListener(Y.Events.TrustTokenResultAdded,this.refreshReportView,this)}refreshReportView(){this.reportView.data={params:this.request.trustTokenParams(),result:this.request.trustTokenOperationDoneEvent()}}}class Gt extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"})}set data(e){this.trustTokenData=e,this.render()}render(){if(!this.trustTokenData)throw new Error("Trying to render a Trust Token report without providing data");Pe(Me`
|
|
2
|
+
<style>
|
|
3
|
+
.code {
|
|
4
|
+
font-family: var(--monospace-font-family);
|
|
5
|
+
font-size: var(--monospace-font-size);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.issuers-list {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
list-style-type: none;
|
|
12
|
+
padding: 0;
|
|
13
|
+
margin: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.status-row {
|
|
17
|
+
display: flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.status-icon {
|
|
22
|
+
margin-right: 6px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.status-text {
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
}
|
|
29
|
+
</style>
|
|
30
|
+
<devtools-report>
|
|
31
|
+
${this.renderParameterSection()}
|
|
32
|
+
${this.renderResultSection()}
|
|
33
|
+
</devtools-report>
|
|
34
|
+
`,this.shadow)}renderParameterSection(){return this.trustTokenData&&this.trustTokenData.params?Me`
|
|
35
|
+
<devtools-report-section-header>${Ot`Parameters`}</devtools-report-section-header>
|
|
36
|
+
${Xt(Ot`Type`,this.trustTokenData.params.type.toString())}
|
|
37
|
+
${this.renderRefreshPolicy(this.trustTokenData.params)}
|
|
38
|
+
${this.renderIssuers(this.trustTokenData.params)}
|
|
39
|
+
${this.renderIssuerAndTopLevelOriginFromResult()}
|
|
40
|
+
<devtools-report-divider></devtools-report-divider>
|
|
41
|
+
`:He}renderRefreshPolicy(e){return e.type!==Protocol.Network.TrustTokenOperationType.Redemption?He:Xt(Ot`Refresh policy`,e.refreshPolicy.toString())}renderIssuers(e){return e.issuers&&0!==e.issuers.length?Me`
|
|
42
|
+
<devtools-report-key>${Ot`Issuers`}</devtools-report-key>
|
|
43
|
+
<devtools-report-value>
|
|
44
|
+
<ul class="issuers-list">
|
|
45
|
+
${e.issuers.map((e=>Me`<li>${e}</li>`))}
|
|
46
|
+
</ul>
|
|
47
|
+
</devtools-report-value>
|
|
48
|
+
`:He}renderIssuerAndTopLevelOriginFromResult(){return this.trustTokenData&&this.trustTokenData.result?Me`
|
|
49
|
+
${$t(Ot`Top level origin`,this.trustTokenData.result.topLevelOrigin)}
|
|
50
|
+
${$t(Ot`Issuer`,this.trustTokenData.result.issuerOrigin)}`:He}renderResultSection(){return this.trustTokenData&&this.trustTokenData.result?Me`
|
|
51
|
+
<devtools-report-section-header>${Ot`Result`}</devtools-report-section-header>
|
|
52
|
+
<devtools-report-key>${Ot`Status`}</devtools-report-key>
|
|
53
|
+
<devtools-report-value>
|
|
54
|
+
<div class="status-row">
|
|
55
|
+
<devtools-icon class="status-icon"
|
|
56
|
+
.data=${e=this.trustTokenData.result.status,jt(e)?zt:Kt}>
|
|
57
|
+
</devtools-icon>
|
|
58
|
+
<div class="status-text">
|
|
59
|
+
<span><strong>${function(e){return jt(e)?Ot`Success`:Ot`Failure`}(this.trustTokenData.result.status)}</strong></span>
|
|
60
|
+
<span>${function(e){switch(e){case Protocol.Network.TrustTokenOperationDoneEventStatus.Ok:return null;case Protocol.Network.TrustTokenOperationDoneEventStatus.AlreadyExists:return Ot`The operations result was served from cache.`;case Protocol.Network.TrustTokenOperationDoneEventStatus.FulfilledLocally:return Ot`The operation was fulfilled locally, no request was sent.`;case Protocol.Network.TrustTokenOperationDoneEventStatus.InvalidArgument:return Ot`A client-provided argument was malformed or otherwise invalid.`;case Protocol.Network.TrustTokenOperationDoneEventStatus.ResourceExhausted:return Ot`Either no inputs for this operation are available or the output exceeds the operations quota.`;case Protocol.Network.TrustTokenOperationDoneEventStatus.BadResponse:return Ot`The servers response was malformed or otherwise invalid.`;case Protocol.Network.TrustTokenOperationDoneEventStatus.FailedPrecondition:case Protocol.Network.TrustTokenOperationDoneEventStatus.Unavailable:case Protocol.Network.TrustTokenOperationDoneEventStatus.InternalError:case Protocol.Network.TrustTokenOperationDoneEventStatus.UnknownError:return Ot`The operation failed for an unknown reason.`}}(this.trustTokenData.result.status)}</span>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</devtools-report-value>
|
|
64
|
+
${this.renderIssuedTokenCount(this.trustTokenData.result)}
|
|
65
|
+
<devtools-report-divider></devtools-report-divider>
|
|
66
|
+
`:He;var e}renderIssuedTokenCount(e){return e.type!==Protocol.Network.TrustTokenOperationType.Issuance?He:$t(Ot`Number of issued tokens`,e.issuedTokenCount)}}const zt={color:"rgb(12, 164, 12)",iconName:"ic_checkmark_16x16",width:"12px"},Kt={color:"",iconName:"error_icon",width:"12px"};function jt(e){return e===Protocol.Network.TrustTokenOperationDoneEventStatus.Ok||e===Protocol.Network.TrustTokenOperationDoneEventStatus.AlreadyExists||e===Protocol.Network.TrustTokenOperationDoneEventStatus.FulfilledLocally}function $t(e,t){return void 0===t?He:Me`
|
|
67
|
+
<devtools-report-key>${e}</devtools-report-key>
|
|
68
|
+
<devtools-report-value>${t}</devtools-report-value>
|
|
69
|
+
`}function Xt(e,t){return Me`
|
|
70
|
+
<devtools-report-key>${e}</devtools-report-key>
|
|
71
|
+
<devtools-report-value class="code">${t}</devtools-report-value>
|
|
72
|
+
`}customElements.define("devtools-trust-token-report",Gt);var Qt=Object.freeze({__proto__:null,RequestTrustTokensView:Dt,RequestTrustTokensReport:Gt,statusConsideredSuccess:jt});class Jt extends k.VBox{constructor(e){super(),this.registerRequiredCSS("network/webSocketFrameView.css",{enableLegacyPatching:!0}),this.element.classList.add("websocket-frame-view"),this._request=e,this._splitWidget=new B.SplitWidget(!1,!0,"resourceWebSocketFrameSplitViewState"),this._splitWidget.show(this.element);const i=[{id:"data",title:t.UIString("Data"),sortable:!1,weight:88},{id:"length",title:t.UIString("Length"),sortable:!1,align:he.Align.Right,weight:5},{id:"time",title:t.UIString("Time"),sortable:!0,weight:7}];this._dataGrid=new ce.SortableDataGrid({displayName:p`Web Socket Frame`,columns:i,editCallback:void 0,deleteCallback:void 0,refreshCallback:void 0}),this._dataGrid.setRowContextMenuCallback(function(e,i){const s=i,r=s.binaryView();r?r.addCopyToContextMenu(e,p`Copy message...`):e.clipboardSection().appendItem(t.UIString("Copy message"),c.InspectorFrontendHostInstance.copyText.bind(c.InspectorFrontendHostInstance,s.data.data));e.footerSection().appendItem(t.UIString("Clear all"),this._clearFrames.bind(this))}.bind(this)),this._dataGrid.setStickToBottom(!0),this._dataGrid.setCellClass("websocket-frame-view-td"),this._timeComparator=ii,this._dataGrid.sortNodes(this._timeComparator,!1),this._dataGrid.markColumnAsSortedBy("time",he.Order.Ascending),this._dataGrid.addEventListener(he.Events.SortingChanged,this._sortItems,this),this._dataGrid.setName("ResourceWebSocketFrameView"),this._dataGrid.addEventListener(he.Events.SelectedNode,(e=>{this._onFrameSelected(e)}),this),this._dataGrid.addEventListener(he.Events.DeselectedNode,this._onFrameDeselected,this),this._mainToolbar=new b.Toolbar(""),this._clearAllButton=new b.ToolbarButton(t.UIString("Clear All"),"largeicon-clear"),this._clearAllButton.addEventListener(b.ToolbarButton.Events.Click,this._clearFrames,this),this._mainToolbar.appendToolbarItem(this._clearAllButton),this._filterTypeCombobox=new b.ToolbarComboBox(this._updateFilterSetting.bind(this),p`Filter`);for(const e of ei){const t=this._filterTypeCombobox.createOption(e.label,e.name);this._filterTypeCombobox.addOption(t)}this._mainToolbar.appendToolbarItem(this._filterTypeCombobox),this._filterType=null;this._filterTextInput=new b.ToolbarInput(t.UIString("Enter regex, for example: (web)?socket"),"",.4),this._filterTextInput.addEventListener(b.ToolbarInput.Event.TextChanged,this._updateFilterSetting,this),this._mainToolbar.appendToolbarItem(this._filterTextInput),this._filterRegex=null;const s=new k.VBox;s.element.appendChild(this._mainToolbar.element),this._dataGrid.asWidget().show(s.element),s.setMinimumSize(0,72),this._splitWidget.setMainWidget(s),this._frameEmptyWidget=new L.EmptyWidget(t.UIString("Select message to browse its content.")),this._splitWidget.setSidebarWidget(this._frameEmptyWidget),this._selectedNode=null}static opCodeDescription(e,t){const i=Yt[e]||"";return t?p`${i} (Opcode ${e}, mask)`:p`${i} (Opcode ${e})`}wasShown(){this.refresh(),this._request.addEventListener(Y.Events.WebsocketFrameAdded,this._frameAdded,this)}willHide(){this._request.removeEventListener(Y.Events.WebsocketFrameAdded,this._frameAdded,this)}_frameAdded(e){const t=e.data;this._frameFilter(t)&&this._dataGrid.insertChild(new ti(this._request.url(),t))}_frameFilter(e){return(!this._filterType||e.type===this._filterType)&&(!this._filterRegex||this._filterRegex.test(e.text))}_clearFrames(){si.set(this._request,this._request.frames().length),this.refresh()}_updateFilterSetting(){const e=this._filterTextInput.value(),t=this._filterTypeCombobox.selectedOption().value;this._filterRegex=e?new RegExp(e,"i"):null,this._filterType="all"===t?null:t,this.refresh()}async _onFrameSelected(e){this._currentSelectedNode=e.data;const t=this._currentSelectedNode.dataText(),i=this._currentSelectedNode.binaryView();if(i)return void this._splitWidget.setSidebarWidget(i);const s=await f.JSONView.createView(t);s?this._splitWidget.setSidebarWidget(s):this._splitWidget.setSidebarWidget(new C.ResourceSourceFrame(Fe.StaticContentProvider.fromString(this._request.url(),r.resourceTypes.WebSocket,t)))}_onFrameDeselected(e){this._currentSelectedNode=null,this._splitWidget.setSidebarWidget(this._frameEmptyWidget)}refresh(){this._dataGrid.rootNode().removeChildren();const e=this._request.url();let t=this._request.frames();const i=si.get(this._request)||0;t=t.slice(i),t=t.filter(this._frameFilter.bind(this)),t.forEach((t=>this._dataGrid.insertChild(new ti(e,t))))}_sortItems(){this._dataGrid.sortNodes(this._timeComparator,!this._dataGrid.isSortOrderAscending())}}const Zt={ContinuationFrame:0,TextFrame:1,BinaryFrame:2,ConnectionCloseFrame:8,PingFrame:9,PongFrame:10},Yt=function(){const e=Zt,t=[];return t[e.ContinuationFrame]=p`Continuation Frame`,t[e.TextFrame]=p`Text Message`,t[e.BinaryFrame]=p`Binary Message`,t[e.ContinuationFrame]=p`Connection Close Message`,t[e.PingFrame]=p`Ping Message`,t[e.PongFrame]=p`Pong Message`,t}(),ei=[{name:"all",label:t.UIString("All"),title:void 0},{name:"send",label:t.UIString("Send"),title:void 0},{name:"receive",label:t.UIString("Receive"),title:void 0}];class ti extends ce.SortableDataGridNode{constructor(e,t){let i=String(t.text.length);const s=new Date(1e3*t.time),r=("0"+s.getHours()).substr(-2)+":"+("0"+s.getMinutes()).substr(-2)+":"+("0"+s.getSeconds()).substr(-2)+"."+("00"+s.getMilliseconds()).substr(-3),o=document.createElement("div");y.createTextChild(o,r),I.Tooltip.install(o,s.toLocaleString());let n=t.text,a=Jt.opCodeDescription(t.opCode,t.mask);const l=t.opCode===Zt.TextFrame;t.type===Y.WebSocketFrameType.Error?(a=n,i=p`N/A`):l?a=n:t.opCode===Zt.BinaryFrame?(i=w.bytesToString(base64ToSize(t.text)),a=Yt[t.opCode]):n=a,super({data:a,length:i,time:o}),this._url=e,this._frame=t,this._isTextFrame=l,this._dataText=n,this._binaryView=null}createCells(e){e.classList.toggle("websocket-frame-view-row-error",this._frame.type===Y.WebSocketFrameType.Error),e.classList.toggle("websocket-frame-view-row-send",this._frame.type===Y.WebSocketFrameType.Send),e.classList.toggle("websocket-frame-view-row-receive",this._frame.type===Y.WebSocketFrameType.Receive),super.createCells(e)}nodeSelfHeight(){return 21}dataText(){return this._dataText}opCode(){return this._frame.opCode}binaryView(){return this._isTextFrame||this._frame.type===Y.WebSocketFrameType.Error?null:(this._binaryView||this._dataText.length>0&&(this._binaryView=new Ae(this._dataText,"",r.resourceTypes.WebSocket)),this._binaryView)}}function ii(e,t){return e._frame.time-t._frame.time}const si=new WeakMap;var ri=Object.freeze({__proto__:null,ResourceWebSocketFrameView:Jt,OpCodes:Zt,opCodeDescriptions:Yt,_filterTypes:ei,ResourceWebSocketFrameNode:ti,ResourceWebSocketFrameNodeTimeComparator:ii});class oi extends U.TabbedPane{constructor(i,s,o){if(super(),this._request=i,this.element.classList.add("network-item-view"),this._resourceViewTabSetting=e.Settings.instance().createSetting("resourceViewTab","preview"),this._headersView=new at(i),this.appendTab(ni.Headers,t.UIString("Headers"),this._headersView,t.UIString("Headers and request body")),this.addEventListener(U.Events.TabSelected,this._tabSelected,this),i.resourceType()===r.resourceTypes.WebSocket){const e=new Jt(i);this.appendTab(ni.WsFrames,t.UIString("Messages"),e,t.UIString("WebSocket messages"))}else if("text/event-stream"===i.mimeType)this.appendTab(ni.EventSource,t.UIString("EventStream"),new Ke(i));else{this._responseView=new wt(i);const e=new bt(i);this.appendTab(ni.Preview,t.UIString("Preview"),e,t.UIString("Response preview"));const s=i.signedExchangeInfo();if(s&&s.errors&&s.errors.length){const e=x.Icon.create("smallicon-error");I.Tooltip.install(e,t.UIString("SignedExchange error")),this.setTabIcon(ni.Preview,e)}this.appendTab(ni.Response,t.UIString("Response"),this._responseView,t.UIString("Raw response data"))}this.appendTab(ni.Initiator,p`Initiator`,new mt(i),p`Request initiator call stack`),this.appendTab(ni.Timing,t.UIString("Timing"),new Ut(i,s),t.UIString("Request and response timeline")),i.trustTokenParams()&&this.appendTab(ni.TrustTokens,p`Trust Tokens`,new Dt(i),p`Trust Token operation details`),this._cookiesView=null,this._initialTab=o||this._resourceViewTabSetting.get()}wasShown(){super.wasShown(),this._request.addEventListener(Y.Events.RequestHeadersChanged,this._maybeAppendCookiesPanel,this),this._request.addEventListener(Y.Events.ResponseHeadersChanged,this._maybeAppendCookiesPanel,this),this._request.addEventListener(Y.Events.TrustTokenResultAdded,this._maybeShowErrorIconInTrustTokenTabHeader,this),this._maybeAppendCookiesPanel(),this._maybeShowErrorIconInTrustTokenTabHeader(),this._selectTab(this._initialTab)}willHide(){this._request.removeEventListener(Y.Events.RequestHeadersChanged,this._maybeAppendCookiesPanel,this),this._request.removeEventListener(Y.Events.ResponseHeadersChanged,this._maybeAppendCookiesPanel,this),this._request.removeEventListener(Y.Events.TrustTokenResultAdded,this._maybeShowErrorIconInTrustTokenTabHeader,this)}_maybeAppendCookiesPanel(){const e=this._request.hasRequestCookies()||this._request.responseCookies.length>0;console.assert(e||!this._cookiesView,"Cookies were introduced in headers and then removed!"),e&&!this._cookiesView&&(this._cookiesView=new ot(this._request),this.appendTab(ni.Cookies,t.UIString("Cookies"),this._cookiesView,t.UIString("Request and response cookies")))}_maybeShowErrorIconInTrustTokenTabHeader(){const e=this._request.trustTokenOperationDoneEvent();e&&!jt(e.status)&&this.setTabIcon(ni.TrustTokens,x.Icon.create("smallicon-error"))}_selectTab(e){this.selectTab(e)||this.selectTab("headers")}_tabSelected(e){e.data.isUserGesture&&this._resourceViewTabSetting.set(e.data.tabId)}request(){return this._request}async revealResponseBody(e){this._selectTab(ni.Response),this._responseView&&"number"==typeof e&&await this._responseView.revealLine(e)}revealRequestHeader(e){this._selectTab(ni.Headers),this._headersView.revealRequestHeader(e)}revealResponseHeader(e){this._selectTab(ni.Headers),this._headersView.revealResponseHeader(e)}}const ni={Cookies:"cookies",EventSource:"eventSource",Headers:"headers",Initiator:"initiator",Preview:"preview",Response:"response",Timing:"timing",TrustTokens:"trustTokens",WsFrames:"webSocketFrames"};var ai=Object.freeze({__proto__:null,NetworkItemView:oi,Tabs:ni});const li={RequestSelected:Symbol("RequestSelected"),RequestActivated:Symbol("RequestActivated")};class di extends ce.SortableDataGridNode{constructor(e){super({}),this._parentView=e,this._isHovered=!1,this._showingInitiatorChain=!1,this._requestOrFirstKnownChildRequest=null}displayName(){return""}displayType(){return""}createCell(e){const t=this.createTD(e);return this.renderCell(t,e),t}renderCell(e,t){}_isFailed(){return!1}backgroundColor(){const e=ci,t=document.hasFocus(),i=this.dataGrid&&this.dataGrid.element===document.activeElement,s=this._isFailed();return this.selected&&t&&i&&s?e.FocusSelectedHasError:this.selected&&t&&i?e.FocusSelected:this.selected?e.Selected:this.hovered()?e.Hovered:this.isOnInitiatorPath()?e.InitiatorPath:this.isOnInitiatedPath()?e.InitiatedPath:this.isStriped()?e.Stripe:e.Default}updateBackgroundColor(){const e=this.existingElement();e&&(e.style.backgroundColor=`var(${this.backgroundColor()})`,this._parentView.stylesChanged())}setStriped(e){super.setStriped(e),this.updateBackgroundColor()}select(e){super.select(e),this.updateBackgroundColor(),this._parentView.updateNodeSelectedClass(!0)}deselect(e){super.deselect(e),this.updateBackgroundColor(),this._parentView.updateNodeSelectedClass(!1)}parentView(){return this._parentView}hovered(){return this._isHovered}showingInitiatorChain(){return this._showingInitiatorChain}nodeSelfHeight(){return this._parentView.rowHeight()}setHovered(e,t){this._isHovered===e&&this._showingInitiatorChain===t||(this._isHovered!==e&&(this._isHovered=e,this.attached()&&this.element().classList.toggle("hover",e)),this._showingInitiatorChain!==t&&(this._showingInitiatorChain=t,this.showingInitiatorChainChanged()),this._parentView.stylesChanged(),this.updateBackgroundColor())}showingInitiatorChainChanged(){}isOnInitiatorPath(){return!1}isOnInitiatedPath(){return!1}request(){return null}isNavigationRequest(){return!1}clearFlatNodes(){super.clearFlatNodes(),this._requestOrFirstKnownChildRequest=null}requestOrFirstKnownChildRequest(){if(this._requestOrFirstKnownChildRequest)return this._requestOrFirstKnownChildRequest;let e=this.request();if(e||!this.hasChildren())return this._requestOrFirstKnownChildRequest=e,this._requestOrFirstKnownChildRequest;let t=null;const i=this.flatChildren();for(let s=0;s<i.length;s++)e=i[s].request(),(!t||e&&e.issueTime()<t.issueTime())&&(t=e);return this._requestOrFirstKnownChildRequest=t,this._requestOrFirstKnownChildRequest}}const ci={Default:"--network-grid-default-color",Stripe:"--network-grid-stripe-color",Navigation:"--network-grid-navigation-color",Hovered:"--network-grid-hovered-color",InitiatorPath:"--network-grid-initiator-path-color",InitiatedPath:"--network-grid-initiated-path-color",Selected:"--network-grid-selected-color",FocusSelected:"--network-grid-focus-selected-color",FocusSelectedHasError:"--network-grid-focus-selected-color-has-error",FromFrame:"--network-grid-from-frame-color"};class hi extends di{constructor(e,t){super(e),this._nameCell=null,this._initiatorCell=null,this._request=t,this._isNavigationRequest=!1,this.selectable=!0,this._isOnInitiatorPath=!1,this._isOnInitiatedPath=!1}static NameComparator(e,t){const i=e.displayName().toLowerCase(),s=t.displayName().toLowerCase();if(i===s){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();return i&&s?i.identityCompare(s):i?-1:1}return i<s?-1:1}static RemoteAddressComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();if(!i||!s)return i?1:-1;const r=i.remoteAddress(),o=s.remoteAddress();return r>o?1:o>r?-1:i.identityCompare(s)}static SizeComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();return i&&s?s.cached()&&!i.cached()?1:i.cached()&&!s.cached()?-1:i.transferSize-s.transferSize||i.resourceSize-s.resourceSize||i.identityCompare(s):i?1:-1}static TypeComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();if(!i||!s)return i?1:-1;const r=e.displayType(),o=t.displayType();return r>o?1:o>r?-1:i.identityCompare(s)}static InitiatorComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();if(!i||!s)return i?1:-1;const r=e instanceof hi&&e._initiatorCell,o=t instanceof hi&&t._initiatorCell;if(!r||!o)return r?1:-1;const n=e,a=t,l=n._linkifiedInitiatorAnchor?n._linkifiedInitiatorAnchor.textContent||"":n._initiatorCell.title,d=a._linkifiedInitiatorAnchor?a._linkifiedInitiatorAnchor.textContent||"":a._initiatorCell.title;return l.localeCompare(d)}static InitiatorAddressSpaceComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();if(!i||!s)return i?1:-1;const r=i.clientSecurityState(),o=s.clientSecurityState();return r&&o?r.initiatorIPAddressSpace.localeCompare(o.initiatorIPAddressSpace):r?1:-1}static RequestCookiesCountComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();if(!i||!s)return i?1:-1;return i.includedRequestCookies().length-s.includedRequestCookies().length||i.identityCompare(s)}static ResponseCookiesCountComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();if(!i||!s)return i?1:-1;return(i.responseCookies?i.responseCookies.length:0)-(s.responseCookies?s.responseCookies.length:0)||i.identityCompare(s)}static PriorityComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();if(!i||!s)return i?1:-1;const r=i.priority();let o=r?Ce.networkPriorityWeight(r):0;o=o||0;const n=s.priority();let a=n?Ce.networkPriorityWeight(n):0;return a=a||0,o-a||i.identityCompare(s)}static RequestPropertyComparator(e,t,i){const s=t.requestOrFirstKnownChildRequest(),r=i.requestOrFirstKnownChildRequest();if(!s||!r)return s?1:-1;const o=s[e],n=r[e];return o===n?s.identityCompare(r):o>n?1:-1}static RequestURLComparator(e,t){const i=e.requestOrFirstKnownChildRequest(),s=t.requestOrFirstKnownChildRequest();if(!i||!s)return i?1:-1;const r=i.url(),o=s.url();return r===o?i.identityCompare(s):r>o?1:-1}static ResponseHeaderStringComparator(e,t,i){const s=t.requestOrFirstKnownChildRequest(),r=i.requestOrFirstKnownChildRequest();if(!s||!r)return s?1:-1;const o=String(s.responseHeaderValue(e)||""),n=String(r.responseHeaderValue(e)||"");return o.localeCompare(n)||s.identityCompare(r)}static ResponseHeaderNumberComparator(e,t,i){const s=t.requestOrFirstKnownChildRequest(),r=i.requestOrFirstKnownChildRequest();if(!s||!r)return s?1:-1;const o=s.responseHeaderValue(e),n=void 0!==o?parseFloat(o):-1/0,a=r.responseHeaderValue(e),l=void 0!==a?parseFloat(a):-1/0;return n===l?s.identityCompare(r):n>l?1:-1}static ResponseHeaderDateComparator(e,t,i){const s=t.requestOrFirstKnownChildRequest(),r=i.requestOrFirstKnownChildRequest();if(!s||!r)return s?1:-1;const o=s.responseHeaderValue(e),n=r.responseHeaderValue(e),a=o?new Date(o).getTime():-1/0,l=n?new Date(n).getTime():-1/0;return a===l?s.identityCompare(r):a>l?1:-1}showingInitiatorChainChanged(){const e=this.showingInitiatorChain(),t=re.NetworkLog.instance().initiatorGraphForRequest(this._request);for(const i of t.initiators){if(i===this._request)continue;const t=this.parentView().nodeForRequest(i);t&&t._setIsOnInitiatorPath(e)}for(const i of t.initiated.keys()){if(i===this._request)continue;const t=this.parentView().nodeForRequest(i);t&&t._setIsOnInitiatedPath(e)}}_setIsOnInitiatorPath(e){this._isOnInitiatorPath!==e&&this.attached()&&(this._isOnInitiatorPath=e,this.updateBackgroundColor())}isOnInitiatorPath(){return this._isOnInitiatorPath}_setIsOnInitiatedPath(e){this._isOnInitiatedPath!==e&&this.attached()&&(this._isOnInitiatedPath=e,this.updateBackgroundColor())}isOnInitiatedPath(){return this._isOnInitiatedPath}displayType(){const e=this._request.mimeType||this._request.requestContentType()||"",t=this._request.resourceType();let i=t.name();return t!==r.resourceTypes.Other&&t!==r.resourceTypes.Image||(i=e.replace(/^(application|image)\//,"")),this._request.isRedirect()&&(i+=" / "+p`Redirect`),i}displayName(){return this._request.name()}request(){return this._request}isNavigationRequest(){const e=re.PageLoad.forRequest(this._request);return!!e&&e.mainRequest===this._request}nodeSelfHeight(){return this.parentView().rowHeight()}createCells(e){this._nameCell=null,this._initiatorCell=null,e.classList.toggle("network-error-row",this._isFailed()),e.classList.toggle("network-navigation-row",this._isNavigationRequest),super.createCells(e),this.updateBackgroundColor()}_setTextAndTitle(e,t,i){y.createTextChild(e,t),I.Tooltip.install(e,i||t)}_setTextAndTitleAndLink(e,t,i,s){y.createTextChild(e,t),e.createChild("span","separator-in-cell");const r=document.createElement("span");r.classList.add("devtools-link"),r.textContent=i,r.addEventListener("click",s),e.appendChild(r),I.Tooltip.install(e,t)}renderCell(e,t){const i=e;switch(t){case"name":this._renderPrimaryCell(i,t);break;case"path":this._renderPrimaryCell(i,t,this._request.pathname);break;case"url":this._renderPrimaryCell(i,t,this._request.url());break;case"method":{const e=this._request.preflightRequest();e?(this._setTextAndTitle(i,this._request.requestMethod+" + ",p`${this._request.requestMethod} + Preflight`),i.appendChild(we.Linkifier.linkifyRevealable(e,p`Preflight`,void 0,p`Select preflight request`))):this._setTextAndTitle(i,this._request.requestMethod);break}case"status":this._renderStatusCell(i);break;case"protocol":this._setTextAndTitle(i,this._request.protocol);break;case"scheme":this._setTextAndTitle(i,this._request.scheme);break;case"domain":this._setTextAndTitle(i,this._request.domain);break;case"remoteaddress":this._setTextAndTitle(i,this._request.remoteAddress());break;case"cookies":this._setTextAndTitle(i,this._arrayLength(this._request.includedRequestCookies()));break;case"setcookies":this._setTextAndTitle(i,this._arrayLength(this._request.responseCookies));break;case"priority":{const e=this._request.priority();this._setTextAndTitle(i,e?Ce.uiLabelForNetworkPriority(e):"");break}case"connectionid":this._setTextAndTitle(i,"0"===this._request.connectionId?"":this._request.connectionId);break;case"type":this._setTextAndTitle(i,this.displayType());break;case"initiator":this._renderInitiatorCell(i);break;case"initiator-address-space":this._renderInitiatorAddressSpaceCell(i);break;case"size":this._renderSizeCell(i);break;case"time":this._renderTimeCell(i);break;case"timeline":this._setTextAndTitle(i,"");break;default:this._setTextAndTitle(i,this._request.responseHeaderValue(t)||"")}}_arrayLength(e){return e?String(e.length):""}select(e){super.select(e),this.parentView().dispatchEventToListeners(li.RequestSelected,this._request)}highlightMatchedSubstring(e){if(!e||!this._nameCell||null===this._nameCell.textContent)return[];this.element();const t=[],i=this._nameCell.textContent.match(e);return i&&y.highlightSearchResult(this._nameCell,i.index||0,i[0].length,t),t}_openInNewTab(){c.InspectorFrontendHostInstance.openInNewTab(this._request.url())}_isFailed(){const e=this._request.signedExchangeInfo();return this._request.failed&&!this._request.statusCode||this._request.statusCode>=400||null!==e&&Boolean(e.errors)}_renderPrimaryCell(e,t,i){if(0===this.dataGrid.indexOfVisibleColumn(t)){const t=this.leftPadding?this.leftPadding+"px":"";let i;if(e.style.setProperty("padding-left",t),this._nameCell=e,e.addEventListener("dblclick",this._openInNewTab.bind(this),!1),e.addEventListener("click",(()=>{this.parentView().dispatchEventToListeners(li.RequestActivated,{showPanel:!0})})),this._request.resourceType()===r.resourceTypes.Image){const e=document.createElement("img");e.classList.add("image-network-icon-preview"),e.alt=this._request.resourceType().title(),this._request.populateImageSource(e),i=document.createElement("div"),i.classList.add("icon"),i.appendChild(e)}else i=document.createElement("img"),i.classList.add("icon"),i.alt=this._request.resourceType().title();i.classList.add(this._request.resourceType().name()),e.appendChild(i)}if("name"===t){const t=_.trimMiddle(this._request.name(),100),i=J.NetworkManager.forRequest(this._request);y.createTextChild(e,i?i.target().decorateLabel(t):t),this._appendSubtitle(e,this._request.path()),I.Tooltip.install(e,this._request.url())}else i&&(y.createTextChild(e,i),I.Tooltip.install(e,i))}_renderStatusCell(e){e.classList.toggle("network-dim-cell",!this._isFailed()&&(this._request.cached()||!this._request.statusCode));const i=this._request.corsErrorStatus();if(!this._request.failed||this._request.canceled||this._request.wasBlocked()||i)if(this._request.statusCode)y.createTextChild(e,String(this._request.statusCode)),this._appendSubtitle(e,this._request.statusText),I.Tooltip.install(e,this._request.statusCode+" "+this._request.statusText);else if(this._request.parsedURL.isDataURL())this._setTextAndTitle(e,t.UIString("(data)"));else if(this._request.canceled)this._setTextAndTitle(e,t.UIString("(canceled)"));else if(this._request.wasBlocked()){let i=t.UIString("other"),s=!1;switch(this._request.blockedReason()){case Protocol.Network.BlockedReason.Other:i=t.UIString("other");break;case Protocol.Network.BlockedReason.Csp:i=t.UIString("csp");break;case Protocol.Network.BlockedReason.MixedContent:i=t.UIString("mixed-content");break;case Protocol.Network.BlockedReason.Origin:i=t.UIString("origin");break;case Protocol.Network.BlockedReason.Inspector:i=t.UIString("devtools");break;case Protocol.Network.BlockedReason.SubresourceFilter:i=t.UIString("subresource-filter");break;case Protocol.Network.BlockedReason.ContentType:i=t.UIString("content-type");break;case Protocol.Network.BlockedReason.CollapsedByClient:i=t.UIString("extension");break;case Protocol.Network.BlockedReason.CoepFrameResourceNeedsCoepHeader:s=!0,i=t.UIString("CoepFrameResourceNeedsCoepHeader");break;case Protocol.Network.BlockedReason.CoopSandboxedIframeCannotNavigateToCoopPage:s=!0,i=t.UIString("CoopSandboxedIframeCannotNavigateToCoopPage");break;case Protocol.Network.BlockedReason.CorpNotSameOrigin:s=!0,i=t.UIString("NotSameOrigin");break;case Protocol.Network.BlockedReason.CorpNotSameSite:s=!0,i=t.UIString("NotSameSite");break;case Protocol.Network.BlockedReason.CorpNotSameOriginAfterDefaultedToSameOriginByCoep:s=!0,i=t.UIString("NotSameOriginAfterDefaultedToSameOriginByCoep")}s?this._setTextAndTitleAndLink(e,t.UIString("(blocked:%s)",i),"View Headers",(()=>{this.parentView().dispatchEventToListeners(li.RequestActivated,{showPanel:!0,tab:ni.Headers})})):this._setTextAndTitle(e,t.UIString("(blocked:%s)",i))}else i?this._setTextAndTitle(e,t.UIString("CORS error"),p`Cross-Origin Resource Sharing error: ${i.corsError}`):this._request.finished?this._setTextAndTitle(e,t.UIString("Finished")):this._setTextAndTitle(e,t.UIString("(pending)"));else{const i=t.UIString("(failed)");this._request.localizedFailDescription?(y.createTextChild(e,i),this._appendSubtitle(e,this._request.localizedFailDescription,!0),I.Tooltip.install(e,i+" "+this._request.localizedFailDescription)):this._setTextAndTitle(e,i)}}_renderInitiatorCell(e){this._initiatorCell=e;const i=this._request,s=re.NetworkLog.instance().initiatorInfoForRequest(i),r=i.timing;switch(r&&r.pushStart&&e.appendChild(document.createTextNode(t.UIString("Push / "))),s.type){case Y.InitiatorType.Parser:{I.Tooltip.install(e,s.url+":"+(s.lineNumber+1));const i=be.WorkspaceImpl.instance().uiSourceCodeForURL(s.url);e.appendChild(we.Linkifier.linkifyURL(s.url,{text:i?i.displayName():void 0,lineNumber:s.lineNumber,columnNumber:s.columnNumber})),this._appendSubtitle(e,t.UIString("Parser"));break}case Y.InitiatorType.Redirect:{I.Tooltip.install(e,s.url);const r=i.redirectSource();console.assert(null!==r),this.parentView().nodeForRequest(r)?e.appendChild(we.Linkifier.linkifyRevealable(r,pe.displayNameForURL(r.url()))):e.appendChild(we.Linkifier.linkifyURL(r.url())),this._appendSubtitle(e,t.UIString("Redirect"));break}case Y.InitiatorType.Script:{const r=J.NetworkManager.forRequest(i);if(!r)return;const o=this.parentView().linkifier();s.stack?this._linkifiedInitiatorAnchor=o.linkifyStackTraceTopFrame(r.target(),s.stack):this._linkifiedInitiatorAnchor=o.linkifyScriptLocation(r.target(),s.scriptId,s.url,s.lineNumber,{columnNumber:s.columnNumber,className:void 0,tabStop:void 0}),I.Tooltip.install(this._linkifiedInitiatorAnchor,""),e.appendChild(this._linkifiedInitiatorAnchor),this._appendSubtitle(e,t.UIString("Script")),e.classList.add("network-script-initiated");break}case Y.InitiatorType.Preload:I.Tooltip.install(e,t.UIString("Preload")),e.classList.add("network-dim-cell"),e.appendChild(document.createTextNode(t.UIString("Preload")));break;case Y.InitiatorType.SignedExchange:e.appendChild(we.Linkifier.linkifyURL(s.url)),this._appendSubtitle(e,t.UIString("signed-exchange"));break;case Y.InitiatorType.Preflight:if(e.appendChild(document.createTextNode(t.UIString("Preflight"))),s.initiatorRequest){const t=x.Icon.create("mediumicon-network-panel");e.appendChild(we.Linkifier.linkifyRevealable(s.initiatorRequest,t,void 0,p`Select the request that triggered this preflight`,"trailing-link-icon"))}break;default:I.Tooltip.install(e,t.UIString("Other")),e.classList.add("network-dim-cell"),e.appendChild(document.createTextNode(t.UIString("Other")))}}_renderInitiatorAddressSpaceCell(e){const t=this._request.clientSecurityState();t&&y.createTextChild(e,t.initiatorIPAddressSpace)}_renderSizeCell(e){const t=w.bytesToString(this._request.resourceSize);if(this._request.cachedInMemory())y.createTextChild(e,p`(memory cache)`),I.Tooltip.install(e,p`Served from memory cache, resource size: ${t}`),e.classList.add("network-dim-cell");else if(this._request.fetchedViaServiceWorker)y.createTextChild(e,p`(ServiceWorker)`),I.Tooltip.install(e,p`Served from ServiceWorker, resource size: ${t}`),e.classList.add("network-dim-cell");else if(this._request.redirectSourceSignedExchangeInfoHasNoErrors())y.createTextChild(e,p`(signed-exchange)`),I.Tooltip.install(e,p`Served from Signed HTTP Exchange, resource size: ${t}`),e.classList.add("network-dim-cell");else if(this._request.fromPrefetchCache())y.createTextChild(e,p`(prefetch cache)`),I.Tooltip.install(e,p`Served from prefetch cache, resource size: ${t}`),e.classList.add("network-dim-cell");else if(this._request.cached())y.createTextChild(e,p`(disk cache)`),I.Tooltip.install(e,p`Served from disk cache, resource size: ${t}`),e.classList.add("network-dim-cell");else{const i=w.bytesToString(this._request.transferSize);y.createTextChild(e,i),I.Tooltip.install(e,`${i} transferred over network, resource size: ${t}`)}this._appendSubtitle(e,t)}_renderTimeCell(e){this._request.duration>0?(this._setTextAndTitle(e,Number.secondsToString(this._request.duration)),this._appendSubtitle(e,Number.secondsToString(this._request.latency))):(e.classList.add("network-dim-cell"),this._setTextAndTitle(e,t.UIString("Pending")))}_appendSubtitle(e,t,i=!1){const s=document.createElement("div");s.classList.add("network-cell-subtitle"),i&&s.classList.add("network-cell-subtitle-show-inline-when-selected"),s.textContent=t,e.appendChild(s)}}class ui extends di{createCells(e){super.createCells(e);const t=this.dataGrid.visibleColumnsArray[0],i=p`${t.title}`,s=p`level 1`;this.nodeAccessibleText=`${s} ${i}: ${this.cellAccessibleTextMap.get(t.id)}`}renderCell(e,t){if(0===this.dataGrid.indexOfVisibleColumn(t)){const i=e,s=this.leftPadding?this.leftPadding+"px":"";i.style.setProperty("padding-left",s),i.classList.add("disclosure"),this.setCellAccessibleName(i.textContent||"",i,t)}}select(e){super.select(e);const t=this.traverseNextNode(!1,void 0,!0);t&&t.request()&&this.parentView().dispatchEventToListeners(li.RequestSelected,t.request())}}var mi=Object.freeze({__proto__:null,Events:li,NetworkLogViewInterface:class{static HTTPRequestsFilter(e){throw new Error("not implemented")}async onLoadFromFile(e){}nodeForRequest(e){throw new Error("not implemented")}headerHeight(){throw new Error("not implemented")}setRecording(e){}setWindow(e,t){}resetFocus(){}columnExtensionResolved(){}hoveredNode(){throw new Error("not implemented")}scheduleRefresh(){}addFilmStripFrames(e){}selectFilmStripFrame(e){}clearFilmStripFrame(){}timeCalculator(){throw new Error("not implemented")}calculator(){throw new Error("not implemented")}setCalculator(e){}flatNodesList(){throw new Error("not implemented")}updateNodeBackground(){}updateNodeSelectedClass(e){}stylesChanged(){}setTextFilterValue(e){}rowHeight(){throw new Error("not implemented")}switchViewMode(e){}handleContextMenuForRequest(e,t){}async exportAll(){}revealAndHighlightRequest(e){}selectRequest(e){}removeAllNodeHighlights(){}static getDCLEventColor(){throw new Error("not implemented")}static getLoadEventColor(){throw new Error("not implemented")}modelAdded(e){}modelRemoved(e){}linkifier(){throw new Error("not implemented")}},NetworkNode:di,_backgroundColors:ci,NetworkRequestNode:hi,NetworkGroupNode:ui});class pi{constructor(e){this._parentView=e,this._activeGroups=new Map}groupNodeForRequest(e){const t=oe.ResourceTreeModel.frameForRequest(e);if(!t||t.isTopFrame())return null;let i=this._activeGroups.get(t);return i||(i=new _i(this._parentView,t),this._activeGroups.set(t,i),i)}reset(){this._activeGroups.clear()}}class _i extends ui{constructor(e,t){super(e),this._frame=t}displayName(){return new a.ParsedURL(this._frame.url).domain()||this._frame.name||"<iframe>"}renderCell(e,t){super.renderCell(e,t);if(0===this.dataGrid.indexOfVisibleColumn(t)){const i=this.displayName();e.appendChild(x.Icon.create("largeicon-navigator-frame","network-frame-group-icon")),y.createTextChild(e,i),I.Tooltip.install(e,i),this.setCellAccessibleName(e.textContent||"",e,t)}}}var gi=Object.freeze({__proto__:null,NetworkFrameGrouper:pi,FrameGroupNode:_i});class wi extends k.VBox{constructor(e,i,s,r){super(!0),this.registerRequiredCSS("network/networkManageCustomHeadersView.css",{enableLegacyPatching:!1}),this.contentElement.classList.add("custom-headers-wrapper"),this.contentElement.createChild("div","header").textContent=t.UIString("Manage Header Columns"),this._list=new T.ListWidget(this),this._list.element.classList.add("custom-headers-list"),this._list.registerRequiredCSS("network/networkManageCustomHeadersView.css",{enableLegacyPatching:!1});const o=document.createElement("div");o.classList.add("custom-headers-list-list-empty"),o.textContent=t.UIString("No custom headers"),this._list.setEmptyPlaceholder(o),this._list.show(this.contentElement),this.contentElement.appendChild(y.createTextButton(t.UIString("Add custom header…"),this._addButtonClicked.bind(this),"add-button")),this._columnConfigs=new Map,e.forEach((e=>this._columnConfigs.set(e.title.toLowerCase(),e))),this._addHeaderColumnCallback=i,this._changeHeaderColumnCallback=s,this._removeHeaderColumnCallback=r,this.contentElement.tabIndex=0}wasShown(){this._headersUpdated()}_headersUpdated(){this._list.clear(),this._columnConfigs.forEach((e=>this._list.appendItem({header:e.title},e.editable)))}_addButtonClicked(){this._list.addNewItem(this._columnConfigs.size,{header:""})}renderItem(e,t){const i=document.createElement("div");i.classList.add("custom-headers-list-item");const s=i.createChild("div","custom-header-name");return s.textContent=e.header,I.Tooltip.install(s,e.header),i}removeItemRequested(e,t){this._removeHeaderColumnCallback(e.header),this._columnConfigs.delete(e.header.toLowerCase()),this._headersUpdated()}commitEdit(e,t,i){const s=t.control("header").value.trim();let r;r=i?this._addHeaderColumnCallback(s):this._changeHeaderColumnCallback(e.header,s),r&&!i&&this._columnConfigs.delete(e.header.toLowerCase()),r&&this._columnConfigs.set(s.toLowerCase(),{title:s,editable:!0}),this._headersUpdated()}beginEdit(e){const t=this._createEditor();return t.control("header").value=e.header,t}_createEditor(){if(this._editor)return this._editor;const e=new T.Editor;this._editor=e;const i=e.contentElement();i.createChild("div","custom-headers-edit-row").createChild("div","custom-headers-header").textContent=t.UIString("Header Name");return i.createChild("div","custom-headers-edit-row").createChild("div","custom-headers-header").appendChild(e.createInput("header","text","x-custom-header",function(t,i,s){let r=!0;const o=e.control("header").value.trim().toLowerCase();this._columnConfigs.has(o)&&t.header!==o&&(r=!1);return{valid:r,errorMessage:void 0}}.bind(this))),e}}var Si=Object.freeze({__proto__:null,NetworkManageCustomHeadersView:wi});class Ci extends k.VBox{constructor(e){super(!1),this.registerRequiredCSS("network/networkWaterfallColumn.css",{enableLegacyPatching:!1}),this._canvas=this.contentElement.createChild("canvas"),this._canvas.tabIndex=-1,this.setDefaultFocusedElement(this._canvas),this._canvasPosition=this._canvas.getBoundingClientRect(),this._leftPadding=5,this._fontSize=10,this._rightPadding=0,this._scrollTop=0,this._headerHeight=0,this._calculator=e,this._rawRowHeight=0,this._rowHeight=0,this._offsetWidth=0,this._offsetHeight=0,this._startTime=this._calculator.minimumBoundary(),this._endTime=this._calculator.maximumBoundary(),this._popoverHelper=new N.PopoverHelper(this.element,this._getPopoverRequest.bind(this)),this._popoverHelper.setHasPadding(!0),this._popoverHelper.setTimeout(300,300),this._nodes=[],this._hoveredNode=null,this._eventDividers=new Map,this._updateRequestID,this.element.addEventListener("mousemove",this._onMouseMove.bind(this),!0),this.element.addEventListener("mouseleave",(e=>this._setHoveredNode(null,!1)),!0),this.element.addEventListener("click",this._onClick.bind(this),!0),this._styleForTimeRangeName=Ci._buildRequestTimeRangeStyle();const t=Ci._buildResourceTypeStyle();this._styleForWaitingResourceType=t[0],this._styleForDownloadingResourceType=t[1];const i=Ne.instance().patchColorText("#a5a5a5",Ne.ColorUsage.Foreground);this._wiskerStyle={borderColor:i,lineWidth:1,fillStyle:void 0},this._hoverDetailsStyle={fillStyle:i,lineWidth:1,borderColor:i},this._pathForStyle=new Map,this._textLayers=[]}static _buildRequestTimeRangeStyle(){const e=Nt,t=new Map;return t.set(e.Connecting,{fillStyle:"#FF9800"}),t.set(e.SSL,{fillStyle:"#9C27B0"}),t.set(e.DNS,{fillStyle:"#009688"}),t.set(e.Proxy,{fillStyle:"#A1887F"}),t.set(e.Blocking,{fillStyle:"#AAAAAA"}),t.set(e.Push,{fillStyle:"#8CDBff"}),t.set(e.Queueing,{fillStyle:"white",lineWidth:2,borderColor:"lightgrey"}),t.set(e.Receiving,{fillStyle:"#03A9F4",lineWidth:2,borderColor:"#03A9F4"}),t.set(e.Waiting,{fillStyle:"#00C853"}),t.set(e.ReceivingPush,{fillStyle:"#03A9F4"}),t.set(e.ServiceWorker,{fillStyle:"orange"}),t.set(e.ServiceWorkerPreparation,{fillStyle:"orange"}),t.set(e.ServiceWorkerRespondWith,{fillStyle:"#A8A3FF"}),t}static _buildResourceTypeStyle(){const e=new Map([["document","hsl(215, 100%, 80%)"],["font","hsl(8, 100%, 80%)"],["media","hsl(90, 50%, 80%)"],["image","hsl(90, 50%, 80%)"],["script","hsl(31, 100%, 80%)"],["stylesheet","hsl(272, 64%, 80%)"],["texttrack","hsl(8, 100%, 80%)"],["websocket","hsl(0, 0%, 95%)"],["xhr","hsl(53, 100%, 80%)"],["fetch","hsl(53, 100%, 80%)"],["other","hsl(0, 0%, 95%)"]]),t=new Map,i=new Map;for(const n of Object.values(r.resourceTypes)){let r=e.get(n.name());r||(r=e.get("other"));const a=s(r);t.set(n,{fillStyle:o(r),lineWidth:1,borderColor:a}),i.set(n,{fillStyle:r,lineWidth:1,borderColor:a})}return[t,i];function s(e){const t=n.Color.parse(e);if(!t)return"";const i=t.hsla();return i[1]/=2,i[2]-=Math.min(i[2],.2),t.asString(null)}function o(e){const t=n.Color.parse(e);if(!t)return"";return t.hsla()[2]*=1.1,t.asString(null)}}_resetPaths(){this._pathForStyle.clear(),this._pathForStyle.set(this._wiskerStyle,new Path2D),this._styleForTimeRangeName.forEach((e=>this._pathForStyle.set(e,new Path2D))),this._styleForWaitingResourceType.forEach((e=>this._pathForStyle.set(e,new Path2D))),this._styleForDownloadingResourceType.forEach((e=>this._pathForStyle.set(e,new Path2D))),this._pathForStyle.set(this._hoverDetailsStyle,new Path2D)}willHide(){this._popoverHelper.hidePopover()}wasShown(){this.update()}_onMouseMove(e){this._setHoveredNode(this.getNodeFromPoint(e.offsetX,e.offsetY),e.shiftKey)}_onClick(e){this._setSelectedNode(this.getNodeFromPoint(e.offsetX,e.offsetY))&&e.consume(!0)}_getPopoverRequest(t){if(!this._hoveredNode)return null;const i=this._hoveredNode.request();if(!i)return null;let s,r,o;if(!e.Settings.instance().moduleSetting("networkColorCodeResourceTypes").get()&&!this._calculator.startAtZero?(s=Ut.calculateRequestTimeRanges(i,0).find((e=>e.name===Nt.Total)),r=this._timeToPosition(s.start),o=this._timeToPosition(s.end)):(s=this._getSimplifiedBarRange(i,0),r=s.start,o=s.end),o-r<50){const e=(o-r)/2;r=r+e-25,o=o-e+25}if(t.clientX<this._canvasPosition.left+r||t.clientX>this._canvasPosition.left+o)return null;const n=this._nodes.findIndex((e=>e.hovered())),a=this._getBarHeight(s.name),l=this._headerHeight+(this._rowHeight*n-this._scrollTop)+(this._rowHeight-a)/2;if(t.clientY<this._canvasPosition.top+l||t.clientY>this._canvasPosition.top+l+a)return null;const d=this.element.boxInWindow();return d.x+=r,d.y+=l,d.width=o-r,d.height=a,{box:d,show:e=>{const t=Ut.createTimingTable(i,this._calculator);return e.contentElement.appendChild(t),Promise.resolve(!0)},hide:void 0}}_setHoveredNode(e,t){this._hoveredNode&&this._hoveredNode.setHovered(!1,!1),this._hoveredNode=e,this._hoveredNode&&this._hoveredNode.setHovered(!0,t)}_setSelectedNode(e){return!(!e||!e.dataGrid)&&(e.select(),e.dataGrid.element.focus(),!0)}setRowHeight(e){this._rawRowHeight=e,this._updateRowHeight()}_updateRowHeight(){this._rowHeight=Math.round(this._rawRowHeight*window.devicePixelRatio)/window.devicePixelRatio}setHeaderHeight(e){this._headerHeight=e}setRightPadding(e){this._rightPadding=e,this._calculateCanvasSize()}setCalculator(e){this._calculator=e}getNodeFromPoint(e,t){return t<=this._headerHeight?null:this._nodes[Math.floor((this._scrollTop+t-this._headerHeight)/this._rowHeight)]}scheduleDraw(){this._updateRequestID||(this._updateRequestID=this.element.window().requestAnimationFrame((()=>this.update())))}update(e,t,i){void 0!==e&&this._scrollTop!==e&&(this._popoverHelper.hidePopover(),this._scrollTop=e),i&&(this._nodes=i,this._calculateCanvasSize()),void 0!==t&&(this._eventDividers=t),this._updateRequestID&&(this.element.window().cancelAnimationFrame(this._updateRequestID),delete this._updateRequestID),this._startTime=this._calculator.minimumBoundary(),this._endTime=this._calculator.maximumBoundary(),this._resetCanvas(),this._resetPaths(),this._textLayers=[],this._draw()}_resetCanvas(){const e=window.devicePixelRatio;this._canvas.width=this._offsetWidth*e,this._canvas.height=this._offsetHeight*e,this._canvas.style.width=this._offsetWidth+"px",this._canvas.style.height=this._offsetHeight+"px"}onResize(){super.onResize(),this._updateRowHeight(),this._calculateCanvasSize(),this.scheduleDraw()}_calculateCanvasSize(){this._offsetWidth=this.contentElement.offsetWidth-this._rightPadding,this._offsetHeight=this.contentElement.offsetHeight,this._calculator.setDisplayWidth(this._offsetWidth),this._canvasPosition=this._canvas.getBoundingClientRect()}_timeToPosition(e){const t=(this._offsetWidth-this._leftPadding)/(this._endTime-this._startTime);return Math.floor(this._leftPadding+(e-this._startTime)*t)}_didDrawForTest(){}_draw(){const t=!e.Settings.instance().moduleSetting("networkColorCodeResourceTypes").get()&&!this._calculator.startAtZero,i=this._nodes,s=this._canvas.getContext("2d");if(!s)return;s.save(),s.scale(window.devicePixelRatio,window.devicePixelRatio),s.translate(0,this._headerHeight),s.rect(0,0,this._offsetWidth,this._offsetHeight),s.clip();const r=Math.floor(this._scrollTop/this._rowHeight),o=Math.min(i.length,r+Math.ceil(this._offsetHeight/this._rowHeight));for(let e=r;e<o;e++){const r=this._rowHeight*e,o=i[e];this._decorateRow(s,o,r-this._scrollTop);let n=[];o.hasChildren()&&!o.expanded&&(n=o.flatChildren()),n.push(o);for(const e of n)t?this._buildTimingBarLayers(e,r-this._scrollTop):this._buildSimplifiedBarLayers(s,e,r-this._scrollTop)}this._drawLayers(s),s.save(),s.fillStyle=Ne.instance().patchColorText("#888",Ne.ColorUsage.Foreground);for(const e of this._textLayers)s.fillText(e.text,e.x,e.y);s.restore(),this._drawEventDividers(s),s.restore();const n=fe.TimelineGrid.calculateGridOffsets(this._calculator);fe.TimelineGrid.drawCanvasGrid(s,n),fe.TimelineGrid.drawCanvasHeaders(s,n,(e=>this._calculator.formatValue(e,n.precision)),this._fontSize,this._headerHeight,75),s.clearRect(this._offsetWidth-18,0,18,this._headerHeight),this._didDrawForTest()}_drawLayers(e){for(const t of this._pathForStyle){const i=t[0],s=t[1];e.save(),e.beginPath(),i.lineWidth&&(e.lineWidth=i.lineWidth,i.borderColor&&(e.strokeStyle=i.borderColor),e.stroke(s)),i.fillStyle&&(e.fillStyle=i.fillStyle,e.fill(s)),e.restore()}}_drawEventDividers(e){e.save(),e.lineWidth=1;for(const t of this._eventDividers.keys()){e.strokeStyle=t;for(const i of this._eventDividers.get(t)||[]){e.beginPath();const t=this._timeToPosition(i);e.moveTo(t,0),e.lineTo(t,this._offsetHeight)}e.stroke()}e.restore()}_getBarHeight(e){const t=Nt;switch(e){case t.Connecting:case t.SSL:case t.DNS:case t.Proxy:case t.Blocking:case t.Push:case t.Queueing:return 7;default:return 13}}_getSimplifiedBarRange(e,t){const i=this._offsetWidth-this._leftPadding,s=this._calculator.computeBarGraphPercentages(e);return{start:this._leftPadding+Math.floor(s.start/100*i)+t,mid:this._leftPadding+Math.floor(s.middle/100*i)+t,end:this._leftPadding+Math.floor(s.end/100*i)+t}}_buildSimplifiedBarLayers(e,t,i){const s=t.request();if(!s)return;const r=.5,o=this._getSimplifiedBarRange(s,r),n=this._getBarHeight();i+=Math.floor(this._rowHeight/2-n/2+1)-.5;const a=this._styleForWaitingResourceType.get(s.resourceType());this._pathForStyle.get(a).rect(o.start,i,o.mid-o.start,n-1);const l=Math.max(2,o.end-o.mid),d=this._styleForDownloadingResourceType.get(s.resourceType());this._pathForStyle.get(d).rect(o.mid,i,l,n-1);let c=null;if(t.hovered()){c=this._calculator.computeBarGraphLabels(s);const t=10,a=e.measureText(c.left).width,d=e.measureText(c.right).width,h=this._pathForStyle.get(this._hoverDetailsStyle);if(a<o.mid-o.start){const e=o.start+(o.mid-o.start-a)/2;this._textLayers.push({text:c.left,x:e,y:i+this._fontSize})}else t+a+this._leftPadding<o.start&&(this._textLayers.push({text:c.left,x:o.start-a-t-1,y:i+this._fontSize}),h.moveTo(o.start-t,i+Math.floor(n/2)),h.arc(o.start,i+Math.floor(n/2),2,0,2*Math.PI),h.moveTo(o.start-t,i+Math.floor(n/2)),h.lineTo(o.start,i+Math.floor(n/2)));const u=o.mid+l+r;if(d<u-o.mid){const e=o.mid+(u-o.mid-d)/2;this._textLayers.push({text:c.right,x:e,y:i+this._fontSize})}else u+t+d<this._offsetWidth-this._leftPadding&&(this._textLayers.push({text:c.right,x:u+t+1,y:i+this._fontSize}),h.moveTo(u,i+Math.floor(n/2)),h.arc(u,i+Math.floor(n/2),2,0,2*Math.PI),h.moveTo(u,i+Math.floor(n/2)),h.lineTo(u+t,i+Math.floor(n/2)))}if(!this._calculator.startAtZero){const t=Ut.calculateRequestTimeRanges(s,0).find((e=>e.name===Nt.Total)),a=c?e.measureText(c.left).width:0,l=a<o.mid-o.start,d=13,h=c&&!l?a+d:0,u=this._timeToPosition(t.start);if(o.start-h>u){const e=this._pathForStyle.get(this._wiskerStyle);e.moveTo(u,i+Math.floor(n/2)),e.lineTo(o.start-h,i+Math.floor(n/2));const t=n/2;e.moveTo(u+r,i+t/2),e.lineTo(u+r,i+n-t/2-1)}}}_buildTimingBarLayers(e,t){const i=e.request();if(!i)return;const s=Ut.calculateRequestTimeRanges(i,0);for(const e of s){if(e.name===Nt.Total||e.name===Nt.Sending||e.end-e.start==0)continue;const i=this._styleForTimeRangeName.get(e.name),s=this._pathForStyle.get(i),r=i.lineWidth||0,o=this._getBarHeight(e.name),n=t+Math.floor(this._rowHeight/2-o/2)+r/2,a=this._timeToPosition(e.start),l=this._timeToPosition(e.end);s.rect(a,n,l-a,o-r)}}_decorateRow(e,t,i){const s=t.backgroundColor();e.save(),e.beginPath(),e.fillStyle=Ne.instance().getComputedValue(s),e.rect(0,i,this._offsetWidth,this._rowHeight),e.fill(),e.restore()}}var fi=Object.freeze({__proto__:null,NetworkWaterfallColumn:Ci,_TextLayer:undefined,_LayerStyle:undefined});class vi{constructor(t,i,s,r){this._networkLogView=t,this._persistantSettings=e.Settings.instance().createSetting("networkLogColumns",{}),this._networkLogLargeRowsSetting=r,this._networkLogLargeRowsSetting.addChangeListener(this._updateRowsSize,this),this._eventDividers=new Map,this._eventDividersShown=!1,this._gridMode=!0,this._columns=[],this._waterfallRequestsAreStale=!1,this._waterfallScrollerWidthIsStale=!0,this._popupLinkifier=new we.Linkifier,this._calculatorsMap=new Map,this._calculatorsMap.set(bi.Time,i),this._calculatorsMap.set(bi.Duration,s),this._lastWheelTime=0,this._dataGrid,this._splitWidget,this._waterfallColumn,this._activeScroller,this._dataGridScroller,this._waterfallScroller,this._waterfallScrollerContent,this._waterfallHeaderElement,this._waterfallColumnSortIcon,this._activeWaterfallSortId,this._setupDataGrid(),this._setupWaterfall()}static _convertToDataGridDescriptor(e){return{id:e.id,title:e.title,sortable:e.sortable,align:e.align,nonSelectable:e.nonSelectable,weight:e.weight,allowInSortByEvenWhenHidden:e.allowInSortByEvenWhenHidden}}wasShown(){this._updateRowsSize()}willHide(){this._popoverHelper&&this._popoverHelper.hidePopover()}reset(){this._popoverHelper&&this._popoverHelper.hidePopover(),this._eventDividers.clear()}_setupDataGrid(){const e=yi,t=Ti;this._columns=[];for(const i of e){const e=Object.assign({},t,i);e.id=e.id,e.subtitle&&(e.titleDOMFragment=this._makeHeaderFragment(e.title,e.subtitle)),this._columns.push(e)}this._loadCustomColumnsAndSettings(),this._popoverHelper=new N.PopoverHelper(this._networkLogView.element,this._getPopoverRequest.bind(this)),this._popoverHelper.setHasPadding(!0),this._popoverHelper.setTimeout(300,300),this._dataGrid=new ce.SortableDataGrid({displayName:p`Network Log`,columns:this._columns.map(vi._convertToDataGridDescriptor)}),this._dataGrid.element.addEventListener("mousedown",(e=>{!this._dataGrid.selectedNode&&e.button&&e.consume()}),!0),this._dataGridScroller=this._dataGrid.scrollContainer,this._updateColumns(),this._dataGrid.addEventListener(he.Events.SortingChanged,this._sortHandler,this),this._dataGrid.setHeaderContextMenuCallback(this._innerHeaderContextMenu.bind(this)),this._activeWaterfallSortId=Ii.StartTime,this._dataGrid.markColumnAsSortedBy(ki,he.Order.Ascending),this._splitWidget=new B.SplitWidget(!0,!0,"networkPanelSplitViewWaterfall",200);const i=this._dataGrid.asWidget();i.setMinimumSize(150,0),this._splitWidget.setMainWidget(i)}_setupWaterfall(){this._waterfallColumn=new Ci(this._networkLogView.calculator()),this._waterfallColumn.element.addEventListener("contextmenu",function(e){const t=e,i=this._waterfallColumn.getNodeFromPoint(t.offsetX,t.offsetY);if(!i)return;const s=i.request();if(!s)return;const r=new E.ContextMenu(t);this._networkLogView.handleContextMenuForRequest(r,s),r.show()}.bind(this)),this._waterfallColumn.element.addEventListener("wheel",this._onMouseWheel.bind(this,!1),{passive:!0}),this._waterfallColumn.element.addEventListener("touchstart",this._onTouchStart.bind(this)),this._waterfallColumn.element.addEventListener("touchmove",this._onTouchMove.bind(this)),this._waterfallColumn.element.addEventListener("touchend",this._onTouchEnd.bind(this)),this._dataGridScroller.addEventListener("wheel",this._onMouseWheel.bind(this,!0),!0),this._dataGridScroller.addEventListener("touchstart",this._onTouchStart.bind(this)),this._dataGridScroller.addEventListener("touchmove",this._onTouchMove.bind(this)),this._dataGridScroller.addEventListener("touchend",this._onTouchEnd.bind(this)),this._waterfallScroller=this._waterfallColumn.contentElement.createChild("div","network-waterfall-v-scroll"),this._waterfallScrollerContent=this._waterfallScroller.createChild("div","network-waterfall-v-scroll-content"),this._dataGrid.addEventListener(he.Events.PaddingChanged,(()=>{this._waterfallScrollerWidthIsStale=!0,this._syncScrollers()})),this._dataGrid.addEventListener(ue.Events.ViewportCalculated,this._redrawWaterfallColumn.bind(this)),this._createWaterfallHeader(),this._waterfallColumn.contentElement.classList.add("network-waterfall-view"),this._waterfallColumn.setMinimumSize(100,0),this._splitWidget.setSidebarWidget(this._waterfallColumn),this.switchViewMode(!1)}_onMouseWheel(e,t){e&&t.consume(!0);const i=t,s=Date.now()-this._lastWheelTime<80;this._activeScroller.scrollBy({top:i.deltaY,behavior:s?"auto":"smooth"}),this._syncScrollers(),this._lastWheelTime=Date.now()}_onTouchStart(e){const t=e;this._hasScrollerTouchStarted=!0,this._scrollerTouchStartPos=t.changedTouches[0].pageY}_onTouchMove(e){if(!this._hasScrollerTouchStarted)return;const t=e.changedTouches[0].pageY,i=this._scrollerTouchStartPos-t;this._activeScroller.scrollBy({top:i,behavior:"auto"}),this._syncScrollers(),this._scrollerTouchStartPos=t}_onTouchEnd(){this._hasScrollerTouchStarted=!1}_syncScrollers(){this._waterfallColumn.isShowing()&&(this._waterfallScrollerContent.style.height=this._dataGridScroller.scrollHeight+"px",this._updateScrollerWidthIfNeeded(),this._dataGridScroller.scrollTop=this._waterfallScroller.scrollTop)}_updateScrollerWidthIfNeeded(){this._waterfallScrollerWidthIsStale&&(this._waterfallScrollerWidthIsStale=!1,this._waterfallColumn.setRightPadding(this._waterfallScroller.offsetWidth-this._waterfallScrollerContent.offsetWidth))}_redrawWaterfallColumn(){if(!this._waterfallRequestsAreStale)return this._updateScrollerWidthIfNeeded(),void this._waterfallColumn.update(this._activeScroller.scrollTop,this._eventDividersShown?this._eventDividers:void 0);this._syncScrollers();const e=this._networkLogView.flatNodesList();this._waterfallColumn.update(this._activeScroller.scrollTop,this._eventDividers,e)}_createWaterfallHeader(){this._waterfallHeaderElement=this._waterfallColumn.contentElement.createChild("div","network-waterfall-header"),this._waterfallHeaderElement.addEventListener("click",function(){const e=he.Order,t="waterfall"===this._dataGrid.sortColumnId(),i=this._dataGrid.isSortOrderAscending(),s=t&&i?e.Descending:e.Ascending;this._dataGrid.markColumnAsSortedBy("waterfall",s),this._sortHandler()}.bind(this)),this._waterfallHeaderElement.addEventListener("contextmenu",(e=>this._innerHeaderContextMenu(new E.ContextMenu(e))));this._waterfallHeaderElement.createChild("div").textContent=t.UIString("Waterfall"),this._waterfallColumnSortIcon=x.Icon.create("","sort-order-icon"),this._waterfallHeaderElement.createChild("div","sort-order-icon-container").appendChild(this._waterfallColumnSortIcon)}setCalculator(e){this._waterfallColumn.setCalculator(e)}scheduleRefresh(){this._waterfallColumn.scheduleDraw()}_updateRowsSize(){const e=Boolean(this._networkLogLargeRowsSetting.get());this._dataGrid.element.classList.toggle("small",!e),this._dataGrid.scheduleUpdate(),this._waterfallScrollerWidthIsStale=!0,this._waterfallColumn.setRowHeight(e?41:21),this._waterfallScroller.classList.toggle("small",!e),this._waterfallHeaderElement.classList.toggle("small",!e),window.requestAnimationFrame((()=>{this._waterfallColumn.setHeaderHeight(this._waterfallScroller.offsetTop)}))}show(e){this._splitWidget.show(e)}setHidden(e){R.setHidden(this._splitWidget.element,e)}dataGrid(){return this._dataGrid}sortByCurrentColumn(){this._sortHandler()}_sortHandler(){const e=this._dataGrid.sortColumnId();if(this._networkLogView.removeAllNodeHighlights(),this._waterfallRequestsAreStale=!0,"waterfall"===e){this._dataGrid.sortOrder()===he.Order.Ascending?this._waterfallColumnSortIcon.setIconType("smallicon-triangle-up"):this._waterfallColumnSortIcon.setIconType("smallicon-triangle-down");const e=hi.RequestPropertyComparator.bind(null,this._activeWaterfallSortId);return this._dataGrid.sortNodes(e,!this._dataGrid.isSortOrderAscending()),void this._dataGridSortedForTest()}this._waterfallColumnSortIcon.setIconType("");const t=this._columns.find((t=>t.id===e));if(!t||!t.sortingFunction)return;const i=t.sortingFunction;i&&(this._dataGrid.sortNodes(i,!this._dataGrid.isSortOrderAscending()),this._dataGridSortedForTest())}_dataGridSortedForTest(){}_updateColumns(){if(!this._dataGrid)return;const e=new Set;if(this._gridMode)for(const t of this._columns)t.visible&&e.add(t.id);else{const t=this._columns.find((e=>"path"===e.hideableGroup&&e.visible));t?e.add(t.id):e.add("name")}this._dataGrid.setColumnsVisiblity(e)}switchViewMode(e){this._gridMode!==e&&(this._gridMode=e,e?(this._splitWidget.showBoth(),this._activeScroller=this._waterfallScroller,this._waterfallScroller.scrollTop=this._dataGridScroller.scrollTop,this._dataGrid.setScrollContainer(this._waterfallScroller)):(this._networkLogView.removeAllNodeHighlights(),this._splitWidget.hideSidebar(),this._activeScroller=this._dataGridScroller,this._dataGrid.setScrollContainer(this._dataGridScroller)),this._networkLogView.element.classList.toggle("brief-mode",!e),this._updateColumns(),this._updateRowsSize())}_toggleColumnVisibility(e){this._loadCustomColumnsAndSettings(),e.visible=!e.visible,this._saveColumnsSettings(),this._updateColumns()}_saveColumnsSettings(){const e={};for(const t of this._columns)e[t.id]={visible:t.visible,title:t.title};this._persistantSettings.set(e)}_loadCustomColumnsAndSettings(){const e=this._persistantSettings.get(),t=Object.keys(e);for(const i of t){const t=e[i];let s=this._columns.find((e=>e.id===i));s||(s=this._addCustomHeader(t.title,i)||void 0),s&&s.hideable&&"boolean"==typeof t.visible&&(s.visible=Boolean(t.visible)),s&&"string"==typeof t.title&&(s.title=t.title)}}_makeHeaderFragment(e,t){const i=document.createDocumentFragment();y.createTextChild(i,e);const s=i.createChild("div","network-header-subtitle");return y.createTextChild(s,t),i}_innerHeaderContextMenu(e){const i=this._columns.filter((e=>e.hideable)),s=i.filter((e=>!e.isResponseHeader)),r=new Map,o=[];for(const e of s)if(e.hideableGroup){const t=e.hideableGroup;let i=r.get(t);i||(i=[],r.set(t,i)),i.push(e)}else o.push(e);for(const t of r.values()){const i=t.filter((e=>e.visible));for(const s of t){const t=1===i.length&&i[0]===s;e.headerSection().appendCheckboxItem(s.title,this._toggleColumnVisibility.bind(this,s),s.visible,t)}e.headerSection().appendSeparator()}for(const t of o)e.headerSection().appendCheckboxItem(t.title,this._toggleColumnVisibility.bind(this,t),t.visible);const n=e.footerSection().appendSubMenuItem(t.UIString("Response Headers")),a=i.filter((e=>e.isResponseHeader));for(const e of a)n.defaultSection().appendCheckboxItem(e.title,this._toggleColumnVisibility.bind(this,e),e.visible);n.footerSection().appendItem(t.UIString("Manage Header Columns…"),this._manageCustomHeaderDialog.bind(this));const l=Ii,d=e.footerSection().appendSubMenuItem(t.UIString("Waterfall"));function c(e){let t=this._calculatorsMap.get(bi.Time);const i=Ii;e!==i.Duration&&e!==i.Latency||(t=this._calculatorsMap.get(bi.Duration)),this._networkLogView.setCalculator(t),this._activeWaterfallSortId=e,this._dataGrid.markColumnAsSortedBy("waterfall",he.Order.Ascending),this._sortHandler()}d.defaultSection().appendCheckboxItem(t.UIString("Start Time"),c.bind(this,l.StartTime),this._activeWaterfallSortId===l.StartTime),d.defaultSection().appendCheckboxItem(t.UIString("Response Time"),c.bind(this,l.ResponseTime),this._activeWaterfallSortId===l.ResponseTime),d.defaultSection().appendCheckboxItem(t.UIString("End Time"),c.bind(this,l.EndTime),this._activeWaterfallSortId===l.EndTime),d.defaultSection().appendCheckboxItem(t.UIString("Total Duration"),c.bind(this,l.Duration),this._activeWaterfallSortId===l.Duration),d.defaultSection().appendCheckboxItem(t.UIString("Latency"),c.bind(this,l.Latency),this._activeWaterfallSortId===l.Latency)}_manageCustomHeaderDialog(){const e=[];for(const t of this._columns)t.isResponseHeader&&e.push({title:t.title,editable:t.isCustomHeader});const t=new wi(e,(e=>Boolean(this._addCustomHeader(e))),this._changeCustomHeader.bind(this),this._removeCustomHeader.bind(this)),i=new V.Dialog;t.show(i.contentElement),i.setSizeBehavior(A.SizeBehavior.MeasureContent),i.show(this._networkLogView.element)}_removeCustomHeader(e){e=e.toLowerCase();const t=this._columns.findIndex((t=>t.id===e));return-1!==t&&(this._columns.splice(t,1),this._dataGrid.removeColumn(e),this._saveColumnsSettings(),this._updateColumns(),!0)}_addCustomHeader(e,t,i){t||(t=e.toLowerCase()),void 0===i&&(i=this._columns.length-1);if(this._columns.find((e=>e.id===t)))return null;const s=Object.assign({},Ti,{id:t,title:e,isResponseHeader:!0,isCustomHeader:!0,visible:!0,sortingFunction:hi.ResponseHeaderStringComparator.bind(null,t)});return this._columns.splice(i,0,s),this._dataGrid&&this._dataGrid.addColumn(vi._convertToDataGridDescriptor(s),i),this._saveColumnsSettings(),this._updateColumns(),s}_changeCustomHeader(e,t,i){i||(i=t.toLowerCase()),e=e.toLowerCase();const s=this._columns.findIndex((t=>t.id===e)),r=this._columns[s],o=this._columns.find((e=>e.id===i));return!(!r||o&&e!==i)&&(this._removeCustomHeader(e),this._addCustomHeader(t,i,s),!0)}_getPopoverRequest(e){if(!this._gridMode)return null;const t=this._networkLogView.hoveredNode();if(!t||!e.target)return null;const i=e.target.enclosingNodeOrSelfWithClass("network-script-initiated");if(!i)return null;const s=t.request();return s?{box:i.boxInWindow(),show:async e=>{this._popupLinkifier.setLiveLocationUpdateCallback((()=>{e.setSizeBehavior(A.SizeBehavior.MeasureContent)}));const t=mt.createStackTracePreview(s,this._popupLinkifier,!1);return!!t&&(e.contentElement.appendChild(t.element),!0)},hide:this._popupLinkifier.reset.bind(this._popupLinkifier)}:null}addEventDividers(e,t){let i="transparent";switch(t){case"network-dcl-divider":i="#0867CB";break;case"network-load-divider":i="#B31412";break;default:return}const s=this._eventDividers.get(i)||[];this._eventDividers.set(i,s.concat(e)),this._networkLogView.scheduleRefresh()}hideEventDividers(){this._eventDividersShown=!0,this._redrawWaterfallColumn()}showEventDividers(){this._eventDividersShown=!1,this._redrawWaterfallColumn()}selectFilmStripFrame(e){this._eventDividers.set(Ri,[e]),this._redrawWaterfallColumn()}clearFilmStripFrame(){this._eventDividers.delete(Ri),this._redrawWaterfallColumn()}}const ki="waterfall",bi={Duration:"Duration",Time:"Time"},Ti={subtitle:null,visible:!1,weight:6,sortable:!0,hideable:!0,hideableGroup:null,nonSelectable:!1,isResponseHeader:!1,isCustomHeader:!1,allowInSortByEvenWhenHidden:!1},yi=[{id:"name",title:t.UIString("Name"),subtitle:t.UIString("Path"),visible:!0,weight:20,hideable:!0,hideableGroup:"path",sortingFunction:hi.NameComparator},{id:"path",title:p`Path`,hideable:!0,hideableGroup:"path",sortingFunction:hi.RequestPropertyComparator.bind(null,"pathname")},{id:"url",title:p`Url`,hideable:!0,hideableGroup:"path",sortingFunction:hi.RequestURLComparator},{id:"method",title:t.UIString("Method"),sortingFunction:hi.RequestPropertyComparator.bind(null,"requestMethod")},{id:"status",title:t.UIString("Status"),visible:!0,subtitle:t.UIString("Text"),sortingFunction:hi.RequestPropertyComparator.bind(null,"statusCode")},{id:"protocol",title:t.UIString("Protocol"),sortingFunction:hi.RequestPropertyComparator.bind(null,"protocol")},{id:"scheme",title:t.UIString("Scheme"),sortingFunction:hi.RequestPropertyComparator.bind(null,"scheme")},{id:"domain",title:t.UIString("Domain"),sortingFunction:hi.RequestPropertyComparator.bind(null,"domain")},{id:"remoteaddress",title:t.UIString("Remote Address"),weight:10,align:he.Align.Right,sortingFunction:hi.RemoteAddressComparator},{id:"type",title:t.UIString("Type"),visible:!0,sortingFunction:hi.TypeComparator},{id:"initiator",title:t.UIString("Initiator"),visible:!0,weight:10,sortingFunction:hi.InitiatorComparator},{id:"initiator-address-space",title:t.UIString("Initiator Address Space"),visible:!1,weight:10,sortingFunction:hi.InitiatorAddressSpaceComparator},{id:"cookies",title:t.UIString("Cookies"),align:he.Align.Right,sortingFunction:hi.RequestCookiesCountComparator},{id:"setcookies",title:t.UIString("Set Cookies"),align:he.Align.Right,sortingFunction:hi.ResponseCookiesCountComparator},{id:"size",title:t.UIString("Size"),visible:!0,subtitle:t.UIString("Content"),align:he.Align.Right,sortingFunction:hi.SizeComparator},{id:"time",title:t.UIString("Time"),visible:!0,subtitle:t.UIString("Latency"),align:he.Align.Right,sortingFunction:hi.RequestPropertyComparator.bind(null,"duration")},{id:"priority",title:t.UIString("Priority"),sortingFunction:hi.PriorityComparator},{id:"connectionid",title:t.UIString("Connection ID"),sortingFunction:hi.RequestPropertyComparator.bind(null,"connectionId")},{id:"cache-control",isResponseHeader:!0,title:t.UIString("Cache-Control"),sortingFunction:hi.ResponseHeaderStringComparator.bind(null,"cache-control")},{id:"connection",isResponseHeader:!0,title:p`${"Connection"}`,sortingFunction:hi.ResponseHeaderStringComparator.bind(null,"connection")},{id:"content-encoding",isResponseHeader:!0,title:t.UIString("Content-Encoding"),sortingFunction:hi.ResponseHeaderStringComparator.bind(null,"content-encoding")},{id:"content-length",isResponseHeader:!0,title:t.UIString("Content-Length"),align:he.Align.Right,sortingFunction:hi.ResponseHeaderNumberComparator.bind(null,"content-length")},{id:"etag",isResponseHeader:!0,title:t.UIString("ETag"),sortingFunction:hi.ResponseHeaderStringComparator.bind(null,"etag")},{id:"keep-alive",isResponseHeader:!0,title:t.UIString("Keep-Alive"),sortingFunction:hi.ResponseHeaderStringComparator.bind(null,"keep-alive")},{id:"last-modified",isResponseHeader:!0,title:t.UIString("Last-Modified"),sortingFunction:hi.ResponseHeaderDateComparator.bind(null,"last-modified")},{id:"server",isResponseHeader:!0,title:t.UIString("Server"),sortingFunction:hi.ResponseHeaderStringComparator.bind(null,"server")},{id:"vary",isResponseHeader:!0,title:t.UIString("Vary"),sortingFunction:hi.ResponseHeaderStringComparator.bind(null,"vary")},{id:"waterfall",title:p`Waterfall`,visible:!1,hideable:!1,allowInSortByEvenWhenHidden:!0}],Ri="#fccc49",Ii={StartTime:"startTime",ResponseTime:"responseReceivedTime",EndTime:"endTime",Duration:"duration",Latency:"latency"};var qi=Object.freeze({__proto__:null,NetworkLogViewColumns:vi,_initialSortColumn:ki,_calculatorTypes:bi,_defaultColumnConfig:Ti,_filmStripDividerColor:Ri,WaterfallSortIds:Ii,Descriptor:undefined});class Li extends k.VBox{constructor(i,s,o){function n(){this._rawRowHeight=Boolean(this._networkLogLargeRowsSetting.get())?41:21,this._rowHeight=this._computeRowHeight()}super(),this.setMinimumSize(50,64),this.registerRequiredCSS("network/networkLogView.css",{enableLegacyPatching:!0}),this.element.id="network-container",this.element.classList.add("no-node-selected"),this._networkHideDataURLSetting=e.Settings.instance().createSetting("networkHideDataURL",!1),this._networkShowIssuesOnlySetting=e.Settings.instance().createSetting("networkShowIssuesOnly",!1),this._networkOnlyBlockedRequestsSetting=e.Settings.instance().createSetting("networkOnlyBlockedRequests",!1),this._networkResourceTypeFiltersSetting=e.Settings.instance().createSetting("networkResourceTypeFilters",{}),this._rawRowHeight=0,this._progressBarContainer=s,this._networkLogLargeRowsSetting=o,this._networkLogLargeRowsSetting.addChangeListener(n.bind(this),this),this._rawRowHeight=0,this._rowHeight=0,n.call(this),this._timeCalculator=new Mt,this._durationCalculator=new Ht,this._calculator=this._timeCalculator,this._columns=new vi(this,this._timeCalculator,this._durationCalculator,o),this._columns.show(this.element),this._staleRequests=new Set,this._mainRequestLoadTime=-1,this._mainRequestDOMContentLoadedTime=-1,this._highlightedSubstringChanges=[],this._filters=[],this._timeFilter=null,this._hoveredNode=null,this._recordingHint=null,this._refreshRequestId=null,this._highlightedNode=null,this._linkifier=new we.Linkifier,this._recording=!1,this._needsRefresh=!1,this._headerHeight=0,this._groupLookups=new Map,this._groupLookups.set("Frame",new pi(this)),this._activeGroupLookup=null,this._textFilterUI=new W.TextFilterUI,this._textFilterUI.addEventListener(W.FilterUI.Events.FilterChanged,this._filterChanged,this),i.addFilter(this._textFilterUI),this._dataURLFilterUI=new W.CheckboxFilterUI("hide-data-url",t.UIString("Hide data URLs"),!0,this._networkHideDataURLSetting),this._dataURLFilterUI.addEventListener(W.FilterUI.Events.FilterChanged,this._filterChanged.bind(this),this),I.Tooltip.install(this._dataURLFilterUI.element(),p`Hides data: and blob: URLs`),i.addFilter(this._dataURLFilterUI);const a=Object.values(r.resourceCategories).map((e=>({name:e.title,label:e.shortTitle,title:e.title})));this._resourceCategoryFilterUI=new W.NamedBitSetFilterUI(a,this._networkResourceTypeFiltersSetting),R.setAccessibleName(this._resourceCategoryFilterUI.element(),p`Resource types to include`),this._resourceCategoryFilterUI.addEventListener(W.FilterUI.Events.FilterChanged,this._filterChanged.bind(this),this),i.addFilter(this._resourceCategoryFilterUI),this._onlyIssuesFilterUI=new W.CheckboxFilterUI("only-show-issues",p`Has blocked cookies`,!0,this._networkShowIssuesOnlySetting),this._onlyIssuesFilterUI.addEventListener(W.FilterUI.Events.FilterChanged,this._filterChanged.bind(this),this),I.Tooltip.install(this._onlyIssuesFilterUI.element(),p`Only show requests with blocked response cookies`),i.addFilter(this._onlyIssuesFilterUI),this._onlyBlockedRequestsUI=new W.CheckboxFilterUI("only-show-blocked-requests",p`Blocked Requests`,!0,this._networkOnlyBlockedRequestsSetting),this._onlyBlockedRequestsUI.addEventListener(W.FilterUI.Events.FilterChanged,this._filterChanged.bind(this),this),I.Tooltip.install(this._onlyBlockedRequestsUI.element(),p`Only show blocked requests`),i.addFilter(this._onlyBlockedRequestsUI),this._filterParser=new Ee.FilterParser(Ui),this._suggestionBuilder=new O.FilterSuggestionBuilder(Ui,Li._sortSearchValues),this._resetSuggestionBuilder(),this._dataGrid=this._columns.dataGrid(),this._setupDataGrid(),this._columns.sortByCurrentColumn(),i.filterButton().addEventListener(b.ToolbarButton.Events.Click,this._dataGrid.scheduleUpdate.bind(this._dataGrid,!0)),this._summaryToolbar=new b.Toolbar("network-summary-bar",this.element),new D.DropTarget(this.element,[D.Type.File],t.UIString("Drop HAR files here"),this._handleDrop.bind(this)),e.Settings.instance().moduleSetting("networkColorCodeResourceTypes").addChangeListener(this._invalidateAllItems.bind(this,!1),this),Z.TargetManager.instance().observeModels(J.NetworkManager,this),re.NetworkLog.instance().addEventListener(re.Events.RequestAdded,this._onRequestUpdated,this),re.NetworkLog.instance().addEventListener(re.Events.RequestUpdated,this._onRequestUpdated,this),re.NetworkLog.instance().addEventListener(re.Events.Reset,this._reset,this),this._updateGroupByFrame(),e.Settings.instance().moduleSetting("network.group-by-frame").addChangeListener((()=>this._updateGroupByFrame())),this._filterBar=i,this._textFilterSetting=e.Settings.instance().createSetting("networkTextFilter",""),this._textFilterSetting.get()&&this._textFilterUI.setValue(this._textFilterSetting.get())}_updateGroupByFrame(){const t=e.Settings.instance().moduleSetting("network.group-by-frame").get();this._setGrouping(t?"Frame":null)}static _sortSearchValues(e,t){e===Mi.Priority?t.sort(((e,t)=>{const i=Ce.uiLabelToNetworkPriority(e),s=Ce.uiLabelToNetworkPriority(t);return Ce.networkPriorityWeight(i)-Ce.networkPriorityWeight(s)})):t.sort()}static _negativeFilter(e,t){return!e(t)}static _requestPathFilter(e,t){return!!e&&e.test(t.path()+"/"+t.name())}static _subdomains(e){const t=[e];let i=e.indexOf(".");for(;-1!==i;)t.push("*"+e.substring(i)),i=e.indexOf(".",i+1);return t}static _createRequestDomainFilter(e){const t=e.split("*").map(_.escapeForRegExp).join(".*");return Li._requestDomainFilter.bind(null,new RegExp("^"+t+"$","i"))}static _requestDomainFilter(e,t){return e.test(t.domain)}static _runningRequestFilter(e){return!e.finished}static _fromCacheRequestFilter(e){return e.cached()}static _interceptedByServiceWorkerFilter(e){return e.fetchedViaServiceWorker}static _initiatedByServiceWorkerFilter(e){return e.initiatedByServiceWorker()}static _requestResponseHeaderFilter(e,t){return void 0!==t.responseHeaderValue(e)}static _requestMethodFilter(e,t){return t.requestMethod===e}static _requestPriorityFilter(e,t){return t.priority()===e}static _requestMimeTypeFilter(e,t){return t.mimeType===e}static _requestMixedContentFilter(e,t){return e===Hi.Displayed?t.mixedContentType===Protocol.Security.MixedContentType.OptionallyBlockable:e===Hi.Blocked?t.mixedContentType===Protocol.Security.MixedContentType.Blockable&&t.wasBlocked():e===Hi.BlockOverridden?t.mixedContentType===Protocol.Security.MixedContentType.Blockable&&!t.wasBlocked():e===Hi.All&&t.mixedContentType!==Protocol.Security.MixedContentType.None}static _requestSchemeFilter(e,t){return t.scheme===e}static _requestCookieDomainFilter(e,t){return t.allCookiesIncludingBlockedOnes().some((t=>t.domain()===e))}static _requestCookieNameFilter(e,t){return t.allCookiesIncludingBlockedOnes().some((t=>t.name()===e))}static _requestCookiePathFilter(e,t){return t.allCookiesIncludingBlockedOnes().some((t=>t.path()===e))}static _requestCookieValueFilter(e,t){return t.allCookiesIncludingBlockedOnes().some((t=>t.value()===e))}static _requestSetCookieDomainFilter(e,t){return t.responseCookies.some((t=>t.domain()===e))}static _requestSetCookieNameFilter(e,t){return t.responseCookies.some((t=>t.name()===e))}static _requestSetCookieValueFilter(e,t){return t.responseCookies.some((t=>t.value()===e))}static _requestSizeLargerThanFilter(e,t){return t.transferSize>=e}static _statusCodeFilter(e,t){return String(t.statusCode)===e}static HTTPRequestsFilter(e){return e.parsedURL.isValid&&e.scheme in Pi}static _resourceTypeFilter(e,t){return t.resourceType().name()===e}static _requestUrlFilter(e,t){return new RegExp(_.escapeForRegExp(e),"i").test(t.url())}static _requestTimeFilter(e,t,i){return!(i.issueTime()>t)&&!(-1!==i.endTime&&i.endTime<e)}static _copyRequestHeaders(e){c.InspectorFrontendHostInstance.copyText(e.requestHeadersText())}static _copyResponseHeaders(e){c.InspectorFrontendHostInstance.copyText(e.responseHeadersText)}static async _copyResponse(e){const t=await e.contentData();let i=t.content||"";e.contentType().isTextType()?t.encoded&&i&&(i=window.atob(i)):i=xe.contentAsDataURL(i,e.mimeType,t.encoded),c.InspectorFrontendHostInstance.copyText(i)}_handleDrop(e){const t=e.items;if(!t.length)return;const i=t[0].webkitGetAsEntry();i.isDirectory||i.file(this.onLoadFromFile.bind(this))}async onLoadFromFile(e){const t=new l.StringOutputStream,i=new _e.ChunkedFileReader(e,1e7);if(!await i.read(t)){const e=i.error();return void(e&&this._harLoadFailed(e.message))}let s;try{s=new Be.HARRoot(JSON.parse(t.data()))}catch(e){return void this._harLoadFailed(e)}re.NetworkLog.instance().importRequests(Ue.Importer.requestsFromHARLog(s.log))}_harLoadFailed(e){d.Console.instance().error("Failed to load HAR file with following error: "+e)}_setGrouping(e){this._activeGroupLookup&&this._activeGroupLookup.reset();const t=e&&this._groupLookups.get(e)||null;this._activeGroupLookup=t,this._invalidateAllItems()}_computeRowHeight(){return Math.round(this._rawRowHeight*window.devicePixelRatio)/window.devicePixelRatio}nodeForRequest(e){return Ei.get(e)||null}headerHeight(){return this._headerHeight}setRecording(e){this._recording=e,this._updateSummaryBar()}modelAdded(e){if(e.target().parentTarget())return;const t=e.target().model(oe.ResourceTreeModel);t&&(t.addEventListener(oe.Events.Load,this._loadEventFired,this),t.addEventListener(oe.Events.DOMContentLoaded,this._domContentLoadedEventFired,this))}modelRemoved(e){if(!e.target().parentTarget()){const t=e.target().model(oe.ResourceTreeModel);t&&(t.removeEventListener(oe.Events.Load,this._loadEventFired,this),t.removeEventListener(oe.Events.DOMContentLoaded,this._domContentLoadedEventFired,this))}}linkifier(){return this._linkifier}setWindow(e,t){e||t?(this._timeFilter=Li._requestTimeFilter.bind(null,e,t),this._timeCalculator.setWindow(new yt(e,t))):(this._timeFilter=null,this._timeCalculator.setWindow(null)),this._filterRequests()}resetFocus(){this._dataGrid.element.focus()}_resetSuggestionBuilder(){this._suggestionBuilder.clear(),this._suggestionBuilder.addItem(Mi.Is,Bi.Running),this._suggestionBuilder.addItem(Mi.Is,Bi.FromCache),this._suggestionBuilder.addItem(Mi.Is,Bi.ServiceWorkerIntercepted),this._suggestionBuilder.addItem(Mi.Is,Bi.ServiceWorkerInitiated),this._suggestionBuilder.addItem(Mi.LargerThan,"100"),this._suggestionBuilder.addItem(Mi.LargerThan,"10k"),this._suggestionBuilder.addItem(Mi.LargerThan,"1M"),this._textFilterUI.setSuggestionProvider(this._suggestionBuilder.completions.bind(this._suggestionBuilder))}_filterChanged(e){this.removeAllNodeHighlights(),this._parseFilterQuery(this._textFilterUI.value()),this._filterRequests(),this._textFilterSetting.set(this._textFilterUI.value())}async resetFilter(){this._textFilterUI.clear()}_showRecordingHint(){this._hideRecordingHint(),this._recordingHint=this.element.createChild("div","network-status-pane fill");const e=this._recordingHint.createChild("div","recording-hint");if(this._recording){let i=null;const s=G.ShortcutRegistry.instance().shortcutsForAction("inspector_main.reload")[0];s&&(i=this._recordingHint.createChild("b"),i.textContent=s.title());e.createChild("span").textContent=t.UIString("Recording network activity…"),i&&(e.createChild("br"),e.appendChild(y.formatLocalized("Perform a request or hit %s to record the reload.",[i])))}else{const t=e.createChild("b");t.textContent=G.ShortcutRegistry.instance().shortcutTitleForAction("network.toggle-recording")||"",e.appendChild(y.formatLocalized("Record (%s) to display network activity.",[t]))}e.createChild("br"),e.appendChild(P.XLink.create("https://developers.google.com/web/tools/chrome-devtools/network/?utm_source=devtools&utm_campaign=2019Q1",p`Learn more`)),this._setHidden(!0)}_hideRecordingHint(){this._setHidden(!1),this._recordingHint&&this._recordingHint.remove(),R.alert(p`Network Data Available`,this._summaryToolbar.element),this._recordingHint=null}_setHidden(e){this._columns.setHidden(e),R.setHidden(this._summaryToolbar.element,e)}elementsToRestoreScrollPositionsFor(){return this._dataGrid?[this._dataGrid.scrollContainer]:[]}columnExtensionResolved(){this._invalidateAllItems(!0)}_setupDataGrid(){return this._dataGrid.setRowContextMenuCallback(((e,t)=>{const i=t.request();i&&this.handleContextMenuForRequest(e,i)})),this._dataGrid.setStickToBottom(!0),this._dataGrid.setName("networkLog"),this._dataGrid.setResizeMethod(he.ResizeMethod.Last),this._dataGrid.element.classList.add("network-log-grid"),this._dataGrid.element.addEventListener("mousedown",this._dataGridMouseDown.bind(this),!0),this._dataGrid.element.addEventListener("mousemove",this._dataGridMouseMove.bind(this),!0),this._dataGrid.element.addEventListener("mouseleave",(()=>this._setHoveredNode(null)),!0),this._dataGrid.element.addEventListener("keydown",(e=>{isEnterOrSpaceKey(e)&&(this.dispatchEventToListeners(li.RequestActivated,{showPanel:!0,takeFocus:!0}),e.consume(!0))})),this._dataGrid.element.addEventListener("focus",this._onDataGridFocus.bind(this),!0),this._dataGrid.element.addEventListener("blur",this._onDataGridBlur.bind(this),!0),this._dataGrid}_dataGridMouseMove(e){const t=e,i=this._dataGrid.dataGridNodeFromNode(t.target),s=t.shiftKey;this._setHoveredNode(i,s)}hoveredNode(){return this._hoveredNode}_setHoveredNode(e,t){this._hoveredNode&&this._hoveredNode.setHovered(!1,!1),this._hoveredNode=e,this._hoveredNode&&this._hoveredNode.setHovered(!0,Boolean(t))}_dataGridMouseDown(e){const t=e;!this._dataGrid.selectedNode&&t.button&&t.consume()}_updateSummaryBar(){this._hideRecordingHint();let e=0,t=0,i=0,s=0,o=0,n=-1,a=-1,l=0;for(const d of re.NetworkLog.instance().requests()){const c=Ei.get(d);if(!c)continue;l++;const h=d.transferSize;e+=h;const u=d.resourceSize;t+=u,Fi.has(c)||(i++,s+=h,o+=u);const m=J.NetworkManager.forRequest(d);m&&d.url()===m.target().inspectedURL()&&d.resourceType()===r.resourceTypes.Document&&!m.target().parentTarget()&&(n=d.startTime),d.endTime>a&&(a=d.endTime)}if(!l)return void this._showRecordingHint();this._summaryToolbar.removeToolbarItems();const d=(e,t)=>{const i=new b.ToolbarText(e);return i.setTitle(t||e),this._summaryToolbar.appendToolbarItem(i),i.element};if(i!==l?(d(p`${i} / ${l} requests`),this._summaryToolbar.appendSeparator(),d(p`${w.bytesToString(s)} / ${w.bytesToString(e)} transferred`,p`${s} B / ${e} B transferred over network`),this._summaryToolbar.appendSeparator(),d(p`${w.bytesToString(o)} / ${w.bytesToString(t)} resources`,p`${o} B / ${t} B resources loaded by the page`)):(d(p`${l} requests`),this._summaryToolbar.appendSeparator(),d(p`${w.bytesToString(e)} transferred`,p`${e} B transferred over network`),this._summaryToolbar.appendSeparator(),d(p`${w.bytesToString(t)} resources`,p`${t} B resources loaded by the page`)),-1!==n&&-1!==a){if(this._summaryToolbar.appendSeparator(),d(p`Finish: ${Number.secondsToString(a-n)}`),-1!==this._mainRequestDOMContentLoadedTime&&this._mainRequestDOMContentLoadedTime>n){this._summaryToolbar.appendSeparator();d(p`DOMContentLoaded: ${Number.secondsToString(this._mainRequestDOMContentLoadedTime-n)}`).style.color=Li.getDCLEventColor()}if(-1!==this._mainRequestLoadTime){this._summaryToolbar.appendSeparator();d(p`Load: ${Number.secondsToString(this._mainRequestLoadTime-n)}`).style.color=Li.getLoadEventColor()}}}scheduleRefresh(){this._needsRefresh||(this._needsRefresh=!0,this.isShowing()&&!this._refreshRequestId&&(this._refreshRequestId=this.element.window().requestAnimationFrame(this._refresh.bind(this))))}addFilmStripFrames(e){this._columns.addEventDividers(e,"network-frame-divider")}selectFilmStripFrame(e){this._columns.selectFilmStripFrame(e)}clearFilmStripFrame(){this._columns.clearFilmStripFrame()}_refreshIfNeeded(){this._needsRefresh&&this._refresh()}_invalidateAllItems(e){this._staleRequests=new Set(re.NetworkLog.instance().requests()),e?this.scheduleRefresh():this._refresh()}timeCalculator(){return this._timeCalculator}calculator(){return this._calculator}setCalculator(e){e&&this._calculator!==e&&(this._calculator!==e&&(this._calculator=e,this._columns.setCalculator(this._calculator)),this._calculator.reset(),this._calculator.startAtZero?this._columns.hideEventDividers():this._columns.showEventDividers(),this._invalidateAllItems())}_loadEventFired(e){if(!this._recording)return;const t=e.data.loadTime;t&&(this._mainRequestLoadTime=t,this._columns.addEventDividers([t],"network-load-divider"))}_domContentLoadedEventFired(e){if(!this._recording)return;const t=e.data;t&&(this._mainRequestDOMContentLoadedTime=t,this._columns.addEventDividers([t],"network-dcl-divider"))}wasShown(){this._refreshIfNeeded(),this._columns.wasShown()}willHide(){this._columns.willHide()}onResize(){this._rowHeight=this._computeRowHeight()}flatNodesList(){return this._dataGrid.rootNode().flatChildren()}_onDataGridFocus(){this._dataGrid.element.matches(":focus-visible")&&this.element.classList.add("grid-focused"),this.updateNodeBackground()}_onDataGridBlur(){this.element.classList.remove("grid-focused"),this.updateNodeBackground()}updateNodeBackground(){this._dataGrid.selectedNode&&this._dataGrid.selectedNode.updateBackgroundColor()}updateNodeSelectedClass(e){e?this.element.classList.remove("no-node-selected"):this.element.classList.add("no-node-selected")}stylesChanged(){this._columns.scheduleRefresh()}_refresh(){this._needsRefresh=!1,this._refreshRequestId&&(this.element.window().cancelAnimationFrame(this._refreshRequestId),this._refreshRequestId=null),this.removeAllNodeHighlights(),this._timeCalculator.updateBoundariesForEventTime(this._mainRequestLoadTime),this._durationCalculator.updateBoundariesForEventTime(this._mainRequestLoadTime),this._timeCalculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime),this._durationCalculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime);const e=new Map,t=[],i=new Set;for(;this._staleRequests.size;){const e=this._staleRequests.values().next().value;this._staleRequests.delete(e);let t=Ei.get(e);t||(t=this._createNodeForRequest(e)),i.add(t)}for(const s of i){const i=!this._applyFilter(s);i&&s===this._hoveredNode&&this._setHoveredNode(null),i||t.push(s);const r=s.request();this._timeCalculator.updateBoundaries(r),this._durationCalculator.updateBoundaries(r);const o=this._parentNodeForInsert(s);if(Fi.has(s)===i&&s.parent===o)continue;i?Fi.add(s):Fi.delete(s);if(s.parent&&(i||s.parent!==o)){let e=s.parent;if(!e)continue;for(e.removeChild(s);e&&!e.hasChildren()&&e.dataGrid&&e.dataGrid.rootNode()!==e;){const t=e.parent;t.removeChild(e),e=t}}o&&!i&&(o.dataGrid||e.has(o)||(e.set(o,this._dataGrid.rootNode()),t.push(o)),e.set(s,o))}for(const t of e.keys())e.get(t).appendChild(t);for(const e of t)e.refresh();this._updateSummaryBar(),e.size&&this._columns.sortByCurrentColumn(),this._dataGrid.updateInstantly(),this._didRefreshForTest()}_didRefreshForTest(){}_parentNodeForInsert(e){if(!this._activeGroupLookup)return this._dataGrid.rootNode();const t=this._activeGroupLookup.groupNodeForRequest(e.request());return t||this._dataGrid.rootNode()}_reset(){this.dispatchEventToListeners(li.RequestActivated,{showPanel:!1}),this._setHoveredNode(null),this._columns.reset(),this._timeFilter=null,this._calculator.reset(),this._timeCalculator.setWindow(null),this._linkifier.reset(),this._activeGroupLookup&&this._activeGroupLookup.reset(),this._staleRequests.clear(),this._resetSuggestionBuilder(),this._mainRequestLoadTime=-1,this._mainRequestDOMContentLoadedTime=-1,this._dataGrid.rootNode().removeChildren(),this._updateSummaryBar(),this._dataGrid.setStickToBottom(!0),this.scheduleRefresh()}setTextFilterValue(e){this._textFilterUI.setValue(e),this._dataURLFilterUI.setChecked(!1),this._onlyIssuesFilterUI.setChecked(!1),this._onlyBlockedRequestsUI.setChecked(!1),this._resourceCategoryFilterUI.reset()}_createNodeForRequest(e){const t=new hi(this,e);Ei.set(e,t),Fi.add(t);for(let t=e.redirectSource();t;t=t.redirectSource())this._refreshRequest(t);return t}_onRequestUpdated(e){const t=e.data;this._refreshRequest(t)}_refreshRequest(e){Li._subdomains(e.domain).forEach(this._suggestionBuilder.addItem.bind(this._suggestionBuilder,Mi.Domain)),this._suggestionBuilder.addItem(Mi.Method,e.requestMethod),this._suggestionBuilder.addItem(Mi.MimeType,e.mimeType),this._suggestionBuilder.addItem(Mi.Scheme,String(e.scheme)),this._suggestionBuilder.addItem(Mi.StatusCode,String(e.statusCode)),this._suggestionBuilder.addItem(Mi.ResourceType,e.resourceType().name()),this._suggestionBuilder.addItem(Mi.Url,e.securityOrigin());const t=e.priority();if(t&&this._suggestionBuilder.addItem(Mi.Priority,Ce.uiLabelForNetworkPriority(t)),e.mixedContentType!==Protocol.Security.MixedContentType.None&&this._suggestionBuilder.addItem(Mi.MixedContent,Hi.All),e.mixedContentType===Protocol.Security.MixedContentType.OptionallyBlockable&&this._suggestionBuilder.addItem(Mi.MixedContent,Hi.Displayed),e.mixedContentType===Protocol.Security.MixedContentType.Blockable){const t=e.wasBlocked()?Hi.Blocked:Hi.BlockOverridden;this._suggestionBuilder.addItem(Mi.MixedContent,t)}const i=e.responseHeaders;for(let e=0,t=i.length;e<t;++e)this._suggestionBuilder.addItem(Mi.HasResponseHeader,i[e].name);for(const t of e.responseCookies)this._suggestionBuilder.addItem(Mi.SetCookieDomain,t.domain()),this._suggestionBuilder.addItem(Mi.SetCookieName,t.name()),this._suggestionBuilder.addItem(Mi.SetCookieValue,t.value());for(const t of e.allCookiesIncludingBlockedOnes())this._suggestionBuilder.addItem(Mi.CookieDomain,t.domain()),this._suggestionBuilder.addItem(Mi.CookieName,t.name()),this._suggestionBuilder.addItem(Mi.CookiePath,t.path()),this._suggestionBuilder.addItem(Mi.CookieValue,t.value());this._staleRequests.add(e),this.scheduleRefresh()}rowHeight(){return this._rowHeight}switchViewMode(e){this._columns.switchViewMode(e)}handleContextMenuForRequest(e,i){e.appendApplicableItems(i);let s=e.clipboardSection().appendSubMenuItem(t.UIString("Copy"));const r=s.footerSection();if(i){s.defaultSection().appendItem(y.copyLinkAddressLabel(),c.InspectorFrontendHostInstance.copyText.bind(c.InspectorFrontendHostInstance,i.contentURL())),i.requestHeadersText()&&s.defaultSection().appendItem(t.UIString("Copy request headers"),Li._copyRequestHeaders.bind(null,i)),i.responseHeadersText&&s.defaultSection().appendItem(t.UIString("Copy response headers"),Li._copyResponseHeaders.bind(null,i)),i.finished&&s.defaultSection().appendItem(t.UIString("Copy response"),Li._copyResponse.bind(null,i));const e=i.initiator();if(e){const i=e.stack;if(i){const e=xi(i);""!==e&&s.defaultSection().appendItem(t.UIString("Copy stacktrace"),(()=>{c.InspectorFrontendHostInstance.copyText(e)}))}}const o=i.isBlobRequest();m.isWin()?(r.appendItem(t.UIString("Copy as PowerShell"),this._copyPowerShellCommand.bind(this,i),o),r.appendItem(t.UIString("Copy as fetch"),this._copyFetchCall.bind(this,i,!1),o),r.appendItem(t.UIString("Copy as Node.js fetch"),this._copyFetchCall.bind(this,i,!0),o),r.appendItem(t.UIString("Copy as cURL (cmd)"),this._copyCurlCommand.bind(this,i,"win"),o),r.appendItem(t.UIString("Copy as cURL (bash)"),this._copyCurlCommand.bind(this,i,"unix"),o),r.appendItem(t.UIString("Copy all as PowerShell"),this._copyAllPowerShellCommand.bind(this)),r.appendItem(t.UIString("Copy all as fetch"),this._copyAllFetchCall.bind(this,!1)),r.appendItem(t.UIString("Copy all as Node.js fetch"),this._copyAllFetchCall.bind(this,!0)),r.appendItem(t.UIString("Copy all as cURL (cmd)"),this._copyAllCurlCommand.bind(this,"win")),r.appendItem(t.UIString("Copy all as cURL (bash)"),this._copyAllCurlCommand.bind(this,"unix"))):(r.appendItem(t.UIString("Copy as fetch"),this._copyFetchCall.bind(this,i,!1),o),r.appendItem(t.UIString("Copy as Node.js fetch"),this._copyFetchCall.bind(this,i,!0),o),r.appendItem(t.UIString("Copy as cURL"),this._copyCurlCommand.bind(this,i,"unix"),o),r.appendItem(t.UIString("Copy all as fetch"),this._copyAllFetchCall.bind(this,!1)),r.appendItem(t.UIString("Copy all as Node.js fetch"),this._copyAllFetchCall.bind(this,!0)),r.appendItem(t.UIString("Copy all as cURL"),this._copyAllCurlCommand.bind(this,"unix")))}else s=e.clipboardSection().appendSubMenuItem(t.UIString("Copy"));if(r.appendItem(t.UIString("Copy all as HAR"),this._copyAll.bind(this)),e.saveSection().appendItem(p`Save all as HAR with content`,this.exportAll.bind(this)),e.editSection().appendItem(t.UIString("Clear browser cache"),this._clearBrowserCache.bind(this)),e.editSection().appendItem(t.UIString("Clear browser cookies"),this._clearBrowserCookies.bind(this)),i){const s=20,r=J.MultitargetNetworkManager.instance();let a=r.blockedPatterns();function o(e){a.push({enabled:!0,url:e}),r.setBlockedPatterns(a),r.setBlockingEnabled(!0),z.ViewManager.instance().showView("network.blocked-urls")}function n(e){a=a.filter((t=>t.url!==e)),r.setBlockedPatterns(a),z.ViewManager.instance().showView("network.blocked-urls")}const l=i.parsedURL.urlWithoutScheme();if(l&&!a.find((e=>e.url===l)))e.debugSection().appendItem(t.UIString("Block request URL"),o.bind(null,l));else if(l){const i=_.trimMiddle(l,s);e.debugSection().appendItem(t.UIString("Unblock %s",i),n.bind(null,l))}const d=i.parsedURL.domain();if(d&&!a.find((e=>e.url===d)))e.debugSection().appendItem(t.UIString("Block request domain"),o.bind(null,d));else if(d){const i=_.trimMiddle(d,s);e.debugSection().appendItem(t.UIString("Unblock %s",i),n.bind(null,d))}J.NetworkManager.canReplayRequest(i)&&e.debugSection().appendItem(t.UIString("Replay XHR"),J.NetworkManager.replayRequest.bind(null,i))}}_harRequests(){return re.NetworkLog.instance().requests().filter(Li.HTTPRequestsFilter).filter((e=>e.finished||e.resourceType()===r.resourceTypes.WebSocket&&e.responseReceivedTime))}async _copyAll(){const e={log:await ee.HARLog.build(this._harRequests())};c.InspectorFrontendHostInstance.copyText(JSON.stringify(e,null,2))}async _copyCurlCommand(e,t){const i=await this._generateCurlCommand(e,t);c.InspectorFrontendHostInstance.copyText(i)}async _copyAllCurlCommand(e){const t=await this._generateAllCurlCommand(re.NetworkLog.instance().requests(),e);c.InspectorFrontendHostInstance.copyText(t)}async _copyFetchCall(e,t){const i=await this._generateFetchCall(e,t);c.InspectorFrontendHostInstance.copyText(i)}async _copyAllFetchCall(e){const t=await this._generateAllFetchCall(re.NetworkLog.instance().requests(),e);c.InspectorFrontendHostInstance.copyText(t)}async _copyPowerShellCommand(e){const t=await this._generatePowerShellCommand(e);c.InspectorFrontendHostInstance.copyText(t)}async _copyAllPowerShellCommand(){const e=await this._generateAllPowerShellCommand(re.NetworkLog.instance().requests());c.InspectorFrontendHostInstance.copyText(e)}async exportAll(){const e=Z.TargetManager.instance().mainTarget();if(!e)return;const t=e.inspectedURL(),i=a.ParsedURL.fromString(t),s=i?i.host:"network-log",r=new _e.FileOutputStream;if(!await r.open(s+".har"))return;const o=new K.ProgressIndicator;this._progressBarContainer.appendChild(o.element),await Je.write(r,this._harRequests(),o),o.done(),r.close()}_clearBrowserCache(){confirm(t.UIString("Are you sure you want to clear browser cache?"))&&J.MultitargetNetworkManager.instance().clearBrowserCache()}_clearBrowserCookies(){confirm(t.UIString("Are you sure you want to clear browser cookies?"))&&J.MultitargetNetworkManager.instance().clearBrowserCookies()}_removeAllHighlights(){this.removeAllNodeHighlights();for(let e=0;e<this._highlightedSubstringChanges.length;++e)y.revertDomChanges(this._highlightedSubstringChanges[e]);this._highlightedSubstringChanges=[]}_applyFilter(e){const t=e.request();if(this._timeFilter&&!this._timeFilter(t))return!1;const i=t.resourceType().category().title;if(!this._resourceCategoryFilterUI.accept(i))return!1;if(this._dataURLFilterUI.checked()&&(t.parsedURL.isDataURL()||t.parsedURL.isBlobURL()))return!1;if(this._onlyIssuesFilterUI.checked()&&!Re.hasIssueOfCategory(t,ie.IssueCategory.SameSiteCookie))return!1;if(this._onlyBlockedRequestsUI.checked()&&!t.wasBlocked()&&!t.corsErrorStatus())return!1;if("Service Worker Fallback Required"===t.statusText)return!1;for(let e=0;e<this._filters.length;++e)if(!this._filters[e](t))return!1;return!0}_parseFilterQuery(e){const t=this._filterParser.parse(e);this._filters=t.map((e=>{const t=e.key,i=e.text||"",s=e.regex;let r;if(t){const e=_.escapeForRegExp(t+":"+i);r=this._createSpecialFilter(t,i)||Li._requestPathFilter.bind(null,new RegExp(e,"i"))}else r=e.regex?Li._requestPathFilter.bind(null,s):Li._requestPathFilter.bind(null,new RegExp(_.escapeForRegExp(i),"i"));return e.negative?Li._negativeFilter.bind(null,r):r}))}_createSpecialFilter(e,t){switch(e){case Mi.Domain:return Li._createRequestDomainFilter(t);case Mi.HasResponseHeader:return Li._requestResponseHeaderFilter.bind(null,t);case Mi.Is:if(t.toLowerCase()===Bi.Running)return Li._runningRequestFilter;if(t.toLowerCase()===Bi.FromCache)return Li._fromCacheRequestFilter;if(t.toLowerCase()===Bi.ServiceWorkerIntercepted)return Li._interceptedByServiceWorkerFilter;if(t.toLowerCase()===Bi.ServiceWorkerInitiated)return Li._initiatedByServiceWorkerFilter;break;case Mi.LargerThan:return this._createSizeFilter(t.toLowerCase());case Mi.Method:return Li._requestMethodFilter.bind(null,t);case Mi.MimeType:return Li._requestMimeTypeFilter.bind(null,t);case Mi.MixedContent:return Li._requestMixedContentFilter.bind(null,t);case Mi.Scheme:return Li._requestSchemeFilter.bind(null,t);case Mi.SetCookieDomain:return Li._requestSetCookieDomainFilter.bind(null,t);case Mi.SetCookieName:return Li._requestSetCookieNameFilter.bind(null,t);case Mi.SetCookieValue:return Li._requestSetCookieValueFilter.bind(null,t);case Mi.CookieDomain:return Li._requestCookieDomainFilter.bind(null,t);case Mi.CookieName:return Li._requestCookieNameFilter.bind(null,t);case Mi.CookiePath:return Li._requestCookiePathFilter.bind(null,t);case Mi.CookieValue:return Li._requestCookieValueFilter.bind(null,t);case Mi.Priority:return Li._requestPriorityFilter.bind(null,Ce.uiLabelToNetworkPriority(t));case Mi.StatusCode:return Li._statusCodeFilter.bind(null,t);case Mi.ResourceType:return Li._resourceTypeFilter.bind(null,t);case Mi.Url:return Li._requestUrlFilter.bind(null,t)}return null}_createSizeFilter(e){let t=1;e.endsWith("k")?(t=1e3,e=e.substring(0,e.length-1)):e.endsWith("m")&&(t=1e6,e=e.substring(0,e.length-1));const i=Number(e);return isNaN(i)?null:Li._requestSizeLargerThanFilter.bind(null,i*t)}_filterRequests(){this._removeAllHighlights(),this._invalidateAllItems()}_reveal(e){this.removeAllNodeHighlights();const t=Ei.get(e);return t&&t.dataGrid?(t.parent&&t.parent instanceof ui&&(t.parent.reveal(),t.parent.expand()),t.reveal(),t):null}revealAndHighlightRequest(e){const t=this._reveal(e);t&&this._highlightNode(t)}selectRequest(e,t){const{clearFilter:i}=t||{clearFilter:!0};i&&this.setTextFilterValue("");const s=this._reveal(e);s&&s.select()}removeAllNodeHighlights(){this._highlightedNode&&(this._highlightedNode.element().classList.remove("highlighted-row"),this._highlightedNode=null)}_highlightNode(e){y.runCSSAnimationOnce(e.element(),"highlighted-row"),this._highlightedNode=e}_filterOutBlobRequests(e){return e.filter((e=>!e.isBlobRequest()))}async _generateFetchCall(e,t){const i=new Set(["method","path","scheme","version","accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via","user-agent"]),s=new Set(["cookie","authorization"]),r=JSON.stringify(e.url()),o=e.requestHeaders(),n=o.reduce(((e,t)=>{const s=t.name;return i.has(s.toLowerCase())||s.includes(":")||e.append(s,t.value),e}),new Headers),a={};for(const e of n)a[e[0]]=e[1];const l=e.includedRequestCookies().length||o.some((({name:e})=>s.has(e.toLowerCase())))?"include":"omit",d=o.find((({name:e})=>"referer"===e.toLowerCase())),c=d?d.value:void 0,h=e.referrerPolicy()||void 0,u=await e.requestFormData(),m={headers:Object.keys(a).length?a:void 0,referrer:c,referrerPolicy:h,body:u,method:e.requestMethod,mode:"cors"};if(t){const e=o.find((e=>"cookie"===e.name.toLowerCase()));e&&(m.headers={...a,cookie:e.value})}else m.credentials=l;return`fetch(${r}, ${JSON.stringify(m,null,2)});`}async _generateAllFetchCall(e,t){const i=this._filterOutBlobRequests(e);return(await Promise.all(i.map((e=>this._generateFetchCall(e,t))))).join(" ;\n")}async _generateCurlCommand(e,t){let i=[];const s=new Set(["accept-encoding","host","method","path","scheme","version"]);const r="win"===t?function(e){const t=/[\r\n]/.test(e)?'^"':'"';return t+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/[^a-zA-Z0-9\s_\-:=+~'\/.',?;()*`&]/g,"^$&").replace(/%(?=[a-zA-Z0-9_])/g,"%^").replace(/\r?\n/g,"^\n\n")+t}:function(e){return/[\0-\x1F\x7F-\x9F!]|\'/.test(e)?"$'"+e.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\0-\x1F\x7F-\x9F!]/g,(function(e){let t=e.charCodeAt(0).toString(16);for(;t.length<4;)t="0"+t;return"\\u"+t}))+"'":"'"+e+"'"};i.push(r(e.url()).replace(/[[{}\]]/g,"\\$&"));let o="GET";const n=[],a=e.requestContentType(),l=await e.requestFormData();(a&&a.startsWith("application/x-www-form-urlencoded")&&l||l)&&(n.push("--data-raw "+r(l)),s.add("content-length"),o="POST"),e.requestMethod!==o&&i.push("-X "+r(e.requestMethod));const d=e.requestHeaders();for(let e=0;e<d.length;e++){const t=d[e],o=t.name.replace(/^:/,"");s.has(o.toLowerCase())||i.push("-H "+r(o+": "+t.value))}return i=i.concat(n),i.push("--compressed"),e.securityState()===Protocol.Security.SecurityState.Insecure&&i.push("--insecure"),"curl "+i.join(i.length>=3?"win"===t?" ^\n ":" \\\n ":" ")}async _generateAllCurlCommand(e,t){const i=this._filterOutBlobRequests(e),s=await Promise.all(i.map((e=>this._generateCurlCommand(e,t))));return"win"===t?s.join(" &\r\n"):s.join(" ;\n")}async _generatePowerShellCommand(e){const t=[],i=new Set(["host","connection","proxy-connection","content-length","expect","range","content-type"]);function s(e){return'"'+e.replace(/[`\$"]/g,"`$&").replace(/[^\x20-\x7E]/g,(e=>"$([char]"+e.charCodeAt(0)+")"))+'"'}t.push("-Uri "+s(e.url())),"GET"!==e.requestMethod&&t.push("-Method "+s(e.requestMethod));const r=e.requestHeaders(),o=[];for(const e of r){const t=e.name.replace(/^:/,"");i.has(t.toLowerCase())||o.push(s(t)+"="+s(e.value))}o.length&&t.push("-Headers @{\n"+o.join("\n ")+"\n}");const n=r.find((({name:e})=>"content-type"===e.toLowerCase()));n&&t.push("-ContentType "+s(n.value));const a=await e.requestFormData();if(a){const e=s(a);/[^\x20-\x7E]/.test(a)?t.push("-Body ([System.Text.Encoding]::UTF8.GetBytes("+e+"))"):t.push("-Body "+e)}return"Invoke-WebRequest "+t.join(t.length>=3?" `\n":" ")}async _generateAllPowerShellCommand(e){const t=this._filterOutBlobRequests(e);return(await Promise.all(t.map((e=>this._generatePowerShellCommand(e))))).join(";\r\n")}static getDCLEventColor(){return"dark"===Ne.instance().themeName()?"#03A9F4":"#0867CB"}static getLoadEventColor(){return Ne.instance().patchColorText("#B31412",Ne.ColorUsage.Foreground)}}function xi(e){let t="";for(const i of e.callFrames){t+=`${y.beautifyFunctionName(i.functionName)} @ ${i.url}:${i.lineNumber+1}\n`}return e.parent&&(t+=xi(e.parent)),t}const Fi=new WeakSet,Ei=new WeakMap;const Pi={http:!0,https:!0,ws:!0,wss:!0},Mi={Domain:"domain",HasResponseHeader:"has-response-header",Is:"is",LargerThan:"larger-than",Method:"method",MimeType:"mime-type",MixedContent:"mixed-content",Priority:"priority",Scheme:"scheme",SetCookieDomain:"set-cookie-domain",SetCookieName:"set-cookie-name",SetCookieValue:"set-cookie-value",ResourceType:"resource-type",CookieDomain:"cookie-domain",CookieName:"cookie-name",CookiePath:"cookie-path",CookieValue:"cookie-value",StatusCode:"status-code",Url:"url"},Hi={All:"all",Displayed:"displayed",Blocked:"blocked",BlockOverridden:"block-overridden"},Bi={Running:"running",FromCache:"from-cache",ServiceWorkerIntercepted:"service-worker-intercepted",ServiceWorkerInitiated:"service-worker-initiated"},Ui=Object.values(Mi);var Ni=Object.freeze({__proto__:null,NetworkLogView:Li,computeStackTraceText:xi,isRequestFilteredOut:function(e){return Fi.has(e)},HTTPSchemas:Pi,FilterType:Mi,MixedContentFilterValues:Hi,IsFilterType:Bi,_searchKeys:Ui,GroupLookupInterface:class{groupNodeForRequest(e){throw new Error("Not implemented yet")}reset(){}},Filter:undefined});class Vi{performIndexing(e){queueMicrotask((()=>{e.done()}))}async performSearch(e,t,i,s){const r=[],o=re.NetworkLog.instance().requests().filter((t=>e.filePathMatchesFileQuery(t.url())));t.setTotalWork(o.length);for(const i of o){const s=this._searchRequest(e,i,t);r.push(s)}const n=(await Promise.all(r)).filter((e=>null!==e));if(t.isCanceled())s(!1);else{for(const e of n.sort(((e,t)=>e.label().localeCompare(t.label()))))e.matchesCount()>0&&i(e);t.done(),s(!0)}}async _searchRequest(e,t,i){let s=[];if(t.contentType().isTextType()&&(s=await t.searchInContent(e.query(),!e.ignoreCase(),e.isRegex())),i.isCanceled())return null;const r=[];n(t.url())&&r.push(Ai.urlMatch(t));for(const e of t.requestHeaders())o(e)&&r.push(Ai.requestHeaderMatch(t,e));for(const e of t.responseHeaders)o(e)&&r.push(Ai.responseHeaderMatch(t,e));for(const e of s)r.push(Ai.bodyMatch(t,e));return i.worked(),new Wi(t,r);function o(e){return n(`${e.name}: ${e.value}`)}function n(t){const i=e.ignoreCase()?"i":"",s=e.queries().map((e=>new RegExp(e,i)));let r=0;for(const e of s){const i=t.substr(r).match(e);if(!i||!i.index)return!1;r+=i.index+i[0].length}return!0}}stopSearch(){}}class Ai{constructor(e,t,i,s,r){this.request=e,this.requestHeader=t,this.responseHeader=i,this.searchMatch=s,this.isUrlMatch=r}static requestHeaderMatch(e,t){return new Ai(e,t,null,null,!1)}static responseHeaderMatch(e,t){return new Ai(e,null,t,null,!1)}static bodyMatch(e,t){return new Ai(e,null,null,t,!1)}static urlMatch(e){return new Ai(e,null,null,null,!0)}}class Wi{constructor(e,t){this._request=e,this._locations=t}matchesCount(){return this._locations.length}label(){return this._request.displayName}description(){const e=this._request.parsedURL;return e?e.urlWithoutScheme():this._request.url()}matchLineContent(e){const t=this._locations[e];if(t.isUrlMatch)return this._request.url();const i=t.requestHeader||t.responseHeader;return i?i.value:t.searchMatch.lineContent}matchRevealable(e){return this._locations[e]}matchLabel(e){const i=this._locations[e];if(i.isUrlMatch)return t.UIString("URL");const s=i.requestHeader||i.responseHeader;return s?s.name+":":i.searchMatch.lineNumber+1}}var Oi=Object.freeze({__proto__:null,NetworkSearchScope:Vi,UIRequestLocation:Ai,NetworkSearchResult:Wi});class Di extends ve.TimelineOverviewBase{constructor(){super(),this._selectedFilmStripTime=-1,this.element.classList.add("network-overview"),this._numBands=1,this._updateScheduled=!1,this._highlightedRequest=null,Z.TargetManager.instance().addModelListener(oe.ResourceTreeModel,oe.Events.Load,this._loadEventFired,this),Z.TargetManager.instance().addModelListener(oe.ResourceTreeModel,oe.Events.DOMContentLoaded,this._domContentLoadedEventFired,this),this._loadEvents,this._domContentLoadedEvents,this._nextBand,this._bandMap,this._requestsList,this._requestsSet,this._span,this.reset()}setHighlightedRequest(e){this._highlightedRequest=e,this.scheduleUpdate()}setFilmStripModel(e){this._filmStripModel=e,this.scheduleUpdate()}selectFilmStripFrame(e){this._selectedFilmStripTime=e,this.scheduleUpdate()}clearFilmStripFrame(){this._selectedFilmStripTime=-1,this.scheduleUpdate()}_loadEventFired(e){const t=e.data.loadTime;t&&this._loadEvents.push(1e3*t),this.scheduleUpdate()}_domContentLoadedEventFired(e){const t=e.data;t&&this._domContentLoadedEvents.push(1e3*t),this.scheduleUpdate()}_bandId(e){if(!e||"0"===e)return-1;if(this._bandMap.has(e))return this._bandMap.get(e);const t=this._nextBand++;return this._bandMap.set(e,t),t}updateRequest(e){this._requestsSet.has(e)||(this._requestsSet.add(e),this._requestsList.push(e)),this.scheduleUpdate()}wasShown(){this.onResize()}calculator(){return super.calculator()}onResize(){const e=this.element.offsetWidth,t=this.element.offsetHeight;this.calculator().setDisplayWidth(e),this.resetCanvas();const i=(t-Ki-1)/zi-1|0;this._numBands=i>0?i:1,this.scheduleUpdate()}reset(){this._filmStripModel=null,this._span=1,this._lastBoundary=null,this._nextBand=0,this._bandMap=new Map,this._requestsList=[],this._requestsSet=new Set,this._loadEvents=[],this._domContentLoadedEvents=[],this.resetCanvas()}scheduleUpdate(){!this._updateScheduled&&this.isShowing()&&(this._updateScheduled=!0,this.element.window().requestAnimationFrame(this.update.bind(this)))}update(){this._updateScheduled=!1;const e=this.calculator(),t=new yt(e.minimumBoundary(),e.maximumBoundary());if(!this._lastBoundary||!t.equals(this._lastBoundary)){const t=e.boundarySpan();for(;this._span<t;)this._span*=1.25;e.setBounds(e.minimumBoundary(),e.minimumBoundary()+this._span),this._lastBoundary=new yt(e.minimumBoundary(),e.maximumBoundary())}const i=this.context(),s=new Map,r=Ki;function o(t){const o=s.get(t);if(!o)return;const n=o.length;i.beginPath(),i.strokeStyle=Gi[t];for(let t=0;t<n;){const s=o[t++]*zi+r,n=o[t++];let a=o[t++];a===Number.MAX_VALUE&&(a=e.maximumBoundary()),i.moveTo(e.computePosition(n),s),i.lineTo(e.computePosition(a)+1,s)}i.stroke()}function n(e,t,i,r){let o=s.get(e);o||(o=[],s.set(e,o)),o.push(t,i,r)}const a=this._requestsList,l=a.length;for(let e=0;e<l;++e){const t=a[e],i=this._bandId(t.connectionId),s=-1===i?0:i%this._numBands+1,r=Ut.calculateRequestTimeRanges(t,this.calculator().minimumBoundary());for(let e=0;e<r.length;++e){const t=r[e].name;-1===i&&t!==Nt.Total||n(t,s,1e3*r[e].start,1e3*r[e].end)}}if(i.clearRect(0,0,this.width(),this.height()),i.save(),i.scale(window.devicePixelRatio,window.devicePixelRatio),i.lineWidth=2,o(Nt.Total),o(Nt.Blocking),o(Nt.Connecting),o(Nt.ServiceWorker),o(Nt.ServiceWorkerPreparation),o(Nt.ServiceWorkerRespondWith),o(Nt.Push),o(Nt.Proxy),o(Nt.DNS),o(Nt.SSL),o(Nt.Sending),o(Nt.Waiting),o(Nt.Receiving),this._highlightedRequest){const t=5,s=2,o=this._highlightedRequest,n=this._bandId(o.connectionId),a=(-1===n?0:n%this._numBands+1)*zi+r,l=Ut.calculateRequestTimeRanges(o,this.calculator().minimumBoundary());i.fillStyle=Ne.instance().getComputedValue("--selection-bg-color");const d=1e3*l[0].start,c=1e3*l[0].end;i.fillRect(e.computePosition(d)-s,a-t/2-s,e.computePosition(c)-e.computePosition(d)+1+2*s,t*s);for(let s=0;s<l.length;++s){const r=l[s].name;if(-1!==n||r===Nt.Total){i.beginPath(),i.strokeStyle=Gi[r],i.lineWidth=t;const o=1e3*l[s].start,n=1e3*l[s].end;i.moveTo(e.computePosition(o)-0,a),i.lineTo(e.computePosition(n)+1,a),i.stroke()}}}const d=this.element.offsetHeight;i.lineWidth=1,i.beginPath(),i.strokeStyle=Li.getDCLEventColor();for(let t=this._domContentLoadedEvents.length-1;t>=0;--t){const s=Math.round(e.computePosition(this._domContentLoadedEvents[t]))+.5;i.moveTo(s,0),i.lineTo(s,d)}i.stroke(),i.beginPath(),i.strokeStyle=Li.getLoadEventColor();for(let t=this._loadEvents.length-1;t>=0;--t){const s=Math.round(e.computePosition(this._loadEvents[t]))+.5;i.moveTo(s,0),i.lineTo(s,d)}if(i.stroke(),-1!==this._selectedFilmStripTime){i.lineWidth=2,i.beginPath(),i.strokeStyle=Ne.instance().getComputedValue("--network-frame-divider-color");const t=Math.round(e.computePosition(this._selectedFilmStripTime));i.moveTo(t,0),i.lineTo(t,d),i.stroke()}i.restore()}}const Gi={[Nt.Total]:"#CCCCCC",[Nt.Blocking]:"#AAAAAA",[Nt.Connecting]:"#FF9800",[Nt.ServiceWorker]:"#FF9800",[Nt.ServiceWorkerPreparation]:"#FF9800",[Nt.ServiceWorkerRespondWith]:"#00FFFF",[Nt.Push]:"#8CDBff",[Nt.Proxy]:"#A1887F",[Nt.DNS]:"#009688",[Nt.SSL]:"#9C27B0",[Nt.Sending]:"#B0BEC5",[Nt.Waiting]:"#00C853",[Nt.Receiving]:"#03A9F4"},zi=3,Ki=5;var ji=Object.freeze({__proto__:null,NetworkOverview:Di,RequestTimeRangeNameToColor:Gi,_bandHeight:zi,_padding:Ki});let $i;class Xi extends j.Panel{constructor(){super("network"),this.registerRequiredCSS("network/networkPanel.css",{enableLegacyPatching:!0}),this._networkLogShowOverviewSetting=e.Settings.instance().createSetting("networkLogShowOverview",!0),this._networkLogLargeRowsSetting=e.Settings.instance().createSetting("networkLogLargeRows",!1),this._networkRecordFilmStripSetting=e.Settings.instance().createSetting("networkRecordFilmStripSetting",!1),this._toggleRecordAction=$.ActionRegistry.instance().action("network.toggle-recording"),this._pendingStopTimer,this._networkItemView=null,this._filmStripView=null,this._filmStripRecorder=null,this._currentRequest=null;const i=new k.VBox,s=i.contentElement.createChild("div","network-toolbar-container");this._panelToolbar=new b.Toolbar("",s),this._rightToolbar=new b.Toolbar("",s),this._filterBar=new W.FilterBar("networkPanel",!0),this._filterBar.show(i.contentElement),this._filterBar.addEventListener(W.FilterBar.Events.Changed,this._handleFilterChanged.bind(this)),this._settingsPane=new k.HBox,this._settingsPane.element.classList.add("network-settings-pane"),this._settingsPane.show(i.contentElement),this._showSettingsPaneSetting=e.Settings.instance().createSetting("networkShowSettingsToolbar",!1),this._showSettingsPaneSetting.addChangeListener(this._updateSettingsPaneVisibility.bind(this)),this._updateSettingsPaneVisibility(),this._filmStripPlaceholderElement=i.contentElement.createChild("div","network-film-strip-placeholder"),this._overviewPane=new ve.TimelineOverviewPane("network"),this._overviewPane.addEventListener(ve.Events.WindowChanged,this._onWindowChanged.bind(this)),this._overviewPane.element.id="network-overview-panel",this._networkOverview=new Di,this._overviewPane.setOverviewControls([this._networkOverview]),this._overviewPlaceholderElement=i.contentElement.createChild("div"),this._calculator=new Mt,this._splitWidget=new B.SplitWidget(!0,!1,"networkPanelSplitViewState"),this._splitWidget.hideMain(),this._splitWidget.show(i.contentElement),i.setDefaultFocusedChild(this._filterBar);const r=new B.SplitWidget(!0,!1,"networkPanelSidebarState",225);r.hideSidebar(),r.enableShowModeSaving(),r.show(this.element),this._sidebarLocation=z.ViewManager.instance().createTabbedLocation((async()=>{z.ViewManager.instance().showView("network"),r.showBoth()}),"network-sidebar",!0);const o=this._sidebarLocation.tabbedPane();o.setMinimumSize(100,25),o.element.classList.add("network-tabbed-pane"),o.element.addEventListener("keydown",(e=>{"Escape"===e.key&&(r.hideSidebar(),e.consume())}));const n=new b.ToolbarButton(t.UIString("Close"),"largeicon-delete");n.addEventListener(b.ToolbarButton.Events.Click,(()=>r.hideSidebar())),o.rightToolbar().appendToolbarItem(n),r.setSidebarWidget(o),r.setMainWidget(i),r.setDefaultFocusedChild(i),this.setDefaultFocusedChild(r),this._progressBarContainer=document.createElement("div"),this._networkLogView=new Li(this._filterBar,this._progressBarContainer,this._networkLogLargeRowsSetting),this._splitWidget.setSidebarWidget(this._networkLogView),this._fileSelectorElement=y.createFileSelectorElement(this._networkLogView.onLoadFromFile.bind(this._networkLogView)),i.element.appendChild(this._fileSelectorElement),this._detailsWidget=new k.VBox,this._detailsWidget.element.classList.add("network-details-view"),this._splitWidget.setMainWidget(this._detailsWidget),this._closeButtonElement=document.createElement("div",{is:"dt-close-button"}),this._closeButtonElement.addEventListener("click",(async()=>{const e=$.ActionRegistry.instance().action("network.hide-request-details");e&&await e.execute()}),!1),this._closeButtonElement.style.margin="0 5px",this._networkLogShowOverviewSetting.addChangeListener(this._toggleShowOverview,this),this._networkLogLargeRowsSetting.addChangeListener(this._toggleLargerRequests,this),this._networkRecordFilmStripSetting.addChangeListener(this._toggleRecordFilmStrip,this),this._preserveLogSetting=e.Settings.instance().moduleSetting("network_log.preserve-log"),this._recordLogSetting=e.Settings.instance().moduleSetting("network_log.record-log"),this._recordLogSetting.addChangeListener((({data:e})=>this._toggleRecord(e))),this._throttlingSelect=this._createThrottlingConditionsSelect(),this._setupToolbarButtons(r),this._toggleRecord(this._recordLogSetting.get()),this._toggleShowOverview(),this._toggleLargerRequests(),this._toggleRecordFilmStrip(),this._updateUI(),Z.TargetManager.instance().addModelListener(oe.ResourceTreeModel,oe.Events.WillReloadPage,this._willReloadPage,this),Z.TargetManager.instance().addModelListener(oe.ResourceTreeModel,oe.Events.Load,this._load,this),this._networkLogView.addEventListener(li.RequestSelected,this._onRequestSelected,this),this._networkLogView.addEventListener(li.RequestActivated,this._onRequestActivated,this),re.NetworkLog.instance().addEventListener(re.Events.RequestAdded,this._onUpdateRequest,this),re.NetworkLog.instance().addEventListener(re.Events.RequestUpdated,this._onUpdateRequest,this),re.NetworkLog.instance().addEventListener(re.Events.Reset,this._onNetworkLogReset,this)}static instance(e={forceNew:null}){const{forceNew:t}=e;return $i&&!t||($i=new Xi),$i}static revealAndFilter(e){const t=Xi._instance();let i="";for(const t of e)t.filterType?i+=`${t.filterType}:${t.filterValue} `:i+=t.filterValue+" ";t._networkLogView.setTextFilterValue(i),z.ViewManager.instance().showView("network")}static async selectAndShowRequest(e,t,i){const s=Xi._instance();await s.selectAndActivateRequest(e,t,i)}static _instance(){return Xi.instance()}throttlingSelectForTest(){return this._throttlingSelect}_onWindowChanged(e){const t=Math.max(this._calculator.minimumBoundary(),e.data.startTime/1e3),i=Math.min(this._calculator.maximumBoundary(),e.data.endTime/1e3);this._networkLogView.setWindow(t,i)}async _searchToggleClick(e){const t=$.ActionRegistry.instance().action("network.search");t&&await t.execute()}_setupToolbarButtons(i){const s=new b.ToolbarToggle(p`Search`,"largeicon-search");function r(){const e=i.showMode()!==B.ShowMode.OnlyMain;s.setToggled(e),e||s.element.focus()}this._panelToolbar.appendToolbarItem(b.Toolbar.createActionButton(this._toggleRecordAction));const o=new b.ToolbarButton(t.UIString("Clear"),"largeicon-clear");o.addEventListener(b.ToolbarButton.Events.Click,(()=>re.NetworkLog.instance().reset()),this),this._panelToolbar.appendToolbarItem(o),this._panelToolbar.appendSeparator(),this._panelToolbar.appendToolbarItem(this._filterBar.filterButton()),r(),i.addEventListener(B.Events.ShowModeChanged,r),s.addEventListener(b.ToolbarButton.Events.Click,(e=>{this._searchToggleClick(e)})),this._panelToolbar.appendToolbarItem(s),this._panelToolbar.appendSeparator(),this._panelToolbar.appendToolbarItem(new b.ToolbarSettingCheckbox(this._preserveLogSetting,t.UIString("Do not clear log on page reload / navigation"),t.UIString("Preserve log")));const n=new b.ToolbarSettingCheckbox(e.Settings.instance().moduleSetting("cacheDisabled"),t.UIString("Disable cache (while DevTools is open)"),t.UIString("Disable cache"));this._panelToolbar.appendToolbarItem(n),this._panelToolbar.appendSeparator(),this._panelToolbar.appendToolbarItem(this._throttlingSelect),this._rightToolbar.appendToolbarItem(new b.ToolbarItem(this._progressBarContainer)),this._rightToolbar.appendSeparator(),this._rightToolbar.appendToolbarItem(new b.ToolbarSettingToggle(this._showSettingsPaneSetting,"largeicon-settings-gear",p`Network settings`));const a=new b.Toolbar("",this._settingsPane.element);a.makeVertical(),a.appendToolbarItem(new b.ToolbarSettingCheckbox(this._networkLogLargeRowsSetting,p`Show more information in request rows`,p`Use large request rows`)),a.appendToolbarItem(new b.ToolbarSettingCheckbox(this._networkLogShowOverviewSetting,p`Show overview of network requests`,p`Show overview`));const l=new b.Toolbar("",this._settingsPane.element);l.makeVertical(),l.appendToolbarItem(new b.ToolbarSettingCheckbox(e.Settings.instance().moduleSetting("network.group-by-frame"),p`Group requests by top level request frame`,p`Group by frame`)),l.appendToolbarItem(new b.ToolbarSettingCheckbox(this._networkRecordFilmStripSetting,p`Capture screenshots when loading a page`,p`Capture screenshots`)),this._panelToolbar.appendSeparator();const d=new b.ToolbarButton(p`Import HAR file...`,"largeicon-load");d.addEventListener(b.ToolbarButton.Events.Click,(()=>this._fileSelectorElement.click()),this),this._panelToolbar.appendToolbarItem(d);const c=new b.ToolbarButton(p`Export HAR...`,"largeicon-download");c.addEventListener(b.ToolbarButton.Events.Click,(e=>{this._networkLogView.exportAll()}),this),this._panelToolbar.appendToolbarItem(c)}_updateSettingsPaneVisibility(){this._settingsPane.element.classList.toggle("hidden",!this._showSettingsPaneSetting.get())}_createThrottlingConditionsSelect(){const e=new b.ToolbarComboBox(null,p`Throttling`);return e.setMaxWidth(160),me.throttlingManager().decorateSelectWithNetworkThrottling(e.selectElement()),e}_toggleRecord(e){this._toggleRecordAction.setToggled(e),this._recordLogSetting.get()!==e&&this._recordLogSetting.set(e),this._networkLogView.setRecording(e),!e&&this._filmStripRecorder&&this._filmStripRecorder.stopRecording(this._filmStripAvailable.bind(this))}_filmStripAvailable(e){if(!e)return;const t=this._networkLogView.timeCalculator();this._filmStripView&&this._filmStripView.setModel(e,1e3*t.minimumBoundary(),1e3*t.boundarySpan()),this._networkOverview.setFilmStripModel(e);const i=e.frames().map((function(e){return e.timestamp/1e3}));this._networkLogView.addFilmStripFrames(i)}_onNetworkLogReset(){Ge.reset(),this._preserveLogSetting.get()||(this._calculator.reset(),this._overviewPane.reset()),this._filmStripView&&this._resetFilmStripView()}_willReloadPage(e){this._pendingStopTimer&&(clearTimeout(this._pendingStopTimer),delete this._pendingStopTimer),this.isShowing()&&this._filmStripRecorder&&this._filmStripRecorder.startRecording()}_load(e){this._filmStripRecorder&&this._filmStripRecorder.isRecording()&&(this._pendingStopTimer=window.setTimeout(this._stopFilmStripRecording.bind(this),Qi))}_stopFilmStripRecording(){this._filmStripRecorder&&this._filmStripRecorder.stopRecording(this._filmStripAvailable.bind(this)),delete this._pendingStopTimer}_toggleLargerRequests(){this._updateUI()}_toggleShowOverview(){this._networkLogShowOverviewSetting.get()?this._overviewPane.show(this._overviewPlaceholderElement):this._overviewPane.detach(),this.doResize()}_toggleRecordFilmStrip(){const e=this._networkRecordFilmStripSetting.get();e&&!this._filmStripRecorder&&(this._filmStripView=new ke.FilmStripView,this._filmStripView.setMode(ke.Modes.FrameBased),this._filmStripView.element.classList.add("network-film-strip"),this._filmStripRecorder=new Ji(this._networkLogView.timeCalculator(),this._filmStripView),this._filmStripView.show(this._filmStripPlaceholderElement),this._filmStripView.addEventListener(ke.Events.FrameSelected,this._onFilmFrameSelected,this),this._filmStripView.addEventListener(ke.Events.FrameEnter,this._onFilmFrameEnter,this),this._filmStripView.addEventListener(ke.Events.FrameExit,this._onFilmFrameExit,this),this._resetFilmStripView()),!e&&this._filmStripRecorder&&(this._filmStripView&&this._filmStripView.detach(),this._filmStripView=null,this._filmStripRecorder=null)}_resetFilmStripView(){const e=G.ShortcutRegistry.instance().shortcutsForAction("inspector_main.reload")[0];this._filmStripView&&(this._filmStripView.reset(),e&&this._filmStripView.setStatusText(t.UIString("Hit %s to reload and capture filmstrip.",e.title())))}elementsToRestoreScrollPositionsFor(){return this._networkLogView.elementsToRestoreScrollPositionsFor()}wasShown(){X.Context.instance().setFlavor(Xi,this),h.panelLoaded("network","DevTools.Launch.Network")}willHide(){X.Context.instance().setFlavor(Xi,null)}revealAndHighlightRequest(e){this._hideRequestPanel(),e&&this._networkLogView.revealAndHighlightRequest(e)}async selectAndActivateRequest(e,t,i){return await z.ViewManager.instance().showView("network"),this._networkLogView.selectRequest(e,i),this._showRequestPanel(t),this._networkItemView}_handleFilterChanged(e){this._hideRequestPanel()}_onRowSizeChanged(e){this._updateUI()}_onRequestSelected(e){const t=e.data;this._currentRequest=t,this._networkOverview.setHighlightedRequest(t),this._updateNetworkItemView()}_onRequestActivated(e){const t=e.data;t.showPanel?this._showRequestPanel(t.tab,t.takeFocus):this._hideRequestPanel()}_showRequestPanel(e,t){if(this._clearNetworkItemView(),this._currentRequest){const i=this._createNetworkItemView(e);i&&t&&i.focus()}this._updateUI()}_hideRequestPanel(){this._clearNetworkItemView(),this._splitWidget.hideMain(),this._updateUI()}_updateNetworkItemView(){this._splitWidget.showMode()===B.ShowMode.Both&&(this._clearNetworkItemView(),this._createNetworkItemView(),this._updateUI())}_clearNetworkItemView(){this._networkItemView&&(this._networkItemView.detach(),this._networkItemView=null)}_createNetworkItemView(e){if(this._currentRequest)return this._networkItemView=new oi(this._currentRequest,this._networkLogView.timeCalculator(),e),this._networkItemView.leftToolbar().appendToolbarItem(new b.ToolbarItem(this._closeButtonElement)),this._networkItemView.show(this._detailsWidget.element),this._splitWidget.showBoth(),this._networkItemView}_updateUI(){this._detailsWidget&&this._detailsWidget.element.classList.toggle("network-details-view-tall-header",this._networkLogLargeRowsSetting.get()),this._networkLogView&&this._networkLogView.switchViewMode(!this._splitWidget.isResizable())}appendApplicableItems(e,i,s){function r(e){z.ViewManager.instance().showView("network").then(this._networkLogView.resetFilter.bind(this._networkLogView)).then(this.revealAndHighlightRequest.bind(this,e))}function o(e){i.revealSection().appendItem(t.UIString("Reveal in Network panel"),r.bind(this,e))}if(e.target.isSelfOrDescendant(this.element))return;if(s instanceof ne.Resource){const e=s;return void(e.request&&o.call(this,e.request))}if(s instanceof Te.UISourceCode){const e=s,t=pe.resourceForURL(e.url());return void(t&&t.request&&o.call(this,t.request))}if(!(s instanceof Y.NetworkRequest))return;const n=s;this._networkItemView&&this._networkItemView.isShowing()&&this._networkItemView.request()===n||o.call(this,n)}_onFilmFrameSelected(e){const t=e.data;this._overviewPane.setWindowTimes(0,t)}_onFilmFrameEnter(e){const t=e.data;this._networkOverview.selectFilmStripFrame(t),this._networkLogView.selectFilmStripFrame(t/1e3)}_onFilmFrameExit(e){this._networkOverview.clearFilmStripFrame(),this._networkLogView.clearFilmStripFrame()}_onUpdateRequest(e){const t=e.data;this._calculator.updateBoundaries(t),this._overviewPane.setBounds(1e3*this._calculator.minimumBoundary(),1e3*this._calculator.maximumBoundary()),this._networkOverview.updateRequest(t),this._overviewPane.scheduleUpdate()}resolveLocation(e){return"network-sidebar"===e?this._sidebarLocation:null}}const Qi=1e3;class Ji{constructor(e,t){this._tracingManager=null,this._resourceTreeModel=null,this._timeCalculator=e,this._filmStripView=t,this._tracingModel=null,this._callback=null}traceEventsCollected(e){this._tracingModel&&this._tracingModel.addEvents(e)}tracingComplete(){this._tracingModel&&this._tracingManager&&(this._tracingModel.tracingComplete(),this._tracingManager=null,this._callback&&this._callback(new ae.FilmStripModel(this._tracingModel,1e3*this._timeCalculator.minimumBoundary())),this._callback=null,this._resourceTreeModel&&this._resourceTreeModel.resumeReload(),this._resourceTreeModel=null)}tracingBufferUsage(){}eventsRetrievalProgress(e){}startRecording(){this._filmStripView.reset(),this._filmStripView.setStatusText(t.UIString("Recording frames..."));const e=Z.TargetManager.instance().models(le.TracingManager);!this._tracingManager&&e.length&&(this._tracingManager=e[0],this._tracingManager&&(this._resourceTreeModel=this._tracingManager.target().model(oe.ResourceTreeModel),this._tracingModel&&this._tracingModel.dispose(),this._tracingModel=new de.TracingModel(new ge.TempFileBackingStorage),this._tracingManager.start(this,"-*,disabled-by-default-devtools.screenshot",""),h.actionTaken(u.Action.FilmStripStartedRecording)))}isRecording(){return Boolean(this._tracingManager)}stopRecording(e){this._tracingManager&&(this._tracingManager.stop(),this._resourceTreeModel&&this._resourceTreeModel.suspendReload(),this._callback=e,this._filmStripView.setStatusText(t.UIString("Fetching frames...")))}}let Zi,Yi;class es{static instance(e={forceNew:null}){const{forceNew:t}=e;return Zi&&!t||(Zi=new es),Zi}handleAction(e,t){const i=X.Context.instance().flavor(Xi);if(console.assert(Boolean(i&&i instanceof Xi)),!i)return!1;switch(t){case"network.toggle-recording":return i._toggleRecord(!i._recordLogSetting.get()),!0;case"network.hide-request-details":return!!i._networkItemView&&(i._hideRequestPanel(),i._networkLogView.resetFocus(),!0);case"network.search":{const e=Q.InspectorView.instance().element.window().getSelection();if(e){let t="";return e.rangeCount&&(t=e.toString().replace(/\r?\n.*/,"")),ts.openSearch(t),!0}}}return!1}}class ts extends Ve.SearchView{constructor(){super("network")}static instance(e={forceNew:null}){const{forceNew:t}=e;return Yi&&!t||(Yi=new ts),Yi}static async openSearch(e,t){await z.ViewManager.instance().showView("network.search-network-tab");const i=ts.instance();return i.toggle(e,Boolean(t)),i}createScope(){return new Vi}}var is=Object.freeze({__proto__:null,NetworkPanel:Xi,displayScreenshotDelay:Qi,ContextMenuProvider:class{appendApplicableItems(e,t,i){Xi._instance().appendApplicableItems(e,t,i)}},RequestRevealer:class{reveal(e){if(!(e instanceof Y.NetworkRequest))return Promise.reject(new Error("Internal error: not a network request"));const t=Xi._instance();return z.ViewManager.instance().showView("network").then(t.revealAndHighlightRequest.bind(t,e))}},FilmStripRecorder:Ji,ActionDelegate:es,RequestLocationRevealer:class{async reveal(e){const t=e,i=await Xi._instance().selectAndActivateRequest(t.request);i&&(t.searchMatch&&await i.revealResponseBody(t.searchMatch.lineNumber),t.requestHeader&&i.revealRequestHeader(t.requestHeader.name),t.responseHeader&&i.revealResponseHeader(t.responseHeader.name))}},SearchNetworkView:ts,FilterOptions:undefined});document.body.addEventListener("networkrevealandfilter",(e=>{Xi.revealAndFilter(e.detail)}));export{Oe as BinaryResourceView,ze as BlockedURLsPane,Qe as EventSourceMessagesView,et as HARWriter,rt as NetworkConfigView,mi as NetworkDataGridNode,gi as NetworkFrameGrouper,ai as NetworkItemView,Ni as NetworkLogView,qi as NetworkLogViewColumns,Si as NetworkManageCustomHeadersView,ji as NetworkOverview,is as NetworkPanel,Oi as NetworkSearchScope,Bt as NetworkTimeCalculator,fi as NetworkWaterfallColumn,nt as RequestCookiesView,gt as RequestHTMLView,ut as RequestHeadersView,pt as RequestInitiatorView,Tt as RequestPreviewView,Ct as RequestResponseView,Wt as RequestTimingView,Qt as RequestTrustTokensView,ri as ResourceWebSocketFrameView,kt as SignedExchangeInfoView};
|