MCPcopy Index your code
hub / github.com/darkreader/darkreader / start

Method start

src/background/extension.ts:231–266  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

229 }
230
231 static async start(): Promise<void> {
232 Extension.init();
233 await TabManager.cleanState();
234 await DevTools.init(Extension.onSettingsChanged);
235 await Promise.all([
236 ConfigManager.load({local: true}),
237 Extension.MV3syncSystemColorStateManager(null),
238 UserStorage.loadSettings(),
239 ]);
240
241 if (UserStorage.settings.enableContextMenus && !Extension.registeredContextMenus) {
242 chrome.permissions.contains({permissions: ['contextMenus']}, (permitted) => {
243 if (permitted) {
244 Extension.registerContextMenus();
245 } else {
246 logWarn('User has enabled context menus, but did not provide permission.');
247 }
248 });
249 }
250 if (UserStorage.settings.syncSitesFixes) {
251 await ConfigManager.load({local: false});
252 }
253 Extension.updateAutoState();
254 Extension.runWakeDetector();
255 Extension.onAppToggle();
256 logInfo('loaded', UserStorage.settings);
257
258 if (__THUNDERBIRD__) {
259 TabManager.registerMailDisplayScript();
260 } else if (!__CHROMIUM_MV3__ || Extension.isFirstLoad) {
261 TabManager.updateContentScript({runOnProtectedPages: UserStorage.settings.enableForProtectedPages});
262 }
263
264 UserStorage.settings.fetchNews && Newsmaker.subscribe();
265 Extension.startBarrier!.resolve();
266 }
267
268 private static getMessengerAdapter(): ExtensionAdapter {
269 return {

Callers

nothing calls this directly

Calls 15

logWarnFunction · 0.90
logInfoFunction · 0.90
cleanStateMethod · 0.80
allMethod · 0.80
loadMethod · 0.80
loadSettingsMethod · 0.80
registerContextMenusMethod · 0.80
updateAutoStateMethod · 0.80
runWakeDetectorMethod · 0.80
onAppToggleMethod · 0.80

Tested by

no test coverage detected