chrome-devtools-frontend 1.0.1536371 → 1.0.1537860
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/.env.template +9 -0
- package/docs/get_the_code.md +27 -0
- package/front_end/core/common/SettingRegistration.ts +10 -7
- package/front_end/core/common/Settings.ts +3 -0
- package/front_end/core/host/AidaClient.ts +64 -5
- package/front_end/core/host/DispatchHttpRequestClient.ts +62 -0
- package/front_end/core/host/GdpClient.ts +8 -57
- package/front_end/core/host/host.ts +2 -0
- package/front_end/core/protocol_client/CDPConnection.ts +10 -8
- package/front_end/core/protocol_client/InspectorBackend.ts +36 -42
- package/front_end/core/sdk/EnhancedTracesParser.ts +20 -5
- package/front_end/core/sdk/RehydratingConnection.ts +112 -4
- package/front_end/core/sdk/RehydratingObject.ts +8 -0
- package/front_end/core/sdk/TraceObject.ts +5 -1
- package/front_end/core/sdk/sdk-meta.ts +8 -2
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +4 -3
- package/front_end/generated/SupportedCSSProperties.js +1 -0
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +23 -7
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +110 -5
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +50 -45
- package/front_end/models/cpu_profile/ProfileTreeModel.ts +7 -7
- package/front_end/models/javascript_metadata/NativeFunctions.js +1 -1
- package/front_end/models/trace/types/File.ts +9 -0
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +1 -1
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +5 -9
- package/front_end/panels/ai_assistance/components/ChatView.ts +58 -70
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -6
- package/front_end/panels/application/StorageView.ts +3 -2
- package/front_end/panels/application/components/BackForwardCacheView.ts +96 -108
- package/front_end/panels/application/components/FrameDetailsView.ts +8 -11
- package/front_end/panels/application/components/OriginTrialTreeView.ts +136 -137
- package/front_end/panels/application/components/backForwardCacheView.css +8 -0
- package/front_end/panels/application/components/badge.css +9 -1
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +2 -2
- package/front_end/panels/application/preloading/components/PreloadingString.ts +27 -0
- package/front_end/panels/autofill/AutofillView.ts +1 -1
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +44 -53
- package/front_end/panels/console/ConsoleView.ts +11 -9
- package/front_end/panels/coverage/CoverageView.ts +1 -2
- package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +1 -1
- package/front_end/panels/elements/ElementStatePaneWidget.ts +1 -1
- package/front_end/panels/elements/EventListenersWidget.ts +1 -2
- package/front_end/panels/elements/PropertiesWidget.ts +1 -1
- package/front_end/panels/network/NetworkConfigView.ts +2 -1
- package/front_end/panels/network/NetworkPanel.ts +5 -4
- package/front_end/panels/network/RequestCookiesView.ts +2 -1
- package/front_end/panels/profiler/HeapSnapshotView.ts +3 -2
- package/front_end/panels/recorder/RecorderController.ts +1 -2
- package/front_end/panels/recorder/components/CreateRecordingView.ts +153 -129
- package/front_end/panels/sensors/SensorsView.ts +4 -3
- package/front_end/panels/settings/AISettingsTab.ts +162 -171
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +8 -6
- package/front_end/panels/settings/KeybindsSettingsTab.ts +3 -2
- package/front_end/panels/settings/SettingsScreen.ts +5 -8
- package/front_end/panels/settings/WorkspaceSettingsTab.ts +1 -1
- package/front_end/panels/settings/aiSettingsTab.css +151 -148
- package/front_end/panels/settings/settings-meta.ts +1 -2
- package/front_end/panels/sources/AddSourceMapURLDialog.ts +23 -26
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +2 -1
- package/front_end/panels/sources/SourcesPanel.ts +2 -1
- package/front_end/panels/sources/sources-meta.ts +8 -1
- package/front_end/panels/timeline/TimelinePanel.ts +64 -14
- package/front_end/panels/timeline/TimelineUIUtils.ts +4 -20
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +33 -34
- package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -0
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +2 -0
- package/front_end/third_party/chromium/README.chromium +2 -2
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +9 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +13 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +1 -12
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts +6 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +6 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +28 -3
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +21 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +9 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +13 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts +1 -12
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts +6 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +6 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +28 -3
- package/front_end/third_party/puppeteer/package/package.json +2 -2
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +13 -1
- package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +7 -2
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +14 -1
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +8 -5
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +5 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +8 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +11 -2
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +3 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/disposable.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/util/util.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/adorners/Adorner.ts +2 -1
- package/front_end/ui/components/buttons/Button.docs.ts +195 -0
- package/front_end/ui/components/settings/SettingCheckbox.ts +49 -14
- package/front_end/ui/components/settings/settingCheckbox.css +6 -1
- package/front_end/ui/components/spinners/Spinners.docs.ts +13 -0
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +280 -0
- package/front_end/ui/components/text_editor/text_editor.ts +1 -0
- package/front_end/ui/components/tooltips/Tooltip.docs.ts +76 -0
- package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
- package/front_end/ui/legacy/Dialog.ts +0 -1
- package/front_end/ui/legacy/FilterBar.ts +1 -2
- package/front_end/ui/legacy/RadioButton.docs.ts +41 -0
- package/front_end/ui/legacy/SelectMenu.docs.ts +98 -0
- package/front_end/ui/legacy/Toolbar.ts +4 -6
- package/front_end/ui/legacy/UIUtils.ts +114 -1
- package/front_end/ui/legacy/Widget.ts +62 -34
- package/front_end/ui/legacy/XLink.ts +0 -3
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +9 -0
- package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +125 -0
- package/front_end/ui/legacy/components/settings_ui/settings_ui.ts +8 -0
- package/front_end/ui/legacy/components/utils/Linkifier.ts +9 -3
- package/front_end/ui/legacy/legacy.ts +0 -2
- package/front_end/ui/visual_logging/KnownContextValues.ts +4 -1
- package/mcp/mcp.ts +5 -0
- package/package.json +1 -1
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatterBounds.snapshot.txt +0 -4
- package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +0 -62
- package/front_end/models/trace/lantern/testing/testing.ts +0 -5
- package/front_end/ui/components/docs/breadcrumbs_perf/initial-breadcrumb-perf.html +0 -20
- package/front_end/ui/components/docs/breadcrumbs_perf/initial-breadcrumb-perf.ts +0 -25
- package/front_end/ui/components/docs/breadcrumbs_perf/nested-breadcrumbs-perf.html +0 -20
- package/front_end/ui/components/docs/breadcrumbs_perf/nested-breadcrumbs-perf.ts +0 -36
- package/front_end/ui/components/docs/button/basic.html +0 -44
- package/front_end/ui/components/docs/button/basic.ts +0 -175
- package/front_end/ui/components/docs/radio_button/basic.html +0 -23
- package/front_end/ui/components/docs/radio_button/basic.ts +0 -50
- package/front_end/ui/components/docs/select_menu/basic.html +0 -19
- package/front_end/ui/components/docs/select_menu/basic.ts +0 -95
- package/front_end/ui/components/docs/select_menu/wide-option.html +0 -38
- package/front_end/ui/components/docs/select_menu/wide-option.ts +0 -43
- package/front_end/ui/components/docs/spinners/basic.html +0 -17
- package/front_end/ui/components/docs/spinners/basic.ts +0 -22
- package/front_end/ui/components/docs/tooltip/basic.html +0 -20
- package/front_end/ui/components/docs/tooltip/basic.ts +0 -82
- package/front_end/ui/legacy/SettingsUI.ts +0 -254
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
// Copyright 2021 The Chromium Authors
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
|
-
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
5
4
|
|
|
6
5
|
import '../../../ui/components/chrome_link/chrome_link.js';
|
|
7
6
|
import '../../../ui/components/expandable_list/expandable_list.js';
|
|
8
7
|
import '../../../ui/components/report_view/report_view.js';
|
|
9
|
-
import '../../../ui/
|
|
8
|
+
import '../../../ui/legacy/legacy.js';
|
|
10
9
|
|
|
11
10
|
import * as Common from '../../../core/common/common.js';
|
|
12
11
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
@@ -15,19 +14,15 @@ import * as SDK from '../../../core/sdk/sdk.js';
|
|
|
15
14
|
import * as Protocol from '../../../generated/protocol.js';
|
|
16
15
|
import * as Buttons from '../../../ui/components/buttons/buttons.js';
|
|
17
16
|
import type * as ExpandableList from '../../../ui/components/expandable_list/expandable_list.js';
|
|
18
|
-
import * as LegacyWrapper from '../../../ui/components/legacy_wrapper/legacy_wrapper.js';
|
|
19
|
-
import * as RenderCoordinator from '../../../ui/components/render_coordinator/render_coordinator.js';
|
|
20
17
|
import type * as ReportView from '../../../ui/components/report_view/report_view.js';
|
|
21
|
-
import type * as TreeOutline from '../../../ui/components/tree_outline/tree_outline.js';
|
|
22
18
|
import * as Components from '../../../ui/legacy/components/utils/utils.js';
|
|
23
|
-
import * as
|
|
19
|
+
import * as UI from '../../../ui/legacy/legacy.js';
|
|
20
|
+
import {html, type LitTemplate, nothing, render, type TemplateResult} from '../../../ui/lit/lit.js';
|
|
24
21
|
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
|
|
25
22
|
|
|
26
23
|
import {NotRestoredReasonDescription} from './BackForwardCacheStrings.js';
|
|
27
24
|
import backForwardCacheViewStyles from './backForwardCacheView.css.js';
|
|
28
25
|
|
|
29
|
-
const {html} = Lit;
|
|
30
|
-
|
|
31
26
|
const UIStrings = {
|
|
32
27
|
/**
|
|
33
28
|
* @description Title text in back/forward cache view of the Application panel
|
|
@@ -66,6 +61,10 @@ const UIStrings = {
|
|
|
66
61
|
* page eligible for back/forward cache.
|
|
67
62
|
*/
|
|
68
63
|
pageSupportNeeded: 'Actionable',
|
|
64
|
+
/**
|
|
65
|
+
* @description Label for the completion of the back/forward cache test
|
|
66
|
+
*/
|
|
67
|
+
testCompleted: 'Back/forward cache test completed.',
|
|
69
68
|
/**
|
|
70
69
|
* @description Explanation for actionable items which prevent the page from being eligible
|
|
71
70
|
* for back/forward cache.
|
|
@@ -158,7 +157,7 @@ function renderMainFrameInformation(
|
|
|
158
157
|
frame: SDK.ResourceTreeModel.ResourceTreeFrame|null,
|
|
159
158
|
frameTreeData: {node: FrameTreeNodeData, frameCount: number, issueCount: number}|undefined,
|
|
160
159
|
reasonToFramesMap: Map<Protocol.Page.BackForwardCacheNotRestoredReason, string[]>, screenStatus: ScreenStatusType,
|
|
161
|
-
navigateAwayAndBack: () => Promise<void>):
|
|
160
|
+
navigateAwayAndBack: () => Promise<void>): TemplateResult {
|
|
162
161
|
if (!frame) {
|
|
163
162
|
// clang-format of
|
|
164
163
|
return html`
|
|
@@ -208,27 +207,28 @@ function renderMainFrameInformation(
|
|
|
208
207
|
}
|
|
209
208
|
|
|
210
209
|
function maybeRenderFrameTree(
|
|
211
|
-
frameTreeData: {node: FrameTreeNodeData, frameCount: number, issueCount: number}|undefined):
|
|
210
|
+
frameTreeData: {node: FrameTreeNodeData, frameCount: number, issueCount: number}|undefined): LitTemplate {
|
|
212
211
|
if (!frameTreeData || (frameTreeData.frameCount === 0 && frameTreeData.issueCount === 0)) {
|
|
213
|
-
return
|
|
212
|
+
return nothing;
|
|
214
213
|
}
|
|
215
214
|
|
|
216
|
-
function
|
|
215
|
+
function renderFrameTreeNode(node: FrameTreeNodeData): TemplateResult {
|
|
217
216
|
// clang-format off
|
|
218
217
|
return html`
|
|
219
|
-
<
|
|
220
|
-
${node.
|
|
221
|
-
<devtools-icon class="inline-icon extra-large" .name=${node.
|
|
218
|
+
<li role="treeitem" class="text-ellipsis">
|
|
219
|
+
${node.iconName ? html`
|
|
220
|
+
<devtools-icon class="inline-icon extra-large" .name=${node.iconName} style="margin-bottom: -3px;">
|
|
222
221
|
</devtools-icon>
|
|
223
|
-
` :
|
|
224
|
-
${node.
|
|
225
|
-
|
|
222
|
+
` : nothing}
|
|
223
|
+
${node.text}
|
|
224
|
+
${node.children?.length ? html`
|
|
225
|
+
<ul role="group" hidden>
|
|
226
|
+
${node.children.map(child => renderFrameTreeNode(child))}
|
|
227
|
+
</ul>` : nothing}
|
|
228
|
+
</li>`;
|
|
226
229
|
// clang-format on
|
|
227
230
|
}
|
|
228
231
|
|
|
229
|
-
const frameTreeNode = buildFrameTree(frameTreeData.node);
|
|
230
|
-
// Override the icon for the outermost frame.
|
|
231
|
-
frameTreeNode.treeNodeData.iconName = 'frame';
|
|
232
232
|
let title = '';
|
|
233
233
|
// The translation pipeline does not support nested plurals. We avoid this
|
|
234
234
|
// here by pulling out the logic for one of the plurals into code instead.
|
|
@@ -237,49 +237,31 @@ function maybeRenderFrameTree(
|
|
|
237
237
|
} else {
|
|
238
238
|
title = i18nString(UIStrings.issuesInMultipleFrames, {n: frameTreeData.issueCount, m: frameTreeData.frameCount});
|
|
239
239
|
}
|
|
240
|
-
const root: TreeOutline.TreeOutlineUtils.TreeNode<FrameTreeNodeData> = {
|
|
241
|
-
treeNodeData: {
|
|
242
|
-
text: title,
|
|
243
|
-
},
|
|
244
|
-
id: 'root',
|
|
245
|
-
children: () => Promise.resolve([frameTreeNode]),
|
|
246
|
-
};
|
|
247
|
-
|
|
248
240
|
// clang-format off
|
|
249
241
|
return html`
|
|
250
242
|
<devtools-report-key jslog=${VisualLogging.section('frames')}>${i18nString(UIStrings.framesTitle)}</devtools-report-key>
|
|
251
243
|
<devtools-report-value>
|
|
252
|
-
<devtools-tree
|
|
253
|
-
tree
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
244
|
+
<devtools-tree .template=${html`
|
|
245
|
+
<ul role="tree">
|
|
246
|
+
<li role="treeitem" class="text-ellipsis">
|
|
247
|
+
${title}
|
|
248
|
+
<ul role="group">
|
|
249
|
+
${renderFrameTreeNode(frameTreeData.node)}
|
|
250
|
+
</ul>
|
|
251
|
+
</li>
|
|
252
|
+
</ul>
|
|
253
|
+
`}>
|
|
254
|
+
</devtools-tree>
|
|
258
255
|
</devtools-report-value>`;
|
|
259
256
|
// clang-format on
|
|
260
257
|
}
|
|
261
258
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
function buildFrameTree(data: FrameTreeNodeData): TreeOutline.TreeOutlineUtils.TreeNode<FrameTreeNodeData> {
|
|
265
|
-
const children = data.children;
|
|
266
|
-
const node = {
|
|
267
|
-
treeNodeData: {
|
|
268
|
-
text: data.text,
|
|
269
|
-
...(data.iconName ? {iconName: data.iconName} : {}),
|
|
270
|
-
},
|
|
271
|
-
...(children?.length ? {children: () => Promise.resolve(children.map(child => buildFrameTree(child)))} : {}),
|
|
272
|
-
id: String(nextNodeId++),
|
|
273
|
-
};
|
|
274
|
-
return node;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
function renderBackForwardCacheStatus(status: boolean|undefined): Lit.TemplateResult {
|
|
259
|
+
function renderBackForwardCacheStatus(status: boolean|undefined): TemplateResult {
|
|
278
260
|
switch (status) {
|
|
279
261
|
case true:
|
|
280
262
|
// clang-format off
|
|
281
263
|
return html`
|
|
282
|
-
<devtools-report-section>
|
|
264
|
+
<devtools-report-section autofocus tabindex="-1">
|
|
283
265
|
<div class="status extra-large">
|
|
284
266
|
<devtools-icon class="inline-icon extra-large" name="check-circle" style="color: var(--icon-checkmark-green);">
|
|
285
267
|
</devtools-icon>
|
|
@@ -290,7 +272,7 @@ function renderBackForwardCacheStatus(status: boolean|undefined): Lit.TemplateRe
|
|
|
290
272
|
case false:
|
|
291
273
|
// clang-format off
|
|
292
274
|
return html`
|
|
293
|
-
<devtools-report-section>
|
|
275
|
+
<devtools-report-section autofocus tabindex="-1">
|
|
294
276
|
<div class="status">
|
|
295
277
|
<devtools-icon class="inline-icon extra-large" name="clear">
|
|
296
278
|
</devtools-icon>
|
|
@@ -301,7 +283,7 @@ function renderBackForwardCacheStatus(status: boolean|undefined): Lit.TemplateRe
|
|
|
301
283
|
}
|
|
302
284
|
// clang-format off
|
|
303
285
|
return html`
|
|
304
|
-
<devtools-report-section>
|
|
286
|
+
<devtools-report-section autofocus tabindex="-1">
|
|
305
287
|
${i18nString(UIStrings.unknown)}
|
|
306
288
|
</devtools-report-section>`;
|
|
307
289
|
// clang-format on
|
|
@@ -310,9 +292,9 @@ function renderBackForwardCacheStatus(status: boolean|undefined): Lit.TemplateRe
|
|
|
310
292
|
function maybeRenderExplanations(
|
|
311
293
|
explanations: Protocol.Page.BackForwardCacheNotRestoredExplanation[],
|
|
312
294
|
explanationTree: Protocol.Page.BackForwardCacheNotRestoredExplanationTree|undefined,
|
|
313
|
-
reasonToFramesMap: Map<Protocol.Page.BackForwardCacheNotRestoredReason, string[]>):
|
|
295
|
+
reasonToFramesMap: Map<Protocol.Page.BackForwardCacheNotRestoredReason, string[]>): LitTemplate {
|
|
314
296
|
if (explanations.length === 0) {
|
|
315
|
-
return
|
|
297
|
+
return nothing;
|
|
316
298
|
}
|
|
317
299
|
|
|
318
300
|
const pageSupportNeeded = explanations.filter(
|
|
@@ -334,7 +316,7 @@ function maybeRenderExplanations(
|
|
|
334
316
|
function renderExplanations(
|
|
335
317
|
category: Platform.UIString.LocalizedString, explainerText: Platform.UIString.LocalizedString,
|
|
336
318
|
explanations: Protocol.Page.BackForwardCacheNotRestoredExplanation[],
|
|
337
|
-
reasonToFramesMap: Map<Protocol.Page.BackForwardCacheNotRestoredReason, string[]>):
|
|
319
|
+
reasonToFramesMap: Map<Protocol.Page.BackForwardCacheNotRestoredReason, string[]>): TemplateResult {
|
|
338
320
|
// Disabled until https://crbug.com/1079231 is fixed.
|
|
339
321
|
// clang-format off
|
|
340
322
|
return html`
|
|
@@ -347,11 +329,11 @@ function renderExplanations(
|
|
|
347
329
|
</div>
|
|
348
330
|
</devtools-report-section-header>
|
|
349
331
|
${explanations.map(explanation => renderReason(explanation, reasonToFramesMap.get(explanation.reason)))}
|
|
350
|
-
` :
|
|
332
|
+
` : nothing}`;
|
|
351
333
|
// clang-format on
|
|
352
334
|
}
|
|
353
335
|
|
|
354
|
-
function maybeRenderReasonContext(explanation: Protocol.Page.BackForwardCacheNotRestoredExplanation):
|
|
336
|
+
function maybeRenderReasonContext(explanation: Protocol.Page.BackForwardCacheNotRestoredExplanation): LitTemplate {
|
|
355
337
|
if (explanation.reason ===
|
|
356
338
|
Protocol.Page.BackForwardCacheNotRestoredReason.EmbedderExtensionSentMessageToCachedFrame &&
|
|
357
339
|
explanation.context) {
|
|
@@ -361,12 +343,12 @@ function maybeRenderReasonContext(explanation: Protocol.Page.BackForwardCacheNot
|
|
|
361
343
|
<devtools-chrome-link .href=${link}>${explanation.context}</devtools-chrome-link>`;
|
|
362
344
|
// clang-format on
|
|
363
345
|
}
|
|
364
|
-
return
|
|
346
|
+
return nothing;
|
|
365
347
|
}
|
|
366
348
|
|
|
367
|
-
function renderFramesPerReason(frames: string[]|undefined):
|
|
349
|
+
function renderFramesPerReason(frames: string[]|undefined): LitTemplate {
|
|
368
350
|
if (frames === undefined || frames.length === 0) {
|
|
369
|
-
return
|
|
351
|
+
return nothing;
|
|
370
352
|
}
|
|
371
353
|
const rows = [html`<div>${i18nString(UIStrings.framesPerIssue, {n: frames.length})}</div>`];
|
|
372
354
|
rows.push(...frames.map(url => html`<div class="text-ellipsis" title=${url}
|
|
@@ -383,8 +365,7 @@ function renderFramesPerReason(frames: string[]|undefined): Lit.LitTemplate {
|
|
|
383
365
|
`;
|
|
384
366
|
}
|
|
385
367
|
|
|
386
|
-
function maybeRenderDeepLinkToUnload(explanation: Protocol.Page.BackForwardCacheNotRestoredExplanation):
|
|
387
|
-
Lit.LitTemplate {
|
|
368
|
+
function maybeRenderDeepLinkToUnload(explanation: Protocol.Page.BackForwardCacheNotRestoredExplanation): LitTemplate {
|
|
388
369
|
if (explanation.reason === Protocol.Page.BackForwardCacheNotRestoredReason.UnloadHandlerExistsInMainFrame ||
|
|
389
370
|
explanation.reason === Protocol.Page.BackForwardCacheNotRestoredReason.UnloadHandlerExistsInSubFrame) {
|
|
390
371
|
return html`
|
|
@@ -395,13 +376,12 @@ function maybeRenderDeepLinkToUnload(explanation: Protocol.Page.BackForwardCache
|
|
|
395
376
|
${i18nString(UIStrings.neverUseUnload)}
|
|
396
377
|
</x-link>`;
|
|
397
378
|
}
|
|
398
|
-
return
|
|
379
|
+
return nothing;
|
|
399
380
|
}
|
|
400
381
|
|
|
401
|
-
function maybeRenderJavaScriptDetails(details: Protocol.Page.BackForwardCacheBlockingDetails[]|undefined):
|
|
402
|
-
Lit.LitTemplate {
|
|
382
|
+
function maybeRenderJavaScriptDetails(details: Protocol.Page.BackForwardCacheBlockingDetails[]|undefined): LitTemplate {
|
|
403
383
|
if (details === undefined || details.length === 0) {
|
|
404
|
-
return
|
|
384
|
+
return nothing;
|
|
405
385
|
}
|
|
406
386
|
const maxLengthForDisplayedURLs = 50;
|
|
407
387
|
const linkifier = new Components.Linkifier.Linkifier(maxLengthForDisplayedURLs);
|
|
@@ -423,7 +403,7 @@ function maybeRenderJavaScriptDetails(details: Protocol.Page.BackForwardCacheBlo
|
|
|
423
403
|
}
|
|
424
404
|
|
|
425
405
|
function renderReason(
|
|
426
|
-
explanation: Protocol.Page.BackForwardCacheNotRestoredExplanation, frames: string[]|undefined):
|
|
406
|
+
explanation: Protocol.Page.BackForwardCacheNotRestoredExplanation, frames: string[]|undefined): TemplateResult {
|
|
427
407
|
// clang-format off
|
|
428
408
|
return html`
|
|
429
409
|
<devtools-report-section>
|
|
@@ -438,7 +418,7 @@ function renderReason(
|
|
|
438
418
|
${maybeRenderDeepLinkToUnload(explanation)}
|
|
439
419
|
${maybeRenderReasonContext(explanation)}
|
|
440
420
|
</div>` :
|
|
441
|
-
|
|
421
|
+
nothing}
|
|
442
422
|
</devtools-report-section>
|
|
443
423
|
<div class="gray-text">
|
|
444
424
|
${explanation.reason}
|
|
@@ -448,36 +428,44 @@ function renderReason(
|
|
|
448
428
|
// clang-format on
|
|
449
429
|
}
|
|
450
430
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
431
|
+
interface ViewInput {
|
|
432
|
+
frame: SDK.ResourceTreeModel.ResourceTreeFrame|null;
|
|
433
|
+
frameTreeData: {node: FrameTreeNodeData, frameCount: number, issueCount: number}|undefined;
|
|
434
|
+
reasonToFramesMap: Map<Protocol.Page.BackForwardCacheNotRestoredReason, string[]>;
|
|
435
|
+
screenStatus: ScreenStatusType;
|
|
436
|
+
navigateAwayAndBack: () => Promise<void>;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
type View = (input: ViewInput, output: undefined, target: HTMLElement) => void;
|
|
440
|
+
|
|
441
|
+
const DEFAULT_VIEW: View = (input, output, target) => {
|
|
456
442
|
// Disabled until https://crbug.com/1079231 is fixed.
|
|
457
443
|
// clang-format off
|
|
458
|
-
|
|
444
|
+
render(html`
|
|
459
445
|
<style>${backForwardCacheViewStyles}</style>
|
|
460
446
|
<devtools-report .data=${
|
|
461
447
|
{reportTitle: i18nString(UIStrings.backForwardCacheTitle)} as ReportView.ReportView.ReportData
|
|
462
448
|
} jslog=${VisualLogging.pane('back-forward-cache')}>
|
|
463
449
|
|
|
464
|
-
${renderMainFrameInformation(frame, frameTreeData, reasonToFramesMap, screenStatus, navigateAwayAndBack)}
|
|
450
|
+
${renderMainFrameInformation(input.frame, input.frameTreeData, input.reasonToFramesMap, input.screenStatus, input.navigateAwayAndBack)}
|
|
465
451
|
</devtools-report>
|
|
466
452
|
`, target);
|
|
467
453
|
// clang-format on
|
|
468
|
-
}
|
|
454
|
+
};
|
|
469
455
|
|
|
470
|
-
export class BackForwardCacheView extends
|
|
471
|
-
readonly #shadow = this.attachShadow({mode: 'open'});
|
|
456
|
+
export class BackForwardCacheView extends UI.Widget.Widget {
|
|
472
457
|
#screenStatus = ScreenStatusType.RESULT;
|
|
473
458
|
#historyIndex = 0;
|
|
459
|
+
#view: View;
|
|
474
460
|
|
|
475
|
-
constructor() {
|
|
476
|
-
super();
|
|
461
|
+
constructor(view = DEFAULT_VIEW) {
|
|
462
|
+
super({useShadowDom: true, delegatesFocus: true});
|
|
463
|
+
this.#view = view;
|
|
477
464
|
this.#getMainResourceTreeModel()?.addEventListener(
|
|
478
|
-
SDK.ResourceTreeModel.Events.PrimaryPageChanged, this.
|
|
465
|
+
SDK.ResourceTreeModel.Events.PrimaryPageChanged, this.requestUpdate, this);
|
|
479
466
|
this.#getMainResourceTreeModel()?.addEventListener(
|
|
480
|
-
SDK.ResourceTreeModel.Events.BackForwardCacheDetailsUpdated, this.
|
|
467
|
+
SDK.ResourceTreeModel.Events.BackForwardCacheDetailsUpdated, this.requestUpdate, this);
|
|
468
|
+
this.requestUpdate();
|
|
481
469
|
}
|
|
482
470
|
|
|
483
471
|
#getMainResourceTreeModel(): SDK.ResourceTreeModel.ResourceTreeModel|null {
|
|
@@ -488,21 +476,25 @@ export class BackForwardCacheView extends LegacyWrapper.LegacyWrapper.WrappableC
|
|
|
488
476
|
#getMainFrame(): SDK.ResourceTreeModel.ResourceTreeFrame|null {
|
|
489
477
|
return this.#getMainResourceTreeModel()?.mainFrame || null;
|
|
490
478
|
}
|
|
491
|
-
connectedCallback(): void {
|
|
492
|
-
this.parentElement?.classList.add('overflow-auto');
|
|
493
|
-
}
|
|
494
479
|
|
|
495
|
-
override async
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
480
|
+
override async performUpdate(): Promise<void> {
|
|
481
|
+
const reasonToFramesMap = new Map<Protocol.Page.BackForwardCacheNotRestoredReason, string[]>();
|
|
482
|
+
const frame = this.#getMainFrame();
|
|
483
|
+
const explanationTree = frame?.backForwardCacheDetails?.explanationsTree;
|
|
484
|
+
if (explanationTree) {
|
|
485
|
+
this.#buildReasonToFramesMap(explanationTree, {blankCount: 1}, reasonToFramesMap);
|
|
486
|
+
}
|
|
487
|
+
const frameTreeData = this.#buildFrameTreeDataRecursive(explanationTree, {blankCount: 1});
|
|
488
|
+
// Override the icon for the outermost frame.
|
|
489
|
+
frameTreeData.node.iconName = 'frame';
|
|
490
|
+
const viewInput: ViewInput = {
|
|
491
|
+
frame,
|
|
492
|
+
frameTreeData,
|
|
493
|
+
reasonToFramesMap,
|
|
494
|
+
screenStatus: this.#screenStatus,
|
|
495
|
+
navigateAwayAndBack: this.#navigateAwayAndBack.bind(this),
|
|
496
|
+
};
|
|
497
|
+
this.#view(viewInput, undefined, this.contentElement);
|
|
506
498
|
}
|
|
507
499
|
|
|
508
500
|
#renderBackForwardCacheTestResult(): void {
|
|
@@ -510,7 +502,11 @@ export class BackForwardCacheView extends LegacyWrapper.LegacyWrapper.WrappableC
|
|
|
510
502
|
SDK.ResourceTreeModel.ResourceTreeModel, SDK.ResourceTreeModel.Events.FrameNavigated,
|
|
511
503
|
this.#renderBackForwardCacheTestResult, this);
|
|
512
504
|
this.#screenStatus = ScreenStatusType.RESULT;
|
|
513
|
-
|
|
505
|
+
this.requestUpdate();
|
|
506
|
+
void this.updateComplete.then(() => {
|
|
507
|
+
UI.ARIAUtils.LiveAnnouncer.alert(i18nString(UIStrings.testCompleted));
|
|
508
|
+
this.contentElement.focus();
|
|
509
|
+
});
|
|
514
510
|
}
|
|
515
511
|
|
|
516
512
|
async #onNavigatedAway(): Promise<void> {
|
|
@@ -552,7 +548,7 @@ export class BackForwardCacheView extends LegacyWrapper.LegacyWrapper.WrappableC
|
|
|
552
548
|
}
|
|
553
549
|
this.#historyIndex = historyResults.currentIndex;
|
|
554
550
|
this.#screenStatus = ScreenStatusType.RUNNING;
|
|
555
|
-
|
|
551
|
+
this.requestUpdate();
|
|
556
552
|
|
|
557
553
|
// This event listener is removed inside of onNavigatedAway().
|
|
558
554
|
SDK.TargetManager.TargetManager.instance().addModelListener(
|
|
@@ -643,11 +639,3 @@ interface FrameTreeNodeData {
|
|
|
643
639
|
iconName?: string;
|
|
644
640
|
children?: FrameTreeNodeData[];
|
|
645
641
|
}
|
|
646
|
-
|
|
647
|
-
customElements.define('devtools-resources-back-forward-cache-view', BackForwardCacheView);
|
|
648
|
-
|
|
649
|
-
declare global {
|
|
650
|
-
interface HTMLElementTagNameMap {
|
|
651
|
-
'devtools-resources-back-forward-cache-view': BackForwardCacheView;
|
|
652
|
-
}
|
|
653
|
-
}
|
|
@@ -23,6 +23,7 @@ import * as LegacyWrapper from '../../../ui/components/legacy_wrapper/legacy_wra
|
|
|
23
23
|
import * as RenderCoordinator from '../../../ui/components/render_coordinator/render_coordinator.js';
|
|
24
24
|
import type * as ReportView from '../../../ui/components/report_view/report_view.js';
|
|
25
25
|
import * as Components from '../../../ui/legacy/components/utils/utils.js';
|
|
26
|
+
import * as UI from '../../../ui/legacy/legacy.js';
|
|
26
27
|
import * as Lit from '../../../ui/lit/lit.js';
|
|
27
28
|
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
|
|
28
29
|
|
|
@@ -35,6 +36,7 @@ import {
|
|
|
35
36
|
import type {StackTraceData} from './StackTrace.js';
|
|
36
37
|
|
|
37
38
|
const {html} = Lit;
|
|
39
|
+
const {widgetConfig} = UI.Widget;
|
|
38
40
|
|
|
39
41
|
const UIStrings = {
|
|
40
42
|
/**
|
|
@@ -283,7 +285,6 @@ export class FrameDetailsReportView extends LegacyWrapper.LegacyWrapper.Wrappabl
|
|
|
283
285
|
#protocolMonitorExperimentEnabled = false;
|
|
284
286
|
#permissionsPolicies: Promise<Protocol.Page.PermissionsPolicyFeatureState[]|null>|null = null;
|
|
285
287
|
#permissionsPolicySectionData: PermissionsPolicySectionData = {policies: [], showDetails: false};
|
|
286
|
-
#originTrialTreeView: OriginTrialTreeView = new OriginTrialTreeView();
|
|
287
288
|
#linkifier = new Components.Linkifier.Linkifier();
|
|
288
289
|
#adScriptAncestry: Protocol.Page.AdScriptAncestry|null = null;
|
|
289
290
|
|
|
@@ -317,7 +318,7 @@ export class FrameDetailsReportView extends LegacyWrapper.LegacyWrapper.Wrappabl
|
|
|
317
318
|
if (!this.#permissionsPolicies && this.#frame) {
|
|
318
319
|
this.#permissionsPolicies = this.#frame.getPermissionsPolicyState();
|
|
319
320
|
}
|
|
320
|
-
await RenderCoordinator.write('FrameDetailsView render', () => {
|
|
321
|
+
await RenderCoordinator.write('FrameDetailsView render', async () => {
|
|
321
322
|
if (!this.#frame) {
|
|
322
323
|
return;
|
|
323
324
|
}
|
|
@@ -331,7 +332,7 @@ export class FrameDetailsReportView extends LegacyWrapper.LegacyWrapper.Wrappabl
|
|
|
331
332
|
${this.#renderDocumentSection()}
|
|
332
333
|
${this.#renderIsolationSection()}
|
|
333
334
|
${this.#renderApiAvailabilitySection()}
|
|
334
|
-
${this.#renderOriginTrial()}
|
|
335
|
+
${await this.#renderOriginTrial()}
|
|
335
336
|
${Lit.Directives.until(this.#permissionsPolicies?.then(policies => {
|
|
336
337
|
this.#permissionsPolicySectionData.policies = policies || [];
|
|
337
338
|
return html`
|
|
@@ -348,17 +349,12 @@ export class FrameDetailsReportView extends LegacyWrapper.LegacyWrapper.Wrappabl
|
|
|
348
349
|
});
|
|
349
350
|
}
|
|
350
351
|
|
|
351
|
-
#renderOriginTrial(): Lit.LitTemplate {
|
|
352
|
+
async #renderOriginTrial(): Promise<Lit.LitTemplate> {
|
|
352
353
|
if (!this.#frame) {
|
|
353
354
|
return Lit.nothing;
|
|
354
355
|
}
|
|
355
356
|
|
|
356
|
-
this.#
|
|
357
|
-
|
|
358
|
-
void this.#frame.getOriginTrials().then(trials => {
|
|
359
|
-
this.#originTrialTreeView.data = {trials};
|
|
360
|
-
});
|
|
361
|
-
|
|
357
|
+
const data = {trials: await this.#frame.getOriginTrials()};
|
|
362
358
|
// clang-format off
|
|
363
359
|
return html`
|
|
364
360
|
<devtools-report-section-header>
|
|
@@ -373,7 +369,8 @@ export class FrameDetailsReportView extends LegacyWrapper.LegacyWrapper.Wrappabl
|
|
|
373
369
|
</x-link>
|
|
374
370
|
</span>
|
|
375
371
|
</devtools-report-section>
|
|
376
|
-
|
|
372
|
+
<devtools-widget class="span-cols" .widgetConfig=${widgetConfig(OriginTrialTreeView, {data})}>
|
|
373
|
+
</devtools-widget>
|
|
377
374
|
<devtools-report-divider></devtools-report-divider>`;
|
|
378
375
|
// clang-format on
|
|
379
376
|
}
|