The bulk of this commit was generated by running:
run-clang-tidy.py \
-checks='-*,llvm-namespace-comment' \
-header-filter=^/.../mozilla-central/.* \
-fix
Normally, this could be served by the process ID of a plugin, however, run ID is meant
to be consumed by multi-process browser chrome code for telling different runs of a
plugin apart (for example, for searching the DOM for a crashed instance of a plugin,
while ensuring that we don't accidentally find newly spawned instances that have not
crashed). Exposing something as low-level as the process ID to browser chrome code
seemed like Too Much Information. Also, there is the extremely unlikely chance that
a process ID might be re-used immediately after the original process shuts down. This
run ID avoids that case, regardless of how unlikely.
This patch has a few side effects:
1. Plugins in the chrome process are "mirrored" to all content processes,
although this mirroring is currently imperfect (bug 1090576)
2. Plugins are no longer sorted by modification date in nsPluginHost.
3. Plugin exceptions are no longer propagated to JS code. They are ignored.