As part of Quantum/Photon, we are working on improving startup <https://bugzilla.mozilla.org/show_bug.cgi?id=1355956>. More specifically, we care a lot about reducing the time it takes to first paint the browser window. Sometimes this means removing useless code <https://bugzilla.mozilla.org/show_bug.cgi?id=1369345>, but more often it means delaying initialization of some components until after first paint. Following this approach, we already delayed initialization of Places (1 <https://bugzilla.mozilla.org/show_bug.cgi?id=1371710>, 2 <https://bugzilla.mozilla.org/show_bug.cgi?id=1373387>), NSS (1 <https://bugzilla.mozilla.org/show_bug.cgi?id=1362364>, 2 <https://bugzilla.mozilla.org/show_bug.cgi?id=1337043>, 3 <https://bugzilla.mozilla.org/show_bug.cgi?id=1367450>, 4 <https://bugzilla.mozilla.org/show_bug.cgi?id=1370832>), Task.jsm (1 <https://bugzilla.mozilla.org/show_bug.cgi?id=1353542>, 2 <https://bugzilla.mozilla.org/show_bug.cgi?id=1374282>), and the search service (1 <https://bugzilla.mozilla.org/show_bug.cgi?id=1359031>, 2 <https://bugzilla.mozilla.org/show_bug.cgi?id=1369705>). These things are easy to regress, so I decided to add test coverage to prevent future accidents (we actually saw things loaded during early startup only by accident <https://bugzilla.mozilla.org/show_bug.cgi?id=1358648>).
We now have a test checking what gets loaded during startup. This works by having an XPCOM component (startupRecorder.js <http://searchfox.org/mozilla-central/rev/2bcd258281da848311769281daf735601685de2d/browser/components/tests/startupRecorder.js>) loaded early during startup that fetches the list of loaded JS modules and components <https://bugzilla.mozilla.org/show_bug.cgi?id=1358798> and the list of instantiated services <https://bugzilla.mozilla.org/show_bug.cgi?id=1372326> at various phases of startup. (Note: this component only exists on Nightly and debug builds, to avoid overhead for release users). We then have a browser chrome test (browser_startup.js <http://searchfox.org/mozilla-central/rev/2bcd258281da848311769281daf735601685de2d/browser/base/content/test/performance/browser_startup.js>) that gets the data from startupRecorder.js, and compares it with whitelists and blacklists. Eventually we want to review everything that gets loaded during startup, and whitelist only the modules that have a valid reason to be loaded before first paint. Currently we have only done it for code loaded at app-startup <https://bugzilla.mozilla.org/show_bug.cgi?id=1369467>, and we have blacklists for code loaded during later stages of startup. Here is where I would like your help: - please don't add anything to the whitelists in browser_startup.js without asking me (or someone else working on photon-performance) for review; our whitelists should shrink, not grow. - when you successfully delay initialization of some code during startup, consider adding test coverage to ensure it won't regress. Blacklisting something is a simple one line addition to browser_startup.js - please have a quick look at the list of what's currently loaded. If you see some low hanging fruits there, or some code that you own that gets loaded too early, please file a bug to get it fixed (feel free to cc me on it). As a rule of thumb, anything that doesn't impact the appearance of the browser window at first paint shouldn't be loaded before first paint. You can see this list by running ./mach test browser/base/content/test/performance/browser_startup.js on your local build. For convenience, I'm including at the end of this message the current list the test outputs on Windows. Looking forward to a faster than ever Firefox 57! Thanks, Florian components loaded before profile selection: WebContentConverter.js components loaded before profile selection: nsBrowserGlue.js components loaded before profile selection: MainProcessSingleton.js components loaded before profile selection: nsSessionStartup.js components loaded before profile selection: PushComponents.js modules loaded before profile selection: resource://gre/modules/Services.jsm modules loaded before profile selection: resource://gre/modules/XPCOMUtils.jsm modules loaded before profile selection: resource://gre/modules/AsyncPrefs.jsm modules loaded before profile selection: resource://gre/modules/RemotePageManager.jsm modules loaded before profile selection: resource://gre/modules/AppConstants.jsm modules loaded before profile selection: resource://gre/modules/Promise.jsm services loaded before profile selection: @mozilla.org/xre/runtime;1 services loaded before profile selection: @mozilla.org/docloaderservice;1 services loaded before profile selection: @ mozilla.org/spellcheck/dir-provider;1 services loaded before profile selection: @ mozilla.org/test/startuprecorder;1 services loaded before profile selection: @ mozilla.org/layout/content-policy;1 services loaded before profile selection: @mozilla.org/rdf/container-utils;1 services loaded before profile selection: @ mozilla.org/scriptsecuritymanager;1 services loaded before profile selection: @ mozilla.org/network/protocol;1?name=chrome services loaded before profile selection: @ mozilla.org/network/protocol;1?name=jar services loaded before profile selection: @ mozilla.org/network/url-parser;1?auth=maybe services loaded before profile selection: @mozilla.org/intl/wbrk;1 services loaded before profile selection: @mozilla.org/network/io-service;1 services loaded before profile selection: @mozilla.org/push/Notifier;1 services loaded before profile selection: @ mozilla.org/network/url-parser;1?auth=no services loaded before profile selection: @ mozilla.org/xpti/interfaceinfomanager-service;1 services loaded before profile selection: @ mozilla.org/browser/directory-provider;1 services loaded before profile selection: @ mozilla.org/network/protocol;1?name=resource services loaded before profile selection: @ mozilla.org/browser/sessionstartup;1 services loaded before profile selection: @mozilla.org/moz/jsloader;1 services loaded before profile selection: @mozilla.org/toolkit/app-startup;1 services loaded before profile selection: @mozilla.org/categorymanager;1 services loaded before profile selection: @ mozilla.org/network/url-parser;1?auth=yes services loaded before profile selection: @ mozilla.org/parentprocessmessagemanager;1 services loaded before profile selection: @ mozilla.org/chrome/chrome-registry;1 services loaded before profile selection: @ mozilla.org/file/directory_service;1 services loaded before profile selection: @mozilla.org/network/util;1 services loaded before profile selection: @mozilla.org/uuid-generator;1 services loaded before profile selection: @ mozilla.org/appshell/window-mediator;1 services loaded before profile selection: @mozilla.org/preferences;1 services loaded before profile selection: @ mozilla.org/network/captive-portal-service;1 services loaded before profile selection: @ mozilla.org/main-process-singleton;1 services loaded before profile selection: @ mozilla.org/network/protocol;1?name=file services loaded before profile selection: @mozilla.org/xre/app-info;1 services loaded before profile selection: @mozilla.org/intl/stringbundle;1 services loaded before profile selection: @mozilla.org/network/idn-service;1 services loaded before profile selection: @mozilla.org/rdf/rdf-service;1 services loaded before profile selection: @mozilla.org/network/dns-service;1 services loaded before profile selection: @mozilla.org/cspservice;1 services loaded before profile selection: @mozilla.org/widget/appshell/win;1 services loaded before profile selection: @ mozilla.org/embedcomp/window-watcher;1 services loaded before profile selection: @mozilla.org/intl/lbrk;1 services loaded before profile selection: @ mozilla.org/embeddor.implemented/web-content-handler-registrar;1 services loaded before profile selection: @mozilla.org/xpcom/error-service;1 services loaded before profile selection: @ mozilla.org/network/network-link-service;1 services loaded before profile selection: @mozilla.org/browser/browserglue;1 services loaded before profile selection: @mozilla.org/preferences-service;1 services loaded before profile selection: @ mozilla.org/childprocessmessagemanager;1 services loaded before profile selection: @ mozilla.org/network/request-context-service;1 services loaded before profile selection: @mozilla.org/observer-service;1 services loaded before profile selection: @ mozilla.org/rdf/datasource;1?name=window-mediator services loaded before profile selection: @ mozilla.org/memory-reporter-manager;1 services loaded before profile selection: @mozilla.org/base/telemetry;1 services loaded before profile selection: @ mozilla.org/network/socket-transport-service;1 services loaded before profile selection: @ mozilla.org/toolkit/crash-reporter;1 services loaded before profile selection: @mozilla.org/mixedcontentblocker;1 services loaded before profile selection: @ mozilla.org/moz/jssubscript-loader;1 services loaded before profile selection: @ mozilla.org/globalmessagemanager;1 components loaded before opening first browser window: multiprocessShims.js components loaded before opening first browser window: defaultShims.js components loaded before opening first browser window: CrashService.js components loaded before opening first browser window: SanityTest.js components loaded before opening first browser window: marionette.js components loaded before opening first browser window: addonManager.js components loaded before opening first browser window: ExperimentsService.js components loaded before opening first browser window: nsBlocklistService.js components loaded before opening first browser window: nsCrashMonitor.js components loaded before opening first browser window: extension-process-script.js components loaded before opening first browser window: nsUpdateTimerManager.js modules loaded before opening first browser window: resource://gre/modules/osfile/osfile_native.jsm modules loaded before opening first browser window: resource:///modules/CustomizableUI.jsm modules loaded before opening first browser window: resource://gre/modules/Preferences.jsm modules loaded before opening first browser window: resource://gre/modules/Task.jsm modules loaded before opening first browser window: resource://gre/modules/osfile/ospath_win.jsm modules loaded before opening first browser window: resource://shield-recipe-client/lib/LogManager.jsm modules loaded before opening first browser window: resource://gre/modules/addons/GMPProvider.jsm modules loaded before opening first browser window: resource://gre/modules/RemoteAddonsParent.jsm modules loaded before opening first browser window: resource://gre/modules/JSONFile.jsm modules loaded before opening first browser window: resource://gre/modules/osfile.jsm modules loaded before opening first browser window: resource://gre/modules/addons/XPIInstall.jsm modules loaded before opening first browser window: resource://gre/modules/ChromeManifestParser.jsm modules loaded before opening first browser window: resource://shield-recipe-client/lib/CleanupManager.jsm modules loaded before opening first browser window: resource://gre/modules/AsyncShutdown.jsm modules loaded before opening first browser window: resource://gre/modules/ctypes.jsm modules loaded before opening first browser window: resource://gre/modules/TelemetryUtils.jsm modules loaded before opening first browser window: resource:///modules/SearchWidgetTracker.jsm modules loaded before opening first browser window: resource://gre/modules/PrivateBrowsingUtils.jsm modules loaded before opening first browser window: chrome://webcompat-reporter/content/TabListener.jsm modules loaded before opening first browser window: resource:///modules/PermissionUI.jsm modules loaded before opening first browser window: chrome://webcompat/content/lib/ua_overrider.jsm modules loaded before opening first browser window: chrome://presentation/content/PresentationDevicePrompt.jsm modules loaded before opening first browser window: resource://gre/modules/ObjectUtils.jsm modules loaded before opening first browser window: resource://gre/modules/Timer.jsm modules loaded before opening first browser window: resource://gre/modules/LightweightThemeManager.jsm modules loaded before opening first browser window: resource://gre/modules/GMPUtils.jsm modules loaded before opening first browser window: resource://gre/modules/TelemetrySession.jsm modules loaded before opening first browser window: chrome://pocket/content/AboutPocket.jsm modules loaded before opening first browser window: resource://gre/modules/Locale.jsm modules loaded before opening first browser window: resource://gre/modules/UpdateUtils.jsm modules loaded before opening first browser window: resource://gre/modules/FileUtils.jsm modules loaded before opening first browser window: resource://gre/modules/RemoteAddonsChild.jsm modules loaded before opening first browser window: resource://formautofill/FormAutofillContent.jsm modules loaded before opening first browser window: resource://gre/modules/CrashMonitor.jsm modules loaded before opening first browser window: chrome://webcompat/content/data/ua_overrides.jsm modules loaded before opening first browser window: resource://gre/modules/osfile/ospath.jsm modules loaded before opening first browser window: resource://gre/modules/Prefetcher.jsm modules loaded before opening first browser window: resource://gre/modules/osfile/osfile_shared_allthreads.jsm modules loaded before opening first browser window: resource://gre/modules/osfile/osfile_async_front.jsm modules loaded before opening first browser window: resource://gre/modules/Log.jsm modules loaded before opening first browser window: resource://gre/modules/NetUtil.jsm modules loaded before opening first browser window: resource://gre/modules/MessageChannel.jsm modules loaded before opening first browser window: resource://gre/modules/KeyValueParser.jsm modules loaded before opening first browser window: resource://gre/modules/DeferredTask.jsm modules loaded before opening first browser window: resource://gre/modules/PromiseWorker.jsm modules loaded before opening first browser window: resource://gre/modules/TelemetryController.jsm modules loaded before opening first browser window: resource://gre/modules/ExtensionUtils.jsm modules loaded before opening first browser window: resource://gre/modules/addons/AddonSettings.jsm modules loaded before opening first browser window: resource://gre/modules/PromiseUtils.jsm modules loaded before opening first browser window: resource://gre/modules/addons/E10SAddonsRollout.jsm modules loaded before opening first browser window: resource://formautofill/FormAutofillUtils.jsm modules loaded before opening first browser window: resource://gre/modules/AddonManager.jsm modules loaded before opening first browser window: chrome://webcompat-reporter/content/WebCompatReporter.jsm modules loaded before opening first browser window: resource://gre/modules/TelemetryStopwatch.jsm modules loaded before opening first browser window: resource://services-common/utils.js modules loaded before opening first browser window: resource://formautofill/FormAutofillParent.jsm modules loaded before opening first browser window: resource:///modules/CustomizableWidgets.jsm modules loaded before opening first browser window: resource://gre/modules/addons/PluginProvider.jsm modules loaded before opening first browser window: resource://gre/modules/addons/XPIProvider.jsm modules loaded before opening first browser window: resource://gre/modules/osfile/osfile_win_allthreads.jsm modules loaded before opening first browser window: resource://gre/modules/CrashManager.jsm modules loaded before opening first browser window: resource://gre/modules/DeferredSave.jsm modules loaded before opening first browser window: resource://gre/modules/TelemetryTimestamps.jsm modules loaded before opening first browser window: resource://gre/modules/TelemetryEnvironment.jsm modules loaded before opening first browser window: resource://shield-recipe-client/lib/ShieldRecipeClient.jsm modules loaded before opening first browser window: resource://gre/modules/Console.jsm modules loaded before opening first browser window: resource://gre/modules/RemoteWebProgress.jsm services loaded before opening first browser window: @ mozilla.org/permissionmanager;1 services loaded before opening first browser window: @ mozilla.org/addons/addon-manager-startup;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=providerdirectory services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=feeds services loaded before opening first browser window: @ mozilla.org/webnavigation-info;1 services loaded before opening first browser window: @ mozilla.org/uriloader/external-helper-app-service;1 services loaded before opening first browser window: @ mozilla.org/xpcom/version-comparator;1 services loaded before opening first browser window: @mozilla.org/mime;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=downloads services loaded before opening first browser window: @ mozilla.org/autocomplete/controller;1 services loaded before opening first browser window: @ mozilla.org/extensions/blocklist;1 services loaded before opening first browser window: @ mozilla.org/toolkit/crashmonitor;1 services loaded before opening first browser window: @ mozilla.org/gecko-media-plugin-service;1 services loaded before opening first browser window: @ mozilla.org/webextensions/extension-process-script;1 services loaded before opening first browser window: @ mozilla.org/autocomplete/search;1?name=form-history services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=rights services loaded before opening first browser window: @ mozilla.org/systemprincipal;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=robots services loaded before opening first browser window: @ mozilla.org/docshell/urifixup;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=accounts services loaded before opening first browser window: @ mozilla.org/notificationTelemetryService;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=preferences services loaded before opening first browser window: @ mozilla.org/content/style-sheet-service;1 services loaded before opening first browser window: @ mozilla.org/updates/timer-manager;1 services loaded before opening first browser window: @ mozilla.org/appshell/appShellService;1 services loaded before opening first browser window: @ mozilla.org/presentation/presentationservice;1 services loaded before opening first browser window: @ mozilla.org/network/protocol;1?name=http services loaded before opening first browser window: @ mozilla.org/addons/default-addon-shims;1 services loaded before opening first browser window: @ mozilla.org/crashservice;1 services loaded before opening first browser window: @mozilla.org/psm;1 services loaded before opening first browser window: @ mozilla.org/consoleservice;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=privatebrowsing services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=searchreset services loaded before opening first browser window: @ mozilla.org/sanity-test;1 services loaded before opening first browser window: @ mozilla.org/security/x509certdb;1 services loaded before opening first browser window: @ mozilla.org/browser/experiments-service;1 services loaded before opening first browser window: @ mozilla.org/satchel/form-fill-controller;1 services loaded before opening first browser window: @ mozilla.org/remote/marionette;1 services loaded before opening first browser window: @ mozilla.org/addons/integration;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=certerror services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=socialerror services loaded before opening first browser window: @ mozilla.org/network/protocol;1?name=data services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=reader services loaded before opening first browser window: @ mozilla.org/network/stream-transport-service;1 services loaded before opening first browser window: @ mozilla.org/network/protocol;1?name=about services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=home services loaded before opening first browser window: @mozilla.org/gfx/info;1 services loaded before opening first browser window: @ mozilla.org/widget/idleservice;1 services loaded before opening first browser window: @ mozilla.org/js/xpc/XPConnect;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=newtab services loaded before opening first browser window: @ mozilla.org/process/environment;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=blank services loaded before opening first browser window: @ mozilla.org/addons/multiprocess-shims;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=tabcrashed services loaded before opening first browser window: @ mozilla.org/net/osfileconstantsservice;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=blocked services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=healthreport services loaded before opening first browser window: @ mozilla.org/gfx/screenmanager;1 services loaded before opening first browser window: @ mozilla.org/uriloader/external-protocol-service;1 services loaded before opening first browser window: @ mozilla.org/js/xpc/ContextStack;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=sessionrestore services loaded before opening first browser window: @ mozilla.org/network/protocol;1?name=https services loaded before opening first browser window: @ mozilla.org/system-info;1 services loaded before opening first browser window: @ mozilla.org/intl/localeservice;1 services loaded before opening first browser window: @ mozilla.org/presentation-device/manager;1 services loaded before opening first browser window: @ mozilla.org/storage/service;1 services loaded before opening first browser window: @ mozilla.org/network/protocol/about;1?what=welcomeback services loaded before opening first browser window: @ mozilla.org/network/protocol;1?name=moz-safe-about services loaded before opening first browser window: @ mozilla.org/addon-path-service;1 services loaded before opening first browser window: @ mozilla.org/thread-manager;1 services loaded before opening first browser window: @ mozilla.org/xpcom/debug;1 services loaded before opening first browser window: @ mozilla.org/widget/dragservice;1 services loaded before opening first browser window: @ mozilla.org/content/document-loader-factory;1 components loaded before first paint: devtools-startup.js components loaded before first paint: webideCli.js components loaded before first paint: nsAsyncShutdown.js components loaded before first paint: WorkerTest.js components loaded before first paint: nsUpdateServiceStub.js components loaded before first paint: nsSetDefaultBrowser.js components loaded before first paint: recording-cmdline.js components loaded before first paint: TelemetryStartup.js components loaded before first paint: nsDefaultCLH.js components loaded before first paint: nsURLFormatter.js components loaded before first paint: XULStore.js components loaded before first paint: nsBrowserContentHandler.js components loaded before first paint: FormHistoryStartup.js components loaded before first paint: nsTerminatorTelemetry.js modules loaded before first paint: resource://gre/modules/NotificationDB.jsm modules loaded before first paint: resource://gre/modules/PlacesUtils.jsm modules loaded before first paint: resource://gre/modules/InlineSpellChecker.jsm modules loaded before first paint: resource:///modules/sessionstore/RunState.jsm modules loaded before first paint: resource://gre/modules/LoginManagerContextMenu.jsm modules loaded before first paint: resource://gre/modules/LightweightThemeConsumer.jsm modules loaded before first paint: resource:///modules/FullZoomUI.jsm modules loaded before first paint: resource:///modules/BrowserUsageTelemetry.jsm modules loaded before first paint: resource:///modules/DownloadsCommon.jsm modules loaded before first paint: resource://gre/modules/TelemetrySend.jsm modules loaded before first paint: resource:///modules/sessionstore/GlobalState.jsm modules loaded before first paint: resource://gre/modules/ClientID.jsm modules loaded before first paint: resource:///modules/AttributionCode.jsm modules loaded before first paint: resource://gre/modules/TelemetryReportingPolicy.jsm modules loaded before first paint: resource:///modules/sessionstore/StartupPerformance.jsm modules loaded before first paint: resource://gre/modules/LegacyExtensionsUtils.jsm modules loaded before first paint: resource:///modules/DownloadsViewUI.jsm modules loaded before first paint: resource:///modules/sessionstore/ContentRestore.jsm modules loaded before first paint: resource://gre/modules/sessionstore/Utils.jsm modules loaded before first paint: resource://gre/modules/ProfileAge.jsm modules loaded before first paint: resource://services-sync/UIState.jsm modules loaded before first paint: chrome://mozscreenshots/content/Screenshot.jsm modules loaded before first paint: resource://gre/modules/ServiceRequest.jsm modules loaded before first paint: resource://services-common/observers.js modules loaded before first paint: resource://gre/modules/LoginManagerParent.jsm modules loaded before first paint: resource:///modules/PluginContent.jsm modules loaded before first paint: resource://gre/modules/addons/AddonRepository.jsm modules loaded before first paint: resource:///modules/experiments/Experiments.jsm modules loaded before first paint: resource:///modules/E10SUtils.jsm modules loaded before first paint: resource:///modules/ShellService.jsm modules loaded before first paint: chrome://mozscreenshots/content/TestRunner.jsm modules loaded before first paint: resource://gre/modules/PlacesBackups.jsm modules loaded before first paint: resource:///modules/distribution.js modules loaded before first paint: resource://gre/modules/UITelemetry.jsm modules loaded before first paint: resource://gre/modules/debug.js modules loaded before first paint: resource:///modules/sessionstore/SessionWorker.jsm modules loaded before first paint: resource://gre/modules/WindowDraggingUtils.jsm modules loaded before first paint: resource:///modules/RecentWindow.jsm modules loaded before first paint: resource:///modules/sessionstore/SessionStore.jsm modules loaded before first paint: resource:///modules/sessionstore/SessionFile.jsm modules loaded before first paint: resource://gre/modules/ExtensionCommon.jsm modules loaded before first paint: resource:///modules/BrowserUITelemetry.jsm modules loaded before first paint: resource://gre/modules/BrowserUtils.jsm modules loaded before first paint: resource:///modules/ContentLinkHandler.jsm modules loaded before first paint: resource:///modules/FormSubmitObserver.jsm modules loaded before first paint: resource:///modules/ContentCrashHandlers.jsm modules loaded before first paint: resource://gre/modules/sessionstore/SessionHistory.jsm modules loaded before first paint: resource:///modules/LaterRun.jsm modules loaded before first paint: resource:///modules/sessionstore/FrameTree.jsm modules loaded before first paint: resource:///modules/SitePermissions.jsm modules loaded before first paint: resource:///modules/PanelMultiView.jsm modules loaded before first paint: resource://gre/modules/ThirdPartyCookieProbe.jsm services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=text/rdf services loaded before first paint: @mozilla.org/image/tools;1 services loaded before first paint: @mozilla.org/async-shutdown-service;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=image/gif services loaded before first paint: @ mozilla.org/embedding/browser/content-policy;1 services loaded before first paint: @ mozilla.org/network/serialization-helper;1 services loaded before first paint: @mozilla.org/toolkit/profile-service;1 services loaded before first paint: @mozilla.org/browser/shell-service;1 services loaded before first paint: @mozilla.org/browser/history;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=image/jpg services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=image/svg+xml services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=text/css services loaded before first paint: @mozilla.org/browser/final-clh;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=application/vnd.mozilla.xul+xml services loaded before first paint: @ mozilla.org/network/protocol;1?name=default services loaded before first paint: @mozilla.org/sandbox/sandbox-settings;1 services loaded before first paint: @mozilla.org/browser/clh;1 services loaded before first paint: @mozilla.org/intl/ospreferences;1 services loaded before first paint: @ mozilla.org/browser/default-browser-clh;1 services loaded before first paint: @mozilla.org/widget/bidikeyboard;1 services loaded before first paint: @mozilla.org/xul/xulstore;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=text/html services loaded before first paint: @ mozilla.org/browser/nav-history-service;1 services loaded before first paint: @ mozilla.org/embeddor.implemented/bookmark-charset-resolver;1 services loaded before first paint: @mozilla.org/browser/webide-clh;1 services loaded before first paint: @mozilla.org/browser/download-history;1 services loaded before first paint: @mozilla.org/contentsecuritymanager;1 services loaded before first paint: @mozilla.org/power/powermanagerservice;1 services loaded before first paint: @mozilla.org/test/workertest;1 services loaded before first paint: @ mozilla.org/no-data-protocol-content-policy;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=application/xhtml+xml services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=application/http-index-format services loaded before first paint: @mozilla.org/serviceworkers/manager;1 services loaded before first paint: @ mozilla.org/updates/update-service-stub;1 services loaded before first paint: @ mozilla.org/toolkit/shutdown-terminator;1 services loaded before first paint: @ mozilla.org/commandlinehandler/general-startup;1?type=recording services loaded before first paint: @ mozilla.org/toolkit/shutdown-terminator-telemetry;1 services loaded before first paint: @mozilla.org/parser/parser-service;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=image/x-icon services loaded before first paint: @mozilla.org/dom/localStorage-manager;1 services loaded before first paint: @mozilla.org/dom/storagemanager;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=image/vnd.microsoft.icon services loaded before first paint: @mozilla.org/focus-manager;1 services loaded before first paint: @ mozilla.org/data-document-content-policy;1 services loaded before first paint: @mozilla.org/base/telemetry-startup;1 services loaded before first paint: @ mozilla.org/permissions/contentblocker;1 services loaded before first paint: @ mozilla.org/network/effective-tld-service;1 services loaded before first paint: @mozilla.org/network/mime-hdrparam;1 services loaded before first paint: @mozilla.org/uriloader;1 services loaded before first paint: @ mozilla.org/chrome/chrome-native-theme;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=text/plain services loaded before first paint: @mozilla.org/plugin/host;1 services loaded before first paint: @mozilla.org/addons/content-policy;1 services loaded before first paint: @mozilla.org/devtools/startup-clh;1 services loaded before first paint: @ mozilla.org/toolkit/osfile/native-internals;1 services loaded before first paint: @ mozilla.org/toolkit/URLFormatterService;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=image/jpeg services loaded before first paint: @mozilla.org/eventlistenerservice;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=text/xml services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=image/png services loaded before first paint: @mozilla.org/toolkit/default-clh;1 services loaded before first paint: @mozilla.org/thirdpartyutil;1 services loaded before first paint: @ mozilla.org/satchel/form-history-startup;1 services loaded before first paint: @ mozilla.org/uriloader/content-handler;1?type=image/bmp components loaded before handling user events: nsHandlerService-json.js components loaded before handling user events: SlowScriptDebug.js components loaded before handling user events: TooltipTextProvider.js components loaded before handling user events: nsContentPrefService.js components loaded before handling user events: nsWebHandlerApp.js components loaded before handling user events: UnifiedComplete.js components loaded before handling user events: nsSearchService.js modules loaded before handling user events: resource:///modules/WindowsJumpLists.jsm modules loaded before handling user events: resource://gre/modules/WindowsRegistry.jsm modules loaded before handling user events: resource://gre/modules/EventEmitter.jsm modules loaded before handling user events: resource:///modules/AboutNewTab.jsm modules loaded before handling user events: resource://gre/modules/IndexedDBHelper.jsm modules loaded before handling user events: resource:///modules/sessionstore/TabStateCache.jsm modules loaded before handling user events: resource://gre/modules/GMPInstallManager.jsm modules loaded before handling user events: resource:///modules/DirectoryLinksProvider.jsm modules loaded before handling user events: chrome://devtools-shim/content/DevToolsShim.jsm modules loaded before handling user events: resource://pdf.js/PdfjsContentUtils.jsm modules loaded before handling user events: resource://gre/modules/PushDB.jsm modules loaded before handling user events: resource:///modules/sessionstore/SessionSaver.jsm modules loaded before handling user events: resource://gre/modules/FxAccountsCommon.js modules loaded before handling user events: resource://gre/modules/ContentPrefStore.jsm modules loaded before handling user events: resource://gre/modules/PageThumbs.jsm modules loaded before handling user events: resource://gre/modules/PushRecord.jsm modules loaded before handling user events: resource://pdf.js/PdfjsChromeUtils.jsm modules loaded before handling user events: resource://services-crypto/utils.js modules loaded before handling user events: resource://gre/modules/CrashSubmit.jsm modules loaded before handling user events: resource://gre/modules/NewTabUtils.jsm modules loaded before handling user events: resource://gre/modules/PushService.jsm modules loaded before handling user events: resource://gre/modules/PushServiceWebSocket.jsm modules loaded before handling user events: resource://devtools/shared/loader-plugin-raw.jsm modules loaded before handling user events: resource://gre/modules/CertUtils.jsm modules loaded before handling user events: resource:///modules/ExtensionsUI.jsm modules loaded before handling user events: resource://pdf.js/PdfStreamConverter.jsm modules loaded before handling user events: resource://gre/modules/ContentPrefUtils.jsm modules loaded before handling user events: resource:///modules/Social.jsm modules loaded before handling user events: resource:///modules/sessionstore/TabState.jsm modules loaded before handling user events: resource://gre/modules/ContentPrefService2.jsm modules loaded before handling user events: resource://gre/modules/commonjs/toolkit/loader.js modules loaded before handling user events: resource://gre/modules/addons/ProductAddonChecker.jsm modules loaded before handling user events: resource://gre/modules/FxAccountsWebChannel.jsm modules loaded before handling user events: resource:///modules/WindowsPreviewPerTab.jsm modules loaded before handling user events: resource://gre/modules/AppMenuNotifications.jsm modules loaded before handling user events: resource://gre/modules/osfile/ospath_unix.jsm modules loaded before handling user events: resource://gre/modules/FxAccounts.jsm modules loaded before handling user events: resource://pdf.js/PdfJs.jsm modules loaded before handling user events: resource:///modules/ProcessHangMonitor.jsm modules loaded before handling user events: resource://gre/modules/WebChannel.jsm modules loaded before handling user events: resource://gre/modules/PushCrypto.jsm modules loaded before handling user events: resource://devtools/shared/Loader.jsm modules loaded before handling user events: resource://gre/modules/FxAccountsStorage.jsm modules loaded before handling user events: resource://services-common/rest.js modules loaded before handling user events: resource://gre/modules/PushServiceHttp2.jsm modules loaded before handling user events: resource://gre/modules/DateTimePickerHelper.jsm modules loaded before handling user events: resource:///modules/SocialService.jsm modules loaded before handling user events: resource://gre/modules/AutoCompletePopup.jsm services loaded before handling user events: @ mozilla.org/browser/search-service;1 services loaded before handling user events: @ mozilla.org/network/cache-service;1 services loaded before handling user events: @mozilla.org/windows-taskbar;1 services loaded before handling user events: @ mozilla.org/embedcomp/default-tooltiptextprovider;1 services loaded before handling user events: @ mozilla.org/content-pref/service;1 services loaded before handling user events: @ mozilla.org/spellchecker/engine;1 services loaded before handling user events: @ mozilla.org/autocomplete/search;1?name=unifiedcomplete services loaded before handling user events: @ mozilla.org/network/dashboard;1 services loaded before handling user events: @ mozilla.org/uriloader/handler-service;1 services loaded before handling user events: @ mozilla.org/spellchecker/personaldictionary;1 services loaded before handling user events: @ mozilla.org/dom/slow-script-debug;1 services loaded before handling user events: @ mozilla.org/network/protocol;1?name=wss services loaded before handling user events: @mozilla.org/widget/clipboard;1 -- Florian Quèze _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform