This patch won't actually build, because a few bits of code are used
for both nsIFactory::createInstance and static components, and static
components are not fixed until the next patch.
The first place is nsLoadGroupConstructor, which uses an nsIFactory
macro to create a static component constructor. (This could be worked
around by expanding the macro to the state before this patch.)
The other issue is that nsAppShellConstructor is used in an nsIFactory
on OSX, but as a static component on all other platforms. This could
be worked around by wrapping nsAppShellConstructor in an adaptor that
passes in the extra null argument to nsAppShellConstructor.
Differential Revision: https://phabricator.services.mozilla.com/D146456
nsIFactory is binary compatible with Windows COM's IClassFactory,
but nothing seems to depend on it. This patch removes the test
for compatibility, TestCOM, and removes the lockFactory
method that isn't otherwise needed.
Differential Revision: https://phabricator.services.mozilla.com/D146386
As per comments in the bug I never managed to reproduce this locally or
in pernosco, but given the structure of the test (open tab, get element
position, show picker, check picker position in screen coords), it makes
some amount of sense that it could hit this race.
I'm confirming on try that this reduces or fixes the intermittent race
but given it's a oneliner I don't feel too bad sending it for review
early :)
Differential Revision: https://phabricator.services.mozilla.com/D145305
As per comments in the bug I never managed to reproduce this locally or
in pernosco, but given the structure of the test (open tab, get element
position, show picker, check picker position in screen coords), it makes
some amount of sense that it could hit this race.
I'm confirming on try that this reduces or fixes the intermittent race
but given it's a oneliner I don't feel too bad sending it for review
early :)
Differential Revision: https://phabricator.services.mozilla.com/D145305
See the comment in the file explaining it. For a case of logging 100k numbers,
this dropped the time per number from 15 microseconds to 9 with the console
closed, and 55 microseconds to 38 with the console open. I think we could shave
off more with a native approach, but I don't know that it's worth it and it's
much more likely for that to introduce bugs.
Differential Revision: https://phabricator.services.mozilla.com/D143782
Content processes can provide screen coordinates in e.g. window objects and events without waiting for the proper client-to-screen transforms to be given to them from the parent process. This poses a problem for tests that want to check the screen coordinates, so we add SpecialPowers.ContentTransformsReceived() to allow content processes to wait for these transforms.
Differential Revision: https://phabricator.services.mozilla.com/D144742
Before this patch, nsISiteSecurityService APIs took "flags" parameters that
differentiated private contexts from not private contexts. However, these
parameters were redundant with respect to origin attributes, which led to some
confusion for consumers of these APIs. This patch removes these parameters in
favor of using origin attributes.
Differential Revision: https://phabricator.services.mozilla.com/D142901
This replaces all `instanceof` uses for DOM interfaces, since the operator in priviliged context works same as .isInstance().
Differential Revision: https://phabricator.services.mozilla.com/D141785
This replaces all `instanceof` uses for DOM interfaces, since the operator in priviliged context works same as .isInstance().
Differential Revision: https://phabricator.services.mozilla.com/D141785
This is no longer necessary as the Quantum DOM project is no longer
happening, and removing support simplifies various components inside of
IPDL.
As some code used the support to get a `nsISerialEventTarget` for an
actor's worker thread, that method was replaced with a method which
instead pulls the nsISerialEventTarget from the MessageChannel and
should work on all actors.
Differential Revision: https://phabricator.services.mozilla.com/D135411
Several mochitests currently add boilerplate useAddonManager and an
extension ID, because the implementations of some extension APIs depend
on a registration with the AddonManager via GeckoViewWebExtension.
To avoid the need for this boilerplate, use the AddonManager by default
in mochitests on Android only.
xpcshell tests can use `useAddonManager: "android-only"` to opt in to
the same mechanism.
Differential Revision: https://phabricator.services.mozilla.com/D124087
Until fixing bug 1686012, clipboard in the headless mode does not support
"text/html" flavor. Therefore, the `waitForClipboard` in the test does not
get expected value as `aData` in the first callback.
So, it should request `text/unicode` in the headless mode.
Depends on D119483
Differential Revision: https://phabricator.services.mozilla.com/D119484