Adds a `BackupResource` abstract class to be extended by more specific resource handlers and a `BackupResources` module which resources can be registered with.
The BackupResource base includes helpers to get the size of files and directories.
All registed resources will be provided to the `BackupService` constructor for it instantiate them.
Differential Revision: https://phabricator.services.mozilla.com/D203795
This patch upgrades Storybook to the latest version. Had to do a decent bit of hacking around with our customizations to get them to keep working. Probably the biggest change was we now have to use an [indexer](https://storybook.js.org/docs/api/main-config-indexers) for our markdown stories, and in order to get the information we need we have to do the same transformations that we do in the loader. For that reason I moved a lot of the loader logic out into a utils file. It feels pretty redundant to have the loader and the indexer...but I'm not sure if there's an alternative right now.
Also worth noting - I turned off the auto generated docs in favor of our READMEs, which I added args tables to. We don't have these for all our components yet, so we might want to file bugs to start adding them. If we would prefer to keep those docs pages for now I think I can configure Storybook to keep generating them
Differential Revision: https://phabricator.services.mozilla.com/D197218
Adds a `BackupResource` abstract class to be extended by more specific resource handlers and a `BackupResources` module which resources can be registered with.
The BackupResource base includes helpers to get the size of files and directories.
All registed resources will be provided to the `BackupService` constructor for it instantiate them.
Differential Revision: https://phabricator.services.mozilla.com/D203795
Adds a new property that will be used to extract the intended href to load on SERPs
that contain the actual URL in a query param key not known until they click on the
actual link.
Differential Revision: https://phabricator.services.mozilla.com/D204355
There are cases in our code base, in the reusable component that is using Lit components, where a tablist includes a tab component wrapper (that has an accessible role `ROLE_TEXT_CONTAINER`) - the `<moz-page-nav-button>` - we want to include this case in the calculation of the tabs within a tablist calculation when checking the tablist's keyboard accessibility.
Differential Revision: https://phabricator.services.mozilla.com/D203987
I found several problems:
Problem 1:
`getViewUpdate()` is allowed to be async and `UrlbarView` [awaits it](https://searchfox.org/mozilla-central/rev/a0ebb2a2c286c1d98d7ae93d043f65ed9970108b/browser/components/urlbar/UrlbarView.sys.mjs#2017) even though
the `Weather` implementation is not async. That means the summary text content
will be updated asyncly, so `browser_weather.js` needs to wait for it.
This is the cause of the recent frequent failures.
Problem 2:
This has to do with `add_tasks_with_rust()`. When it disables the Rust backend
and forces sync, the JS backend will sync `Weather` with remote settings. Since
keywords are present in remote settings at that point, `Weather` will then start
fetching. Each task that uses `add_tasks_with_rust()` needs to wait for this
fetch to finish. Otherwise `weather.suggestion` may be null. To fix this, I
added a way for tests to register a setup function that will run each time
`add_tasks_with_rust()` calls an original task.
This is the cause of infrequent failures that go back to at least when Rust was
enabled by default. I think this might be the cause of recent failures in
`test_weather.js` and `test_weather_keywords.js` too so I did the same thing
there.
Problem 3:
`browser_weather.js` sometimes times out in verify mode, so I requested a longer
timeout. It looks like the test finishes, it just takes a long time sometimes.
Problem 4:
`test_weather_keywords.js` sometimes times out in verify mode. This test takes
forever to run, especially now that it uses `add_tasks_with_rust()`. I added a
`skip-if` for verify mode. It's fine to skip verify mode for this test. Once we
remove the JS backend, we can probably remove the `skip-if`. If it still times
out, we could use `requesttimeoutfactor` or split it up.
Differential Revision: https://phabricator.services.mozilla.com/D204138
We intentionally turn off this a11y check, because the mouse event that was flagged by the a11y_checks test suite is emitted at the end of the dragging event. Its keyboard accessible alternative is provided and tested elsewhere, therefore this rule check can be ignored by a11y_checks suite.
Differential Revision: https://phabricator.services.mozilla.com/D204296