Commit Graph

819 Commits

Author SHA1 Message Date
James Teh
2cbc3ca2b2 Bug 1477673: Refactor PanelMultiView keyboard navigation to use a TreeWalker. r=Gijs,johannh
Previously, this code cached a list of controls on first use and used that for navigation.
This refactor addresses several issues:

1. There is now a separate focus order for tab/shift+tab and down/up arrows.
    This allows menulists, textboxes, etc. which use the arrow keys themselves to be focused with tab, but skipped with the arrows.
    This means the user won't fall into these controls when using the up/down arrow keys and be confused by the subsequent arrowing behaviour.

2. When a menulist, textbox, etc. is focused, the arrow keys, space and enter are now passed to the control.
    This is a better fix for handling of the arrow keys by menulists (bug 1522092).
    It also fixes left arrow in a textarea moving to the previous view instead of moving the caret (bug 1489874).

3. This improves handling of dynamic updates to the panel.
    For example, elements that are initially disabled and enabled later will be navigable.
    This is because the next element is determined dynamically by the TreeWalker, rather than using a cached list.

4. The interim fix for bug 1522092 disabled PanelMultiView keyboard navigation.
    This caused some regressions, including arrow keys/activation on the Site Identity Report a Problem link (bug 1539976) and some controls not being navigable if the Site Identity panel is opened using the mouse (bug 1539984).
    With the above fixes, we can now re-enable PanelMultiView keyboard navigation in the Site identity panel and thus fix these regressions.

5. Previously, PanelMultiView keyboard navigation was disabled in the main toolbar overflow menu.
    This is because the search box can be added to the overflow menu, which previously caused problems for the arrow keys.
    With the above fixes, we can now safely enable PanelMultiView keyboard navigation in the overflow menu.

6. PanelMultiView keyboard tests have been added.
    Previously, we relied on tests specific to various panels to exercise this functionality.

Differential Revision: https://phabricator.services.mozilla.com/D25905
2019-04-09 09:54:39 +00:00
Ciure Andrei
9ab1551f49 Merge inbound to mozilla-central. a=merge 2019-04-04 07:34:14 +03:00
Jan-Erik Rediger
5fec79a3f4 Bug 1529696 - Rename DATASET_RELEASE_CHANNEL_OPTOUT/OPTIN to DATASET_ALL/PRERELEASE_CHANNELS everywhere r=chutten
Depends on D25934

Differential Revision: https://phabricator.services.mozilla.com/D25935
2019-04-03 17:12:11 +00:00
Kris Maglione
708603304f Bug 1525762: Part 2a - Migrate built-in LWTs to static WebExtension themes. r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D24627
2019-02-08 14:18:52 -08:00
Brian
83c5bc6d2e Bug 1523763 - Move tab context menu strings to FTL file loaded on-demand. r=Gijs,flod
Moved tab context menu out of browser.dtd to browser.xul except for sendPageToDevice, sendLinkToDevice, moveTabOptions, moveSelectedTabOptions, undoCloseTab. Not sure if tabbrowser.js and tabbrowser.xul are working as intended.

Differential Revision: https://phabricator.services.mozilla.com/D19312
2019-03-29 14:55:12 +00:00
Kris Maglione
51a70c87ef Bug 1525511: Part 5 - Get rid of most LWTManager gunk in tests. r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D18788
2019-02-05 21:25:21 -08:00
Kris Maglione
a43c190b7d Bug 1525511: Part 2c - Stop using LightweightThemeManager for customize mode themes menu. r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D18784
2019-02-05 17:23:24 -08:00
Kris Maglione
3cc8a9b2f7 Bug 1525511: Part 2b - Delete recommended theme gunk. r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D18783
2019-02-05 21:20:37 -08:00
Gijs Kruitbosch
d1471c88c9 Bug 1462911 - allow for new overflown items to be the first item in the overflow list, r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D24944
2019-03-26 19:14:27 +00:00
Vijay Budhram
ea307c8d64 Bug 1524665 - Add FxA avatar toolbar menu, r=gijs,eoger
Differential Revision: https://phabricator.services.mozilla.com//D20433
2019-02-23 17:56:19 +00:00
Minsoo Kim
3b71472b12 Bug 1530799 - Replaced waitForCondition function with TestUtils.waitForCondition r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D22041
2019-03-06 09:43:44 +00:00
Mellina Yonashiro
668145c14f Bug 1530801 - Replace waitForCondition in browser_947914_button_addons.js withTestUtils.waitForCondition r=johannh
waitForCondition usage in the browser_947914_button_addons.js test file can be replaced by the TestUtils.waitForCondition utility function.

> The function was replaced. There was only one occurance in this file (browser_947914_button_addons.js), but may exists in other ones.

Differential Revision: https://phabricator.services.mozilla.com/D21720
2019-03-04 21:36:02 +00:00
AmberM
7a94268ddb Bug 1530778 - Replace waitForCondition in browser_88502_customize_mode_observers_disabed.js with TestUtils.waitForCondition. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D21849
2019-03-04 12:40:31 +00:00
lloan
41c815f1da Bug 1530783 - Replace waitForCondition with TestUtils.waitForCondition. r=johannh
Bug 1530783 - Replace waitForCondition with TestUtils.waitForCondition. r=johannh

Differential Revision: https://phabricator.services.mozilla.com/D21296
2019-02-28 10:41:49 +00:00
lloan
a42b6ea0db Bug 1530777 - Replace waitForCondition with TestUtils.waitForCondition. r=johannh
Bug 1530777 - Replace waitForCondition with TestUtils.waitForCondition. r=johannh

Differential Revision: https://phabricator.services.mozilla.com/D21280
2019-02-28 11:41:59 +00:00
jcit
b3623bc6f0 Bug 1530787 - Replace waitForConditon in browser_914138 with TestUtils.waitForCondition r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D21391
2019-02-27 21:46:33 +00:00
Mark Banner
5d32c7d249 Bug 1522438 - Port Customizable UI tests to QuantumBar. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D21031
2019-02-26 23:28:34 +00:00
Joel Maher
d1c97f8037 Bug 1527369 - re-enable many tests on windows 1803 due to invalid screen resolution whilst testing. r=gbrown
re-enable many tests on windows 1803 due to invalid screen resolution whilst testing

Differential Revision: https://phabricator.services.mozilla.com/D19535
2019-02-12 17:47:39 +00:00
Joel Maher
91c8d51ae3 Bug 1522900 - adjust manifests to allow tests to pass on windows10 1803 release. r=gbrown CLOSED TREE 2019-02-11 10:02:51 +01:00
Mark Striemer
e0c22d70df Bug 1500147 - Part 2: Record LWT telemetry in customize mode r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D18002
2019-02-07 16:42:04 +00:00
Brian Grinstead
c8a487965d Bug 1487065 - Implement popup-notification as a Custom Element r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D17699
2019-02-07 22:16:26 +00:00
Myk Melez
5ecc2c1225 Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D17526
2019-01-30 17:26:25 +00:00
Kris Maglione
856fa07b17 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16750
2019-01-17 10:18:31 -08:00
Cristina Coroiu
1249724260 Bug 1515204 - disable browser_962069_drag_to_overflow_chevron.js on linux and mac for frequent failures. r=jmaher 2019-01-28 02:20:00 +02:00
Mark Banner
4d21b8103b Bug 1521707 - Move promisePopupEvent to BrowserTestUtils.jsm. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D17259
2019-01-23 14:04:46 +00:00
Gijs Kruitbosch
550670e6d9 Bug 1458046 - avoid remote updates when the browser is not active and fix editcontrols_update test, r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D16626
2019-01-16 16:20:43 +00:00
Dão Gottwald
efbf9bb3d4 Bug 1514505 - Remove unused urlbar-textbox-container. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D14683
2018-12-18 11:16:05 +00:00
Dão Gottwald
01ebc456af Bug 1513827 - Let toolbar context menu handle nodes without ids. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D14390
2018-12-13 14:53:18 +00:00
Gijs Kruitbosch
2e87cbb7e9 Bug 1494014 - fix icon on the lightweight theme button to be correct when changing it from the menu, r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D12546
2018-11-21 17:23:05 +00:00
Cosmin Sabou
7b23136376 Backed out changeset 6ce32daf8079 (bug 1494014) for browser chrome failures on browser_1007336_lwthemes_in_customize_mode. CLOSED TREE 2018-11-21 18:12:24 +02:00
Gijs Kruitbosch
c5800180d9 Bug 1494014 - fix icon on the lightweight theme button to be correct when changing it from the menu, r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D12546
2018-11-21 15:08:03 +00:00
James Teh
7ac659d370 Bug 1506503: PanelMultiView: Automatically focus the first item if a panel is opened via the keyboard. r=johannh,paolo
Previously, we had specific code to do this for the "View site information" button (#identity-box) when activated via the keyboard.
To work well for keyboard and screen reader users, all such popups (e.g. Firefox menu, Page Actions, etc.) should do this.
These are all based on panelMultiView.
The arguments passed to PanelMultiView.openPopup can include the event which triggered the popup.
We now use this to detect keypress events and focus the first item in the panel in that case.

Differential Revision: https://phabricator.services.mozilla.com/D11605
2018-11-16 22:51:59 +00:00
Dão Gottwald
24bf177fea Bug 967917 - Enable browser_tabbar_big_widgets.js across platforms. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D12114
2018-11-16 15:19:41 +00:00
Brian Grinstead
86f1e34bf2 Bug 1505734 - Remove logic from CustomizableUI toolbar XBL constructor;r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D11665
2018-11-14 00:46:20 +00:00
Alexander Surkov
0b3281e96b Bug 1493594 - replace customizationTarget XBL property by CustomizableUI method, r=gijs 2018-11-08 13:45:22 +07:00
Kris Maglione
2fe938bed2 Bug 1482091: Part 2 - Remove TelemetryStopwatch.jsm in favor of native implementation. r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D9888
2018-10-25 19:04:01 -07:00
arthur.iakab
60aefe8252 Backed out 2 changesets (bug 1482091) for bc failures on browser_domFullscreen_fullscreenMode.js
Backed out changeset bc03f101937e (bug 1482091)
Backed out changeset 28a19b7290ab (bug 1482091)
2018-11-03 01:08:36 +02:00
Kris Maglione
937d3bc224 Bug 1482091: Part 2 - Remove TelemetryStopwatch.jsm in favor of native implementation. r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D9888
2018-10-25 19:04:01 -07:00
Kris Maglione
3546843e77 Bug 1540856: Part 1 - Remove useless references to lightweightThemes preferences. r=aswan,dao
Differential Revision: https://phabricator.services.mozilla.com/D25677
2019-04-01 15:22:20 -07:00
Sebastian Hengst
2f1f8068ca merge mozilla-central to autoland 2018-10-22 20:34:24 +03:00
Eliza Balazs
1d270c1872 Bug 1458046 - Disable browser_editcontrols_update.js on mac for frequent failures. r=jmaher 2018-10-22 04:02:00 +03:00
Gijs Kruitbosch
cbb2ba1edc Bug 1500268 - remove legacy toolbar and currentset support from customizableui, r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D9172
2018-10-22 16:02:07 +00:00
Gijs Kruitbosch
9354cd0ed2 Bug 1500268 - remove customizableui toolbar's insertItem method, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D9173
2018-10-22 16:02:05 +00:00
Olli Pettay
9ec288f641 Bug 1498379 - browser_homeDrop.js and head.js rely on EventUtils.js to dispatch artificial mouseup after dnd, r=gijs 2018-10-15 22:33:05 -04:00
Gurzau Raul
e16c05e44c Backed out 2 changesets (bug 1498379, bug 1498381) for permafailing at /test/tabs/browser_multiselect_tabs_drag_to_bookmarks_toolbar.js a=backout
Backed out changeset 0178681fab81 (bug 1498379)
Backed out changeset 962c7631d98c (bug 1498381)
2018-10-15 01:14:40 +03:00
Olli Pettay
c9441cbb76 Bug 1498379 - browser_homeDrop.js and customizableui/test/head.js rely on EventUtils.js to dispatch artificial mouseup after dnd, r=gijs 2018-10-13 13:10:15 +03:00
Jared Wein
cf13003d69 Bug 1480532 - Remove 'Reload All Tabs' from tab context menu. r=Felipe
I left off the part about adding Reload Tabs to the All Tabs menu since the specs don't mention how this would appear with the New Container Tab menuitem and the Tab Manager project has been split off from the multiselect tabs project.

Differential Revision: https://phabricator.services.mozilla.com/D8274
2018-10-12 21:16:44 +00:00
Jared Wein
ba31d182a0 Bug 1496338 - Tab bar context menu should read 'Bookmark Selected Tab...' if only one tab is selected. r=Felipe
Differential Revision: https://phabricator.services.mozilla.com/D8267
2018-10-12 21:15:34 +00:00
Masayuki Nakano
55d4806ffd Bug 1343955 - part 0: Fix bug of browser_panel_keyboard_navigation.js r=smaug
browser_panel_keyboard_navigation.js sets "Tab" to first argument of
EventUtils.synthesizeKey().  However, this causes inputting "T", "a", "b" with
a key press.  The test intended to emulate pressing the "Tab" key.  So, it
should be "KEY_Tab".

Note that this will cause permanent orange with the following patches since
synthesizeKey() will detect this kind of mistake.

Differential Revision: https://phabricator.services.mozilla.com/D7412
2018-10-02 14:21:11 +00:00
Jared Wein
2d6a3e988f Bug 1480529 - Changed 'Bookmark All Tabs' to 'Bookmark Tab' for single tab selections. r=Felipe
I changed the toolbar context menuitem from 'Bookmark All Tabs' to 'Bookmark Selected Tabs' because it is separated from a specific tab and thus it is not clear which tab would get bookmarked if only one is selected. This seemed much clearer to me in my testing. The wording of 'Bookmark Selected Tabs' is already used elsewhere where we have 'Reload Selected Tabs', 'Close Selected Tabs', etc.

Differential Revision: https://phabricator.services.mozilla.com/D7217
2018-10-02 16:24:43 +00:00