chrome-devtools-frontend 1.0.1556696 → 1.0.1559913
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/front_end/Images/src/container.svg +4 -0
- package/front_end/core/common/Gzip.ts +15 -0
- package/front_end/core/common/Object.ts +5 -1
- package/front_end/core/host/ResourceLoader.ts +1 -1
- package/front_end/core/host/UserMetrics.ts +3 -1
- package/front_end/core/sdk/CSSMetadata.ts +6 -6
- package/front_end/core/sdk/CSSModel.ts +2 -2
- package/front_end/core/sdk/DOMModel.ts +14 -3
- package/front_end/core/sdk/NetworkManager.ts +0 -7
- package/front_end/core/sdk/SourceMap.ts +16 -2
- package/front_end/core/sdk/SourceMapManager.ts +1 -1
- package/front_end/core/sdk/SourceMapScopesInfo.ts +11 -4
- package/front_end/entrypoints/formatter_worker/FormatterActions.ts +1 -0
- package/front_end/entrypoints/formatter_worker/ScopeParser.ts +51 -8
- package/front_end/entrypoints/main/GlobalAiButton.ts +5 -1
- package/front_end/generated/Deprecation.ts +0 -7
- package/front_end/generated/InspectorBackendCommands.ts +5 -4
- package/front_end/generated/SupportedCSSProperties.js +64 -32
- package/front_end/generated/protocol-mapping.d.ts +9 -0
- package/front_end/generated/protocol-proxy-api.d.ts +7 -0
- package/front_end/generated/protocol.ts +23 -1
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +1 -1
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +11 -7
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +3 -3
- package/front_end/models/bindings/CompilerScriptMapping.ts +7 -6
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +4 -4
- package/front_end/models/javascript_metadata/NativeFunctions.js +2 -2
- package/front_end/models/stack_trace/StackTraceImpl.ts +5 -3
- package/front_end/models/stack_trace/StackTraceModel.ts +53 -40
- package/front_end/models/trace/EventsSerializer.ts +8 -2
- package/front_end/models/trace/LanternComputationData.ts +4 -3
- package/front_end/models/trace/Processor.ts +6 -5
- package/front_end/models/trace/Styles.ts +10 -1
- package/front_end/models/trace/handlers/LargestImagePaintHandler.ts +2 -2
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +2 -2
- package/front_end/models/trace/handlers/MetaHandler.ts +14 -0
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +54 -34
- package/front_end/models/trace/helpers/Timing.ts +8 -1
- package/front_end/models/trace/insights/Common.ts +1 -1
- package/front_end/models/trace/insights/LCPBreakdown.ts +4 -4
- package/front_end/models/trace/insights/LCPDiscovery.ts +3 -3
- package/front_end/models/trace/insights/RenderBlocking.ts +1 -1
- package/front_end/models/trace/insights/types.ts +1 -1
- package/front_end/models/trace/types/TraceEvents.ts +62 -10
- package/front_end/panels/application/AppManifestView.ts +134 -223
- package/front_end/panels/application/CookieItemsView.ts +1 -0
- package/front_end/panels/application/SharedStorageTreeElement.ts +3 -0
- package/front_end/panels/application/appManifestView.css +1 -1
- package/front_end/panels/common/AiCodeGenerationTeaser.ts +48 -12
- package/front_end/panels/common/aiCodeGenerationTeaser.css +14 -0
- package/front_end/panels/common/common.ts +1 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +4 -3
- package/front_end/panels/console/consoleView.css +1 -1
- package/front_end/panels/elements/CSSRuleValidator.ts +38 -0
- package/front_end/panels/elements/ElementsTreeElement.ts +108 -58
- package/front_end/panels/elements/ElementsTreeOutline.ts +0 -17
- package/front_end/panels/elements/ElementsTreeOutlineRenderer.ts +7 -1
- package/front_end/panels/elements/StylesSidebarPane.ts +15 -4
- package/front_end/panels/elements/components/AdornerManager.ts +8 -0
- package/front_end/panels/emulation/DeviceModeToolbar.ts +3 -1
- package/front_end/panels/issues/AffectedResourcesView.ts +0 -1
- package/front_end/panels/lighthouse/LighthousePanel.ts +10 -0
- package/front_end/panels/lighthouse/lighthousePanel.css +46 -3
- package/front_end/panels/network/NetworkLogViewColumns.ts +9 -9
- package/front_end/panels/network/RequestCookiesView.ts +125 -141
- package/front_end/panels/network/components/RequestHeadersView.ts +2 -2
- package/front_end/panels/network/requestCookiesView.css +22 -20
- package/front_end/panels/recorder/components/RecordingView.ts +3 -3
- package/front_end/panels/recorder/components/StepView.ts +2 -1
- package/front_end/panels/settings/keybindsSettingsTab.css +4 -0
- package/front_end/panels/sources/CallStackSidebarPane.ts +7 -3
- package/front_end/panels/sources/DebuggerPausedMessage.ts +125 -90
- package/front_end/panels/sources/SourcesPanel.ts +10 -7
- package/front_end/panels/sources/debuggerPausedMessage.css +8 -0
- package/front_end/panels/timeline/StatusDialog.ts +4 -3
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +3 -16
- package/front_end/panels/timeline/TimelineFlameChartView.ts +64 -21
- package/front_end/panels/timeline/TimelinePanel.ts +71 -24
- package/front_end/panels/timeline/TimelineUIUtils.ts +28 -2
- package/front_end/panels/timeline/TimingsTrackAppender.ts +3 -1
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +1 -1
- package/front_end/panels/timeline/components/insights/RenderBlocking.ts +6 -4
- package/front_end/panels/timeline/components/sidebarInsightsTab.css +2 -0
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +4 -0
- package/front_end/panels/timeline/timelinePanel.css +8 -1
- package/front_end/panels/timeline/utils/EntryNodes.ts +2 -1
- package/front_end/third_party/acorn/estree-legacy.d.ts +2 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +12 -0
- 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/Page.d.ts +14 -2
- 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/Browser.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js +0 -20
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +3 -1
- 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 +10 -14
- 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/BrowsingContext.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +14 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +3 -1
- 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 +12 -0
- 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/EmulationManager.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.js +22 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +3 -1
- 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 +9 -2
- 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/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 +26 -0
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +72 -15
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +12 -0
- 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/Page.d.ts +14 -2
- 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/Browser.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js +0 -20
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +3 -1
- 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 +11 -15
- 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/BrowsingContext.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +14 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +3 -1
- 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 +12 -0
- 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/EmulationManager.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.js +22 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +3 -1
- 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 +9 -2
- 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/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 +26 -0
- package/front_end/third_party/puppeteer/package/package.json +1 -1
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +18 -0
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +16 -2
- package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +13 -0
- package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +0 -33
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +14 -28
- package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +19 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +19 -0
- package/front_end/third_party/puppeteer/package/src/cdp/EmulationManager.ts +30 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +15 -6
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/icon_button/iconButton.css +3 -1
- package/front_end/ui/components/report_view/ReportView.ts +11 -2
- package/front_end/ui/components/report_view/report.css +16 -0
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +202 -32
- package/front_end/ui/components/text_editor/config.ts +6 -6
- package/front_end/ui/legacy/ContextMenu.ts +11 -2
- package/front_end/ui/legacy/SearchableView.ts +11 -5
- package/front_end/ui/legacy/SplitWidget.ts +1 -1
- package/front_end/ui/legacy/TextPrompt.ts +1 -1
- package/front_end/ui/legacy/Toolbar.ts +4 -0
- package/front_end/ui/legacy/UIUtils.ts +0 -2
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +18 -3
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +3 -3
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +6 -0
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +43 -9
- package/front_end/ui/visual_logging/KnownContextValues.ts +13 -0
- package/package.json +1 -1
|
@@ -66,7 +66,7 @@ export function isLCPDiscoveryInsight(model: InsightModel): model is LCPDiscover
|
|
|
66
66
|
return model.insightKey === 'LCPDiscovery';
|
|
67
67
|
}
|
|
68
68
|
export type LCPDiscoveryInsightModel = InsightModel<typeof UIStrings, {
|
|
69
|
-
lcpEvent?: Types.Events.
|
|
69
|
+
lcpEvent?: Types.Events.AnyLargestContentfulPaintCandidate,
|
|
70
70
|
/** The network request for the LCP image, if there was one. */
|
|
71
71
|
lcpRequest?: Types.Events.SyntheticNetworkRequest,
|
|
72
72
|
earliestDiscoveryTimeTs?: Types.Timing.Micro,
|
|
@@ -108,13 +108,13 @@ export function generateInsight(
|
|
|
108
108
|
throw new Error('no frame metrics');
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
const navMetrics = frameMetrics.get(context.
|
|
111
|
+
const navMetrics = frameMetrics.get(context.navigation);
|
|
112
112
|
if (!navMetrics) {
|
|
113
113
|
throw new Error('no navigation metrics');
|
|
114
114
|
}
|
|
115
115
|
const metricScore = navMetrics.get(Handlers.ModelHandlers.PageLoadMetrics.MetricName.LCP);
|
|
116
116
|
const lcpEvent = metricScore?.event;
|
|
117
|
-
if (!lcpEvent || !Types.Events.
|
|
117
|
+
if (!lcpEvent || !Types.Events.isAnyLargestContentfulPaintCandidate(lcpEvent)) {
|
|
118
118
|
return finalize({warnings: [InsightWarning.NO_LCP]});
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -185,7 +185,7 @@ export function generateInsight(
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
const firstPaintTs = data.PageLoadMetrics.metricScoresByFrameId.get(context.frameId)
|
|
188
|
-
?.get(context.
|
|
188
|
+
?.get(context.navigation)
|
|
189
189
|
?.get(Handlers.ModelHandlers.PageLoadMetrics.MetricName.FP)
|
|
190
190
|
?.event?.ts;
|
|
191
191
|
if (!firstPaintTs) {
|
|
@@ -96,7 +96,7 @@ export type InsightModel<UIStrings extends Record<string, string> = Record<strin
|
|
|
96
96
|
/**
|
|
97
97
|
* If this insight is attached to a navigation, this stores its ID.
|
|
98
98
|
*/
|
|
99
|
-
|
|
99
|
+
navigation?: Types.Events.NavigationStart,
|
|
100
100
|
/** This is lazily-generated because some insights may create many overlays. */
|
|
101
101
|
createOverlays?: () => Types.Overlays.Overlay[],
|
|
102
102
|
};
|
|
@@ -100,6 +100,8 @@ export interface ArgsData {
|
|
|
100
100
|
sampleTraceId?: number;
|
|
101
101
|
url?: string;
|
|
102
102
|
navigationId?: string;
|
|
103
|
+
/** For soft navs. */
|
|
104
|
+
performanceTimelineNavigationId?: number;
|
|
103
105
|
frame?: string;
|
|
104
106
|
}
|
|
105
107
|
|
|
@@ -702,6 +704,29 @@ export interface NavigationStart extends Mark {
|
|
|
702
704
|
};
|
|
703
705
|
}
|
|
704
706
|
|
|
707
|
+
export interface SoftNavigationStart extends Event {
|
|
708
|
+
name: Name.SOFT_NAVIGATION_START;
|
|
709
|
+
ph: Phase.ASYNC_NESTABLE_INSTANT;
|
|
710
|
+
args: Args&{
|
|
711
|
+
frame: string,
|
|
712
|
+
context: {
|
|
713
|
+
softNavContextId: number,
|
|
714
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
715
|
+
URL: string,
|
|
716
|
+
timeOrigin: number,
|
|
717
|
+
domModifications: number,
|
|
718
|
+
firstContentfulPaint: number,
|
|
719
|
+
paintedArea: number,
|
|
720
|
+
performanceTimelineNavigationId: number,
|
|
721
|
+
repaintedArea: number,
|
|
722
|
+
},
|
|
723
|
+
};
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
export function isSoftNavigationStart(event: Event): event is SoftNavigationStart {
|
|
727
|
+
return event.name === Name.SOFT_NAVIGATION_START;
|
|
728
|
+
}
|
|
729
|
+
|
|
705
730
|
export interface FirstContentfulPaint extends Mark {
|
|
706
731
|
name: Name.MARK_FCP;
|
|
707
732
|
args: Args&{
|
|
@@ -722,27 +747,30 @@ export interface FirstPaint extends Mark {
|
|
|
722
747
|
};
|
|
723
748
|
}
|
|
724
749
|
|
|
725
|
-
export type PageLoadEvent = FirstContentfulPaint|MarkDOMContent|InteractiveTime|
|
|
726
|
-
LayoutShift|FirstPaint|MarkLoad|NavigationStart;
|
|
750
|
+
export type PageLoadEvent = FirstContentfulPaint|MarkDOMContent|InteractiveTime|AnyLargestContentfulPaintCandidate|
|
|
751
|
+
LayoutShift|FirstPaint|MarkLoad|NavigationStart|SoftNavigationStart;
|
|
727
752
|
|
|
728
753
|
const markerTypeGuards = [
|
|
729
754
|
isMarkDOMContent,
|
|
730
755
|
isMarkLoad,
|
|
731
756
|
isFirstPaint,
|
|
732
757
|
isFirstContentfulPaint,
|
|
733
|
-
|
|
758
|
+
isAnyLargestContentfulPaintCandidate,
|
|
734
759
|
isNavigationStart,
|
|
760
|
+
isSoftNavigationStart,
|
|
735
761
|
];
|
|
736
762
|
|
|
737
|
-
export const MarkerName =
|
|
738
|
-
|
|
763
|
+
export const MarkerName = [
|
|
764
|
+
'MarkDOMContent', 'MarkLoad', 'firstPaint', 'firstContentfulPaint', 'largestContentfulPaint::Candidate',
|
|
765
|
+
'largestContentfulPaint::CandidateForSoftNavigation'
|
|
766
|
+
] as const;
|
|
739
767
|
|
|
740
768
|
export interface MarkerEvent extends Event {
|
|
741
769
|
name: typeof MarkerName[number];
|
|
742
770
|
}
|
|
743
771
|
|
|
744
772
|
export function isMarkerEvent(event: Event): event is MarkerEvent {
|
|
745
|
-
if (event.ph === Phase.INSTANT || event.ph === Phase.MARK) {
|
|
773
|
+
if (event.ph === Phase.INSTANT || Phase.ASYNC_NESTABLE_INSTANT || event.ph === Phase.MARK) {
|
|
746
774
|
return markerTypeGuards.some(fn => fn(event));
|
|
747
775
|
}
|
|
748
776
|
return false;
|
|
@@ -754,7 +782,7 @@ const pageLoadEventTypeGuards = [
|
|
|
754
782
|
];
|
|
755
783
|
|
|
756
784
|
export function eventIsPageLoadEvent(event: Event): event is PageLoadEvent {
|
|
757
|
-
if (event.ph === Phase.INSTANT || event.ph === Phase.MARK) {
|
|
785
|
+
if (event.ph === Phase.INSTANT || Phase.ASYNC_NESTABLE_INSTANT || event.ph === Phase.MARK) {
|
|
758
786
|
return pageLoadEventTypeGuards.some(fn => fn(event));
|
|
759
787
|
}
|
|
760
788
|
return false;
|
|
@@ -777,6 +805,28 @@ export interface LargestContentfulPaintCandidate extends Mark {
|
|
|
777
805
|
},
|
|
778
806
|
};
|
|
779
807
|
}
|
|
808
|
+
|
|
809
|
+
export interface LargestContentfulPaintCandidateForSoftNavigation extends Mark {
|
|
810
|
+
name: Name.MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION;
|
|
811
|
+
args: Args&{
|
|
812
|
+
frame: string,
|
|
813
|
+
data?: ArgsData&{
|
|
814
|
+
candidateIndex: number,
|
|
815
|
+
isOutermostMainFrame: boolean,
|
|
816
|
+
isMainFrame: boolean,
|
|
817
|
+
nodeId: Protocol.DOM.BackendNodeId,
|
|
818
|
+
loadingAttr: string,
|
|
819
|
+
performanceTimelineNavigationId: number,
|
|
820
|
+
type?: string,
|
|
821
|
+
// Landed in Chrome M140: crrev.com/c/6702010
|
|
822
|
+
nodeName?: string,
|
|
823
|
+
},
|
|
824
|
+
};
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
export type AnyLargestContentfulPaintCandidate =
|
|
828
|
+
LargestContentfulPaintCandidate|LargestContentfulPaintCandidateForSoftNavigation;
|
|
829
|
+
|
|
780
830
|
export interface LargestImagePaintCandidate extends Mark {
|
|
781
831
|
name: 'LargestImagePaint::Candidate';
|
|
782
832
|
args: Args&{
|
|
@@ -2209,8 +2259,8 @@ export function isFirstContentfulPaint(event: Event): event is FirstContentfulPa
|
|
|
2209
2259
|
return event.name === 'firstContentfulPaint';
|
|
2210
2260
|
}
|
|
2211
2261
|
|
|
2212
|
-
export function
|
|
2213
|
-
return event.name === Name.MARK_LCP_CANDIDATE;
|
|
2262
|
+
export function isAnyLargestContentfulPaintCandidate(event: Event): event is AnyLargestContentfulPaintCandidate {
|
|
2263
|
+
return event.name === Name.MARK_LCP_CANDIDATE || event.name === Name.MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION;
|
|
2214
2264
|
}
|
|
2215
2265
|
export function isLargestImagePaintCandidate(event: Event): event is LargestImagePaintCandidate {
|
|
2216
2266
|
return event.name === 'LargestImagePaint::Candidate';
|
|
@@ -2336,7 +2386,7 @@ export function isPrePaint(
|
|
|
2336
2386
|
|
|
2337
2387
|
/** A VALID navigation start (as it has a populated documentLoaderURL) */
|
|
2338
2388
|
export function isNavigationStart(event: Event): event is NavigationStart {
|
|
2339
|
-
return event.name ===
|
|
2389
|
+
return event.name === Name.NAVIGATION_START && (event as NavigationStart).args?.data?.documentLoaderURL !== '';
|
|
2340
2390
|
}
|
|
2341
2391
|
|
|
2342
2392
|
export interface DidCommitSameDocumentNavigation extends Complete {
|
|
@@ -3089,8 +3139,10 @@ export const enum Name {
|
|
|
3089
3139
|
MARK_FIRST_PAINT = 'firstPaint',
|
|
3090
3140
|
MARK_FCP = 'firstContentfulPaint',
|
|
3091
3141
|
MARK_LCP_CANDIDATE = 'largestContentfulPaint::Candidate',
|
|
3142
|
+
MARK_LCP_CANDIDATE_FOR_SOFT_NAVIGATION = 'largestContentfulPaint::CandidateForSoftNavigation',
|
|
3092
3143
|
MARK_LCP_INVALIDATE = 'largestContentfulPaint::Invalidate',
|
|
3093
3144
|
NAVIGATION_START = 'navigationStart',
|
|
3145
|
+
SOFT_NAVIGATION_START = 'SoftNavigationStart',
|
|
3094
3146
|
CONSOLE_TIME = 'ConsoleTime',
|
|
3095
3147
|
USER_TIMING = 'UserTiming',
|
|
3096
3148
|
INTERACTIVE_TIME = 'InteractiveTime',
|