If we don't increment the plugin epoch in the parent process before
the first call to LoadPlugins, and all plugin info is already cached,
the epochs will match and we'll never get a complete plugin list in
the child. This patch makes sure our first parent/child epoch check
never matches, so we always update correctly.
MozReview-Commit-ID: Jj1F8m3aeGx
Every JS plugin is assigned a unique ID. When an instance of a JS plugin is created the
frame loader that we use to load the plugin's handler URI will create a special
TabContext. This TabContext causes the ContentParent to use the process for this specific
JS plugin (creating one if it hasn't already) when it creates the PBrowser actors.
This causes the iframes for all the instances of a specific JS plugin to be grouped in the
same process.
--HG--
extra : rebase_source : c39560bdf66cda1a005c7b823b3a46e4734878a4
extra : source : 9cba1db527c7eed4371c9f4caf96fd942608cab6
This patch removes the C++ code used to run the minidump analyzer when a
content process crashes, and replaces it with JS code within the CrashService
object. This removes the need for a separate shutdown blocker in C++ code and
allows end-to-end testing of the crash service functionality. Additionally
the exception handler code can be simplified since it's now only used to run
the crash reporter client.
The test added to test_crash_service.js covers computing the minidump SHA256
hash (bug 1322611) and of the minidump analyzer itself (bug 1280477).
MozReview-Commit-ID: LO5w839NHev
The Flash sandbox (which is the only thing this variable is used for) is stable
at this point, and for testing purposes we still have MOZ_DISABLE_NPAPI_SANDBOX.
MozReview-Commit-ID: 6sxb1tx7oA9
--HG--
extra : rebase_source : d960c5a7afb04b90f098516f955b5fd00628b6a8
SetCursorPos is used by Flash's relative cursor motion behavior. It is blocked by the plugin sandbox. This patch allows it to run by proxying it on the main process.
--HG--
extra : histedit_source : 85515d398c0c107c2258185c0591a943b26e724a
This also removes a rule that was added for sandboxing the Java plugin,
which we never did and we now only allow Flash anyway.
MozReview-Commit-ID: Jn6pCkLoGNM
--HG--
extra : source : 431267ab28deabef6ed7c791d8dff79e3fe590c1
Remove the addPluginView and removePluginView methods from
GeckoInterface. Instead, move the JNI calls directly to GeckoApp itself.
GeckoApp then uses GeckoActivityMonitor to find the current activity,
instead of using GeckoAppShell.getGeckoInterface().
MozReview-Commit-ID: 7ym8kuElADV
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
The list of reftests modified here is based on searching for all reftest.list/crashtest.list files with the "haveTestPlugin" string.
MozReview-Commit-ID: L0Pw6ZMwAF1
--HG--
extra : rebase_source : 13a84cf620ad87bd52d2a38f3356be2c0d24783d
NPN_PostURLNotify(file=true) is no longer supported in NPAPI.
MozReview-Commit-ID: 12JlYduC7R8
--HG--
extra : rebase_source : dc9bd752f74b727d003c1371211095bc6656b8d3
Note that this test never actually fails short of passing file parameter to
NPN_PostURLNotify actually causing the browser to crash. It can't distinguish
between the case when file is working or not.
MozReview-Commit-ID: 1G590ZWpHsE
--HG--
extra : rebase_source : c294bc109b893c81b6ee4c3114bb039eab77af08
This is an optional parameter that can be used to test streams via file. It may
be necessary to back out this change when NPAPI sandbox is completed as the
testplugin may no longer be able to access files.
MozReview-Commit-ID: FsYxhKKr4hS
--HG--
extra : rebase_source : 5ee413531b5b178c92a1d5cf5c2223e624e02296
NPN_PostURL(file=true) is no longer supported in NPAPI.
MozReview-Commit-ID: IyLJSj4bKRR
--HG--
extra : rebase_source : f684a634c649eb3bae4f802f43fe810d3d88f96b
Sometimes ptrStreamBuffer may not be null-terminated and random memory
areas get printed out when running MOZ_LOG=Plugin:5,PluginNPP:5,PluginNPN:5
MozReview-Commit-ID: 4cyDhukl1Tx
--HG--
extra : rebase_source : 5e7b762d9634b8902f441143994a13d241e29ea0
Currently the profiler mostly uses an array of strings to represent which
features are available and in use. This patch changes the profiler core to use
a uint32_t bitfield, which is a much simpler and faster representation.
(nsProfiler and the profiler add-on still use the array of strings, alas.) The
new ProfilerFeature type defines the values in the bitfield.
One side-effect of this change is that profiler_feature_active() now can be
used to query all features. Previously it was just a subset.
Another side-effect is that profiler_get_available_features() no longer incorrectly
indicates support for Java and stack-walking when they aren't supported. (The
handling of task tracer support is unchanged, because the old code handled it
correctly.)