Confirmed users, Bureaucrats and Sysops emeriti
1,680
edits
| Line 38: | Line 38: | ||
== How Gecko Loads a GMP == | == How Gecko Loads a GMP == | ||
Gecko scans known locations either on disk or in the Windows registry for GMPs. It maintains a list of known GMPs, and when an API is requested by a consumer it scans the list for a GMP that can provide the API. | Gecko scans known locations either on disk or in the Windows registry for GMPs. | ||
* Windows | |||
** 'Path' entry for child entries of registry entry 'Software\\MozillaPlugins' under 'ROOT_KEY_LOCAL_MACHINE' | |||
* OS X | |||
** <code>~/Library/Internet Plugins/</code> | |||
** <code>/Library/Internet Plugins/</code> | |||
* Linux | |||
** <code>/usr/lib/mozilla/plugins/</code> | |||
It maintains a list of known GMPs, and when an API is requested by a consumer it scans the list for a GMP that can provide the API. | |||
Gecko will then spin up a child process for the GMP. GMPs can only be loaded out-of-process, there is no in-process option. Furthermore, child processes may be sandboxed, so GMPs cannot depend on being able to do things outside of the sandbox (like write to disk). | Gecko will then spin up a child process for the GMP. GMPs can only be loaded out-of-process, there is no in-process option. Furthermore, child processes may be sandboxed, so GMPs cannot depend on being able to do things outside of the sandbox (like write to disk). | ||