In addition, the following Firefox Remote Settings pref is reflected:. These work the same way as all other Firefox policies and the documentation for those explains how to use them. The agent checks these registry-reflected pref values when its scheduled task runs, they do not actually prevent the scheduled task from running.Įnterprise policies also exist to perform the same functions as these prefs. The list of reflected prefs includes the global telemetry opt-out pref and a pref called default-browser-agent.enabled, which can enable or disable the entire agent. During Firefox startup, the values of the prefs that control the agent are reflected to this key, and those values are updated whenever the prefs change after that. Specifically, the subkey used for these prefs is HKEY_CURRENT_USER\Software\\\Default Browser Agent\. The Windows registry was chosen as that place it’s easier to use than a file, and we already have keys there which are reserved by Firefox. This means those pref values have to be copied out to a place where the agent can read them. The agent needs to be able to read (but not set) values that have their canonical representation in the form of Firefox prefs. Since the agent operates in the context only of an OS-level user, that means that in this situation a single OS-level user who uses multiple Firefox profiles may be able to observe the agent’s settings changing as the different profiles race to be the active mirror, without them knowingly taking any action. So, in order to allow for controlling the agent from Firefox, certain settings are mirrored from Firefox to a location where the agent can read them. This need creates an information architecture mismatch between all of those things, mostly because no Firefox profile is available to the agent while it’s running it’s not really feasible to either directly use or to clone Firefox’s profile selection functionality, and even if we could select a profile, whatever code we might use to actually work with it would have the same problems. The default browser agent has to be able to work with settings at several different levels: a Firefox profile, an OS user, a Firefox installation, and the entire system. Therefore, the default browser agent runs as the user that ran the Firefox installer (although always without elevation, whether the installer had it or not). The default browser agent needs to run as some OS-level user, as opposed to, say, LOCAL SERVICE, in order to read the user’s default browser setting. The task is configured with one action, which is to run the agent binary with the command line parameter do-task, the command that invokes the actual agent functionality. The task is set to run automatically every 24 hours starting at the time it’s registered (with the first run being 24 hours after that), or the nearest time after that the computer is awake. ![]() They’re created in a tasks folder called “Mozilla” (or whatever the application’s vendor name is), and there’s one for each installation of Firefox (or other Mozilla application). The tasks are normal entries in the Windows Task Scheduler, managed using its Win32 API. The PostUpdate code also calls the agent to update any properties of an existing task registration that need to be updated, or to create one during an application update if none exists. The Windows installer is responsible for creating (and the uninstaller for removing) the agent’s task entry, but the code for actually doing this resides in the agent itself, and the installers simply call it using dedicated command line parameters ( register-task and uninstall). The scheduled task executes all of the agent’s primary functions all of its other functions relate to managing the task. The agent runs as a Windows scheduled task. Getting Set Up To Work On The Firefox Codebase.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |