mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-14 02:24:40 +08:00
This is a reland of https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1880515, which was reverted at https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1961190 due to test failures that do not repro or appear to be related. This PR makes the call stack sidebar pane in the Sources panel more accessible by: - enabling keyboard navigation of the call frame list by managing call frame selection outside of ListControl as suggested by Joel in [2] - adding the aria-disabled attribute to unselectable call frames - adding an aria description to blackboxed call frames This will break several web tests, so [3] must be merged first to disable them. Originally reviewed in [1], where the web test fixes for this CL now live. Video showing navigation: https://i.imgur.com/55tJy2k.mp4 [1] https://chromium-review.googlesource.com/c/chromium/src/+/1715121 [2] https://chromium-review.googlesource.com/c/chromium/src/+/1690089/11#message-3e9e158cce4628b01398d9cf84e37550b55b14c6 [3] https://chromium-review.googlesource.com/c/chromium/src/+/1893117 Bug: 963183 Change-Id: I826e1c5c2f78c235823a71c956fde6ef73bcccac Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1965855 Commit-Queue: Jack Lynch <jalyn@microsoft.com> Reviewed-by: Robert Paveza <Rob.Paveza@microsoft.com>
119 lines
2.2 KiB
CSS
119 lines
2.2 KiB
CSS
/*
|
|
* Copyright 2016 The Chromium Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
.blackboxed-message {
|
|
text-align: center;
|
|
font-style: italic;
|
|
padding: 4px;
|
|
color: #888;
|
|
background-color: #FFFFC2;
|
|
}
|
|
|
|
.blackboxed-message > .link {
|
|
margin-left: 5px;
|
|
}
|
|
|
|
.blackboxed-message > .link:focus {
|
|
outline-width: unset;
|
|
}
|
|
|
|
.show-more-message {
|
|
text-align: center;
|
|
font-style: italic;
|
|
padding: 4px;
|
|
border-top: 1px solid #d8d8d8;
|
|
}
|
|
|
|
.show-more-message > .link {
|
|
margin-left: 5px;
|
|
}
|
|
|
|
.call-frame-item {
|
|
padding: 3px 8px 3px 20px;
|
|
position: relative;
|
|
min-height: 18px;
|
|
line-height: 15px;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.call-frame-title-text {
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.call-frame-item:not(.async-header) {
|
|
border-top: 1px solid #efefef;
|
|
}
|
|
|
|
.call-frame-item:not(.async-header):hover {
|
|
background-color: #eee;
|
|
}
|
|
|
|
.call-frame-item[data-keyboard-focus="true"]:focus,
|
|
.call-frame-item.async-header[data-keyboard-focus="true"]:focus .call-frame-item-title {
|
|
background-color: var(--focus-bg-color);
|
|
}
|
|
|
|
.async-header + .call-frame-item {
|
|
border-top: 0;
|
|
}
|
|
|
|
.call-frame-item-title,
|
|
.call-frame-location {
|
|
display: flex;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.call-frame-location {
|
|
color: #888;
|
|
margin-left: auto;
|
|
padding: 0 10px 0 10px;
|
|
}
|
|
|
|
.async-header::before {
|
|
content: " ";
|
|
width: 100%;
|
|
border-top: 1px solid #d8d8d8;
|
|
margin-top: 8px;
|
|
position: absolute;
|
|
left: 0;
|
|
}
|
|
|
|
.async-header .call-frame-item-title {
|
|
font-weight: bold;
|
|
color: #999;
|
|
background-color: white;
|
|
margin-left: -5px;
|
|
padding: 0 5px;
|
|
z-index: 1;
|
|
}
|
|
|
|
.blackboxed-call-frame {
|
|
opacity: 0.6;
|
|
font-style: italic;
|
|
}
|
|
|
|
.selected-call-frame-icon {
|
|
display: none;
|
|
position: absolute;
|
|
top: 5px;
|
|
left: 4px;
|
|
}
|
|
|
|
.call-frame-item.selected .selected-call-frame-icon {
|
|
display: block;
|
|
}
|
|
|
|
:host-context(.-theme-with-dark-background) .blackboxed-message {
|
|
background-color: hsl(46, 98%, 22%);
|
|
color: #aaa;
|
|
}
|
|
|
|
:host-context(.-theme-with-dark-background) .blackboxed-message > .link {
|
|
color: hsl(0, 0%, 67%);
|
|
}
|