* Carry over lastAccessed times from tabs that haven't been seen/active this session.
* Use the lastSeenActive rather than lastAccessed timestamp for labeling open tabs in firefox view.
Differential Revision: https://phabricator.services.mozilla.com/D198892
In the Firefox View main view, within the `<fxview-tab-list>` list component, there are `a.fxview-tab-row-main` and `button.fxview-tab-row-secondary-button` elements which focusability is handled by the JavaScript - they are made not focusable by default to reduce the number of tabstops needed for a keyboard user to navigate through the Firefox View and each list has only one control that is made keyboard focusable.
The main view of Firefox View has `role="application"` set which communicates to a screen reader user that a custom navigation pattern is to be expected. But since hyperlinks and buttons are expected to be made individually focusable, Tier 2 a11y_checks are currently failing the [ifKeyboardFocusable](https://searchfox.org/mozilla-central/rev/f6776253b65c05351b4004fe7c3353cac8d8a4af/testing/mochitest/tests/SimpleTest/AccessibilityUtils.js#348-386) check for these controls.
We need to add an custom exemption check for the Firefox View tab-row controls in the AccessibilityUtils to automatically pass these elements while the current navigation pattern is used.
Since some Firefox View tests will start passing a11y_checks, we also update the appropriate test manifests correcting the `fail-if` notations.
Differential Revision: https://phabricator.services.mozilla.com/D197387
This changes browser_opentabs_recency.js to check for window occlusion
before calling window.restore, and if waiting for the
occlusionstatechange event, waiting an extra event loop to ensure that
all the listeners have fired. This is necessary to ensure that the
browsing context has become active, which is the next check in the
helper function.
Differential Revision: https://phabricator.services.mozilla.com/D199647
* Add the shared module. It uses EveryWindow to listen for tab-related events and collapses them
into a single dispatched event.
* The class extends EventTarget, and only monitors window and tab events when a listener is added.
* Update the firefox-view consumers and their tests to use the module. Note that triggering a
tab-state change and seeing the tab change/recency events is async now.
* Add a new browser mochitest for the module and both TabChange and TabRecencyChange events.
* The module provides a potential home for optimizations like smarter caching and sorting of the tab
lists, but implementing these will belong to other bugs.
Differential Revision: https://phabricator.services.mozilla.com/D191502
* Add the shared module. It uses EveryWindow to listen for tab-related events and collapses them
into a single dispatched event.
* The class extends EventTarget, and only monitors window and tab events when a listener is added.
* Update the firefox-view consumers and their tests to use the module. Note that triggering a
tab-state change and seeing the tab change/recency events is async now.
* Add a new browser mochitest for the module and both TabChange and TabRecencyChange events.
* The module provides a potential home for optimizations like smarter caching and sorting of the tab
lists, but implementing these will belong to other bugs.
Differential Revision: https://phabricator.services.mozilla.com/D191502
- record frequency and page of search
- record how often show all search results is clicked on recent browsing and from which section
- record how often sort by date or site is clicked on history
- record how many searches are made before clicking on a search result
Differential Revision: https://phabricator.services.mozilla.com/D199285
Renames all instances of the snake_case identifier to
camelCase to match more closely to idiomatic JavaScript
and to existing conventions throughout the code base.
Differential Revision: https://phabricator.services.mozilla.com/D198826
Renames all instances of the snake_case identifier to
camelCase to match more closely to idiomatic JavaScript
and to existing conventions throughout the code base.
Differential Revision: https://phabricator.services.mozilla.com/D198825
- rename files to exclude "next" suffix
- move tests out of firefoxview-next folder into parent folder
- updat AboutRedirector to point at firefoxview.html
- this patch also resolves Bug 1872919 by adding a scroll into view during the `search_synced_tabs_recent_browsing` test
Differential Revision: https://phabricator.services.mozilla.com/D196347
- rename files to exclude "next" suffix
- move tests out of firefoxview-next folder into parent folder
- updat AboutRedirector to point at firefoxview.html
Differential Revision: https://phabricator.services.mozilla.com/D196347
- rename files to exclude "next" suffix
- move tests out of firefoxview-next folder into parent folder
- updat AboutRedirector to point at firefoxview.html
Differential Revision: https://phabricator.services.mozilla.com/D196347
The Firefox View provides a custom menu for Open Tab links. This menu is attempted to be clicked [twice](https://searchfox.org/mozilla-central/rev/6321fb8f7533456a62dfa2aa68ee0477a6c8f693/browser/components/firefoxview/tests/browser/firefoxview-next/browser_opentabs_firefoxview_next.js#134,238) in the test file `browser/components/firefoxview/tests/browser/firefoxview-next/browser_opentabs_firefoxview_next.js`. But since the `<panel-item>` itself has a role of `presentation` and is serving as a container for an accessible `<button role="menuitem">`, the automatic accessibility checks are flagging these clicks as ones on a non-accessible elements. We can update the test case to send a click on a `menuitem` itself to ensure the test is working as expected too, since the keyboard-only users and users of assistive technology would be activating the menuitem.
Since this would allow the a11y_checks to test an actual control and we expect these tests to pass, we need to update the `fail-if` notation in the test manifest to exclude the `panel-item` failure.
Differential Revision: https://phabricator.services.mozilla.com/D197727
- removes all old View related files and assets
- removes legacy telemetry
- removes tests related to prefs that have since been removed
- remove `browser_all_files_referenced.js` exceptions added in Bug 1869833
Depends on D196093
Differential Revision: https://phabricator.services.mozilla.com/D196208
- removes all old View related files and assets
- removes legacy telemetry
- removes tests related to prefs that have since been removed
- remove `browser_all_files_referenced.js` exceptions added in Bug 1869833
Differential Revision: https://phabricator.services.mozilla.com/D196208
- removes `about:firefoxview-next` route
- `about:firefoxview` now points to `firefoxview-next.html` (until we rename)
- remove pref for `browser.tabs.firefox-view-next`
- preserve pref for `browser.tabs.firefox-view-newIcon` as part of firefoxViewNext feature manifest (until experiment is over)
- whitelist unreferenced files in `browser_all_files_referenced.js` as they will be removed in child Bug 1869833
Differential Revision: https://phabricator.services.mozilla.com/D196093