mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-06 12:01:40 +08:00
Security UX is experimenting with using a grey triangle warning for non-secure site connections (crbug.com/997972). When this icon is shown, DevTools Security panel's security overview should match the state shown in the omnibox. Previously, crrev.com/c/1874787 added the insecure-broken state to the DevTools protocol, so this cl does the setup so that once the insecure-broken state gets sent for the DANGEROUS security state (crrev.com/c/1879498, which needs to be submitted after the frontend changes) and non-secure connections get styled as kInsecure (crrev.com/c/1877653), the triangle pointer will point to the correct icon. For non-secure states, reuse the triangle icon but style it differently depending on whether the state is HTTP or broken HTTPS. Bug: 1008218 Change-Id: Ib893489a9d7c450892eff5e33bbbf3f2aef2e283 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1880092 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Livvie Lin <livvielin@chromium.org>
177 lines
3.6 KiB
CSS
177 lines
3.6 KiB
CSS
/* Copyright (c) 2015 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.
|
|
*/
|
|
|
|
.devtools-link {
|
|
display: inline-block;
|
|
}
|
|
|
|
.security-main-view {
|
|
-webkit-user-select: text;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
background-color: var(--toolbar-bg-color);
|
|
}
|
|
|
|
.security-main-view > div {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.security-summary-section-title {
|
|
font-size: 15px;
|
|
margin: 12px 16px;
|
|
}
|
|
|
|
.lock-spectrum {
|
|
margin: 8px 16px;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.security-summary .lock-icon {
|
|
flex: none;
|
|
width: 16px;
|
|
height: 16px;
|
|
margin: 0 0;
|
|
}
|
|
|
|
/* Separate the middle icon from the other two. */
|
|
.security-summary .lock-icon-neutral {
|
|
margin: 0 16px;
|
|
}
|
|
|
|
.security-summary:not(.security-summary-secure) .lock-icon-secure,
|
|
.security-summary:not(.security-summary-neutral) .lock-icon-neutral,
|
|
.security-summary:not(.security-summary-insecure) .lock-icon-insecure,
|
|
.security-summary:not(.security-summary-insecure-broken) .lock-icon-insecure-broken {
|
|
background-color: rgba(90, 90, 90, 0.25);
|
|
}
|
|
|
|
.triangle-pointer-container {
|
|
margin: 8px 24px 0;
|
|
padding: 0 0;
|
|
}
|
|
|
|
.triangle-pointer-wrapper {
|
|
/* Defaults for dynamic properties. */
|
|
transform: translateX(0);
|
|
transition: transform 0.3s;
|
|
}
|
|
|
|
.triangle-pointer {
|
|
width: 12px;
|
|
height: 12px;
|
|
margin-bottom: -6px;
|
|
margin-left: -6px;
|
|
transform: rotate(-45deg);
|
|
border-style: solid;
|
|
border-width: 1px 1px 0 0;
|
|
|
|
background: #fff;
|
|
border-color: rgb(217, 217, 217);
|
|
}
|
|
|
|
.security-summary-secure .triangle-pointer-wrapper {
|
|
transform: translateX(0px);
|
|
}
|
|
|
|
.security-summary-neutral .triangle-pointer-wrapper {
|
|
transform: translateX(32px);
|
|
}
|
|
|
|
.security-summary-insecure .triangle-pointer-wrapper {
|
|
transform: translateX(64px);
|
|
}
|
|
|
|
.security-summary-insecure-broken .triangle-pointer-wrapper {
|
|
transform: translateX(64px);
|
|
}
|
|
|
|
.security-summary-text {
|
|
padding: 16px 24px;
|
|
border-style: solid;
|
|
border-width: 1px 0;
|
|
font-size: 15px;
|
|
|
|
background: #fff;
|
|
border-color: rgb(217, 217, 217);
|
|
}
|
|
|
|
.security-summary-secure .triangle-pointer,
|
|
.security-summary-secure .security-summary-text,
|
|
.security-explanation-title-secure {
|
|
color: #0b8043;
|
|
}
|
|
|
|
.security-summary-insecure-broken .triangle-pointer,
|
|
.security-summary-insecure-broken .security-summary-text,
|
|
.security-explanation-title-neutral,
|
|
.security-explanation-title-insecure,
|
|
.security-explanation-title-insecure-broken {
|
|
color: #cb3626;
|
|
}
|
|
|
|
.security-explanation-list {
|
|
padding-bottom: 16px;
|
|
}
|
|
|
|
.security-explanation-list:empty {
|
|
border-bottom: none;
|
|
padding: 0px;
|
|
}
|
|
|
|
.security-explanations-main {
|
|
margin-top: -5px;
|
|
background-color: #fff;
|
|
border-bottom: 1px solid rgb(230, 230, 230);
|
|
}
|
|
|
|
.security-explanations-extra {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.security-explanation {
|
|
padding: 11px;
|
|
display: flex;
|
|
white-space: nowrap;
|
|
border: none;
|
|
color: rgb(90, 90, 90);
|
|
}
|
|
|
|
.security-explanation-text {
|
|
flex: auto;
|
|
white-space: normal;
|
|
max-width: 400px;
|
|
}
|
|
|
|
.security-certificate-button {
|
|
margin-top: 8px;
|
|
margin-left: 0;
|
|
}
|
|
|
|
.security-explanation .security-property {
|
|
flex: none;
|
|
width: 16px;
|
|
height: 16px;
|
|
margin-right: 16px;
|
|
}
|
|
|
|
.security-explanation-title {
|
|
color: rgb(48, 57, 66);
|
|
margin-top: 1px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.security-mixed-content {
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.security-explanation-recommendations {
|
|
padding-inline-start: 16px;
|
|
}
|
|
|
|
.security-explanation-recommendations > li {
|
|
margin-bottom: 4px;
|
|
}
|