chrome-devtools-frontend 1.0.1587905 → 1.0.1589336
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/docs/ui_engineering.md +2 -2
- package/front_end/core/common/AppProvider.ts +1 -2
- package/front_end/core/common/Color.ts +19 -20
- package/front_end/core/common/ParsedURL.ts +3 -3
- package/front_end/core/common/Progress.ts +5 -5
- package/front_end/core/common/Settings.ts +2 -2
- package/front_end/core/dom_extension/DOMExtension.ts +1 -1
- package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -1
- package/front_end/core/host/InspectorFrontendHostStub.ts +1 -11
- package/front_end/core/host/UserMetrics.ts +1 -1
- package/front_end/core/protocol_client/DevToolsCDPConnection.ts +2 -2
- package/front_end/core/sdk/CSSMatchedStyles.ts +1 -1
- package/front_end/core/sdk/CSSProperty.ts +38 -0
- package/front_end/core/sdk/CSSRule.ts +4 -9
- package/front_end/core/sdk/ChildTargetManager.ts +1 -1
- package/front_end/core/sdk/CookieModel.ts +0 -1
- package/front_end/core/sdk/DOMModel.ts +42 -6
- package/front_end/core/sdk/EmulationModel.ts +3 -3
- package/front_end/core/sdk/NetworkRequest.ts +1 -1
- package/front_end/core/sdk/PageResourceLoader.ts +11 -6
- package/front_end/core/sdk/PerformanceMetricsModel.ts +2 -2
- package/front_end/core/sdk/PreloadingModel.ts +15 -6
- package/front_end/core/sdk/ResourceTreeModel.ts +2 -6
- package/front_end/core/sdk/SourceMap.ts +2 -3
- package/front_end/core/sdk/SourceMapManager.ts +1 -2
- package/front_end/entrypoint_template.html +1 -1
- package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +6 -16
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.ts +4 -2
- package/front_end/entrypoints/main/main-meta.ts +0 -3
- package/front_end/entrypoints/node_app/app/NodeConnectionsPanel.ts +0 -2
- package/front_end/generated/InspectorBackendCommands.ts +6 -4
- package/front_end/generated/SupportedCSSProperties.js +46 -0
- package/front_end/generated/protocol-mapping.d.ts +4 -0
- package/front_end/generated/protocol-proxy-api.d.ts +5 -0
- package/front_end/generated/protocol.ts +50 -0
- package/front_end/models/ai_assistance/AiConversation.ts +20 -0
- package/front_end/models/ai_assistance/agents/AiAgent.ts +7 -1
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.snapshot.txt +2 -2
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +28 -26
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +3 -5
- package/front_end/models/computed_style/ComputedStyleModel.ts +2 -1
- package/front_end/models/emulation/DeviceModeModel.ts +0 -3
- package/front_end/models/emulation/EmulatedDevices.ts +0 -2
- package/front_end/models/extensions/ExtensionAPI.ts +2 -2
- package/front_end/models/har/Importer.ts +0 -1
- package/front_end/models/har/Log.ts +2 -11
- package/front_end/models/javascript_metadata/NativeFunctions.js +5 -21
- package/front_end/models/logs/NetworkLog.ts +0 -2
- package/front_end/models/network_time_calculator/NetworkTimeCalculator.ts +4 -1
- package/front_end/models/text_utils/TextUtils.ts +0 -9
- package/front_end/models/trace/LanternComputationData.ts +1 -6
- package/front_end/models/trace/helpers/Trace.ts +1 -4
- package/front_end/models/trace/lantern/types/Lantern.ts +6 -6
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +7 -6
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +15 -26
- package/front_end/panels/application/BackgroundServiceView.ts +0 -2
- package/front_end/panels/application/DeviceBoundSessionsModel.ts +0 -1
- package/front_end/panels/application/IndexedDBViews.ts +19 -23
- package/front_end/panels/application/OriginTrialTreeView.ts +3 -3
- package/front_end/panels/application/components/BackForwardCacheView.ts +1 -1
- package/front_end/panels/application/preloading/PreloadingView.ts +18 -0
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.css +12 -0
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +3 -3
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +3 -4
- package/front_end/panels/common/AiCodeGenerationTeaser.ts +76 -19
- package/front_end/panels/common/aiCodeGenerationTeaser.css +11 -0
- package/front_end/panels/console/ConsoleSidebar.ts +1 -1
- package/front_end/panels/console/ConsoleView.ts +4 -0
- package/front_end/panels/console/ConsoleViewMessage.ts +3 -3
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +1 -1
- package/front_end/panels/elements/ComputedStyleWidget.ts +32 -32
- package/front_end/panels/elements/ElementsPanel.ts +12 -4
- package/front_end/panels/elements/ElementsTreeElement.ts +9 -1
- package/front_end/panels/elements/ImagePreviewPopover.ts +0 -2
- package/front_end/panels/elements/MarkerDecorator.ts +0 -2
- package/front_end/panels/elements/PropertiesWidget.ts +62 -61
- package/front_end/panels/elements/StylePropertiesSection.ts +32 -3
- package/front_end/panels/elements/StylePropertyTreeElement.ts +15 -20
- package/front_end/panels/elements/StylesSidebarPane.ts +25 -90
- package/front_end/panels/elements/elementsPanel.css +6 -2
- package/front_end/panels/emulation/emulation-meta.ts +0 -2
- package/front_end/panels/event_listeners/EventListenersUtils.ts +0 -1
- package/front_end/panels/lighthouse/LighthouseController.ts +0 -5
- package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +1 -3
- package/front_end/panels/media/EventDisplayTable.ts +0 -2
- package/front_end/panels/media/PlayerMessagesView.ts +4 -6
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +18 -6
- package/front_end/panels/network/EventSourceMessagesView.ts +0 -2
- package/front_end/panels/network/NetworkLogViewColumns.ts +0 -2
- package/front_end/panels/network/NetworkManageCustomHeadersView.ts +3 -1
- package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -2
- package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
- package/front_end/panels/network/RequestHeadersView.ts +113 -128
- package/front_end/panels/network/RequestInitiatorView.ts +74 -69
- package/front_end/panels/network/RequestPayloadView.ts +6 -3
- package/front_end/panels/network/ResourceChunkView.ts +0 -2
- package/front_end/panels/network/components/ResponseHeaderSection.ts +3 -1
- package/front_end/panels/network/network-meta.ts +0 -2
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +1 -9
- package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +0 -2
- package/front_end/panels/profiler/LiveHeapProfileView.ts +0 -12
- package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +14 -1
- package/front_end/panels/profiler/ProfileView.ts +0 -35
- package/front_end/panels/profiler/profiler-meta.ts +0 -1
- package/front_end/panels/recorder/components/StepView.ts +0 -1
- package/front_end/panels/screencast/ScreencastView.ts +2 -2
- package/front_end/panels/search/SearchResultsPane.ts +3 -2
- package/front_end/panels/security/SecurityPanel.ts +0 -1
- package/front_end/panels/sensors/LocationsSettingsTab.ts +27 -9
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +1 -1
- package/front_end/panels/settings/SettingsScreen.ts +1 -2
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +2 -2
- package/front_end/panels/settings/emulation/utils/UserAgentMetadata.ts +1 -1
- package/front_end/panels/settings/settings-meta.ts +0 -3
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +6 -0
- package/front_end/panels/sources/CSSPlugin.ts +1 -1
- package/front_end/panels/sources/DebuggerPlugin.ts +1 -5
- package/front_end/panels/sources/sources-meta.ts +0 -9
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +1 -1
- package/front_end/panels/timeline/ThirdPartyTreeView.ts +5 -2
- package/front_end/panels/timeline/TimelinePanel.ts +0 -7
- package/front_end/panels/timeline/TimelineTreeView.ts +8 -10
- package/front_end/panels/timeline/TimelineUIUtils.ts +11 -3
- package/front_end/panels/timeline/components/IgnoreListSetting.ts +1 -1
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +0 -1
- package/front_end/panels/timeline/utils/Treemap.ts +0 -4
- package/front_end/panels/whats_new/whats_new-meta.ts +0 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/highlighting/HighlightManager.ts +1 -2
- package/front_end/ui/components/highlighting/MarkupHighlight.ts +1 -12
- package/front_end/ui/components/icon_button/IconButton.ts +2 -2
- package/front_end/ui/components/issue_counter/IssueCounter.ts +6 -6
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +4 -0
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +11 -6
- package/front_end/ui/legacy/ContextMenu.ts +1 -17
- package/front_end/ui/legacy/EmptyWidget.ts +4 -4
- package/front_end/ui/legacy/Fragment.ts +2 -4
- package/front_end/ui/legacy/SoftContextMenu.ts +1 -15
- package/front_end/ui/legacy/TabbedPane.ts +2 -2
- package/front_end/ui/legacy/Treeoutline.ts +16 -9
- package/front_end/ui/legacy/UIUtils.ts +1 -4
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +6 -3
- package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +32 -28
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +31 -6
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +0 -2
- package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +0 -1
- package/front_end/ui/legacy/components/quick_open/quick_open-meta.ts +0 -2
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +3 -2
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +3 -3
- package/front_end/ui/visual_logging/KnownContextValues.ts +8 -0
- package/package.json +1 -1
|
@@ -760,7 +760,6 @@ export const RuntimeSettings: RuntimeSetting[] = [
|
|
|
760
760
|
value: 'desktop'
|
|
761
761
|
},
|
|
762
762
|
],
|
|
763
|
-
learnMore: undefined,
|
|
764
763
|
},
|
|
765
764
|
{
|
|
766
765
|
setting: Common.Settings.Settings.instance().createSetting(
|
|
@@ -820,8 +819,6 @@ export const RuntimeSettings: RuntimeSetting[] = [
|
|
|
820
819
|
setFlags: (flags: Flags, value: string|boolean) => {
|
|
821
820
|
flags.disableStorageReset = !value;
|
|
822
821
|
},
|
|
823
|
-
options: undefined,
|
|
824
|
-
learnMore: undefined,
|
|
825
822
|
},
|
|
826
823
|
{
|
|
827
824
|
setting: Common.Settings.Settings.instance().createSetting(
|
|
@@ -835,8 +832,6 @@ export const RuntimeSettings: RuntimeSetting[] = [
|
|
|
835
832
|
flags.additionalTraceCategories = '';
|
|
836
833
|
}
|
|
837
834
|
},
|
|
838
|
-
options: undefined,
|
|
839
|
-
learnMore: undefined,
|
|
840
835
|
},
|
|
841
836
|
];
|
|
842
837
|
|
|
@@ -20,8 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
*/
|
|
21
21
|
showMemoryInspector: 'Show Memory inspector',
|
|
22
22
|
} as const;
|
|
23
|
-
const str_ =
|
|
24
|
-
i18n.i18n.registerUIStrings('panels/linear_memory_inspector/linear_memory_inspector-meta.ts', UIStrings);
|
|
23
|
+
const str_ = i18n.i18n.registerUIStrings('panels/linear_memory_inspector/linear_memory_inspector-meta.ts', UIStrings);
|
|
25
24
|
const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
|
|
26
25
|
|
|
27
26
|
let loadedLinearMemoryInspectorModule: (typeof LinearMemoryInspector|undefined);
|
|
@@ -51,7 +50,6 @@ UI.ContextMenu.registerProvider({
|
|
|
51
50
|
const LinearMemoryInspector = await loadLinearMemoryInspectorModule();
|
|
52
51
|
return LinearMemoryInspector.LinearMemoryInspectorController.LinearMemoryInspectorController.instance();
|
|
53
52
|
},
|
|
54
|
-
experiment: undefined,
|
|
55
53
|
contextTypes() {
|
|
56
54
|
return [
|
|
57
55
|
ObjectUI.ObjectPropertiesSection.ObjectPropertyTreeElement,
|
|
@@ -116,8 +116,6 @@ export class PlayerEventsView extends UI.Widget.VBox {
|
|
|
116
116
|
const datagrid = new DataGrid.DataGrid.DataGridImpl({
|
|
117
117
|
displayName: i18nString(UIStrings.eventDisplay),
|
|
118
118
|
columns: gridColumnDescs,
|
|
119
|
-
deleteCallback: undefined,
|
|
120
|
-
refreshCallback: undefined,
|
|
121
119
|
});
|
|
122
120
|
datagrid.asWidget().contentElement.classList.add('no-border-top-datagrid');
|
|
123
121
|
return datagrid;
|
|
@@ -134,7 +134,7 @@ class MessageLevelSelector implements UI.SoftDropDown.Delegate<SelectableLevel>
|
|
|
134
134
|
overwrite: true,
|
|
135
135
|
stringValue: '',
|
|
136
136
|
value: MessageLevelBitfield.DEFAULT,
|
|
137
|
-
|
|
137
|
+
|
|
138
138
|
});
|
|
139
139
|
|
|
140
140
|
this.items.insert(this.items.length, {
|
|
@@ -142,7 +142,7 @@ class MessageLevelSelector implements UI.SoftDropDown.Delegate<SelectableLevel>
|
|
|
142
142
|
overwrite: true,
|
|
143
143
|
stringValue: '',
|
|
144
144
|
value: MessageLevelBitfield.ALL,
|
|
145
|
-
|
|
145
|
+
|
|
146
146
|
});
|
|
147
147
|
|
|
148
148
|
this.items.insert(this.items.length, {
|
|
@@ -150,7 +150,7 @@ class MessageLevelSelector implements UI.SoftDropDown.Delegate<SelectableLevel>
|
|
|
150
150
|
overwrite: false,
|
|
151
151
|
stringValue: 'error',
|
|
152
152
|
value: MessageLevelBitfield.ERROR,
|
|
153
|
-
|
|
153
|
+
|
|
154
154
|
});
|
|
155
155
|
|
|
156
156
|
this.items.insert(this.items.length, {
|
|
@@ -158,7 +158,6 @@ class MessageLevelSelector implements UI.SoftDropDown.Delegate<SelectableLevel>
|
|
|
158
158
|
overwrite: false,
|
|
159
159
|
stringValue: 'warning',
|
|
160
160
|
value: MessageLevelBitfield.WARNING,
|
|
161
|
-
selectable: undefined,
|
|
162
161
|
});
|
|
163
162
|
|
|
164
163
|
this.items.insert(this.items.length, {
|
|
@@ -166,7 +165,6 @@ class MessageLevelSelector implements UI.SoftDropDown.Delegate<SelectableLevel>
|
|
|
166
165
|
overwrite: false,
|
|
167
166
|
stringValue: 'info',
|
|
168
167
|
value: MessageLevelBitfield.INFO,
|
|
169
|
-
selectable: undefined,
|
|
170
168
|
});
|
|
171
169
|
|
|
172
170
|
this.items.insert(this.items.length, {
|
|
@@ -174,7 +172,7 @@ class MessageLevelSelector implements UI.SoftDropDown.Delegate<SelectableLevel>
|
|
|
174
172
|
overwrite: false,
|
|
175
173
|
stringValue: 'debug',
|
|
176
174
|
value: MessageLevelBitfield.DEBUG,
|
|
177
|
-
|
|
175
|
+
|
|
178
176
|
});
|
|
179
177
|
}
|
|
180
178
|
|
|
@@ -735,7 +735,9 @@ export class ThrottlingSettingsTab extends UI.Widget.VBox implements
|
|
|
735
735
|
const errorMessage = i18nString(UIStrings.profileNameCharactersLengthMust, {PH1: maxLength});
|
|
736
736
|
return {valid, errorMessage};
|
|
737
737
|
}
|
|
738
|
-
return {
|
|
738
|
+
return {
|
|
739
|
+
valid,
|
|
740
|
+
};
|
|
739
741
|
}
|
|
740
742
|
|
|
741
743
|
function throughputValidator(
|
|
@@ -753,7 +755,9 @@ export class ThrottlingSettingsTab extends UI.Widget.VBox implements
|
|
|
753
755
|
{PH1: String(throughput), PH2: minThroughput, PH3: maxThroughput});
|
|
754
756
|
return {valid, errorMessage};
|
|
755
757
|
}
|
|
756
|
-
return {
|
|
758
|
+
return {
|
|
759
|
+
valid,
|
|
760
|
+
};
|
|
757
761
|
}
|
|
758
762
|
|
|
759
763
|
function latencyValidator(_item: SDK.NetworkManager.Conditions, _index: number, input: UI.ListWidget.EditorControl):
|
|
@@ -767,7 +771,9 @@ export class ThrottlingSettingsTab extends UI.Widget.VBox implements
|
|
|
767
771
|
const errorMessage = i18nString(UIStrings.latencyMustBeAnIntegerBetweenSms, {PH1: minLatency, PH2: maxLatency});
|
|
768
772
|
return {valid, errorMessage};
|
|
769
773
|
}
|
|
770
|
-
return {
|
|
774
|
+
return {
|
|
775
|
+
valid,
|
|
776
|
+
};
|
|
771
777
|
}
|
|
772
778
|
|
|
773
779
|
function packetLossValidator(
|
|
@@ -783,7 +789,9 @@ export class ThrottlingSettingsTab extends UI.Widget.VBox implements
|
|
|
783
789
|
i18nString(UIStrings.packetLossMustBeAnIntegerBetweenSpct, {PH1: minPacketLoss, PH2: maxPacketLoss});
|
|
784
790
|
return {valid, errorMessage};
|
|
785
791
|
}
|
|
786
|
-
return {
|
|
792
|
+
return {
|
|
793
|
+
valid,
|
|
794
|
+
};
|
|
787
795
|
}
|
|
788
796
|
|
|
789
797
|
function packetQueueLengthValidator(
|
|
@@ -797,13 +805,17 @@ export class ThrottlingSettingsTab extends UI.Widget.VBox implements
|
|
|
797
805
|
const errorMessage = i18nString(UIStrings.packetQueueLengthMustBeAnIntegerGreaterOrEqualToZero);
|
|
798
806
|
return {valid, errorMessage};
|
|
799
807
|
}
|
|
800
|
-
return {
|
|
808
|
+
return {
|
|
809
|
+
valid,
|
|
810
|
+
};
|
|
801
811
|
}
|
|
802
812
|
|
|
803
813
|
function packetReorderingValidator(
|
|
804
814
|
_item: SDK.NetworkManager.Conditions, _index: number,
|
|
805
815
|
_input: UI.ListWidget.EditorControl): UI.ListWidget.ValidatorResult {
|
|
806
|
-
return {
|
|
816
|
+
return {
|
|
817
|
+
valid: true,
|
|
818
|
+
};
|
|
807
819
|
}
|
|
808
820
|
}
|
|
809
821
|
}
|
|
@@ -96,8 +96,6 @@ export class EventSourceMessagesView extends UI.Widget.VBox {
|
|
|
96
96
|
this.dataGrid = new DataGrid.SortableDataGrid.SortableDataGrid({
|
|
97
97
|
displayName: i18nString(UIStrings.eventSource),
|
|
98
98
|
columns,
|
|
99
|
-
deleteCallback: undefined,
|
|
100
|
-
refreshCallback: undefined,
|
|
101
99
|
});
|
|
102
100
|
this.dataGrid.setStriped(true);
|
|
103
101
|
this.dataGrid.setEnableAutoScrollToBottom(true);
|
|
@@ -281,8 +281,6 @@ export class NetworkLogViewColumns {
|
|
|
281
281
|
this.#dataGrid = new DataGrid.SortableDataGrid.SortableDataGrid<NetworkNode>(({
|
|
282
282
|
displayName: (i18nString(UIStrings.networkLog) as string),
|
|
283
283
|
columns: this.columns.map(NetworkLogViewColumns.convertToDataGridDescriptor),
|
|
284
|
-
deleteCallback: undefined,
|
|
285
|
-
refreshCallback: undefined,
|
|
286
284
|
}));
|
|
287
285
|
this.dataGridScroller = (this.#dataGrid.scrollContainer as HTMLDivElement);
|
|
288
286
|
|
|
@@ -162,7 +162,9 @@ export class NetworkManageCustomHeadersView extends UI.Widget.VBox implements UI
|
|
|
162
162
|
if (this.columnConfigs.has(headerId) && item.header !== headerId) {
|
|
163
163
|
valid = false;
|
|
164
164
|
}
|
|
165
|
-
return {
|
|
165
|
+
return {
|
|
166
|
+
valid,
|
|
167
|
+
};
|
|
166
168
|
}
|
|
167
169
|
}
|
|
168
170
|
}
|
|
@@ -91,7 +91,7 @@ export class NetworkWaterfallColumn extends UI.Widget.VBox {
|
|
|
91
91
|
this.styleForDownloadingResourceType = resourceStyleTuple[1];
|
|
92
92
|
|
|
93
93
|
const baseLineColor = ThemeSupport.ThemeSupport.instance().getComputedValue('--sys-color-state-disabled');
|
|
94
|
-
this.wiskerStyle = {borderColor: baseLineColor, lineWidth: 1
|
|
94
|
+
this.wiskerStyle = {borderColor: baseLineColor, lineWidth: 1};
|
|
95
95
|
this.hoverDetailsStyle = {fillStyle: baseLineColor, lineWidth: 1, borderColor: baseLineColor};
|
|
96
96
|
|
|
97
97
|
this.pathForStyle = new Map();
|
|
@@ -293,7 +293,6 @@ export class NetworkWaterfallColumn extends UI.Widget.VBox {
|
|
|
293
293
|
content.show(popover.contentElement);
|
|
294
294
|
return true;
|
|
295
295
|
},
|
|
296
|
-
hide: undefined,
|
|
297
296
|
};
|
|
298
297
|
}
|
|
299
298
|
|
|
@@ -524,7 +524,7 @@ export class RequestConditionsDrawer extends UI.Widget.VBox implements
|
|
|
524
524
|
const validator =
|
|
525
525
|
(_item: SDK.NetworkManager.RequestCondition, _index: number, input: UI.ListWidget.EditorControl): {
|
|
526
526
|
valid: boolean,
|
|
527
|
-
errorMessage
|
|
527
|
+
errorMessage?: Common.UIString.LocalizedString,
|
|
528
528
|
} => {
|
|
529
529
|
if (!input.value) {
|
|
530
530
|
return {errorMessage: i18nString(UIStrings.patternInputCannotBeEmpty), valid: false};
|
|
@@ -539,7 +539,7 @@ export class RequestConditionsDrawer extends UI.Widget.VBox implements
|
|
|
539
539
|
case SDK.NetworkManager.RequestURLPatternValidity.HAS_REGEXP_GROUPS:
|
|
540
540
|
return {errorMessage: i18nString(UIStrings.patternFailedWithRegExpGroups), valid: false};
|
|
541
541
|
}
|
|
542
|
-
return {valid: true
|
|
542
|
+
return {valid: true};
|
|
543
543
|
};
|
|
544
544
|
const urlInput = editor.createInput('url', 'text', '', validator);
|
|
545
545
|
label.htmlFor = urlInput.id = 'editor-url-input';
|
|
@@ -106,15 +106,118 @@ interface ViewInput {
|
|
|
106
106
|
}
|
|
107
107
|
type View = (input: ViewInput, output: object, target: HTMLElement) => void;
|
|
108
108
|
export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
109
|
+
const requestHeadersText = input.request.requestHeadersText();
|
|
110
|
+
const statusClasses = ['status'];
|
|
111
|
+
if (input.request.statusCode < 300 || input.request.statusCode === 304) {
|
|
112
|
+
statusClasses.push('green-circle');
|
|
113
|
+
} else if (input.request.statusCode < 400) {
|
|
114
|
+
statusClasses.push('yellow-circle');
|
|
115
|
+
} else {
|
|
116
|
+
statusClasses.push('red-circle');
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
let comment = '';
|
|
120
|
+
if (input.request.cachedInMemory()) {
|
|
121
|
+
comment = i18nString(UIStrings.fromMemoryCache);
|
|
122
|
+
} else if (input.request.fromEarlyHints()) {
|
|
123
|
+
comment = i18nString(UIStrings.fromEarlyHints);
|
|
124
|
+
} else if (input.request.fetchedViaServiceWorker) {
|
|
125
|
+
comment = i18nString(UIStrings.fromServiceWorker);
|
|
126
|
+
} else if (input.request.redirectSourceSignedExchangeInfoHasNoErrors()) {
|
|
127
|
+
comment = i18nString(UIStrings.fromSignedexchange);
|
|
128
|
+
} else if (input.request.fromPrefetchCache()) {
|
|
129
|
+
comment = i18nString(UIStrings.fromPrefetchCache);
|
|
130
|
+
} else if (input.request.cached()) {
|
|
131
|
+
comment = i18nString(UIStrings.fromDiskCache);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (comment) {
|
|
135
|
+
statusClasses.push('status-with-comment');
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
const statusText = [input.request.statusCode, input.request.getInferredStatusText(), comment].join(' ');
|
|
139
|
+
// clang-format off
|
|
109
140
|
render(
|
|
110
141
|
html`
|
|
111
142
|
<style>${NetworkComponents.RequestHeaderSection.requestHeadersViewStyles}</style>
|
|
112
143
|
<style>${Input.checkboxStyles}</style>
|
|
113
|
-
${
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
144
|
+
${renderCategory({
|
|
145
|
+
name: 'general',
|
|
146
|
+
title: i18nString(UIStrings.general),
|
|
147
|
+
forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.GENERAL,
|
|
148
|
+
loggingContext: 'general',
|
|
149
|
+
contents: html`<div jslog=${VisualLogging.section('general')}>
|
|
150
|
+
${renderGeneralRow(input, i18nString(UIStrings.requestUrl), input.request.url(), 'request-url')}
|
|
151
|
+
${input.request.statusCode? renderGeneralRow(input, i18nString(UIStrings.requestMethod),
|
|
152
|
+
input.request.requestMethod, 'request-method') : Lit.nothing}
|
|
153
|
+
${input.request.statusCode? renderGeneralRow(input, i18nString(UIStrings.statusCode),
|
|
154
|
+
statusText, 'status-code', statusClasses) : Lit.nothing}
|
|
155
|
+
${input.request.remoteAddress()? renderGeneralRow(input, i18nString(UIStrings.remoteAddress),
|
|
156
|
+
input.request.remoteAddress(), 'remote-address') : Lit.nothing}
|
|
157
|
+
${input.request.referrerPolicy()? renderGeneralRow(input, i18nString(UIStrings.referrerPolicy),
|
|
158
|
+
String(input.request.referrerPolicy()), 'referrer-policy') : Lit.nothing}
|
|
159
|
+
</div>`
|
|
160
|
+
})}
|
|
161
|
+
${!input.request?.earlyHintsHeaders || input.request.earlyHintsHeaders.length === 0
|
|
162
|
+
? Lit.nothing
|
|
163
|
+
: renderCategory({
|
|
164
|
+
name: 'early-hints-headers',
|
|
165
|
+
onToggleRawHeaders: input.toggleShowRawResponseHeaders,
|
|
166
|
+
title: i18nString(UIStrings.earlyHintsHeaders),
|
|
167
|
+
headerCount: input.request.earlyHintsHeaders.length,
|
|
168
|
+
checked: undefined,
|
|
169
|
+
additionalContent: undefined,
|
|
170
|
+
forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.EARLY_HINTS,
|
|
171
|
+
loggingContext: 'early-hints-headers',
|
|
172
|
+
contents: input.showResponseHeadersText ?
|
|
173
|
+
renderRawHeaders(input.request.responseHeadersText) :
|
|
174
|
+
html`
|
|
175
|
+
<devtools-early-hints-header-section .data=${
|
|
176
|
+
{
|
|
177
|
+
request: input.request,
|
|
178
|
+
toReveal: input.toReveal,
|
|
179
|
+
} as NetworkComponents.ResponseHeaderSection
|
|
180
|
+
.ResponseHeaderSectionData}></devtools-early-hints-header-section>
|
|
181
|
+
`
|
|
182
|
+
})}
|
|
183
|
+
${renderCategory({
|
|
184
|
+
name: 'response-headers',
|
|
185
|
+
onToggleRawHeaders: input.toggleShowRawResponseHeaders,
|
|
186
|
+
title: i18nString(UIStrings.responseHeaders),
|
|
187
|
+
headerCount: input.request.sortedResponseHeaders.length,
|
|
188
|
+
checked: input.request.responseHeadersText ? input.showResponseHeadersText : undefined,
|
|
189
|
+
additionalContent: renderHeaderOverridesLink(input),
|
|
190
|
+
forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.RESPONSE,
|
|
191
|
+
loggingContext: 'response-headers',
|
|
192
|
+
contents: input.showResponseHeadersText ?
|
|
193
|
+
renderRawHeaders(input.request.responseHeadersText) :
|
|
194
|
+
html`
|
|
195
|
+
<devtools-response-header-section .data=${{
|
|
196
|
+
request: input.request,
|
|
197
|
+
toReveal: input.toReveal,
|
|
198
|
+
} as NetworkComponents.ResponseHeaderSection.ResponseHeaderSectionData} jslog=${
|
|
199
|
+
VisualLogging.section('response-headers')}></devtools-response-header-section>
|
|
200
|
+
`
|
|
201
|
+
})}
|
|
202
|
+
${renderCategory({
|
|
203
|
+
name: 'request-headers',
|
|
204
|
+
onToggleRawHeaders: input.toggleShowRawRequestHeaders,
|
|
205
|
+
title: i18nString(UIStrings.requestHeaders),
|
|
206
|
+
headerCount: input.request.requestHeaders().length,
|
|
207
|
+
checked: requestHeadersText ? input.showRequestHeadersText : undefined,
|
|
208
|
+
forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.REQUEST,
|
|
209
|
+
loggingContext: 'request-headers',
|
|
210
|
+
contents: (input.showRequestHeadersText && requestHeadersText) ?
|
|
211
|
+
renderRawHeaders(requestHeadersText) :
|
|
212
|
+
html`
|
|
213
|
+
<devtools-widget .widgetConfig=${
|
|
214
|
+
UI.Widget.widgetConfig(NetworkComponents.RequestHeaderSection.RequestHeaderSection, {
|
|
215
|
+
request: input.request,
|
|
216
|
+
toReveal: input.toReveal,
|
|
217
|
+
})} jslog=${VisualLogging.section('request-headers')}></devtools-widget>`
|
|
218
|
+
})}
|
|
117
219
|
`,
|
|
220
|
+
// clang-format on
|
|
118
221
|
target);
|
|
119
222
|
};
|
|
120
223
|
|
|
@@ -247,52 +350,6 @@ export class RequestHeadersView extends UI.Widget.Widget {
|
|
|
247
350
|
}
|
|
248
351
|
}
|
|
249
352
|
|
|
250
|
-
function renderEarlyHintsHeaders(input: ViewInput): Lit.LitTemplate {
|
|
251
|
-
if (!input.request?.earlyHintsHeaders || input.request.earlyHintsHeaders.length === 0) {
|
|
252
|
-
return Lit.nothing;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
// Disabled until https://crbug.com/1079231 is fixed.
|
|
256
|
-
return renderCategory({
|
|
257
|
-
onToggleRawHeaders: input.toggleShowRawResponseHeaders,
|
|
258
|
-
name: 'early-hints-headers',
|
|
259
|
-
title: i18nString(UIStrings.earlyHintsHeaders),
|
|
260
|
-
headerCount: input.request.earlyHintsHeaders.length,
|
|
261
|
-
checked: undefined,
|
|
262
|
-
additionalContent: undefined,
|
|
263
|
-
forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.EARLY_HINTS,
|
|
264
|
-
loggingContext: 'early-hints-headers',
|
|
265
|
-
contents: input.showResponseHeadersText ? renderRawHeaders(input.request.responseHeadersText) : html`
|
|
266
|
-
<devtools-early-hints-header-section .data=${{
|
|
267
|
-
request: input.request,
|
|
268
|
-
toReveal: input.toReveal,
|
|
269
|
-
} as NetworkComponents.ResponseHeaderSection.ResponseHeaderSectionData}></devtools-early-hints-header-section>
|
|
270
|
-
`
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
function renderResponseHeaders(input: ViewInput): Lit.LitTemplate {
|
|
275
|
-
return renderCategory({
|
|
276
|
-
onToggleRawHeaders: input.toggleShowRawResponseHeaders,
|
|
277
|
-
name: 'response-headers',
|
|
278
|
-
title: i18nString(UIStrings.responseHeaders),
|
|
279
|
-
headerCount: input.request.sortedResponseHeaders.length,
|
|
280
|
-
checked: input.request.responseHeadersText ? input.showResponseHeadersText : undefined,
|
|
281
|
-
additionalContent: renderHeaderOverridesLink(input),
|
|
282
|
-
forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.RESPONSE,
|
|
283
|
-
loggingContext: 'response-headers',
|
|
284
|
-
contents: input.showResponseHeadersText ?
|
|
285
|
-
renderRawHeaders(input.request.responseHeadersText) :
|
|
286
|
-
html`
|
|
287
|
-
<devtools-response-header-section .data=${{
|
|
288
|
-
request: input.request,
|
|
289
|
-
toReveal: input.toReveal,
|
|
290
|
-
} as NetworkComponents.ResponseHeaderSection.ResponseHeaderSectionData} jslog=${
|
|
291
|
-
VisualLogging.section('response-headers')}></devtools-response-header-section>
|
|
292
|
-
`
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
|
|
296
353
|
function renderHeaderOverridesLink(input: ViewInput): Lit.LitTemplate {
|
|
297
354
|
if (!input.revealHeadersFile) {
|
|
298
355
|
return Lit.nothing;
|
|
@@ -334,88 +391,17 @@ function renderHeaderOverridesLink(input: ViewInput): Lit.LitTemplate {
|
|
|
334
391
|
// clang-format on
|
|
335
392
|
}
|
|
336
393
|
|
|
337
|
-
function renderRequestHeaders(input: ViewInput): Lit.LitTemplate {
|
|
338
|
-
const requestHeadersText = input.request.requestHeadersText();
|
|
339
|
-
|
|
340
|
-
return renderCategory({
|
|
341
|
-
onToggleRawHeaders: input.toggleShowRawRequestHeaders,
|
|
342
|
-
name: 'request-headers',
|
|
343
|
-
title: i18nString(UIStrings.requestHeaders),
|
|
344
|
-
headerCount: input.request.requestHeaders().length,
|
|
345
|
-
checked: requestHeadersText ? input.showRequestHeadersText : undefined,
|
|
346
|
-
forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.REQUEST,
|
|
347
|
-
loggingContext: 'request-headers',
|
|
348
|
-
contents: (input.showRequestHeadersText && requestHeadersText) ?
|
|
349
|
-
renderRawHeaders(requestHeadersText) :
|
|
350
|
-
html`
|
|
351
|
-
<devtools-widget .widgetConfig=${
|
|
352
|
-
UI.Widget.widgetConfig(NetworkComponents.RequestHeaderSection.RequestHeaderSection, {
|
|
353
|
-
request: input.request,
|
|
354
|
-
toReveal: input.toReveal,
|
|
355
|
-
})} jslog=${VisualLogging.section('request-headers')}></devtools-widget>`
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
|
|
359
394
|
function renderRawHeaders(text: string): Lit.TemplateResult {
|
|
360
395
|
return html`<div class="row raw-headers-row"><devtools-widget class=raw-headers .widgetConfig=${
|
|
361
396
|
UI.Widget.widgetConfig(ShowMoreDetailsWidget, {text})}></devtools-widget></div>`;
|
|
362
397
|
}
|
|
363
398
|
|
|
364
|
-
function
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
} else {
|
|
371
|
-
statusClasses.push('red-circle');
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
let comment = '';
|
|
375
|
-
if (input.request.cachedInMemory()) {
|
|
376
|
-
comment = i18nString(UIStrings.fromMemoryCache);
|
|
377
|
-
} else if (input.request.fromEarlyHints()) {
|
|
378
|
-
comment = i18nString(UIStrings.fromEarlyHints);
|
|
379
|
-
} else if (input.request.fetchedViaServiceWorker) {
|
|
380
|
-
comment = i18nString(UIStrings.fromServiceWorker);
|
|
381
|
-
} else if (input.request.redirectSourceSignedExchangeInfoHasNoErrors()) {
|
|
382
|
-
comment = i18nString(UIStrings.fromSignedexchange);
|
|
383
|
-
} else if (input.request.fromPrefetchCache()) {
|
|
384
|
-
comment = i18nString(UIStrings.fromPrefetchCache);
|
|
385
|
-
} else if (input.request.cached()) {
|
|
386
|
-
comment = i18nString(UIStrings.fromDiskCache);
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
if (comment) {
|
|
390
|
-
statusClasses.push('status-with-comment');
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
const statusText = [input.request.statusCode, input.request.getInferredStatusText(), comment].join(' ');
|
|
394
|
-
|
|
395
|
-
return renderCategory({
|
|
396
|
-
name: 'general',
|
|
397
|
-
title: i18nString(UIStrings.general),
|
|
398
|
-
forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.GENERAL,
|
|
399
|
-
loggingContext: 'general',
|
|
400
|
-
// clang-format off
|
|
401
|
-
contents: html`<div jslog=${VisualLogging.section('general')}>
|
|
402
|
-
${renderGeneralRow(i18nString(UIStrings.requestUrl), input.request.url(), 'request-url')}
|
|
403
|
-
${input.request.statusCode? renderGeneralRow(i18nString(UIStrings.requestMethod),
|
|
404
|
-
input.request.requestMethod, 'request-method') : Lit.nothing}
|
|
405
|
-
${input.request.statusCode? renderGeneralRow(i18nString(UIStrings.statusCode),
|
|
406
|
-
statusText, 'status-code', statusClasses) : Lit.nothing}
|
|
407
|
-
${input.request.remoteAddress()? renderGeneralRow(i18nString(UIStrings.remoteAddress),
|
|
408
|
-
input.request.remoteAddress(), 'remote-address') : Lit.nothing}
|
|
409
|
-
${input.request.referrerPolicy()? renderGeneralRow(i18nString(UIStrings.referrerPolicy),
|
|
410
|
-
String(input.request.referrerPolicy()), 'referrer-policy') : Lit.nothing}
|
|
411
|
-
</div>`});
|
|
412
|
-
// clang-format on
|
|
413
|
-
|
|
414
|
-
function renderGeneralRow(
|
|
415
|
-
name: Common.UIString.LocalizedString, value: string, id: string, classNames?: string[]): Lit.LitTemplate {
|
|
416
|
-
const isHighlighted = input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.GENERAL &&
|
|
417
|
-
name.toLowerCase() === input.toReveal?.header?.toLowerCase();
|
|
418
|
-
return html`
|
|
399
|
+
function renderGeneralRow(
|
|
400
|
+
input: ViewInput, name: Common.UIString.LocalizedString, value: string, id: string,
|
|
401
|
+
classNames?: string[]): Lit.LitTemplate {
|
|
402
|
+
const isHighlighted = input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.GENERAL &&
|
|
403
|
+
name.toLowerCase() === input.toReveal?.header?.toLowerCase();
|
|
404
|
+
return html`
|
|
419
405
|
<div class="row ${isHighlighted ? 'header-highlight' : ''}">
|
|
420
406
|
<div class="header-name">${name}</div>
|
|
421
407
|
<div
|
|
@@ -425,7 +411,6 @@ function renderGeneralSection(input: ViewInput): Lit.LitTemplate {
|
|
|
425
411
|
>${value}</div>
|
|
426
412
|
</div>
|
|
427
413
|
`;
|
|
428
|
-
}
|
|
429
414
|
}
|
|
430
415
|
|
|
431
416
|
export function renderCategory(data: {
|