This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.
Differential Revision: https://phabricator.services.mozilla.com/D118058
This avoids starting autoscroll on SVG links, and on HTML links that
contain SVG, by sharing the code that browser's ClickHandlerChild uses
to detect links into BrowserUtils, and using that from AutoScrollChild
to determine if the click happened on top of a link. It also adds a
test so we avoid regressing this in future.
When running the test, I noticed an error from ClickHandlerParent
when the browser for which we receive a click has gone away, and
fixed it by adding a nullcheck and early return.
Differential Revision: https://phabricator.services.mozilla.com/D120024
It turns out calling gdk_display_close gets us a rematch of bug 1626536,
so remove the call that was added in bug 1718131, and adjust valgrind
suppressions accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D120037
This patch disables the update service as if it were disabled by policy
whenever a package identify is present. User interfaces are treated as if
the updater had not been included in the build, because that prevents any of
our usual update UI from being shown, and in particular ensures that we do not
generate messages about an administrator handling updates, as would normally
happen when disabling updates via policy.
The telemetry environment's update.enabled flag is deliberately left alone in
this patch, because the mere fact of using an app package does not really say
anything about whether the user intends to allow automatic updating or not.
Depends on D114427
Differential Revision: https://phabricator.services.mozilla.com/D114886
Without these annotations the literals will be assumed to be `int` so as soon
as there's a literal that cannot be represented as such it'll warn.
And CI builds with warnings as errors.
`metric_entry_t` is `uint64_t` which is `unsigned long long int` which is `ull`
`category_entry_t` is `uint32_t` which is `unsigned long int` which is `ul`
Differential Revision: https://phabricator.services.mozilla.com/D119978
Thunderbird uses these extra groups for special handling of links, and they need to be considered the same as the browsers group for WebExtensions purposes.
Differential Revision: https://phabricator.services.mozilla.com/D119874
This patch disables the update service as if it were disabled by policy
whenever a package identify is present. User interfaces are treated as if
the updater had not been included in the build, because that prevents any of
our usual update UI from being shown, and in particular ensures that we do not
generate messages about an administrator handling updates, as would normally
happen when disabling updates via policy.
The telemetry environment's update.enabled flag is deliberately left alone in
this patch, because the mere fact of using an app package does not really say
anything about whether the user intends to allow automatic updating or not.
Differential Revision: https://phabricator.services.mozilla.com/D114886
This patch fixes the intermittent failures being triggered by test_ext_webrequest_auth.html by making sure that
the "http-on-modify-request" observers added by the test tasks part of this test file are going to ignore any http
request that isn't related to the mochi.test url that is expected to trigger the authentication dialog.
With the previous version of the chrome script executed by these two test tasks, there was a chance that the observer
would be setting the mocked nsIAuthPromptProvider/nsIauthPromp2 notification callback on the wrong channel, if
the http channel was also related to the mochi.test host. After that the observer was removed and it would not be
setting the notificationCallbacks on the channel that was meant to set it on (and that would make the testcase to
trigger the actual authentication prompt that can be seen in the failure screenshots).
As part of this patch we are also reverting the additional debugging logs added in a previous patch attached to
this issue.
Differential Revision: https://phabricator.services.mozilla.com/D119880
When form autofill determines which extra fields were not autofilled, there is a chance that the filtered element will not have a value property (in our case, fieldset elements).
By ensuring we return an undefined instead of accessing a property that doesn't exist, we can ensure the rest of the credit card show panel flow works as expected
Differential Revision: https://phabricator.services.mozilla.com/D119660
This makes sure to clear and set the value more consistently when replacing
documents within a WindowGlobal, and makes sure to include the relevant flag in
the initializer.
In addition, the place where the flag is set is moved ahead to happen before
the call to `Embed` so that the information is ready before the window is
created.
Differential Revision: https://phabricator.services.mozilla.com/D119815
This patch include a small change to ServiceWorkerManager::StoreRegistration which does early exist
and not store the registration on disk if:
- the principal is from a WebExtension
- the addon is not enabled (or was already uninstalled) by the time we got to store the registration
- the addon is temporarily installed
At the moment it should not happen, but if ServiceWorkerManager::StoreRegistration was reached too late
for some reason and the registration was meant to be stored, the service worker would still be registered
again when the addon is started again on the next browser startup and stored on disk if it was meant to.
Depends on D119529
Differential Revision: https://phabricator.services.mozilla.com/D119530
This patch adds a new `temporarilyInstalled` property to the WebExtensionPolicy object, set to
the value of the same property from a Extension.jsm perspective.
The new property is being introduced mainly to be used in a patch that follows to allow the
ServiceWorkerManager internals to access that from the C++ layer (but it may be also
become a useful knowledge for other C++ components in the future).
Differential Revision: https://phabricator.services.mozilla.com/D119529
In D98108 we added infrastructure to detect infos for DRM devices in
multi GPU setups. We didn't use it for detecting device and vendor IDs
thought, which remained flaky.
Extend the code a little bit, allowing us to reliably get the right
IDs - at least for mesa drivers. This should make our detection
as reliable as it was when using GLX.
This should stop us from showing the following warning in most cases:
`[GFX1-]: More than 1 GPU from same vendor detected via PCI, cannot deduce device`
Differential Revision: https://phabricator.services.mozilla.com/D119666