Depends on D132152
Add a new public command "unsubscribe" on the session module
Add a new API on RootMessageHandler called removeSessionData.
The internal _applySessionData command now expects paramers containing "added" and/or "removed" arrays instead of only "values".
Browser mochitests and wdspec tests are updated to cover the new feature.
Differential Revision: https://phabricator.services.mozilla.com/D132021
Depends on D132150
Adds a new API to RootMessageHandler which will be necessary to implement _unsubscribeEvent on root/log.jsm
Expand the current browser mochitest for session data to cover the new API.
Differential Revision: https://phabricator.services.mozilla.com/D132152
We only need to default `browser.urlbar.merino.enabled` to true. If the user has
opted in (either through the modal or by toggling on the data collection pref in
the prefs UI), then `quicksuggest.dataCollection.enabled` will also be true and
we'll fetch Merino suggestions. Otherwise it will be false and we won't fetch
Merino suggestions. That logic is implemented here:
https://searchfox.org/mozilla-central/rev/9a5f36b0ddb9cb8ae556fc5b45f8ccea0f0da6f8/browser/components/urlbar/UrlbarProviderQuickSuggest.jsm#144
Note this defaults the pref to true for everyone, even users in offline. It make
senses now that we have a separate toggle for data collection in the preferences
UI. Even offline users can opt in to Merino and data collection.
I also updated the various sets of prefs for test suites so that the Merino
endpoint URL is empty when running tests so they don't hit the network. I could
have forced `merino.enabled` to false instead, but setting the endpoint URL has
a couple of benefits, although admittedly they're very small:
* It runs a little more of the Merino code path (i.e., calls
`_fetchMerinoSuggestions`)
* It lets Merino tests set only one pref, the endpoint URL, instead of two, both
the endpoint pref and enabled pref
Differential Revision: https://phabricator.services.mozilla.com/D131988
Depends on D131439
Add a new CONTEXT_DESCRIPTOR_TYPES for top level browsing contexts, called TOP_BROWSING_CONTEXT.
The corresponding context descriptor id should be a browserId.
The FrameTransport is updated to support both CONTEXT_DESCRIPTOR_TYPES: ALL and TOP_BROWSING_CONTEXT.
A browser mochitest is added to check that broadcasts are correctly filtered for a top level browsing context.
Differential Revision: https://phabricator.services.mozilla.com/D131440
Instead of using a broadcast boolean flag in the CommandDestination, use a contextDescriptor.
The only context descriptor type supported here is CONTEXT_DESCRIPTOR_TYPES.ALL, and the behavior is unchanged.
Differential Revision: https://phabricator.services.mozilla.com/D131439
Depends on D131439
Add a new CONTEXT_DESCRIPTOR_TYPES for top level browsing contexts, called TOP_BROWSING_CONTEXT.
The corresponding context descriptor id should be a browserId.
The FrameTransport is updated to support both CONTEXT_DESCRIPTOR_TYPES: ALL and TOP_BROWSING_CONTEXT.
A browser mochitest is added to check that broadcasts are correctly filtered for a top level browsing context.
Differential Revision: https://phabricator.services.mozilla.com/D131440
Instead of using a broadcast boolean flag in the CommandDestination, use a contextDescriptor.
The only context descriptor type supported here is CONTEXT_DESCRIPTOR_TYPES.ALL, and the behavior is unchanged.
Differential Revision: https://phabricator.services.mozilla.com/D131439
Annotating each test individually lets us avoid introducing new failing tests
while we go through the backlog of failing tests.
Depends on D129162
Differential Revision: https://phabricator.services.mozilla.com/D129163
Annotating each test individually lets us avoid introducing new failing tests
while we go through the backlog of failing tests.
Depends on D129162
Differential Revision: https://phabricator.services.mozilla.com/D129163
When using a custom Firefox profile for Puppeteer the modified
preferences as present in prefs.js need to be reset once the
profile is no longer needed by Puppeteer. If not done this could
cause side-effects when the profile is used next time outside
of Puppeteer.
Differential Revision: https://phabricator.services.mozilla.com/D128452