Commit Graph
10 Commits
Author SHA1 Message Date
Peter Marshall 9a3d85fa0b css: Use :focus-visible instead of our custom data-keyboard-focus
https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible

:focus-visible is basically the exact same functionality as the custom
data-keyboard-focus attribute that devtools maintains. This CL converts
all of our uses of data-keyboard-focus in CSS to use :focus-visible.

This has no intended behaviour change although it's possible there are
small differences in our implementation vs. the web platform one, so
this might cause some regression with focus styles for keyboard
interaction.

I tested a few of these manually to verify they still do the same thing.

The CSS linter was unhappy about the ordering of some rules due to
specificity-ordering checks, so there is some re-ordering too.

A follow-up CL will remove our implementation of data-keyboard-focus.

Change-Id: Ifc273f7d82e16ea07e24ed2d1faa6f794a12501d
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2352236
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Kalon Hinds <kahinds@microsoft.com>
Reviewed-by: Jack Lynch <jalyn@microsoft.com>
Reviewed-by: Brandon Goddard <brgoddar@microsoft.com>
2020-08-24 07:58:42 +00:00
Jack Lynch ea5c0e3e3e Fix Custom Shortcuts styles for narrow screens
This CL fixes an issue where the columns in the custom shortcuts
settings page clip into each other.

Before: https://i.imgur.com/rvwEFZz.png
After: https://i.imgur.com/fV6JVOm.png

Bug: 174309
Change-Id: I86ff67b3f369b7cf6bb220927ab1b00e63df329d
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2333391
Reviewed-by: Brian Cui <brcui@microsoft.com>
Commit-Queue: Jack Lynch <jalyn@microsoft.com>
2020-08-03 20:56:08 +00:00
Mathias Bynens e4de6b3c30 Reland “Enable property-no-vendor-prefix stylelint check”
This patch drops unnecessary -webkit- prefixes in CSS and enables
a lint check to enforce that prevent such properties from being
added in the future. Note that the use of vendor-prefixed CSS
properties is still accepted in cases where there is no standardized
and browser-supported alternative.

TBR=changhaohan@chromium.org

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1104187
Change-Id: Ibf36fe5a3802b5f3ac663b7ac873a4758e0fda14
Fixed: chromium:1031475
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2297386
Reviewed-by: Changhao Han <changhaohan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2297393
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Auto-Submit: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
2020-07-14 14:47:38 +00:00
Tim van der Lippe 2efbb1b802 Revert "Enable property-no-vendor-prefix stylelint check"
This reverts commit 190803bad8.

Reason for revert: This breaks the icons in DevTools, which leaves gray backgrounds behind.

Original change's description:
> Enable property-no-vendor-prefix stylelint check
> 
> This patch drops unnecessary -webkit- prefixes in CSS and enables
> a lint check to enforce that prevent such properties from being
> added in the future. Note that the use of vendor-prefixed CSS
> properties is still accepted in cases where there is no standardized
> and browser-supported alternative.
> 
> Bug: chromium:1104187
> Change-Id: I29ae93d5a760c4f5037f20663754f448b5083235
> Fixed: chromium:1031475
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2297386
> Reviewed-by: Changhao Han <changhaohan@chromium.org>
> Commit-Queue: Mathias Bynens <mathias@chromium.org>

TBR=mathias@chromium.org,changhaohan@chromium.org

Change-Id: I5fe13b7afd8b71180163c7419092cc6a758903b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1104187
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2297391
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2020-07-14 14:24:29 +00:00
Mathias Bynens 190803bad8 Enable property-no-vendor-prefix stylelint check
This patch drops unnecessary -webkit- prefixes in CSS and enables
a lint check to enforce that prevent such properties from being
added in the future. Note that the use of vendor-prefixed CSS
properties is still accepted in cases where there is no standardized
and browser-supported alternative.

Bug: chromium:1104187
Change-Id: I29ae93d5a760c4f5037f20663754f448b5083235
Fixed: chromium:1031475
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2297386
Reviewed-by: Changhao Han <changhaohan@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
2020-07-14 13:23:06 +00:00
Jack Lynch 4150b9e6e1 Custom Shortcuts: replace ListWidget with ListControl
This CL replaces the ListWidget in the custom shortcuts settings tab
with a ListControl showing the same information. The list still looks
the same but has much better keyboard navigation and accessibility.

Screencast of keyboard navigation: https://i.imgur.com/bJcgthm.mp4

Bug: 174309
Change-Id: I53a7951e7819258d3b60a5eed7bd27654af10aa9
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2248869
Reviewed-by: Robert Paveza <Rob.Paveza@microsoft.com>
Reviewed-by: Shane Clifford <shanejc@microsoft.com>
Commit-Queue: Jack Lynch <jalyn@microsoft.com>
2020-06-22 19:37:13 +00:00
Mathias Bynens ca9fa2d73f Consistently format CSS color and opacity values
- Prefer the modern comma-free CSS color function syntax over the
  legacy syntax. [1]
- Explicitly use the `deg` suffix for angle values in colors, to
  clarify the range.
- Explicitly use the `%` suffix for percentages instead of formatting
  the value as a number, again to clarify the range.

[1]: https://twitter.com/mathias/status/1253242715304857601
[2]: https://goo.gle/devtools-css-color

Bug: chromium:1083142
Fixed: chromium:1073885
Change-Id: I8e1582a2dee3553a61df88564051ea84c2011d76
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2209091
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Auto-Submit: Mathias Bynens <mathias@chromium.org>
2020-05-19 16:50:26 +00:00
Mathias Bynens b0c1f4bce2 Fix stylelint-config-standard violations
Bug: chromium:1083142
Change-Id: I5ea4cc5d0f83e52856383ba37a47472e33eb19a2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2204113
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Commit-Queue: Changhao Han <changhaohan@chromium.org>
Auto-Submit: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Changhao Han <changhaohan@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
2020-05-15 17:05:27 +00:00
Jack Lynch f1f00fa32a Add VS Code shortcuts as an option
This CL adds the ability (hidden behind an experiment) for users to
select a set of shortcuts to use, the two options initially being the
default shortcuts and shortcuts that match those from VS Code. A new
`keybindSets` array is added to binding objects in module.jsons,
allowing shortcuts to be filtered on launch much like the existing
platform option. Also like platform, if the keybindSets array is
undefined for a shortcut then that shortcut will be considered common to
all keybindSets.

In general, I left keybindSets undefined for default DevTools shortcuts
that do not conflict with VS Code shortcuts so that they remain common
shortcuts. When both the DevTools and VS Code define the same shortcut,
I add both sets to keybindSets.

This should only affect users who have opted into the custom keyboard
shortcuts experiment. If a user with the experiment enabled selects VS
Code shortcuts and then turns the experiment off, ShortcutRegistry will
reset the shortcuts to the DevTools default on next launch.

Enumerating the differences between VS Code and the DevTools default
shortcuts uncovered some workflows that we'd like to add shortcuts for
that do not currently have actions in the DevTools, such as save as and
find/replace. I plan to add those in future CLs.

Due to problems with ListWidget's accessibility, I have to manually add
aria roles to the list and list items. This is a temporary state of
affairs until this tab is changed to use ListControl rather than
ListWidget for better accessibility. Since the ListWidget here contains
no editable items and is only marked as a list, there are no keyboard
navigation or focus management requirements to worry about yet.

I have put up a telemetry CL here so that we can evaluate the success of
the feature:
https://chromium-review.googlesource.com/c/chromium/src/+/2172132

Screenshots:
  https://i.imgur.com/ka0VEyM.png
  https://i.imgur.com/CG8hAro.png

Custom shortcuts design doc: https://docs.google.com/document/d/1oOPSWPxCHvMoBZ0Fw9jwFZt6gP4lrsrsl8DEAp-Hy7o/edit#

Bug: 174309
Change-Id: I0e3484eb2712c945121cc7b68e14a1a98f858bab
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2095859
Reviewed-by: John Emau <John.Emau@microsoft.com>
Reviewed-by: Songtao Xia <soxia@microsoft.com>
Commit-Queue: Jack Lynch <jalyn@microsoft.com>
2020-05-01 23:48:06 +00:00
Jack Lynch 575e9fb596 Add experimental shortcuts settings tab
This CL adds a new "Custom Keyboard Shortcuts" settings tab hidden
behind an experiment. Currently it just displays existing shortcuts, but
future CLs will add the ability for users to choose from preset sets of
shortcuts from other editors (e.g. VS Code) and set custom shortcuts for
individual actions.

Custom keyboard shortcuts design doc: https://docs.google.com/document/d/1oOPSWPxCHvMoBZ0Fw9jwFZt6gP4lrsrsl8DEAp-Hy7o/edit#heading=h.2xpjzz3fl1ju

Screenshot: https://gyazo.com/c5c915f351932ed8a1233770b84eb0ef

Bug: 174309
Change-Id: I1301cdf9337f0282b3a28d33dd5a4129954763b1
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2090680
Reviewed-by: Robert Paveza <Rob.Paveza@microsoft.com>
Reviewed-by: Kalon Hinds <kahinds@microsoft.com>
Commit-Queue: Jack Lynch <jalyn@microsoft.com>
2020-03-26 23:05:18 +00:00