Bug 887923 - Switch Task.jsm from promise.js to Promise.jsm. r=mano
Merge m-c to fx-team
Bug 986458 - Disable browser_whitelist7.js on Win/OSX debug for perma-fails with chunked mochitest-bc.
Bug 608820 - Disable browser_bug567127.js on Win/OSX for frequent failures.
CLOSED TREE
Merge m-c to fx-team on a CLOSED TREE.
Bug 989549 - Call signOut() in FxAccountsClient.jsm from signOut() in FxAccounts.jsm. r=markh
Bug 992373 - Items in the panel jump up slightly when the customization transition finishes. r=Gijs, mikedeboer.
Bug 992747 - toolbar visibility setting doesn't work for non-customizable toolbars, r=jaws
Bug 981827 - Make Android and Desktop FxAccounts client use same key parameters. r=rnewman
Bug 990685: Dispatch document-element-inserted for XUL documents. r=bz
Bug 968419 - Store and submit a persistent health report identifier; r=rnewman, r=bsmedberg

Up to this point, Firefox Health Report has generated and submitted a
random UUID with each upload. Generated UUIDs were stored on the client.
During upload, the client asked the server to delete all old UUIDs.
Well-behaving clients thus left at most one record/ID on the server.

Unfortunately, clients in the wild have not been behaving properly. We
are seeing multiple documents on the server that appear to come from the
same client. Clients are uploading new records but failing to delete the
old ones. These old, undeleted "orphan" records are severely impacting
the ability to derive useful knowledge from FHR data because it is
difficult, resource intensive, and error prone to filter the records on
the server. This is undermining the ability for FHR data to be put to
good use.

This patch introduces a persistent client identifier. When the client is
initialized, it generates a random UUID. That UUID is persisted to the
profile and sent as part of every upload.

For privacy reasons, if a client opts out of data submission, the client
ID will be reset as soon as all remote data has been deleted.

We still issue and send upload IDs. They exist mostly for forensics
purposes so we may log client behavior and more accurately determine
what exactly misbehaving, orphan-producing clients are doing.

It is worth noting that this persistent client identifier will not solve
all problems of branching and orphaned records. For example, profile
copying will result in multiple clients sharing a client identifier. A
"client ID version" field has been added to facilitate an upgrade path
towards client IDs with different generation semantics.

--HG--
extra : rebase_source : b761daab39fb07b6ab8883819d68bf53462314a0
Bug 989137 - Part 11: Make service initialization and uninitialization more robust; r=gfritzsche

Subsequent patches were running into race conditions and bugs related to
Experiments instance initialization state. This patch plugs the
necessary holes in initialization state management to unblock work.

The fixes are far from robust. There are still race conditions and bugs.
They should probably be addressed later.

--HG--
extra : rebase_source : 5f0c7fa1f554d09a21b1452506884dc771cb829d
Bug 981694 - Part 1: Show a notice to beta users when we turn telemetry on by default on the beta channel - Firefox for Android. r=rnewman
Bug 981694 - Part 2: Add UI Telemetry for recording policy notification result. r=rnewman
Bug 990834 (part 1) - minor refactor of hawk tests. r=ckarlof
Bug 990834 (part 2) - Add support/tweak retry and backoff header support to hawk and tokenserverclient. r=rnewman
Bug 990834 (part 3) - Fix handling of hawk errors. r=ckarlof
Bug 986636 - use icon instead of [?] on sync prefs when master password locked. r=ttaubert
Bug 993539: sourceURI property of add-on fails if the repository has been updated. r=irving
Bug 985145 - make node reassignment work correctly with FxA. r=rnewman