These tests mostly worked by accident in the past because assertions from
chrome scripts were not processed after a chrome script was destroyed, and
assertions were not treated as assertions anyway. But once those issues were
fixed, they started failing because of races in the RPC code in these tests,
which caused the first resolved call of a given method to resolve all other
calls as well, and not wait for them to finish and their assertions to fire
before ending the test.
--HG--
extra : rebase_source : 0578dd90e538ff0a8df3b8d9d0fbc426148e6ccd
extra : source : 19e0edc9207746c7987b98f3c7787b7c363d651d
Since JSWindowActors don't have direct access to synchronous messaging,
ChromeScript callers are going to need to migrate to asynchronous messaging
and queries instead.
Since there's no comparable API to sendQuery for frame message managers, this
patch adds a stub that uses synchronous messaging, but makes the API appear
asynchronous, and migrates callers to use it instead of direct synchronous
messaging. This will be replaced with a true synchronous API in the actor
migration.
Fortunately, most of the time, this actually leads to simpler code. The
`sendQuery` API doesn't have the odd return value semantics of
`sendSyncMessage`, and can usually just be used as a drop-in replacement. Many
of the `sendSyncMessage` callers don't actually use the result, and can just
be changed to `sendAsyncMessage`. And many of the existing async messaging
users can be changed to just use `sendQuery` rather than sending messages and
adding response listeners.
However, the APZ code is an exception. It relies on intricate properties of
the event loop, and doesn't have an easy way to slot in promise handlers, so I
migrated it to using sync messaging via process message managers instead.
Differential Revision: https://phabricator.services.mozilla.com/D35055
--HG--
extra : rebase_source : d5707e87f293a831a5cf2e0b0a7e977090267f78
extra : source : 75ebd6fce136ab3bd0e591c2b8b2d06d3b5bf923
add a webcompat intervention for TinyMCE 3.0 thru 3.4.4 to overwrite tiny_mce.js and tiny_mce_src.js such that isGecko=false
Differential Revision: https://phabricator.services.mozilla.com/D34776
--HG--
extra : moz-landing-system : lando
This also removes the two extra copies of the byte buffer that we had; we don't
need to copy it more than once. Once we have it in an std::vector, we can pass
that around by reference, not by value or by creating new vectors from copies
of its buffer.
Differential Revision: https://phabricator.services.mozilla.com/D34630
--HG--
extra : moz-landing-system : lando
Fixed report site issue: added marfeel and mobify support, fixed labels being passed to the server
Differential Revision: https://phabricator.services.mozilla.com/D33018
--HG--
rename : browser/extensions/report-site-issue/test/browser/fastclick2.html => browser/extensions/report-site-issue/test/browser/fastclick.html
rename : browser/extensions/report-site-issue/test/browser/fastclick1.html => browser/extensions/report-site-issue/test/browser/frameworks.html
extra : moz-landing-system : lando
This fixes issues with the NSS and LibSecret keystore not correctly rejecting unlocking of the key store.
Updated for dynamic loading of LibSecret and a bug workaround added elsewhere (updated green try below)
Depends on D9969.
Differential Revision: https://phabricator.services.mozilla.com/D7713
--HG--
extra : moz-landing-system : lando
add a site patch to fix PDK video player versions that are broken on Fennec
Differential Revision: https://phabricator.services.mozilla.com/D31122
--HG--
extra : moz-landing-system : lando
Large pdf files download in parts via range-based requests so that
users can begin reading before the entire file has finished
downloading. This is implemented using XMLHttpRequests. However, since
these requests are created in the chrome, they are given the System
Principal and lack the correct firstPartyDomain associated with the
parent window.
This patch manually sets the XMLHttpRequest's originAttributes to the
one provided by the real owning window cached in the
RangedChromeActions object. This is done via the chrome-only
setOriginAttributes method.
The method is called in the xhr_onreadystatechanged() callback rather
than directly after construction in getXhr() because the
setOriginAttributes implementation requires the internal nsIChannel
object to have been created but not used. Fortunately, the
XMLHttpRequest object fires the readStateChangedEvent precisely after
the channel has been created in the XmlHttpRequest's Open() method.
The nsIChannel's nsILoadInfo's OriginAttributes are now overwritten
with the known OriginAttributes of the parent window before anything
else has had a chance to use it.
Differential Revision: https://phabricator.services.mozilla.com/D30689
--HG--
extra : moz-landing-system : lando
Checking extension.shutdownReason for any purpose other than detecting
app shutdown is unreliable, since actions such as disabing, uninstalling,
etc. may happen ito an extension after it has shut down. Remove the
temptation for api authors to write incorrect code by removing
extension.shutdownReason and replacing it with an isAppShutdown boolean
passed to shutdown handlers.
Differential Revision: https://phabricator.services.mozilla.com/D30605
--HG--
extra : rebase_source : 07ff7710757150d011fec6bc3ed134c6509e9a12
Remove `new Function` from parent_utils.js and refactor affected code.
Remove parent_utils.js from eval()-whitelist.
Differential Revision: https://phabricator.services.mozilla.com/D28062
--HG--
extra : moz-landing-system : lando