зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1890076 - Make browser.startup.record and browser.startup.recordImage static prefs. r=florian
Differential Revision: https://phabricator.services.mozilla.com/D206830
This commit is contained in:
Родитель
62f13f310c
Коммит
fcf4e263b0
|
@ -70,13 +70,6 @@ function checkPrefGetters(stats, max, knownProblematicPrefs = {}) {
|
|||
}
|
||||
}
|
||||
|
||||
// This pref will be accessed by mozJSComponentLoader when loading modules,
|
||||
// which fails TV runs since they run the test multiple times without restarting.
|
||||
// We just ignore this pref, since it's for testing only anyway.
|
||||
if (knownProblematicPrefs["browser.startup.record"]) {
|
||||
delete knownProblematicPrefs["browser.startup.record"];
|
||||
}
|
||||
|
||||
let unusedPrefs = Object.keys(knownProblematicPrefs);
|
||||
is(
|
||||
unusedPrefs.length,
|
||||
|
@ -104,18 +97,9 @@ add_task(async function startup() {
|
|||
let max = 40;
|
||||
|
||||
let knownProblematicPrefs = {
|
||||
"browser.startup.record": {
|
||||
// This pref is accessed in Nighly and debug builds only.
|
||||
min: 200,
|
||||
max: 450,
|
||||
},
|
||||
"network.loadinfo.skip_type_assertion": {
|
||||
// This is accessed in debug only.
|
||||
},
|
||||
"chrome.override_package.global": {
|
||||
min: 0,
|
||||
max: 50,
|
||||
},
|
||||
};
|
||||
|
||||
let startupRecorder =
|
||||
|
@ -135,9 +119,6 @@ add_task(async function open_10_tabs() {
|
|||
const max = 4 * DEFAULT_PROCESS_COUNT;
|
||||
|
||||
let knownProblematicPrefs = {
|
||||
"browser.startup.record": {
|
||||
max: 20,
|
||||
},
|
||||
"browser.tabs.remote.logSwitchTiming": {
|
||||
max: 35,
|
||||
},
|
||||
|
|
|
@ -6,6 +6,23 @@ const Cm = Components.manager;
|
|||
Cm.QueryInterface(Ci.nsIServiceManager);
|
||||
|
||||
import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
|
||||
const lazy = {};
|
||||
|
||||
XPCOMUtils.defineLazyPreferenceGetter(
|
||||
lazy,
|
||||
"BROWSER_STARTUP_RECORD",
|
||||
"browser.startup.record",
|
||||
false
|
||||
);
|
||||
|
||||
XPCOMUtils.defineLazyPreferenceGetter(
|
||||
lazy,
|
||||
"BROWSER_STARTUP_RECORD_IMAGES",
|
||||
"browser.startup.recordImages",
|
||||
false
|
||||
);
|
||||
|
||||
let firstPaintNotification = "widget-first-paint";
|
||||
// widget-first-paint fires much later than expected on Linux.
|
||||
|
@ -98,10 +115,7 @@ StartupRecorder.prototype = {
|
|||
return;
|
||||
}
|
||||
|
||||
if (
|
||||
!Services.prefs.getBoolPref("browser.startup.record", false) &&
|
||||
!Services.prefs.getBoolPref("browser.startup.recordImages", false)
|
||||
) {
|
||||
if (!lazy.BROWSER_STARTUP_RECORD && !lazy.BROWSER_STARTUP_RECORD_IMAGES) {
|
||||
this._resolve();
|
||||
this._resolve = null;
|
||||
return;
|
||||
|
@ -118,7 +132,7 @@ StartupRecorder.prototype = {
|
|||
"browser-startup-idle-tasks-finished",
|
||||
];
|
||||
|
||||
if (Services.prefs.getBoolPref("browser.startup.recordImages", false)) {
|
||||
if (lazy.BROWSER_STARTUP_RECORD_IMAGES) {
|
||||
// For code simplicify, recording images excludes the other startup
|
||||
// recorder behaviors, so we can observe only the image topics.
|
||||
topics = [
|
||||
|
@ -180,7 +194,7 @@ StartupRecorder.prototype = {
|
|||
this.record.bind(this, "before handling user events")
|
||||
);
|
||||
} else if (topic == "browser-startup-idle-tasks-finished") {
|
||||
if (Services.prefs.getBoolPref("browser.startup.recordImages", false)) {
|
||||
if (lazy.BROWSER_STARTUP_RECORD_IMAGES) {
|
||||
Services.obs.removeObserver(this, "image-drawing");
|
||||
Services.obs.removeObserver(this, "image-loading");
|
||||
this._resolve();
|
||||
|
|
|
@ -1505,7 +1505,7 @@ nsresult mozJSModuleLoader::GetLoadedJSAndESModules(
|
|||
#ifdef STARTUP_RECORDER_ENABLED
|
||||
void mozJSModuleLoader::RecordImportStack(JSContext* aCx,
|
||||
const nsACString& aLocation) {
|
||||
if (!Preferences::GetBool("browser.startup.record", false)) {
|
||||
if (!StaticPrefs::browser_startup_record()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1515,7 +1515,7 @@ void mozJSModuleLoader::RecordImportStack(JSContext* aCx,
|
|||
|
||||
void mozJSModuleLoader::RecordImportStack(
|
||||
JSContext* aCx, JS::loader::ModuleLoadRequest* aRequest) {
|
||||
if (!Preferences::GetBool("browser.startup.record", false)) {
|
||||
if (!StaticPrefs::browser_startup_record()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1659,6 +1659,13 @@
|
|||
mirror: once
|
||||
do_not_use_directly: true
|
||||
|
||||
#if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION) || defined(DEBUG)
|
||||
- name: browser.startup.record
|
||||
type: bool
|
||||
value: false
|
||||
mirror: always
|
||||
#endif
|
||||
|
||||
# Causes SessionStore to ignore non-final update messages from
|
||||
# browser tabs that were not caused by a flush from the parent.
|
||||
# This is a testing flag and should not be used by end-users.
|
||||
|
|
Загрузка…
Ссылка в новой задаче