chrome-devtools-frontend 1.0.1571007 → 1.0.1572937
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/agents/prompts/README.md +18 -0
- package/agents/prompts/devtools-imports.md +47 -0
- package/agents/prompts/verification.md +27 -0
- package/front_end/Images/geminiInDevTools.png +0 -0
- package/front_end/Images/geminiInDevTools_2x.png +0 -0
- package/front_end/Images/src/database-off.svg +1 -0
- package/front_end/Images/src/lock-person.svg +1 -1
- package/front_end/core/common/Debouncer.ts +10 -1
- package/front_end/core/common/SettingRegistration.ts +1 -1
- package/front_end/core/host/AidaClient.ts +8 -0
- package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -6
- package/front_end/core/host/UserMetrics.ts +1 -31
- package/front_end/core/root/ExperimentNames.ts +30 -0
- package/front_end/core/root/Runtime.ts +47 -48
- package/front_end/core/root/root.ts +2 -0
- package/front_end/core/sdk/CSSModel.ts +36 -13
- package/front_end/core/sdk/CSSProperty.ts +1 -1
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +9 -0
- package/front_end/core/sdk/CookieModel.ts +2 -1
- package/front_end/core/sdk/DOMModel.ts +1 -1
- package/front_end/core/sdk/DebuggerModel.ts +1 -1
- package/front_end/core/sdk/OverlayModel.ts +3 -2
- package/front_end/core/sdk/SourceMap.ts +1 -1
- package/front_end/devtools_compatibility.js +0 -6
- package/front_end/entrypoints/main/MainImpl.ts +44 -24
- package/front_end/entrypoints/main/main-meta.ts +1 -1
- package/front_end/generated/SupportedCSSProperties.js +6 -14
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +0 -180
- package/front_end/models/ai_assistance/ai_assistance.ts +0 -2
- package/front_end/models/breakpoints/BreakpointManager.ts +3 -3
- package/front_end/models/issues_manager/ContrastCheckTrigger.ts +2 -2
- package/front_end/models/javascript_metadata/NativeFunctions.js +8 -0
- package/front_end/models/source_map_scopes/NamesResolver.ts +1 -1
- package/front_end/models/trace/EventsSerializer.ts +5 -1
- package/front_end/models/trace/ModelImpl.ts +0 -4
- package/front_end/models/trace/types/TraceEvents.ts +4 -0
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -1
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +1 -1
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +8 -63
- package/front_end/panels/ai_assistance/PatchWidget.ts +10 -15
- package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +5 -4
- package/front_end/panels/ai_assistance/aiAssistancePanel.css +0 -16
- package/front_end/panels/ai_assistance/ai_assistance.ts +0 -1
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +3 -2
- package/front_end/panels/ai_assistance/components/ChatView.ts +123 -108
- package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +1 -145
- package/front_end/panels/application/DeviceBoundSessionsModel.ts +23 -1
- package/front_end/panels/application/DeviceBoundSessionsTreeElement.ts +23 -0
- package/front_end/panels/application/FrameDetailsView.ts +12 -10
- package/front_end/panels/application/components/BackForwardCacheView.ts +6 -8
- package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +4 -3
- package/front_end/panels/application/components/ProtocolHandlersView.ts +5 -6
- package/front_end/panels/application/components/ReportsGrid.ts +9 -9
- package/front_end/panels/application/components/SharedStorageAccessGrid.ts +5 -4
- package/front_end/panels/application/components/TrustTokensView.ts +4 -6
- package/front_end/panels/application/preloading/PreloadingView.ts +9 -8
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +237 -230
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +3 -2
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +6 -10
- package/front_end/panels/application/resourcesSidebar.css +8 -0
- package/front_end/panels/autofill/AutofillView.ts +4 -3
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +3 -5
- package/front_end/panels/common/AiCodeCompletionTeaser.ts +5 -5
- package/front_end/panels/common/AiCodeGenerationTeaser.ts +35 -4
- package/front_end/panels/common/BadgeNotification.ts +17 -14
- package/front_end/panels/common/GdpSignUpDialog.ts +5 -6
- package/front_end/panels/common/GeminiRebrandPromoDialog.ts +192 -0
- package/front_end/panels/common/aiCodeGenerationTeaser.css +16 -1
- package/front_end/panels/common/common.ts +1 -0
- package/front_end/panels/common/geminiRebrandPromoDialog.css +47 -0
- package/front_end/panels/console/ConsoleInsightTeaser.ts +10 -11
- package/front_end/panels/console/ErrorStackParser.ts +11 -16
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +2 -2
- package/front_end/panels/css_overview/CSSOverviewModel.ts +1 -1
- package/front_end/panels/elements/ComputedStyleModel.ts +16 -65
- package/front_end/panels/elements/ComputedStyleWidget.ts +3 -3
- package/front_end/panels/elements/ElementsPanel.ts +35 -5
- package/front_end/panels/elements/ElementsSidebarPane.ts +1 -1
- package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
- package/front_end/panels/elements/PlatformFontsWidget.ts +1 -1
- package/front_end/panels/elements/StylePropertiesSection.ts +16 -8
- package/front_end/panels/elements/StylePropertyTreeElement.ts +67 -32
- package/front_end/panels/elements/StylesSidebarPane.ts +28 -11
- package/front_end/panels/elements/components/CSSHintDetailsView.ts +3 -2
- package/front_end/panels/elements/components/CSSPropertyDocsView.ts +3 -2
- package/front_end/panels/elements/elements-meta.ts +1 -1
- package/front_end/panels/emulation/DeviceModeWrapper.ts +101 -62
- package/front_end/panels/explain/components/ConsoleInsight.ts +27 -23
- package/front_end/panels/explain/components/consoleInsight.css +1 -1
- package/front_end/panels/issues/IssueView.ts +6 -6
- package/front_end/panels/network/RequestConditionsDrawer.ts +4 -3
- package/front_end/panels/network/RequestCookiesView.ts +3 -4
- package/front_end/panels/network/RequestTimingView.ts +6 -10
- package/front_end/panels/network/components/HeaderSectionRow.ts +3 -2
- package/front_end/panels/network/components/RequestHeaderSection.ts +3 -1
- package/front_end/panels/network/components/RequestHeadersView.css +2 -2
- package/front_end/panels/network/components/RequestHeadersView.ts +7 -6
- package/front_end/panels/profiler/HeapProfileView.ts +3 -3
- package/front_end/panels/profiler/HeapSnapshotView.ts +2 -2
- package/front_end/panels/profiler/profiler-meta.ts +3 -3
- package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +1 -1
- package/front_end/panels/recorder/RecorderController.ts +7 -13
- package/front_end/panels/recorder/components/CreateRecordingView.ts +6 -6
- package/front_end/panels/recorder/components/RecordingView.ts +0 -38
- package/front_end/panels/recorder/components/ReplaySection.ts +0 -14
- package/front_end/panels/recorder/components/StepEditor.ts +2 -40
- package/front_end/panels/recorder/recorderController.css +4 -4
- package/front_end/panels/security/CookieControlsView.ts +2 -2
- package/front_end/panels/security/CookieReportView.ts +21 -21
- package/front_end/panels/security/cookieControlsView.css +1 -1
- package/front_end/panels/security/cookieReportView.css +1 -1
- package/front_end/panels/settings/AISettingsTab.ts +13 -15
- package/front_end/panels/settings/components/SyncSection.ts +4 -3
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +4 -12
- package/front_end/panels/settings/settings-meta.ts +1 -1
- package/front_end/panels/sources/BreakpointEditDialog.ts +4 -3
- package/front_end/panels/sources/CallStackSidebarPane.ts +4 -1
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +1 -1
- package/front_end/panels/sources/NavigatorView.ts +4 -4
- package/front_end/panels/sources/SourcesPanel.ts +7 -4
- package/front_end/panels/sources/components/HeadersView.ts +2 -2
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +3 -2
- package/front_end/panels/timeline/ThreadAppender.ts +2 -1
- package/front_end/panels/timeline/TimelineController.ts +4 -3
- package/front_end/panels/timeline/TimelinePanel.ts +7 -4
- package/front_end/panels/timeline/TimelineUIUtils.ts +2 -2
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +4 -4
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +13 -6
- package/front_end/panels/timeline/components/LiveMetricsView.ts +13 -9
- package/front_end/panels/timeline/components/exportTraceOptions.css +1 -1
- package/front_end/panels/timeline/components/fieldSettingsDialog.css +1 -1
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +2 -19
- package/front_end/panels/timeline/components/insights/InsightRenderer.ts +3 -4
- package/front_end/panels/timeline/components/insights/baseInsightComponent.css +0 -5
- package/front_end/panels/timeline/components/liveMetricsView.css +1 -1
- package/front_end/panels/whats_new/ReleaseNoteView.ts +4 -3
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/buttons/button.css +4 -0
- package/front_end/ui/components/markdown_view/CodeBlock.ts +3 -6
- package/front_end/ui/components/markdown_view/MarkdownLink.ts +3 -4
- package/front_end/ui/components/panel_feedback/PanelFeedback.ts +3 -4
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +10 -7
- package/front_end/ui/components/panel_feedback/panelFeedback.css +2 -2
- package/front_end/ui/components/panel_feedback/previewToggle.css +2 -2
- package/front_end/ui/components/text_editor/AiCodeGenerationParser.ts +27 -8
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +36 -6
- package/front_end/ui/kit/link/Link.ts +1 -14
- package/front_end/ui/legacy/ActionRegistration.ts +1 -1
- package/front_end/ui/legacy/ContextMenu.ts +2 -2
- package/front_end/ui/legacy/EmptyWidget.ts +3 -3
- package/front_end/ui/legacy/LinkContextMenuProvider.ts +42 -0
- package/front_end/ui/legacy/ViewRegistration.ts +1 -1
- package/front_end/ui/legacy/XLink.ts +0 -27
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +1 -1
- package/front_end/ui/legacy/components/color_picker/ContrastOverlay.ts +5 -4
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -2
- package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +1 -1
- package/front_end/ui/legacy/inspectorCommon.css +2 -1
- package/front_end/ui/legacy/legacy.ts +3 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +4 -1
- package/front_end/ui/visual_logging/LoggingDriver.ts +3 -0
- package/package.json +1 -1
- package/front_end/models/ai_assistance/ArtifactsManager.ts +0 -67
- package/front_end/panels/ai_assistance/components/ArtifactsViewer.ts +0 -183
- package/front_end/panels/ai_assistance/components/CollapsibleAssistanceContentWidget.ts +0 -89
- package/front_end/panels/ai_assistance/components/PerformanceAgentFlameChart.ts +0 -133
- package/front_end/panels/ai_assistance/components/artifactsViewer.css +0 -15
- package/front_end/panels/ai_assistance/components/collapsibleAssistanceContentWidget.css +0 -32
|
@@ -2,7 +2,6 @@
|
|
|
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
4
|
|
|
5
|
-
import * as Host from '../../../core/host/host.js';
|
|
6
5
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
7
6
|
import * as Platform from '../../../core/platform/platform.js';
|
|
8
7
|
import type * as Puppeteer from '../../../third_party/puppeteer/puppeteer.js';
|
|
@@ -517,19 +516,14 @@ export class StepEditor extends LitElement {
|
|
|
517
516
|
this.dispatchEvent(new RequestSelectorAttributeEvent(send));
|
|
518
517
|
};
|
|
519
518
|
|
|
520
|
-
#handleAddOrRemoveClick =
|
|
521
|
-
(
|
|
522
|
-
metric: Host.UserMetrics.RecordingEdited): ((event: Event) => void) => event => {
|
|
519
|
+
#handleAddOrRemoveClick = (assignments: DeepImmutable<DeepPartial<Assignments<EditorState>>>, query: string):
|
|
520
|
+
((event: Event) => void) => event => {
|
|
523
521
|
event.preventDefault();
|
|
524
522
|
event.stopPropagation();
|
|
525
523
|
|
|
526
524
|
this.#commit(immutableDeepAssign(this.state, assignments));
|
|
527
525
|
|
|
528
526
|
this.#ensureFocus(query);
|
|
529
|
-
|
|
530
|
-
if (metric) {
|
|
531
|
-
Host.userMetrics.recordingEdited(metric);
|
|
532
|
-
}
|
|
533
527
|
};
|
|
534
528
|
|
|
535
529
|
#handleKeyDownEvent = (event: Event): void => {
|
|
@@ -551,7 +545,6 @@ export class StepEditor extends LitElement {
|
|
|
551
545
|
attribute: A,
|
|
552
546
|
// If there are not assignments, then we should ignore the event.
|
|
553
547
|
from(this: StepEditor, value: DataType<A>): DeepImmutable<DeepPartial<Assignments<EditorState>>>|undefined,
|
|
554
|
-
metric: Host.UserMetrics.RecordingEdited,
|
|
555
548
|
}): ((event: Event) => void) => event => {
|
|
556
549
|
assert(event.target instanceof SuggestionInput.SuggestionInput.SuggestionInput);
|
|
557
550
|
if (event.target.disabled) {
|
|
@@ -565,10 +558,6 @@ export class StepEditor extends LitElement {
|
|
|
565
558
|
return;
|
|
566
559
|
}
|
|
567
560
|
this.#commit(immutableDeepAssign(this.state, assignments));
|
|
568
|
-
|
|
569
|
-
if (opts.metric) {
|
|
570
|
-
Host.userMetrics.recordingEdited(opts.metric);
|
|
571
|
-
}
|
|
572
561
|
};
|
|
573
562
|
|
|
574
563
|
#handleTypeInputBlur = async(event: Event): Promise<void> => {
|
|
@@ -586,7 +575,6 @@ export class StepEditor extends LitElement {
|
|
|
586
575
|
return;
|
|
587
576
|
}
|
|
588
577
|
this.#commit(await EditorState.default(value));
|
|
589
|
-
Host.userMetrics.recordingEdited(Host.UserMetrics.RecordingEdited.TYPE_CHANGED);
|
|
590
578
|
};
|
|
591
579
|
|
|
592
580
|
#handleAddRowClickEvent = async(event: MouseEvent): Promise<void> => {
|
|
@@ -702,14 +690,8 @@ export class StepEditor extends LitElement {
|
|
|
702
690
|
if (this.state[attribute] === undefined) {
|
|
703
691
|
return;
|
|
704
692
|
}
|
|
705
|
-
switch (attribute) {
|
|
706
|
-
case 'properties':
|
|
707
|
-
Host.userMetrics.recordingAssertion(Host.UserMetrics.RecordingAssertion.PROPERTY_ASSERTION_EDITED);
|
|
708
|
-
break;
|
|
709
|
-
}
|
|
710
693
|
return {[attribute]: value};
|
|
711
694
|
},
|
|
712
|
-
metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
713
695
|
})}
|
|
714
696
|
></devtools-suggestion-input>
|
|
715
697
|
${this.#renderDeleteButton(attribute)}
|
|
@@ -748,7 +730,6 @@ export class StepEditor extends LitElement {
|
|
|
748
730
|
frame: new ArrayAssignments({ [index]: value }),
|
|
749
731
|
};
|
|
750
732
|
},
|
|
751
|
-
metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
752
733
|
})}
|
|
753
734
|
></devtools-suggestion-input>
|
|
754
735
|
${this.#renderInlineButton({
|
|
@@ -764,7 +745,6 @@ export class StepEditor extends LitElement {
|
|
|
764
745
|
}),
|
|
765
746
|
},
|
|
766
747
|
`devtools-suggestion-input[data-path="frame.${index + 1}"]`,
|
|
767
|
-
Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
768
748
|
),
|
|
769
749
|
})}
|
|
770
750
|
${this.#renderInlineButton({
|
|
@@ -779,7 +759,6 @@ export class StepEditor extends LitElement {
|
|
|
779
759
|
index,
|
|
780
760
|
frames.length - 2,
|
|
781
761
|
)}"]`,
|
|
782
|
-
Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
783
762
|
),
|
|
784
763
|
})}
|
|
785
764
|
</div>
|
|
@@ -824,7 +803,6 @@ export class StepEditor extends LitElement {
|
|
|
824
803
|
}),
|
|
825
804
|
},
|
|
826
805
|
`devtools-suggestion-input[data-path="selectors.${index + 1}.0"]`,
|
|
827
|
-
Host.UserMetrics.RecordingEdited.SELECTOR_ADDED,
|
|
828
806
|
),
|
|
829
807
|
})}
|
|
830
808
|
${this.#renderInlineButton({
|
|
@@ -837,7 +815,6 @@ export class StepEditor extends LitElement {
|
|
|
837
815
|
index,
|
|
838
816
|
selectors.length - 2,
|
|
839
817
|
)}.0"]`,
|
|
840
|
-
Host.UserMetrics.RecordingEdited.SELECTOR_REMOVED,
|
|
841
818
|
),
|
|
842
819
|
})}
|
|
843
820
|
</div>
|
|
@@ -868,7 +845,6 @@ export class StepEditor extends LitElement {
|
|
|
868
845
|
}),
|
|
869
846
|
};
|
|
870
847
|
},
|
|
871
|
-
metric: Host.UserMetrics.RecordingEdited.SELECTOR_PART_EDITED,
|
|
872
848
|
})}
|
|
873
849
|
></devtools-suggestion-input>
|
|
874
850
|
${this.#renderInlineButton({
|
|
@@ -888,7 +864,6 @@ export class StepEditor extends LitElement {
|
|
|
888
864
|
`devtools-suggestion-input[data-path="selectors.${index}.${
|
|
889
865
|
partIndex + 1
|
|
890
866
|
}"]`,
|
|
891
|
-
Host.UserMetrics.RecordingEdited.SELECTOR_PART_ADDED,
|
|
892
867
|
),
|
|
893
868
|
})}
|
|
894
869
|
${this.#renderInlineButton({
|
|
@@ -907,7 +882,6 @@ export class StepEditor extends LitElement {
|
|
|
907
882
|
partIndex,
|
|
908
883
|
parts.length - 2,
|
|
909
884
|
)}"]`,
|
|
910
|
-
Host.UserMetrics.RecordingEdited.SELECTOR_PART_REMOVED,
|
|
911
885
|
),
|
|
912
886
|
})}
|
|
913
887
|
</div>`;
|
|
@@ -952,7 +926,6 @@ export class StepEditor extends LitElement {
|
|
|
952
926
|
}),
|
|
953
927
|
};
|
|
954
928
|
},
|
|
955
|
-
metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
956
929
|
})}
|
|
957
930
|
></devtools-suggestion-input>
|
|
958
931
|
</div>
|
|
@@ -975,7 +948,6 @@ export class StepEditor extends LitElement {
|
|
|
975
948
|
}),
|
|
976
949
|
};
|
|
977
950
|
},
|
|
978
|
-
metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
979
951
|
})}
|
|
980
952
|
></devtools-suggestion-input>
|
|
981
953
|
</div>`;
|
|
@@ -1009,14 +981,10 @@ export class StepEditor extends LitElement {
|
|
|
1009
981
|
if (this.state.attributes?.[index]?.name === undefined) {
|
|
1010
982
|
return;
|
|
1011
983
|
}
|
|
1012
|
-
Host.userMetrics.recordingAssertion(
|
|
1013
|
-
Host.UserMetrics.RecordingAssertion.ATTRIBUTE_ASSERTION_EDITED,
|
|
1014
|
-
);
|
|
1015
984
|
return {
|
|
1016
985
|
attributes: new ArrayAssignments({ [index]: { name } }),
|
|
1017
986
|
};
|
|
1018
987
|
},
|
|
1019
|
-
metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
1020
988
|
})}
|
|
1021
989
|
></devtools-suggestion-input>
|
|
1022
990
|
<span class="separator">:</span>
|
|
@@ -1031,14 +999,10 @@ export class StepEditor extends LitElement {
|
|
|
1031
999
|
if (this.state.attributes?.[index]?.value === undefined) {
|
|
1032
1000
|
return;
|
|
1033
1001
|
}
|
|
1034
|
-
Host.userMetrics.recordingAssertion(
|
|
1035
|
-
Host.UserMetrics.RecordingAssertion.ATTRIBUTE_ASSERTION_EDITED,
|
|
1036
|
-
);
|
|
1037
1002
|
return {
|
|
1038
1003
|
attributes: new ArrayAssignments({ [index]: { value } }),
|
|
1039
1004
|
};
|
|
1040
1005
|
},
|
|
1041
|
-
metric: Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
1042
1006
|
})}
|
|
1043
1007
|
></devtools-suggestion-input>
|
|
1044
1008
|
${this.#renderInlineButton({
|
|
@@ -1071,7 +1035,6 @@ export class StepEditor extends LitElement {
|
|
|
1071
1035
|
`devtools-suggestion-input[data-path="attributes.${
|
|
1072
1036
|
index + 1
|
|
1073
1037
|
}.name"]`,
|
|
1074
|
-
Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
1075
1038
|
),
|
|
1076
1039
|
})}
|
|
1077
1040
|
${this.#renderInlineButton({
|
|
@@ -1084,7 +1047,6 @@ export class StepEditor extends LitElement {
|
|
|
1084
1047
|
index,
|
|
1085
1048
|
attributes.length - 2,
|
|
1086
1049
|
)}.value"]`,
|
|
1087
|
-
Host.UserMetrics.RecordingEdited.OTHER_EDITING,
|
|
1088
1050
|
),
|
|
1089
1051
|
})}
|
|
1090
1052
|
</div>`;
|
|
@@ -129,7 +129,7 @@ devtools-recording-list-view {
|
|
|
129
129
|
margin-right: 4px;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
.feedback .
|
|
132
|
+
.feedback .devtools-link {
|
|
133
133
|
letter-spacing: 0.03em;
|
|
134
134
|
text-decoration-line: underline;
|
|
135
135
|
font-size: var(--sys-typescale-body4-size);
|
|
@@ -138,8 +138,8 @@ devtools-recording-list-view {
|
|
|
138
138
|
outline-offset: 3px;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
.feedback .
|
|
142
|
-
.empty-state-description .
|
|
141
|
+
.feedback .devtools-link:focus-visible,
|
|
142
|
+
.empty-state-description .devtools-link:focus-visible {
|
|
143
143
|
outline: -webkit-focus-ring-color auto 1px;
|
|
144
144
|
}
|
|
145
145
|
|
|
@@ -167,7 +167,7 @@ devtools-recording-list-view {
|
|
|
167
167
|
font: var(--sys-typescale-body4-regular);
|
|
168
168
|
color: var(--sys-color-on-surface-subtle);
|
|
169
169
|
|
|
170
|
-
>
|
|
170
|
+
> devtools-link {
|
|
171
171
|
white-space: nowrap;
|
|
172
172
|
margin-left: var(--sys-size-3);
|
|
173
173
|
cursor: pointer;
|
|
@@ -304,8 +304,8 @@ const DEFAULT_VIEW: View = (input: ViewInput, _output: object, target: HTMLEleme
|
|
|
304
304
|
class="medium"
|
|
305
305
|
style="color: var(--icon-warning); margin-right: var(--sys-size-2);">
|
|
306
306
|
</devtools-icon>
|
|
307
|
-
${
|
|
308
|
-
PH1:
|
|
307
|
+
${i18nFormatStringTemplate(UIStrings.upperDeprecationWarning, {
|
|
308
|
+
PH1: html`<devtools-link class="devtools-link" href="https://privacysandbox.com/news/privacy-sandbox-update/" .jslogContext=${'privacy-sandbox-update'}>${i18nString(UIStrings.blogPostLink)}</devtools-link>`,
|
|
309
309
|
})}
|
|
310
310
|
</div>
|
|
311
311
|
<div class="body">
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
/* eslint-disable @devtools/no-lit-render-outside-of-view */
|
|
5
5
|
|
|
6
6
|
import '../../ui/legacy/components/data_grid/data_grid.js';
|
|
7
|
+
import '../../ui/kit/kit.js';
|
|
7
8
|
|
|
8
9
|
import * as Common from '../../core/common/common.js';
|
|
9
10
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
@@ -15,7 +16,6 @@ import type * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
|
15
16
|
import * as uiI18n from '../../ui/i18n/i18n.js';
|
|
16
17
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
17
18
|
import * as Lit from '../../ui/lit/lit.js';
|
|
18
|
-
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
19
19
|
import * as NetworkForward from '../network/forward/forward.js';
|
|
20
20
|
|
|
21
21
|
import cookieReportViewStyles from './cookieReportView.css.js';
|
|
@@ -187,6 +187,7 @@ const UIStrings = {
|
|
|
187
187
|
const str_ = i18n.i18n.registerUIStrings('panels/security/CookieReportView.ts', UIStrings);
|
|
188
188
|
export const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
189
189
|
export const i18nFormatString = uiI18n.getFormatLocalizedString.bind(undefined, str_);
|
|
190
|
+
export const i18nFormatStringTemplate = uiI18n.getFormatLocalizedStringTemplate.bind(undefined, str_);
|
|
190
191
|
|
|
191
192
|
export interface ViewInput {
|
|
192
193
|
cookieRows: IssuesManager.CookieIssue.CookieReportInfo[];
|
|
@@ -221,11 +222,10 @@ const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
221
222
|
class="medium"
|
|
222
223
|
style="color: var(--icon-warning); margin-right: var(--sys-size-2);">
|
|
223
224
|
</devtools-icon>
|
|
224
|
-
${
|
|
225
|
-
PH1:
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
i18nString(UIStrings.blogPostLink)}</x-link>`,
|
|
225
|
+
${i18nFormatStringTemplate(UIStrings.upperDeprecationWarning, {
|
|
226
|
+
PH1:
|
|
227
|
+
html`<devtools-link class="devtools-link" href="https://privacysandbox.com/news/privacy-sandbox-update/" .jslogContext=${
|
|
228
|
+
'privacy-sandbox-update'}>${i18nString(UIStrings.blogPostLink)}</devtools-link>`,
|
|
229
229
|
})}
|
|
230
230
|
</div>
|
|
231
231
|
<div class="body">
|
|
@@ -239,7 +239,7 @@ const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
239
239
|
<div class="report overflow-auto">
|
|
240
240
|
<div class="header">
|
|
241
241
|
<h1>${i18nString(UIStrings.title)}</h1>
|
|
242
|
-
<div class="body">${i18nString(UIStrings.body)} <
|
|
242
|
+
<div class="body">${i18nString(UIStrings.body)} <devtools-link class="devtools-link" href="https://developers.google.com/privacy-sandbox/cookies/prepare/audit-cookies" .jslogContext=${'learn-more'}>${i18nString(UIStrings.learnMoreLink)}</devtools-link></div>
|
|
243
243
|
</div>
|
|
244
244
|
${input.cookieRows.length > 0 ?
|
|
245
245
|
html`
|
|
@@ -482,26 +482,26 @@ export class CookieReportView extends UI.Widget.VBox {
|
|
|
482
482
|
|
|
483
483
|
switch (insight.type) {
|
|
484
484
|
case Protocol.Audits.InsightType.GitHubResource: {
|
|
485
|
-
const githubLink =
|
|
486
|
-
insight.tableEntryUrl
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
i18nString(UIStrings.guidance), undefined, undefined, 'readiness-list-link');
|
|
485
|
+
const githubLink = html`<devtools-link href=${
|
|
486
|
+
insight.tableEntryUrl ??
|
|
487
|
+
'https://github.com/privacysandbox/privacy-sandbox-dev-support/blob/main/3pc-migration-readiness.md'} .jslogContext=${
|
|
488
|
+
'readiness-list-link'}>${i18nString(UIStrings.guidance)}</devtools-link>`;
|
|
490
489
|
|
|
491
|
-
return html`${uiI18n.
|
|
490
|
+
return html`${uiI18n.getFormatLocalizedStringTemplate(str_, UIStrings.gitHubResource, {
|
|
492
491
|
PH1: githubLink,
|
|
493
492
|
})}`;
|
|
494
493
|
}
|
|
495
494
|
case Protocol.Audits.InsightType.GracePeriod: {
|
|
496
495
|
const url = SDK.TargetManager.TargetManager.instance().primaryPageTarget()?.inspectedURL();
|
|
497
|
-
const gracePeriodLink =
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
496
|
+
const gracePeriodLink = html`<devtools-link
|
|
497
|
+
href=${
|
|
498
|
+
'https://developers.google.com/privacy-sandbox/cookies/dashboard?url=' +
|
|
499
|
+
// The order of the URLs matters - needs to be 1P + 3P.
|
|
500
|
+
(url ? Common.ParsedURL.ParsedURL.fromString(url)?.host + '+' : '') +
|
|
501
|
+
(domain.charAt(0) === '.' ? domain.substring(1) : domain)}
|
|
502
|
+
.jslogContext=${'compatibility-lookup-link'}>${i18nString(UIStrings.reportedIssues)}</devtools-link>`;
|
|
503
|
+
|
|
504
|
+
return html`${uiI18n.getFormatLocalizedStringTemplate(str_, UIStrings.gracePeriod, {
|
|
505
505
|
PH1: gracePeriodLink,
|
|
506
506
|
})}`;
|
|
507
507
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
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
4
|
|
|
5
|
+
import '../../ui/kit/kit.js';
|
|
6
|
+
|
|
5
7
|
import * as Common from '../../core/common/common.js';
|
|
6
8
|
import * as Host from '../../core/host/host.js';
|
|
7
9
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
@@ -247,7 +249,7 @@ interface AiSettingParams {
|
|
|
247
249
|
|
|
248
250
|
interface ViewInput {
|
|
249
251
|
disabledReasons: string[];
|
|
250
|
-
sharedDisclaimerBulletPoints: Array<{icon: string, text: Common.UIString.LocalizedString|Lit.
|
|
252
|
+
sharedDisclaimerBulletPoints: Array<{icon: string, text: Common.UIString.LocalizedString|Lit.LitTemplate}>;
|
|
251
253
|
settingToParams: Map<Common.Settings.Setting<boolean>, AiSettingParams>;
|
|
252
254
|
expandSetting(setting: Common.Settings.Setting<boolean>): void;
|
|
253
255
|
toggleSetting(setting: Common.Settings.Setting<boolean>, ev: Event): void;
|
|
@@ -348,14 +350,12 @@ export const AI_SETTINGS_TAB_DEFAULT_VIEW: View = (input, _output, target): void
|
|
|
348
350
|
<h3 class="expansion-grid-whole-row">${i18nString(UIStrings.thingsToConsider)}</h3>
|
|
349
351
|
${settingData.toConsiderSettingItems.map(item => renderSettingItem(item))}
|
|
350
352
|
<div class="expansion-grid-whole-row">
|
|
351
|
-
<
|
|
353
|
+
<devtools-link
|
|
352
354
|
href=${settingData.learnMoreLink.url}
|
|
353
355
|
class="link"
|
|
354
356
|
tabindex=${tabindex}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
})}
|
|
358
|
-
>${i18nString(UIStrings.learnMore)}</x-link>
|
|
357
|
+
.jslogContext=${settingData.learnMoreLink.linkJSLogContext}
|
|
358
|
+
>${i18nString(UIStrings.learnMore)}</devtools-link>
|
|
359
359
|
</div>
|
|
360
360
|
</div>
|
|
361
361
|
</div>
|
|
@@ -658,13 +658,11 @@ export class AISettingsTab extends UI.Widget.VBox {
|
|
|
658
658
|
this.requestUpdate();
|
|
659
659
|
}
|
|
660
660
|
|
|
661
|
-
#getSharedDisclaimerBulletPoints(): Array<{icon: string, text: Common.UIString.LocalizedString|Lit.
|
|
662
|
-
const tosLink =
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
'https://policies.google.com/privacy', i18nString(UIStrings.privacyNotice), undefined, undefined,
|
|
667
|
-
'privacy-notice');
|
|
661
|
+
#getSharedDisclaimerBulletPoints(): Array<{icon: string, text: Common.UIString.LocalizedString|Lit.LitTemplate}> {
|
|
662
|
+
const tosLink = html`<devtools-link href="https://policies.google.com/terms" .jslogContext=${'terms-of-service'}>${
|
|
663
|
+
i18nString(UIStrings.termsOfService)}</devtools-link>`;
|
|
664
|
+
const privacyNoticeLink = html`<devtools-link href="https://policies.google.com/privacy" .jslogContext=${
|
|
665
|
+
'privacy-notice'}>${i18nString(UIStrings.privacyNotice)}</devtools-link>`;
|
|
668
666
|
const noLogging = Root.Runtime.hostConfig.aidaAvailability?.enterprisePolicyValue ===
|
|
669
667
|
Root.Runtime.GenAiEnterprisePolicyValue.ALLOW_WITHOUT_LOGGING;
|
|
670
668
|
|
|
@@ -680,10 +678,10 @@ export class AISettingsTab extends UI.Widget.VBox {
|
|
|
680
678
|
},
|
|
681
679
|
{
|
|
682
680
|
icon: 'policy',
|
|
683
|
-
text:
|
|
681
|
+
text: uiI18n.getFormatLocalizedStringTemplate(str_, UIStrings.termsOfServicePrivacyNotice, {
|
|
684
682
|
PH1: tosLink,
|
|
685
683
|
PH2: privacyNoticeLink,
|
|
686
|
-
})
|
|
684
|
+
}),
|
|
687
685
|
},
|
|
688
686
|
];
|
|
689
687
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import '../../../ui/components/settings/settings.js';
|
|
6
6
|
import '../../../ui/components/tooltips/tooltips.js';
|
|
7
|
+
import '../../../ui/kit/kit.js';
|
|
7
8
|
|
|
8
9
|
import * as Common from '../../../core/common/common.js';
|
|
9
10
|
import * as Host from '../../../core/host/host.js';
|
|
@@ -179,12 +180,12 @@ const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLElement)
|
|
|
179
180
|
<div class="plan-details">
|
|
180
181
|
${getGdpSubscriptionText(input.gdpProfile)}
|
|
181
182
|
·
|
|
182
|
-
<
|
|
183
|
-
.
|
|
183
|
+
<devtools-link
|
|
184
|
+
.jslogContext=${'view-profile'}
|
|
184
185
|
class="link"
|
|
185
186
|
href=${Host.GdpClient.GOOGLE_DEVELOPER_PROGRAM_PROFILE_LINK}>
|
|
186
187
|
${i18nString(UIStrings.viewProfile)}
|
|
187
|
-
</
|
|
188
|
+
</devtools-link></div>
|
|
188
189
|
${hasReceiveBadgesCheckbox ? html`
|
|
189
190
|
<div class="setting-container" ${ref(el => {
|
|
190
191
|
output.highlightReceiveBadgesSetting = () => {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
/* eslint-disable @devtools/no-lit-render-outside-of-view*/
|
|
5
5
|
|
|
6
|
+
import '../../../../ui/kit/kit.js';
|
|
6
7
|
import '../../../../ui/legacy/legacy.js';
|
|
7
8
|
|
|
8
9
|
import * as i18n from '../../../../core/i18n/i18n.js';
|
|
@@ -488,13 +489,6 @@ export class UserAgentClientHintsForm extends HTMLElement {
|
|
|
488
489
|
this.dispatchEvent(new ClientHintsChangeEvent());
|
|
489
490
|
};
|
|
490
491
|
|
|
491
|
-
#handleLinkPress = (event: KeyboardEvent): void => {
|
|
492
|
-
if (event.code === 'Space' || event.code === 'Enter') {
|
|
493
|
-
event.preventDefault();
|
|
494
|
-
(event.target as HTMLAnchorElement).click();
|
|
495
|
-
}
|
|
496
|
-
};
|
|
497
|
-
|
|
498
492
|
#handleSubmit = (event: Event): void => {
|
|
499
493
|
event.preventDefault();
|
|
500
494
|
if (this.#showSubmitButton) {
|
|
@@ -869,17 +863,15 @@ export class UserAgentClientHintsForm extends HTMLElement {
|
|
|
869
863
|
${i18nString(UIStrings.title)}
|
|
870
864
|
</div>
|
|
871
865
|
<devtools-icon tabindex=${this.#isFormDisabled ? '-1' : '0'} class=info-icon name=info aria-label=${i18nString(UIStrings.userAgentClientHintsInfo)} title=${i18nString(UIStrings.userAgentClientHintsInfo)}></devtools-icon>
|
|
872
|
-
<
|
|
866
|
+
<devtools-link
|
|
873
867
|
tabindex=${this.#isFormDisabled ? '-1' : '0'}
|
|
874
868
|
href="https://web.dev/user-agent-client-hints/"
|
|
875
|
-
target="_blank"
|
|
876
869
|
class="link"
|
|
877
|
-
@keypress=${this.#handleLinkPress}
|
|
878
870
|
aria-label=${i18nString(UIStrings.learnMore)}
|
|
879
|
-
|
|
871
|
+
.jslogContext=${'learn-more'}
|
|
880
872
|
>
|
|
881
873
|
${i18nString(UIStrings.learnMore)}
|
|
882
|
-
</
|
|
874
|
+
</devtools-link>
|
|
883
875
|
</div>
|
|
884
876
|
<form
|
|
885
877
|
id="form-container"
|
|
@@ -141,7 +141,7 @@ UI.ViewManager.registerViewExtension({
|
|
|
141
141
|
title: i18nLazyString(UIStrings.experiments),
|
|
142
142
|
commandPrompt: i18nLazyString(UIStrings.showExperiments),
|
|
143
143
|
order: 3,
|
|
144
|
-
experiment: Root.
|
|
144
|
+
experiment: Root.ExperimentNames.ExperimentName.ALL,
|
|
145
145
|
async loadView() {
|
|
146
146
|
const Settings = await loadSettingsModule();
|
|
147
147
|
return new Settings.SettingsScreen.ExperimentsSettingsTab();
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
/* eslint-disable @devtools/no-imperative-dom-api */
|
|
5
5
|
|
|
6
|
+
import '../../ui/kit/kit.js';
|
|
6
7
|
import '../../ui/legacy/legacy.js';
|
|
7
8
|
|
|
8
9
|
import * as Common from '../../core/common/common.js';
|
|
@@ -141,9 +142,9 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
141
142
|
</div>
|
|
142
143
|
<div class=link-wrapper>
|
|
143
144
|
<devtools-icon name=open-externally class=link-icon></devtools-icon>
|
|
144
|
-
<
|
|
145
|
-
|
|
146
|
-
i18nString(UIStrings.learnMoreOnBreakpointTypes)}</
|
|
145
|
+
<devtools-link class="devtools-link" href="https://goo.gle/devtools-loc"
|
|
146
|
+
.jslogContext=${'learn-more'}>${
|
|
147
|
+
i18nString(UIStrings.learnMoreOnBreakpointTypes)}</devtools-link>
|
|
147
148
|
</div>
|
|
148
149
|
`,
|
|
149
150
|
// clang-format on
|
|
@@ -45,6 +45,7 @@ import {Directives, html, render} from '../../ui/lit/lit.js';
|
|
|
45
45
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
46
46
|
|
|
47
47
|
import callStackSidebarPaneStyles from './callStackSidebarPane.css.js';
|
|
48
|
+
import {QuickSourceView, SourcesPanel} from './SourcesPanel.js';
|
|
48
49
|
|
|
49
50
|
const UIStrings = {
|
|
50
51
|
/**
|
|
@@ -285,7 +286,9 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
|
|
|
285
286
|
if (this.maxAsyncStackChainDepth === defaultMaxAsyncStackChainDepth) {
|
|
286
287
|
this.list.selectNextItem(true /* canWrap */, false /* center */);
|
|
287
288
|
const selectedItem = this.list.selectedItem();
|
|
288
|
-
if (selectedItem
|
|
289
|
+
if (selectedItem &&
|
|
290
|
+
(UI.Context.Context.instance().flavor(QuickSourceView) ||
|
|
291
|
+
UI.Context.Context.instance().flavor(SourcesPanel))) {
|
|
289
292
|
this.activateItem(selectedItem);
|
|
290
293
|
}
|
|
291
294
|
}
|
|
@@ -74,7 +74,7 @@ export class FilteredUISourceCodeListProvider extends QuickOpen.FilteredListWidg
|
|
|
74
74
|
if (this.uiSourceCodeIds.has(uiSourceCode.canonicalScriptId())) {
|
|
75
75
|
return false;
|
|
76
76
|
}
|
|
77
|
-
if (Root.Runtime.experiments.isEnabled(Root.
|
|
77
|
+
if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.JUST_MY_CODE) &&
|
|
78
78
|
Workspace.IgnoreListManager.IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(
|
|
79
79
|
uiSourceCode)) {
|
|
80
80
|
return false;
|
|
@@ -179,7 +179,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
|
|
|
179
179
|
private authoredNode?: NavigatorGroupTreeNode;
|
|
180
180
|
private deployedNode?: NavigatorGroupTreeNode;
|
|
181
181
|
private navigatorGroupByFolderSetting: Common.Settings.Setting<boolean>;
|
|
182
|
-
private navigatorGroupByAuthoredExperiment?:
|
|
182
|
+
private navigatorGroupByAuthoredExperiment?: Root.ExperimentNames.ExperimentName;
|
|
183
183
|
#workspace!: Workspace.Workspace.WorkspaceImpl;
|
|
184
184
|
private groupByFrame?: boolean;
|
|
185
185
|
private groupByAuthored?: boolean;
|
|
@@ -217,7 +217,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
|
|
|
217
217
|
this.navigatorGroupByFolderSetting = Common.Settings.Settings.instance().moduleSetting('navigator-group-by-folder');
|
|
218
218
|
this.navigatorGroupByFolderSetting.addChangeListener(this.groupingChanged.bind(this));
|
|
219
219
|
if (enableAuthoredGrouping) {
|
|
220
|
-
this.navigatorGroupByAuthoredExperiment = Root.
|
|
220
|
+
this.navigatorGroupByAuthoredExperiment = Root.ExperimentNames.ExperimentName.AUTHORED_DEPLOYED_GROUPING;
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
Workspace.IgnoreListManager.IgnoreListManager.instance().addChangeListener(this.ignoreListChanged.bind(this));
|
|
@@ -457,7 +457,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
|
|
|
457
457
|
}
|
|
458
458
|
|
|
459
459
|
private addUISourceCode(uiSourceCode: Workspace.UISourceCode.UISourceCode): void {
|
|
460
|
-
if (Root.Runtime.experiments.isEnabled(Root.
|
|
460
|
+
if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.JUST_MY_CODE) &&
|
|
461
461
|
Workspace.IgnoreListManager.IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(
|
|
462
462
|
uiSourceCode)) {
|
|
463
463
|
return;
|
|
@@ -1188,7 +1188,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
|
|
|
1188
1188
|
}
|
|
1189
1189
|
|
|
1190
1190
|
private ignoreListChanged(): void {
|
|
1191
|
-
if (Root.Runtime.experiments.isEnabled(Root.
|
|
1191
|
+
if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.JUST_MY_CODE)) {
|
|
1192
1192
|
this.groupingChanged();
|
|
1193
1193
|
} else {
|
|
1194
1194
|
this.rootNode.updateTitleRecursive();
|
|
@@ -429,6 +429,7 @@ export class SourcesPanel extends UI.Panel.Panel implements
|
|
|
429
429
|
SourcesPanel.updateResizerAndSidebarButtons(this);
|
|
430
430
|
}
|
|
431
431
|
this.editorView.setMainWidget(this.#sourcesView);
|
|
432
|
+
this.callstackPane.requestUpdate();
|
|
432
433
|
}
|
|
433
434
|
|
|
434
435
|
override willHide(): void {
|
|
@@ -638,7 +639,8 @@ export class SourcesPanel extends UI.Panel.Panel implements
|
|
|
638
639
|
}
|
|
639
640
|
|
|
640
641
|
private addExperimentMenuItem(
|
|
641
|
-
menuSection: UI.ContextMenu.Section, experiment:
|
|
642
|
+
menuSection: UI.ContextMenu.Section, experiment: Root.ExperimentNames.ExperimentName,
|
|
643
|
+
menuItem: Common.UIString.LocalizedString): void {
|
|
642
644
|
/** menu handler **/
|
|
643
645
|
function toggleExperiment(): void {
|
|
644
646
|
const checked = Root.Runtime.experiments.isEnabled(experiment);
|
|
@@ -668,10 +670,11 @@ export class SourcesPanel extends UI.Panel.Panel implements
|
|
|
668
670
|
{checked: groupByFolderSetting.get(), jslogContext: groupByFolderSetting.name});
|
|
669
671
|
|
|
670
672
|
this.addExperimentMenuItem(
|
|
671
|
-
contextMenu.viewSection(), Root.
|
|
673
|
+
contextMenu.viewSection(), Root.ExperimentNames.ExperimentName.AUTHORED_DEPLOYED_GROUPING,
|
|
672
674
|
i18nString(UIStrings.groupByAuthored));
|
|
673
675
|
this.addExperimentMenuItem(
|
|
674
|
-
contextMenu.viewSection(), Root.
|
|
676
|
+
contextMenu.viewSection(), Root.ExperimentNames.ExperimentName.JUST_MY_CODE,
|
|
677
|
+
i18nString(UIStrings.hideIgnoreListed));
|
|
675
678
|
}
|
|
676
679
|
|
|
677
680
|
updateLastModificationTime(): void {
|
|
@@ -966,7 +969,7 @@ export class SourcesPanel extends UI.Panel.Panel implements
|
|
|
966
969
|
const eventTarget = (event.target as Node);
|
|
967
970
|
if (!uiSourceCode.project().isServiceProject() &&
|
|
968
971
|
!eventTarget.isSelfOrDescendant(this.navigatorTabbedLocation.widget().element) &&
|
|
969
|
-
!(Root.Runtime.experiments.isEnabled(Root.
|
|
972
|
+
!(Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.JUST_MY_CODE) &&
|
|
970
973
|
Workspace.IgnoreListManager.IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(
|
|
971
974
|
uiSourceCode))) {
|
|
972
975
|
contextMenu.revealSection().appendItem(
|
|
@@ -377,10 +377,10 @@ export class HeadersViewComponent extends HTMLElement {
|
|
|
377
377
|
${i18nString(UIStrings.addOverrideRule)}
|
|
378
378
|
</devtools-button>
|
|
379
379
|
<div class="learn-more-row">
|
|
380
|
-
<
|
|
380
|
+
<devtools-link
|
|
381
381
|
href="https://goo.gle/devtools-override"
|
|
382
382
|
class="link"
|
|
383
|
-
|
|
383
|
+
jslogContext=${'learn-more'}>${i18nString(UIStrings.learnMore)}</devtools-link>
|
|
384
384
|
</div>
|
|
385
385
|
`, this.#shadow, {host: this});
|
|
386
386
|
// clang-format on
|
|
@@ -42,7 +42,7 @@ function isShowPostMessageEventsEnabled(): boolean {
|
|
|
42
42
|
// cache is updated automatically.
|
|
43
43
|
if (showPostMessageEvents === undefined) {
|
|
44
44
|
showPostMessageEvents =
|
|
45
|
-
Root.Runtime.experiments.isEnabled(Root.
|
|
45
|
+
Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_SHOW_POST_MESSAGE_EVENTS);
|
|
46
46
|
}
|
|
47
47
|
return showPostMessageEvents;
|
|
48
48
|
}
|
|
@@ -327,7 +327,8 @@ export class CompatibilityTracksAppender {
|
|
|
327
327
|
}
|
|
328
328
|
};
|
|
329
329
|
const threads = Trace.Handlers.Threads.threadsInTrace(this.#parsedTrace.data);
|
|
330
|
-
const showAllEvents =
|
|
330
|
+
const showAllEvents =
|
|
331
|
+
Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.TIMELINE_SHOW_ALL_EVENTS);
|
|
331
332
|
|
|
332
333
|
for (const {pid, tid, name, type, entries, tree} of threads) {
|
|
333
334
|
if (this.#parsedTrace.data.Meta.traceIsGeneric) {
|