Commit Graph

121 Commits

Author SHA1 Message Date
James Teh
ea887cd7b3 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-15 01:38:08 +00:00
Cosmin Sabou
04b730e5f8 Backed out 2 changesets (bug 1477673, bug 1454865) for browser chrome failures on browser_PanelMultiView_keyboard. CLOSED TREE
Backed out changeset eca8a6e641c0 (bug 1454865)
Backed out changeset 69db665d8263 (bug 1477673)
2019-04-09 14:29:08 +03:00
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
Tim Nguyen
a9e5e43d29 Bug 1513343 - Remove textarea binding and replace usages with html:textarea. r=bgrins,dao
Differential Revision: https://phabricator.services.mozilla.com/D15001
2019-03-05 11:41:42 +00:00
James Teh
5b688adb5c Bug 1522092: Disable PanelMultiView's keyboard navigation code for the Site Identity panel. r=johannh
PanelMultiView's keyboard navigation code currently overrides the arrow keys in menulists.
This breaks the permission selectors in the Site Identity panel.
For now, just disable this keyboard navigation code.
DOM will then handle tabbing as it normally would.
This panel is more like a dialog than a menu, so users will generally navigate it with the tab key rather than the arrow keys anyway.
Note that the code in PanelMultiView which makes controls focusable still runs even with disablekeynav set, which is what we want.

Differential Revision: https://phabricator.services.mozilla.com/D21484
2019-02-28 08:32:19 +00:00
Alexander Surkov
3608f81451 Bug 1529221 - 'Report a Problem' text-link in the identity popup doesn't work anymore, r=MattN
Differential Revision: https://phabricator.services.mozilla.com/D20660
2019-02-21 14:52:40 +00:00
Alexander Surkov
62ec0b0d61 Bug 1527495 - migrate text-link binding to CE, r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D19595
2019-02-12 19:14:40 -05:00
Johann Hofmann
a5bb82422f Bug 1522565 - Add sub-panels for cryptominers and fingerprinters in the identity popup. r=nhnt11
This is mostly a lot of boilerplate based off the trackers category/subpanels.

I would like to do some code-de-duplication, especially in browser-contentblocking,
but I figured it would be a good idea to leave that to a different bug to not obstruct
the feature from landing :)

Differential Revision: https://phabricator.services.mozilla.com/D18826
2019-02-06 14:11:39 +01:00
Johann Hofmann
c2b7e84c23 Bug 1522256 - Add telemetry events for new content blocking UI items. r=ewright
Differential Revision: https://phabricator.services.mozilla.com/D17488
2019-01-25 16:07:40 +00:00
Dão Gottwald
33838dcf0f Bug 1517480 - Stop using graytext for labels in the "report a problem" subpanel. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D16870
2019-01-21 11:56:21 +00:00
Akash Srivastava
1547162610 Bug 1519920 - Remove the identity-popup-footer class. r=dao 2019-01-17 12:13:23 +01:00
Jonas Allmann
9568cfa156 Bug 1497922 - Fix Content Blocking tooltip, r=johannh
Re-inserted correct tooltip for Content Blocking settings button.

Differential Revision: https://phabricator.services.mozilla.com/D16679
2019-01-16 11:14:47 +00:00
Dão Gottwald
4c229a5e20 Bug 1515902 - Introduce panel-footer class to fix common color problem with footer buttons. r=ntim
Differential Revision: https://phabricator.services.mozilla.com/D15188
2018-12-21 15:44:44 +00:00
Johann Hofmann
3ee7ce8cc9 Bug 1501992 - Add a sub-panel for Cookies in the control center. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D12596
2018-12-02 12:47:36 +00:00
Ciure Andrei
c380f12756 Backed out 2 changesets (bug 1501992) for browser_trackingUI_state.js perma fails a=backout
Backed out changeset 6cb8a465440a (bug 1501992)
Backed out changeset b54b117c15e9 (bug 1501992)
2018-12-02 13:53:33 +02:00
Johann Hofmann
cf401d1caa Bug 1501992 - Add a sub-panel for Cookies in the control center. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D12596
2018-12-01 23:25:38 +00:00
shindli
41877a912a Backed out 2 changesets (bug 1501992) for bc failures in browser/components/urlbar/tests/browser/browser_UrlbarInput_tooltip.js CLOSED TREE
Backed out changeset ae07b8338331 (bug 1501992)
Backed out changeset 3ab27af474f9 (bug 1501992)
2018-12-01 07:06:36 +02:00
Johann Hofmann
72e4e8db49 Bug 1501992 - Add a sub-panel for Cookies in the control center. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D12596
2018-11-30 21:57:23 +00:00
Cosmin Sabou
81a079a296 Backed out 2 changesets (bug 1501992) for merge conflicts on dom/base/nsContentUtils.cpp
Backed out changeset 2dfe4105d6af (bug 1501992)
Backed out changeset 9ae8864b61d0 (bug 1501992)
2018-11-30 17:07:29 +02:00
Johann Hofmann
a8c4dd22ff Bug 1501992 - Add a sub-panel for Cookies in the control center. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D12596
2018-11-30 09:21:12 +00:00
Erica Wright
bfd228cd0d Bug 1501990 - Add a mode label to the Content Blocking section in the control center. r=johannh,flod
Differential Revision: https://phabricator.services.mozilla.com/D12717
2018-11-26 16:59:19 +00:00
Johann Hofmann
450bec44db Bug 1501991 - Add a sub-panel for Trackers in the control center. r=Ehsan,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D11611
2018-11-06 20:29:10 +01:00
Cosmin Sabou
b76f5f0925 Backed out changeset eb21007e7da0 (bug 1501991) for geckoview failures on several tests. 2018-11-17 02:18:03 +02:00
Johann Hofmann
e5d6dc6285 Bug 1501991 - Add a sub-panel for Trackers in the control center. r=Jamie,Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D11611
2018-11-16 22:34:07 +00:00
Gurzau Raul
2566000e7b Backed out changeset f73e25fa0d8c (bug 1501991) for multiple failures e.g browser_storage_dynamic_windows.js on a CLOSED TREE 2018-11-16 14:14:01 +02:00
Johann Hofmann
a6d57cea82 Bug 1501991 - Add a sub-panel for Trackers in the control center. r=Jamie,Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D11611
2018-11-16 10:50:31 +00:00
Erica Wright
413ccf9518 Bug 1501986 - Update exception button styling in control center. r=johannh
Change the styling of the create/remove exception button in the control center.

Differential Revision: https://phabricator.services.mozilla.com/D10312
2018-11-01 13:48:40 +00:00
Tim Nguyen
9a6dfae124 Bug 1502731 - Remove @hudButton@ and @hudButtonPressed@. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D10004
2018-10-30 19:04:23 +00:00
Ehsan Akhgari
1c1438a50f Bug 1502076 - Part 2: Remove the fastblock UI from the Control Centre r=johannh
Depends on D9794

Differential Revision: https://phabricator.services.mozilla.com/D9795
2018-10-26 06:55:20 +00:00
Ehsan Akhgari
238a7d0478 Bug 1501286 - Part 2: Remove support for tracking protection UI from Control Centre r=johannh
Depends on D9519

Differential Revision: https://phabricator.services.mozilla.com/D9520
2018-10-25 16:52:19 +00:00
Dorel Luca
6839d2a276 Backed out 5 changesets (bug 1501286) for browser-chrome failures in browser/components/uitour/test/browser_trackingProtection.js
Backed out changeset cac0d4aa79d1 (bug 1501286)
Backed out changeset 578d395f555e (bug 1501286)
Backed out changeset d9940451c373 (bug 1501286)
Backed out changeset ca6c3139bdd2 (bug 1501286)
Backed out changeset 93d6f4d54f78 (bug 1501286)
2018-10-25 17:52:59 +03:00
Ehsan Akhgari
7030bb3146 Bug 1501286 - Part 2: Remove support for tracking protection UI from Control Centre r=johannh
Depends on D9519

Differential Revision: https://phabricator.services.mozilla.com/D9520
2018-10-25 13:35:20 +00:00
Marco Zehe
0e50fe41e1 Bug 1501899 - Label the Identity popup with the Site information header for accessibility, r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D9757
2018-10-25 09:33:23 +00:00
Johann Hofmann
a7534c268e Bug 1496243 - Show "Tracking Cookies" label in the control center when only tracking cookies are blocked. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D9092
2018-10-18 13:42:14 +00:00
Michael Kohler
f9f4fa4769 Bug 1496240 - Change 'Blocked' to 'Blocking' for in Content Blocking Categories doorhanger part r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D8793
2018-10-16 10:45:01 +00:00
Johann Hofmann
aac16516bb Bug 1484251 - Part 3 - Use Telemetry events to record interactions in the identity popup. r=Gijs
This removes the old TRACKING_PROTECTION_EVENTS probe and replaces it with new
Telemetry events that record basic user interaction in the identity popup.

We are now measuring interaction with more elements than before, not just block/unblock.

We're also dropping the old way of measuring updates to onSecurityChange,
since with the recent changes to content blocking it would just record most page loads.

Differential Revision: https://phabricator.services.mozilla.com/D6895
2018-10-11 13:13:58 +00:00
Johann Hofmann
c79154ea02 Bug 1496522 - Change "All Detected Trackers" to "Trackers". r=flod
Differential Revision: https://phabricator.services.mozilla.com/D8198
2018-10-10 11:25:59 +00:00
Johann Hofmann
8b3b7bd837 Bug 1476220 - Show a "site information" header in the identity popup. r=paolo
Differential Revision: https://phabricator.services.mozilla.com/D7090
2018-10-09 13:47:13 +00:00
Narcis Beleuzu
daeaf1aece Backed out changeset 015250ccee42 (bug 1476220) for causing en-US failures on identity-popup-host 2018-10-09 13:07:09 +03:00
Johann Hofmann
ffea729963 Bug 1476220 - Show a "site information" header in the identity popup. r=paolo
Differential Revision: https://phabricator.services.mozilla.com/D7090
2018-10-09 09:11:01 +00:00
Johann Hofmann
05adf02369 Bug 1489581 - Improve vertical centering inside the content blocking "disabled" label. r=paolo
Labels in the identity popup that are potentially multiline get dynamic heights set
as part of the descriptionHeightWorkaround. This causes some cross-platform glitches
in vertically centering the icon and the label of the disabled indicator.

The disabled label doesn't really need to be multiline, so we avoid doing that. This
also means that we need to make some changes to handle long "Disabled" labels a little
more gracefully, but looking at existing translations of the word "Disabled" we won't
run into trouble: https://transvision.mozfr.org/string/?entity=browser/chrome/browser/browser.dtd:contentBlocking.disabled.label&repo=gecko_strings

Differential Revision: https://phabricator.services.mozilla.com/D6041
2018-09-18 12:14:35 +00:00
Johann Hofmann
0832882189 Bug 1484574 - Update copy for the content blocking section in the identity popup. r=paolo
This updates some copy based on UX and legal requirements as well as add a correct
SUMO URL for the "Learn More" link for breakage reporting.

Differential Revision: https://phabricator.services.mozilla.com/D4172
2018-08-24 09:26:33 +00:00
Ehsan Akhgari
80dd9639b0 Bug 1484312 - Add UI for restricting third-party cookies to the Control Centre; r=johannh,flod 2018-08-22 17:05:19 -04:00
Johann Hofmann
883c4ba604 Bug 1474238 - Add a "report breakage" dialog for Tracking Protection. r=Paolo
MozReview-Commit-ID: 26q5PYLUZGS
2018-07-11 17:14:35 +02:00
Johann Hofmann
aa0c7d3a36 Bug 1476218 - Part 2 - Add a "Disabled" label to the content blocking section in the identity popup. r=nhnt11
Differential Revision: https://phabricator.services.mozilla.com/D2776
2018-08-06 12:45:22 +02:00
Johann Hofmann
4f70cfcab3 Bug 1476218 - Part 1 - Update Tracking Protection section in the identity popup for Content Blocking. r=nhnt11
This commit switches the identity popup to use "Content Blocking" as a top-level section
instead of Tracking Protection, which is now demoted to a category of Content Blocking.

To keep this change halfway reviewable, I avoided renaming variables, classNames, ids, etc.
that use the term trackingProtection if they were otherwise unaffected by this patch. There
will be other patches that can do this in the future

Differential Revision: https://phabricator.services.mozilla.com/D2775
2018-08-06 12:43:59 +02:00
Paolo Amadini
e3ef4b43ed Bug 1480082 - Remove broadcasters from the identity panel. r=johannh
MozReview-Commit-ID: DOBK86SAs3q
2018-08-01 13:51:39 +01:00
Paolo Amadini
5bfedd8bf1 Bug 1473748 - Part 1 - Use the type of element instead of the "subviewbutton" and "subviewkeynav" classes to initialize the list of navigable elements. r=johannh
MozReview-Commit-ID: IgxwGRNLsct
2018-07-26 14:58:43 +01:00
Johann Hofmann
bfdb0dd5e0 Bug 1467385 - Use PanelMultiView APIs for keyboard navigation in the identity popup. r=Paolo
PanelMultiView has its own concept of "selected", so we should use this rather than move focus
using advanceFocusIntoSubTree.

MozReview-Commit-ID: DW2JqqggLl1
2018-07-02 14:34:25 +02:00
James Teh
587bc7aedf Bug 1473200: Provide accessibility context for permission controls in the identity popup. r=johannh
The containers are given an ARIA role of group and labels are associated using aria-labelledby.
For example, this allows screen reader users to know which permission each control is associated with.
Otherwise, they might hear only "Clear this permission and ask again  button", with no knowledge of what the permission is.

MozReview-Commit-ID: LeiOmz6go9l
2018-07-04 12:13:51 +10:00