commit 1016d0a080948bd8d343b73e07f5b09f415319ee
parent d4a7b148e861dd09d1192d2793bdee11f52be0ce
Author: Alexandre Poirot <poirot.alex@gmail.com>
Date: Tue, 18 Nov 2025 10:02:51 +0000
Bug 1994951 - [devtools] Introduce a Web Compat profiler preset meant for JS Debugging. r=canaltinova,fluent-reviewers,devtools-reviewers,bolsson,nchevobbe
This is rather for debugging logic rather than investigating performance.
Differential Revision: https://phabricator.services.mozilla.com/D269239
Diffstat:
3 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/browser/locales/en-US/browser/appmenu.ftl b/browser/locales/en-US/browser/appmenu.ftl
@@ -233,6 +233,10 @@ profiler-popup-presets-debug-description = Preset for debugging in { -brand-shor
profiler-popup-presets-debug-label =
.label = Debug
+profiler-popup-presets-web-compat-description = Recommended preset for debugging web compatibility issues in websites, rather than tracking performance.
+profiler-popup-presets-web-compat-label =
+ .label = Web Compat
+
profiler-popup-presets-custom-label =
.label = Custom
diff --git a/devtools/client/locales/en-US/perftools.ftl b/devtools/client/locales/en-US/perftools.ftl
@@ -164,6 +164,9 @@ perftools-presets-power-description = Preset for investigating power use bugs in
perftools-presets-debug-label = Debug
perftools-presets-debug-description = Preset for debugging in { -brand-shorter-name }. High overhead, do not use for performance work but use for focusing on understanding browser behavior.
+perftools-presets-web-compat-label = Web Compat
+perftools-presets-web-compat-description = Recommended preset for debugging web compatibility issues in websites, rather than tracking performance.
+
perftools-presets-custom-label = Custom
##
diff --git a/devtools/shared/performance-new/prefs-presets.sys.mjs b/devtools/shared/performance-new/prefs-presets.sys.mjs
@@ -46,7 +46,7 @@ const PREF_PREFIX = "devtools.performance.recording.";
//
// IMPORTANT NOTE: Please keep the existing profiler presets in sync with their
// Fenix counterparts and consider adding any new presets to Fenix:
-// https://github.com/mozilla-mobile/firefox-android/blob/1d177e7e78d027e8ab32cedf0fc68316787d7454/fenix/app/src/main/java/org/mozilla/fenix/perf/ProfilerUtils.kt
+// https://searchfox.org/firefox-main/rev/d87eb30d610a3032111f9ee47441b53927de63d3/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/perf/ProfilerUtils.kt
/** @type {Presets} */
export const presets = {
@@ -293,6 +293,24 @@ export const presets = {
},
},
},
+ "web-compat": {
+ entries: 128 * 1024 * 1024,
+ interval: 1,
+ features: ["screenshots", "js", "stackwalk", "nostacksampling", "tracing"],
+ threads: ["GeckoMain", "DOM Worker"],
+ duration: 0,
+ profilerViewMode: "active-tab",
+ l10nIds: {
+ popup: {
+ label: "profiler-popup-presets-web-compat-label",
+ description: "profiler-popup-presets-web-compat-description",
+ },
+ devtools: {
+ label: "perftools-presets-web-compat-label",
+ description: "perftools-presets-web-compat-description",
+ },
+ },
+ },
};
/**