blob: 13b4b6d38a47e42c8451e403bef1490033dcbe21 [file] [log] [blame]
/*
* Copyright (C) 2016-2017 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
.tree-outline .item.call-frame .status {
position: absolute;
float: none;
--call-frame-status-start: 1px;
--call-frame-status-margin-start: 1px;
}
body[dir=ltr] .tree-outline .item.call-frame .status {
left: var(--call-frame-status-start);
margin-left: var(--call-frame-status-margin-start);
}
body[dir=rtl] .tree-outline .item.call-frame .status {
transform: scaleX(-1);
right: var(--call-frame-status-start);
margin-right: var(--call-frame-status-margin-start);
}
.tree-outline .item.call-frame .status > .status-image {
width: 17px;
height: 17px;
fill: var(--border-color);
}
.tree-outline .item.call-frame.selected .status > .status-image {
fill: var(--border-color-dark);
}
.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image {
fill: var(--selected-foreground-color);
}
.tree-outline .item.call-frame.async-boundary {
cursor: default;
color: var(--text-color-gray-medium);
--call-frame-async-boundary-padding-start: 5px;
--call-frame-async-boundary-leading-rule-margin-start: -5px;
--call-frame-async-boundary-leading-rule-margin-end: 1px;
--call-frame-async-bonudary-trailing-rule-margin-start: 2px;
}
body[dir=ltr] .tree-outline:not(.single-thread) > .children > .item.call-frame.async-boundary {
padding-left: var(--call-frame-async-boundary-padding-start);
}
body[dir=rtl] .tree-outline:not(.single-thread) > .children > .item.call-frame.async-boundary {
padding-right: var(--call-frame-async-boundary-padding-start);
}
.tree-outline .item.call-frame.async-boundary .icon {
float: none;
display: inline-block;
--call-frame-async-boundary-icon-margin-start: 0;
}
body[dir=ltr] .tree-outline .item.call-frame.async-boundary .icon {
margin-left: var(--call-frame-async-boundary-icon-margin-start) !important;
}
body[dir=rtl] .tree-outline .item.call-frame.async-boundary .icon {
margin-right: var(--call-frame-async-boundary-icon-margin-start) !important;
}
.tree-outline .item.call-frame.async-boundary::before,
.tree-outline .item.call-frame.async-boundary::after {
content: "";
display: inline-block;
height: 0;
margin-top: 2px;
vertical-align: middle;
border-bottom: solid 0.5px var(--border-color);
}
.tree-outline .item.call-frame.async-boundary::after {
width: 100%;
}
body[dir=ltr] .tree-outline .item.call-frame.async-boundary::after {
margin-left: var(--call-frame-async-bonudary-trailing-rule-margin-start);
}
body[dir=rtl] .tree-outline .item.call-frame.async-boundary::after {
margin-right: var(--call-frame-async-bonudary-trailing-rule-margin-start);
}
.tree-outline .item.call-frame.async-boundary::before {
width: 30px;
}
body[dir=ltr] .tree-outline .item.call-frame.async-boundary::before {
margin-left: var(--call-frame-async-boundary-leading-rule-margin-start);
margin-right: var(--call-frame-async-boundary-leading-rule-margin-end);
}
body[dir=rtl] .tree-outline .item.call-frame.async-boundary::before {
margin-left: var(--call-frame-async-boundary-leading-rule-margin-end);
margin-right: var(--call-frame-async-boundary-leading-rule-margin-start);
}
.tree-outline.single-thread .item.call-frame.async-boundary::before {
width: 20px;
}