This is a short term measure. In the medium or long term we can do this signing in a separate Task after pulling the original source.
Differential Revision: https://phabricator.services.mozilla.com/D147310
Both the velocity and displacement contribute to the success but we only pass the displacement in the swipe events which browser-gestureSupport.js uses to draw the opacity of the ui element. Usually that is what we want, but if the velocity is large we might draw the ui element only very faintly but still navigate the page. We should make sure to draw the ui element so it's well visible.
Differential Revision: https://phabricator.services.mozilla.com/D142819
Avoid relying on X11 errors to detect failures where alternative means would
suffice (i.e. checking results for failure or MakeCurrent failures). All other
users of ScopedXErrorHandler outside of GLContextProviderGLX use it only to
ignore errors rather than actually check the error result. Given those concerns,
we also change the default X11 error handler to merely ignore errors rather than
abort, such that X11 calls in Gecko no longer require an error trap by default.
This also avoids contention with other libraries that may temporarily override
the error handler such as GDK or Cairo since Gecko will never touch the handler
after startup.
Differential Revision: https://phabricator.services.mozilla.com/D147247
The selector is already sorting the breakpoints,
so there is no need to re-sort them in the component.
Also Array.sort(stringA-stringB) was misbehaving.
Then I'm using getSourcesMap in order to avoid calling getBreakpointList many times.
Otherwise getSourcesForBreakpoints has to receive the state object
in order to retrieve the source objects.
Differential Revision: https://phabricator.services.mozilla.com/D146426
Otherwise the global ImplCycleCollectionUnlink for JS members are shadowed by mozilla::dom::ImplCycleCollectionUnlink and can't be used.
Bug 1756794 is to move all the impls to the single namespace to prevent this, but that requires verbose changes, and currently the only affected uses are from these macros.
Differential Revision: https://phabricator.services.mozilla.com/D147234
The JS-API for global constructor [1] has a step for throwing
a TypeError when type is v128. We previously would just throw
a TypeError if a default value was provided and type was v128.
Two unused error messages are removed, and a comment for clarity
on the error handling of ToValType is added.
[1] https://webassembly.github.io/spec/js-api/index.html#globals
Differential Revision: https://phabricator.services.mozilla.com/D147179
This eliminates the need to determine when WebRender will apply opacity without a
filter, since it will now always apply opacity correctly for both tiled and untiled
images.
Differential Revision: https://phabricator.services.mozilla.com/D147102
For add-ons installed before the changes introduced by Bug 1757760 ExtensionSettingStorage.getLevelOfControl resolves to "controlled_by_this_extension"
even if the user did not opt-in when prompted (either by never answer the prompt, or by setting No).
The changes landed by Bug 1757760 did make sure that for a newly installed extensions ExtensionSettingsStorage.getLevelOfControl resolves to "controllable_by_this_extension"
until the user actually explicitly opt-in to the default search engine provided by the installed extension, by making sure to initially set as disabled
the defaultSearch setting for a newly installed extension (which will then be enabled if the user does explicitly opt-in).
Unfortunately, that change doesn't have any effect if the extension has been installed in a Firefox version that did not yet include Bug 1757760 changes,
in that case the setting listed in the pre-existing extension-settings.json file in the Firefox profile will still have the setting marked
as enabled even if the user did never opt-in.
This patch includes a new test task that is injecting into extension-settings.json the data needed to recreate the inconsistent state
(level of control set to "controlled_by_this_extension" while the related search engine isn't actually set as default).
In addition to the new test case, this patch is applying the following changes to `chrome_settings_overrides`:
- in the `setDefault` method: if ExtensionSettingsStorage.getLevelOfControl resolves to "controlled_by_this_extension"
but the default search engine currently set is not the one associated to the extension, then explicitly disable the
setting and recompute the level of control (which will resolve to "controllable_by_this_extension" as a side effect
of explicitly disable the setting)
- in the `ensureSetting` method: remove the check on `item?.enabled`, because the result of ExtensionSettingsStorage.getSetting
does actually never have an `enabled` property set, instead it is part of the content of the extension-settings.json file
and it is used internally by ExtensionSettingsStorage without being returning in the format of the object returned by
calling ExtensionSettingsStorage.getSetting
(see https://searchfox.org/mozilla-central/rev/97c902e8f92b15dc63eb584bfc594ecb041242a4/toolkit/components/extensions/ExtensionSettingsStore.jsm#164-177)
Differential Revision: https://phabricator.services.mozilla.com/D146294
Adds a new serial event target that executes the runnable immediately if already on the main thread. This allows then ThenValue to execute immediately instead of being dispatched to the back of the main thread event target, when possible.
Differential Revision: https://phabricator.services.mozilla.com/D146481
breakableLines wasn't correctly memoized for sources other than the original ones.
This patch at least fix this for regular JS files sources, but the issue still
happens for HTML sources having more than one source actor.
Differential Revision: https://phabricator.services.mozilla.com/D147195
* add event listener and update list when a tab is closed
* add additional styling, favicon element and keyboard navigation support
* add tests
Differential Revision: https://phabricator.services.mozilla.com/D145906
mutation.target is HTMLDocument, which doesn't have closest function.
This patch uses mutation.target.documentElement instead.
Differential Revision: https://phabricator.services.mozilla.com/D147294