This other call to AddonTestUtils.checkMessage is also using a `forbidden` option wrongly set to the regular expression,
and the manual `messages.filter(...)` is definitely a workaround for preventing an intermittent similar to the one
fixed in the other patch. Better to fix this other call even if not strictly related to this bugzilla issue.
Depends on D146935
Differential Revision: https://phabricator.services.mozilla.com/D146936
This is a breaking change. It is not possible to control the loading of dumps from a preference anymore.
Dumps are only loaded if server is pointed at PROD. The recommended way to prevent dumps loading in tests is to store a high timestamp in the local DB.
Differential Revision: https://phabricator.services.mozilla.com/D146049
This introduces a breaking change: the buckets cannot be changed via preferences anymore.
Before landing this patch, we should have a released a new version of the Remote Settings DevTools that is compatible with this new API.
Differential Revision: https://phabricator.services.mozilla.com/D145455
* 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
This patch includes only the subset of D145687 changes related to the reworked JSONSchema data, plus some minor changes to Schemas.jsm to take the new
JSONSchema type ("PrivilegedPermissions") and the new custom JSONSchema keyword (the boolean "privileged" property used to identify manifest fields
only allowed in privileged extensions).
Besides the changes to the schema data, this patch is not expected to introduce any difference in behavior and so it could also land on its own
if needed (and the rest of the changes landed separately).
Differential Revision: https://phabricator.services.mozilla.com/D146800
There is a race condition somewhere in the localization code between
registering a L10nFileSource and attempting to use it too soon. We don't
actually need to test that the translation of our string ID works as expected,
just that the correct translation file ends up in the correct place, so I've
removed the calls that do actual localization.
Differential Revision: https://phabricator.services.mozilla.com/D145514
This patch includes only the subset of D145687 changes related to the reworked JSONSchema data, plus some minor changes to Schemas.jsm to take the new
JSONSchema type ("PrivilegedPermissions") and the new custom JSONSchema keyword (the boolean "privileged" property used to identify manifest fields
only allowed in privileged extensions).
Besides the changes to the schema data, this patch is not expected to introduce any difference in behavior and so it could also land on its own
if needed (and the rest of the changes landed separately).
Differential Revision: https://phabricator.services.mozilla.com/D146800
* Observe the 'services.sync.engine.tabs' pref and skip the tab sync step when it is enabled
* Hook up the primary button on that step to enable the pref
* Add tests for both paths through this setup
Differential Revision: https://phabricator.services.mozilla.com/D146003
This is a rewrite of large portions of RemoteImages. Previously, RemoteImages
just relied on the presence of correctly-names files on disk for its cache. Now
we are keeping proper track of what images we've saved via a JSONFile store.
This removes the need for embedding extensions in image IDs -- images
previously referenced as, e.g., "heart.png" can now be referenced without their
extension e.g., "heart". However, for backwards compatability, image IDs with
extensions will still be accepted, but the extension will be stripped off and
ignored.
Instead, we keep track of the mimetype (as reported by Remote Settings) in our
database, as well as the last time we loaded the image (instead of relying on
the last modified time from the filesystem, which is where we were caching that
information previously).
Additionally, some cleanup has been done to prevent image loading while cleanup
is ocurring and vice versa. All interactions that would modify the database go
through `RemoteImages#withDb`, which executes a closure with the `JSONFile`
instance. This closure is a critical section and multiple closures are
prevented from executing at once.
Differential Revision: https://phabricator.services.mozilla.com/D144593
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
In addition to adding async/await, I also added early return statements
when we know initialization is occuring again, or if there is evidence
that it has been uninitialized.
A concrete example of this would be from the Library, where clicking on
on a folder/category on the left will run initPanel at the same time as
the highlighted folder/bookmark on the right changes (also runs initPanel).
Differential Revision: https://phabricator.services.mozilla.com/D141800
Note that these tests only ensure that the pin is properly added to the update URL and to the telemetry. They do not test that the update applied will be of the correct version. This is because we are not attempting to have Firefox check if the update provided is valid given the pin, we are leaving it to the update server (Balrog) to find and serve the correct version.
Differential Revision: https://phabricator.services.mozilla.com/D143788
This patch also adds the capability for Policy implementations (in Policies.jsm) to have a `validate` function. If it returns `false`, the Enterprise Policy engine will consider the policy's parameter to be invalid and the policy will not be activated. This capability is used to validate the update pin policy's parameter to make sure that it takes the expected format ("X." or "X.Y.", where X is the pinned major version and Y is the pinned minor version).
Differential Revision: https://phabricator.services.mozilla.com/D143785
The problem with my previous solution for bug 1471546 was that bookmarkIndex is
not updated when a user sorts the list of bookmarks. So my solution is to always
use the treeIndex since its more reliable.
I've also added two tests: the first checks if the row the visible after clicking
a bookmark that's close to the bottom of the viewable area, and the second does the
same after re-sorting the list.
Differential Revision: https://phabricator.services.mozilla.com/D145509