feat: Lazy load database for omnibox resultsç, b=no-bug, c=no-component

This commit is contained in:
mr. m
2025-09-27 11:45:50 +02:00
parent 45f0fd503c
commit b3d981c585

View File

@@ -10,11 +10,22 @@ const DEFAULT_DB_DATA = '{}';
const DEPRIORITIZE_MAX = -4;
const PRIORITIZE_MAX = 5;
function addDataToLazy(data) {
try {
lazy.databaseData = JSON.parse(data);
} catch {
lazy.databaseData = {};
}
}
XPCOMUtils.defineLazyPreferenceGetter(
lazy,
'database',
'rawDatabase',
'zen.urlbar.suggestions-learner',
'DEFAULT_DB_DATA'
DEFAULT_DB_DATA,
(_aPreference, _previousValue, newValue) => {
addDataToLazy(newValue);
}
);
/**
@@ -33,14 +44,12 @@ XPCOMUtils.defineLazyPreferenceGetter(
* The priority number is incremented each time the command is executed.
*/
class ZenUrlbarResultsLearner {
constructor() {}
constructor() {
addDataToLazy(lazy.rawDatabase);
}
get database() {
try {
return JSON.parse(lazy.database);
} catch {
return {};
}
return lazy.databaseData;
}
saveDatabase(db) {