If the user has not opted in, automatically set the sidebar to `active` if:
1. The sidebar has not already been automatically set to `active` twice.
2. It's been at least 24 hours since the user last saw the sidebar because
of this auto-activation behavior.
3. The sidebar was not already auto-activated in this session. This is
unlikely to come into play for most users, since this only executes on
startup and when the `enabled` Nimbus variable changes.
Also, if the user has still not opted in at the end of the session, and
we auto-activated the sidebar for them, auto-close the sidebar on
shutdown. This means we show the onboarding to the user automatically in
each PDP for up to 2 sessions. After that, if the user still has not
opted in, we will stop trying.
Differential Revision: https://phabricator.services.mozilla.com/D184994
This prevents fullscreen states that hide chrome while WebAuthn prompts are shown. Specifically, it
1) ensures that the navigation toolbox is shown in fullscreen windows, and
2) disallows fullscreen DOM elements.
Differential Revision: https://phabricator.services.mozilla.com/D187001
Previously the translations button would stay visible in reader
mode but no interact with the page when clicked. This patch
ensures that the translations button is no longer visible
once a user enters reader mode.
Differential Revision: https://phabricator.services.mozilla.com/D185607
If the menu is opened, the corresponding `mouseup` event that generates
this `click` event will be handled by the menuitem, so we don't
need to handle this `click` event.
Differential Revision: https://phabricator.services.mozilla.com/D185465
Updates ShoppingSidebarManager init, uninit and onLocationChange to only be called when AppConstants.NIGHTLY_BUILD is true.
Differential Revision: https://phabricator.services.mozilla.com/D185369
- Adds a urlbar button to toggle shopping sidebars and show sidebar state
- ShoppingSidebarParent.toggleAllSidebars() method to open and close sidebars
- Adds `browser.shopping.experience2023.active` pref to store the state of all sidebars
- Sidebars open and close based on state of the active pref
Differential Revision: https://phabricator.services.mozilla.com/D183394
This allows us to deprecate `mozInputSource` for the Web while
avoiding console warnings for internal uses, which now use the
ChromeOnly `inputSource` attribute.
Differential Revision: https://phabricator.services.mozilla.com/D183643
* For cases where a user does not have automatic session restore enabled, recently closed
tabs will persist between sessions and previously open tabs will be added to the recently closed tabs
list; upon manual session restore, the previously open tabs will reopen and be removed from the closed tabs list
* Add marionette test and fix test bustages due to these changes.
Differential Revision: https://phabricator.services.mozilla.com/D178521
* Menu Bar History menu recently-closed tab items includes closed tabs from all currently-open windows
* Toolbar/Appmenu history menu recently-closed tabs list includes closed tabs from all currently-open windows
* Firefox view recently-closed tab list includes closed tabs from all currently-open windows
* All recently-closed tab menu/items re-open in the current window
* Re-open all tabs menu item re-opens all tabs into the current window
* Ensure we filter out tabs without any useful state in firefox-view
* Add a target window argument to undoCloseTab and undoCloseById
* undoCloseTab will remove the tab data from the source window collection and re-open the tab into the target window
* Add an options argument to SessionStore.getWindows to get all private or non-private windows
* Add a getWindowForTabClosedId method on SessionStore, allowing look-up of the window associated with a closed tab
* Ensure recently-closed tab lists only include tabs from non-private windows when attached (i.e. opened from) a non-private window. And vice-versa.
* Update the sessionstore closed tab tests to assert on the new behavior
* Update the browser.sessions.restore implementation to always find and pass the source window when restoring a closed tab
* sessions.restore should always restore closed tabs to the source window as there's no implicit top or current window in the API context
Differential Revision: https://phabricator.services.mozilla.com/D174501
* Menu Bar History menu recently-closed tab items includes closed tabs from all currently-open windows
* Toolbar/Appmenu history menu recently-closed tabs list includes closed tabs from all currently-open windows
* Firefox view recently-closed tab list includes closed tabs from all currently-open windows
* All recently-closed tab menu/items re-open in the current window
* Re-open all tabs menu item re-opens all tabs into the current window
* Ensure we filter out tabs without any useful state in firefox-view
* Add a target window argument to undoCloseTab and undoCloseById
* undoCloseTab will remove the tab data from the source window collection and re-open the tab into the target window
* Add an options argument to SessionStore.getWindows to get all private or non-private windows
* Add a getWindowForTabClosedId method on SessionStore, allowing look-up of the window associated with a closed tab
* Ensure recently-closed tab lists only include tabs from non-private windows when attached (i.e. opened from) a non-private window. And vice-versa.
* Update the sessionstore closed tab tests to assert on the new behavior
* Update the browser.sessions.restore implementation to always find and pass the source window when restoring a closed tab
* sessions.restore should always restore closed tabs to the source window as there's no implicit top or current window in the API context
Differential Revision: https://phabricator.services.mozilla.com/D174501