Граф коммитов

6047 Коммитов

Автор SHA1 Сообщение Дата
Mark Hammond a04a30cd9c Bug 1645742 - ensure FxA has a push subscription as well as whether it has expired. r=rfkelly
Differential Revision: https://phabricator.services.mozilla.com/D79783
2020-06-16 05:53:45 +00:00
Vlad Filippov ee97e91066 Bug 1637163 - Redact details in WebChannel errors. r=rfkelly
Differential Revision: https://phabricator.services.mozilla.com/D79563
2020-06-15 15:03:59 +00:00
ffxbld ec8c8c7bde No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D79691
2020-06-15 14:33:28 +00:00
Rob Wu 206ca19c33 Bug 1645598 - Vendor application-services for fix in webext-storage r=lina
To get this fix: https://github.com/mozilla/application-services/pull/3235

Updated as follows:

```
sed -i 's/e8d7530319fa6c20d9de78d031c9398630eca3cd/61dcc364ac0d6d0816ab88a494bbf20d824b009b/g' services/fxaccounts/rust-bridge/firefox-accounts-bridge/Cargo.toml services/sync/golden_gate/Cargo.toml toolkit/components/extensions/storage/webext_storage_bridge/Cargo.toml toolkit/components/glean/Cargo.toml toolkit/library/rust/shared/Cargo.toml
./mach vendor rust
```

Verified by running the new regression test that I added in the bug:

```
./mach test toolkit/components/extensions/test/xpcshell/test_ext_storage_{local,sync,sync_kinto}.js
```

Differential Revision: https://phabricator.services.mozilla.com/D79628
2020-06-15 12:56:58 +00:00
Mark Hammond 0278934973 Bug 1645729 - avoid printing a warning to the console about a log level's preference. r=rfkelly
Specifically:
> Log warning: The log 'Services.Common.RESTRequest' is configured to use the preference 'services.common.log.logger.rest.request' - you must adjust the level by setting this preference, not by using the level setter

This is because the hawkrequest module attempts to explicitly set the level
from the preference value, but these days Log.jsm manages that itself.

Also skips obtaining the log itself until it's needed, as it almost never
actually is.

Differential Revision: https://phabricator.services.mozilla.com/D79633
2020-06-15 04:51:02 +00:00
Mathieu Leplatre 4de2f47682 Bug 1644153 - Fix loading of JSON dump from main-preview r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D79016
2020-06-11 17:39:23 +00:00
ffxbld e1defa0ff0 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D79301
2020-06-11 14:17:03 +00:00
Thom Chiovoloni b3cbb2b28e Bug 1629127 - Add sync telemetry for storage.sync migration r=lina,extension-reviewers,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D78573
2020-06-10 22:29:02 +00:00
Thom Chiovoloni 9bea145029 Bug 1629116 - Ensure the sync engine we want telemetry from is actually registered in tests. r=lina
Differential Revision: https://phabricator.services.mozilla.com/D78720
2020-06-08 18:57:59 +00:00
Lina Cambridge 6744c50972 Bug 1643804 - Always resolve the promise if fetching extension storage observer notifications fails. r=tcsc
Differential Revision: https://phabricator.services.mozilla.com/D78571
2020-06-05 20:38:42 +00:00
Thom Chiovoloni d76d4f4c46 Bug 1629116 - Add an overrideTelemetryName to bridged extension storage. r=markh
Add an overrideTelemetryName to bridged extension storage.

Differential Revision: https://phabricator.services.mozilla.com/D78413
2020-06-05 01:10:10 +00:00
Mathieu Leplatre 337e076cae Bug 1641939 - Flush local DB after retrying r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D78177
2020-06-04 14:16:01 +00:00
ffxbld 765a9c9ca1 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D78285
2020-06-04 14:13:36 +00:00
Mathieu Leplatre 51c76bb2b8 Bug 1640136 - Load main dump when using preview r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D77786
2020-06-04 09:00:31 +00:00
Mark Hammond 350c376c1a Bug 1634615 - flip the pref to enable the rust browser.storage.sync implementation. r=lina,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D78171
2020-06-04 06:11:45 +00:00
Dorel Luca 6193cd2270 Backed out changeset b8a2744a115f (bug 1640136) for XPCShell test/unit/test_remote_settings_worker.js. CLOSED TREE 2020-06-04 04:56:10 +03:00
Mathieu Leplatre cc4e7f5130 Bug 1640136 - Load main dump when using preview r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D77786
2020-06-03 14:56:04 +00:00
Dorel Luca 61e47c120c Merge mozilla-cental to autoland. CLOSED TREE 2020-06-01 19:35:58 +03:00
Dorel Luca d6cb4941f9 Merge autoland to mozilla-central. a=merge 2020-06-01 19:20:20 +03:00
Mozilla Releng Treescript a56e4bfdd7 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-06-01 10:15:55 +00:00
Mark Hammond 6abadd577b Bug 1639449 - Vendor new application-services to expose kinto migration and sync change notifications. r=lina
Differential Revision: https://phabricator.services.mozilla.com/D76092
2020-05-30 02:44:07 +00:00
Mark Banner 29c4237245 Bug 1635523 - Remove now unused twitter files and pull in latest config. r=daleharvey
Differential Revision: https://phabricator.services.mozilla.com/D76909
2020-05-29 20:17:57 +00:00
Lina Cambridge 6ac44b30e0 Bug 1641005 - Implement `mozISyncedExtensionStorageArea.fetchPendingSyncChanges()`. r=markh
This new method fetches pending synced changes from the extension
storage store, and passes them to `storage.onChanged` listeners.
This allows extensions that listen for these events to know when a
sync happened, which Kinto supported as well.

To guard against misuse, this method is implemented on a separate
`mozISyncedExtensionStorageArea` interface. To avoid multiple
inheritance (if `mozI{Synced, Configurable}ExtensionStorageArea` both
inherited from `mozIExtensionStorageArea`, which base method is called
when?), both of these internal-ish interfaces now inherit from
`nsISupports` instead.

Finally, because `fetchPendingSyncChanges` can return changes for
multiple extensions, `mozIExtensionStorageListener.onChanged` now takes
the affected extension ID as its first argument.

Differential Revision: https://phabricator.services.mozilla.com/D76976
2020-06-01 06:07:51 +00:00
Bogdan Tara 9d4bc1415b Backed out changeset d6c79e77d6b9 (bug 1641005) for test_StorageSyncService.js failures CLOSED TREE 2020-06-01 04:32:34 +03:00
Lina Cambridge d52843b372 Bug 1641005 - Implement `mozISyncedExtensionStorageArea.fetchPendingSyncChanges()`. r=markh
This new method fetches pending synced changes from the extension
storage store, and passes them to `storage.onChanged` listeners.
This allows extensions that listen for these events to know when a
sync happened, which Kinto supported as well.

To guard against misuse, this method is implemented on a separate
`mozISyncedExtensionStorageArea` interface. To avoid multiple
inheritance (if `mozI{Synced, Configurable}ExtensionStorageArea` both
inherited from `mozIExtensionStorageArea`, which base method is called
when?), both of these internal-ish interfaces now inherit from
`nsISupports` instead.

Finally, because `fetchPendingSyncChanges` can return changes for
multiple extensions, `mozIExtensionStorageListener.onChanged` now takes
the affected extension ID as its first argument.

Differential Revision: https://phabricator.services.mozilla.com/D76976
2020-06-01 00:54:27 +00:00
ffxbld 12faf95015 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D77670
2020-06-01 14:16:14 +00:00
Mathieu Leplatre 1cfe96cf26 Bug 1640023 - Sync on .get() when no metadata r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D77233
2020-05-28 16:02:03 +00:00
Mark Hammond 35a92088a5 Bug 1640791 - Expose allowSkippedRecord to a bridged engine and enable it for extension-storage. r=lina
Differential Revision: https://phabricator.services.mozilla.com/D76785
2020-05-27 02:12:53 +00:00
Rob Wu e7258ec672 Bug 1640291 - Account for last_modified in attachment downloader r=leplatrem
Differential Revision: https://phabricator.services.mozilla.com/D76963
2020-05-27 11:28:27 +00:00
Rob Wu 0ceb5a55a2 Bug 1640291 - Read RemoteSettings dump before cache, and minimize unnecessary reads r=leplatrem
This commit does the following:

- Feature / Optimization: Check the dump before the cache, instead of
  the reverse. The dump is expected to match the requested attachment in
  the common case, and checking it first helps with ensuring that the
  expected (packaged dump) is used when available.

- Optimization: Defer reading the cached attachment until it's needed.

- Refactor / Feature: Treat a missing `.meta.json` file as a sign that
  the attachment dump does not exist, rather than an error.
  Previously, if an attachment cannot be downloaded from the network,
  that error would be replaced with a generic `DownloadError` (from the
  missing `.meta.json` file). This is mostly relevant for telemetry.

- Refactor / Maintainability: Create helper to manage lazy access to the
  record and attachment, to ensure that the record and attachment is
  only read on demand, and at most once.

- Refactor / Readability: Move the common return value generation logic
  to the helper as `getResult`, to avoid the verbose duplication of the
  logic. Now the return value fits in one line instead of 5-6 lines.

- Fix test: Rename filename-of-dump.meta.json and fix test expectation
  to ensure that the test checks the absence of the file content,
  rather than the absence of the meta data file.

Differential Revision: https://phabricator.services.mozilla.com/D76962
2020-05-27 08:00:43 +00:00
Rob Wu e609ad7d6f Bug 1640291 - Add test coverage for corrupted cache r=leplatrem
In practice, the cache of the attachment downloader can become corrupt
and unusable when IndexedDB breaks. The implementation correctly handled
this case, but there were no tests that verified that it did.

This patch adds test coverage for the scenario of a broken cache,
to ensure that the implementation continues to behave in a sane way.

Differential Revision: https://phabricator.services.mozilla.com/D76961
2020-05-27 07:50:12 +00:00
Rob Wu 680ed7bd7e Bug 1640292 - Move RemoteSettingsWorker.checkContentHash to main thread r=leplatrem
The crypto API does most of its work on the background thread. There is
no benefit in posting the buffer to a worker thread.

Differential Revision: https://phabricator.services.mozilla.com/D76960
2020-05-27 13:54:37 +00:00
Ryan Kelly bc3600def8 Bug 1640765 - only build the rust fxa-client crate on Nightly. r=lina
Differential Revision: https://phabricator.services.mozilla.com/D76771
2020-05-27 05:51:39 +00:00
Bogdan Tara 15858ad28e Backed out changeset 0d3f76ede294 (bug 1640765) for rust related bustage CLOSED TREE 2020-05-27 07:06:35 +03:00
Ryan Kelly 58ccfb0fe7 Bug 1640765 - only build the rust fxa-client crate on Nightly. r=lina
Differential Revision: https://phabricator.services.mozilla.com/D76771
2020-05-27 03:22:15 +00:00
Mark Banner ceba0e848d Bug 1635235 - Implement reading the allow override default search engine allowlist from remote settings. r=daleharvey
This implements reading the list from remote settings. We only read it at startup if necessary, or on add-on installation.

We do not check for updates - if something is removed, we'll wait until next startup before processing it.

Also adds lots of tests for canOverride as this seems a critical part to get right.

Differential Revision: https://phabricator.services.mozilla.com/D76473
2020-05-26 19:40:42 +00:00
ffxbld b3c5906f23 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D76710
2020-05-26 14:53:18 +00:00
Mathieu Leplatre 97875bccdd Bug 1637178 - Distinguish local DB hijacks from sign errors in Uptake Telemetry r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D75529
2020-05-26 11:20:03 +00:00
Mihai Alexandru Michis 33899422e7 Backed out 2 changesets (bug 1635235, bug 1635239) for causing Bug 1640583.
CLOSED TREE

Backed out changeset 97ecda13df18 (bug 1635239)
Backed out changeset c9f80397bbec (bug 1635235)
2020-05-25 16:43:03 +03:00
Lina Cambridge 53047a8297 Bug 1640528 - Allow extension storage to be enabled and disabled independently of add-ons. r=markh
By default, toggling the add-ons engine also toggles extension storage.
However, it's also possible to enable extension storage without add-ons
by setting an override pref. If the override pref is set, we'll treat
extension storage as an engine that can be toggled independently. If
it's not set, we'll ignore attempts to toggle the engine separately.

Differential Revision: https://phabricator.services.mozilla.com/D76635
2020-05-25 01:12:16 +00:00
Mark Banner 019b662f87 Bug 1635235 - Implement reading the allow override default search engine allowlist from remote settings. r=daleharvey
This implements reading the list from remote settings. We only read it at startup if necessary, or on add-on installation.

We do not check for updates - if something is removed, we'll wait until next startup before processing it.

Also adds lots of tests for canOverride as this seems a critical part to get right.

Differential Revision: https://phabricator.services.mozilla.com/D76473
2020-05-24 21:45:41 +00:00
Rob Wu 8c4c5239e9 Bug 1636158 - Document how to use attachment dumps in RemoteSettings r=leplatrem
Differential Revision: https://phabricator.services.mozilla.com/D76159
2020-05-22 13:09:50 +00:00
Mathieu Leplatre b25d0ae2e5 Bug 1639224 - Verify signature if local timestamp is in the future r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D76249
2020-05-22 00:27:06 +00:00
Mathieu Leplatre 8965849d47 Bug 1639684 - Report server_error on HTTP 5XX when polling for changes r=rdalal
Differential Revision: https://phabricator.services.mozilla.com/D76242
2020-05-21 23:59:58 +00:00
Lina Cambridge 400ff2f682 Bug 1639942 - Correctly register `Extension-Storage` engine alternatives. r=tcsc
Alternative engines are registered using the lowercased version of
the keys in the modules object. But `extension-storage` is hyphenated,
so we need to use `Extension-Storage` (not `ExtensionStorage`) as the
key name, to match the name of the engine and its collection.

Without the hyphen, we'll register the alternative as
`extensionstorage`, so it'll never be used because everything else
expects the engine to be called `extension-storage`.

Differential Revision: https://phabricator.services.mozilla.com/D76355
2020-05-21 18:55:37 +00:00
Sid Stamm 56c4be9954 Bug 1002724 - use resolvable URL in fxaccounts browser chrome tests. r=rfkelly
Differential Revision: https://phabricator.services.mozilla.com/D75086
2020-05-21 17:33:32 +00:00
ffxbld 663946fddd No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D76324
2020-05-21 14:05:50 +00:00
Lina Cambridge efbc79edbd Bug 1639727 - Fix `trackRemainingChanges` in the tabs and prefs Sync engines. r=markh
This commit fixes two issues: moves `trackRemainingChanges` to the
engine, since that's where it defined (not on the store), and skips
setting `modified` if all records have been successfully uploaded.

Differential Revision: https://phabricator.services.mozilla.com/D76270
2020-05-21 07:13:12 +00:00
Vlad Filippov de6e0f725b Bug 1632557 - Add pref and logic for direct use of session tokens to provision OAuth tokens r=rfkelly
Differential Revision: https://phabricator.services.mozilla.com/D75204
2020-05-20 22:06:35 +00:00
Lina Cambridge faf2fd15e4 Bug 1639018 - Change `TaskRunnable::dispatch` to take owned runnables. r=froydnj
This matches how the `Dispatch(already_AddRefed<nsIRunnable>)`
overloads work in C++: `Dispatch` takes ownership of the runnable, and
leaks it if dispatch fails—because the thread manager is shutting down,
for instance. This avoids a race where a runnable can be released on
either the owning or target thread.

Rust doesn't allow arbitrary `Self` types yet (see
rust-lang/rust#44874), so we need to change `dispatch` and
`dispatch_with_options` to be associated methods.

Differential Revision: https://phabricator.services.mozilla.com/D75858
2020-05-20 20:54:49 +00:00