Commit 82b22b21 authored by edwardjung's avatar edwardjung Committed by Commit bot

Update SSL/malware/net error interstitial design

+ On small screens the navigation buttons are anchored to the bottom of the screen.
+ Tweaks to the text colour
+ Change button styling of safe browsing page

BUG=422882

Review URL: https://codereview.chromium.org/885283005

Cr-Commit-Position: refs/heads/master@{#314907}
parent e1393cf5
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
function toggleHelpBox() { function toggleHelpBox() {
var helpBoxOuter = $('help-box-outer'); var helpBoxOuter = $('details');
helpBoxOuter.classList.toggle('hidden'); helpBoxOuter.classList.toggle('hidden');
var detailsButton = $('details-button'); var detailsButton = $('details-button');
if (helpBoxOuter.classList.contains('hidden')) { if (helpBoxOuter.classList.contains('hidden')) {
......
<!doctype html> <!doctype html>
<html i18n-values="dir:textdirection;.style.fontSize:fontsize;lang:language"> <html i18n-values="dir:textdirection;lang:language">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, <meta name="viewport" content="width=device-width, initial-scale=1.0,
...@@ -31,9 +31,7 @@ ...@@ -31,9 +31,7 @@
jsdisplay="details"></button> jsdisplay="details"></button>
</div> </div>
</div> </div>
<!-- Outer and inner divs are needed both for margins and sizing. --> <div id="details" class="hidden">
<div id="help-box-outer" class="hidden">
<div id="details">
<div jsselect="summary"> <div jsselect="summary">
<span jsvalues=".innerHTML:msg"></span> <span jsvalues=".innerHTML:msg"></span>
</div> </div>
...@@ -46,7 +44,6 @@ ...@@ -46,7 +44,6 @@
<div class="error-code" jscontent="errorCode"></div> <div class="error-code" jscontent="errorCode"></div>
</div> </div>
</div> </div>
</div>
<div id="sub-frame-error"> <div id="sub-frame-error">
<!-- Show details when hovering over the icon, in case the details are <!-- Show details when hovering over the icon, in case the details are
hidden because they're too large. --> hidden because they're too large. -->
......
...@@ -14,7 +14,7 @@ a { ...@@ -14,7 +14,7 @@ a {
body { body {
background-color: #f7f7f7; background-color: #f7f7f7;
color: #585858; color: #646464;
} }
body.safe-browsing { body.safe-browsing {
...@@ -50,6 +50,10 @@ button:hover { ...@@ -50,6 +50,10 @@ button:hover {
box-shadow: 0 1px 3px rgba(0, 0, 0, .50); box-shadow: 0 1px 3px rgba(0, 0, 0, .50);
} }
#debugging {
overflow: auto;
}
.debugging-content { .debugging-content {
line-height: 1em; line-height: 1em;
margin-bottom: 0; margin-bottom: 0;
...@@ -69,18 +73,33 @@ button:hover { ...@@ -69,18 +73,33 @@ button:hover {
margin-top: 20px; margin-top: 20px;
} }
#details-button {
background: inherit;
border: 0;
float: none;
margin: -6px 0 0;
padding: 0;
text-decoration: underline;
}
#details-button:hover {
box-shadow: inherit;
}
#error-code { #error-code {
color: black; color: black;
font-size: .825em;
opacity: .35; opacity: .35;
text-transform: uppercase; text-transform: uppercase;
} }
#error-debugging-info { #error-debugging-info {
font-size: 0.8em; font-size: 0.8em;
overflow: auto;
} }
h1 { h1 {
color: #585858; color: #333;
font-size: 1.6em; font-size: 1.6em;
font-weight: normal; font-weight: normal;
line-height: 1.25em; line-height: 1.25em;
...@@ -97,6 +116,7 @@ h2 { ...@@ -97,6 +116,7 @@ h2 {
} }
html { html {
-webkit-text-size-adjust: 100%;
font-size: 125%; font-size: 125%;
} }
...@@ -147,13 +167,11 @@ input[type=checkbox] { ...@@ -147,13 +167,11 @@ input[type=checkbox] {
} }
.safe-browsing button { .safe-browsing button {
background-color: rgb(206, 52, 38); background-color: rgba(255, 255, 255, .15);
border: 1px solid white;
} }
.safe-browsing button:active { .safe-browsing button:active {
background-color: rgb(206, 52, 38); background-color: rgba(255, 255, 255, .25);
border-color: rgba(255, 255, 255, .6);
} }
.safe-browsing button:hover { .safe-browsing button:hover {
...@@ -207,7 +225,7 @@ input[type=checkbox] { ...@@ -207,7 +225,7 @@ input[type=checkbox] {
width: 14px; width: 14px;
} }
.styled-checkbox label::after { .styled-checkbox .checkbox-tick {
background: transparent; background: transparent;
border: 2px solid white; border: 2px solid white;
border-right-width: 0; border-right-width: 0;
...@@ -222,7 +240,7 @@ input[type=checkbox] { ...@@ -222,7 +240,7 @@ input[type=checkbox] {
width: 9px; width: 9px;
} }
.styled-checkbox input[type=checkbox]:checked + label::after { .styled-checkbox input[type=checkbox]:checked ~ .checkbox-tick {
opacity: 1; opacity: 1;
} }
...@@ -238,11 +256,14 @@ input[type=checkbox] { ...@@ -238,11 +256,14 @@ input[type=checkbox] {
} }
} }
@media (max-width: 400px) { @media (max-width: 420px) {
button, button,
[dir='rtl'] button { [dir='rtl'] button,
.small-link {
float: none; float: none;
font-size: 1em; font-size: .825em;
font-weight: 400;
text-transform: uppercase;
width: 100%; width: 100%;
} }
...@@ -256,7 +277,6 @@ input[type=checkbox] { ...@@ -256,7 +277,6 @@ input[type=checkbox] {
#details-button { #details-button {
display: block; display: block;
padding-top: 14px;
text-align: center; text-align: center;
width: 100%; width: 100%;
} }
...@@ -272,8 +292,345 @@ input[type=checkbox] { ...@@ -272,8 +292,345 @@ input[type=checkbox] {
.nav-wrapper { .nav-wrapper {
margin-top: 30px; margin-top: 30px;
} }
}
/**
* Mobile specific styling.
* Navigation buttons are anchored to the bottom of the screen.
* Details message replaces the top content in its own scrollable area.
*/
@media (max-width: 420px) and (orientation: portrait) {
#details-button {
border: 0;
margin: 20px 0 0;
}
}
/* Fixed nav. */
@media (min-width: 300px) and (max-width: 420px) and
(min-height: 400px) and (orientation:portrait),
(min-width: 421px) and (max-width: 736px) and (min-height: 240px) and
(max-height: 420px) and (orientation:landscape) {
body:not(.offline) .nav-wrapper {
background: #f7f7f7;
bottom: 0;
left: 0;
position: fixed;
z-index: 1;
}
body.safe-browsing .nav-wrapper {
background: rgb(206, 52, 38);
}
}
@media (max-width: 420px) and (orientation: portrait),
(max-width: 736px) and (max-height: 420px) and (orientation: landscape) {
body {
margin: 0 auto;
}
button,
[dir='rtl'] button,
button.small-link {
font-family: Roboto-Regular,Helvetica;
font-size: .933em;
font-weight: 600;
text-transform: uppercase;
}
.nav-wrapper {
box-sizing: border-box;
padding: 16px 24px 8px;
width: 100%;
}
#details {
box-sizing: border-box;
height: auto;
margin: 0;
opacity: 1;
transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
#details.hidden,
#main-content.hidden {
display: block;
height: 0;
opacity: 0;
overflow: hidden;
}
#details-button {
height: 48px;
}
h1 {
font-size: 1.5em;
margin-bottom: 8px;
}
.icon {
margin-bottom: 12px;
}
.interstitial-wrapper {
box-sizing: border-box;
margin: 24px 0 12px;
max-width: initial;
overflow: auto;
padding: 0 24px;
position: relative;
}
.interstitial-wrapper p {
font-size: .95em;
line-height: 1.61em;
margin-top: 8px;
}
#main-content {
margin: 0;
transition: opacity 100ms cubic-bezier(0.4, 0, 0.2, 1);
}
.small-link {
border: 0;
}
.suggested-left > #control-buttons,
.suggested-right > #control-buttons {
float: none;
margin: 0;
}
}
@media (min-height: 400px) and (orientation:portrait) {
body:not(.safe-browsing-has-checkbox):not(.offline) .interstitial-wrapper {
margin-bottom: 145px;
}
}
@media (min-height: 299px) and (orientation:portrait) {
.nav-wrapper {
padding-bottom: 16px;
}
}
@media (min-height: 405px) and (orientation:portrait) {
.icon {
margin-bottom: 24px;
}
.interstitial-wrapper {
margin-top: 64px;
}
}
@media (min-height: 480px) and (max-width: 420px) and (orientation: portrait),
(min-height: 338px) and (max-height: 420px) and (max-width: 736px) and
(orientation: landscape) {
.icon {
margin-bottom: 24px;
}
.nav-wrapper {
padding: 16px 24px 24px;
}
}
@media (min-height: 500px) and (max-width: 414px) and (orientation: portrait) {
:not(.safe-browsing-has-checkbox) .interstitial-wrapper {
margin-top: 96px;
}
}
/* Phablet sizing */
@media (min-width: 375px) and (min-height: 641px) and
(max-width: 414px) and (orientation: portrait) {
button,
[dir='rtl'] button,
.small-link { .small-link {
font-size: 1em; font-size: 1em;
height: 40px;
}
body:not(.neterror) .icon {
height: 80px;
width: 80px;
}
#details-button {
margin-top: 28px;
}
h1 {
font-size: 1.7em;
}
.icon {
margin-bottom: 28px;
}
.interstitial-wrapper {
padding: 28px;
}
.interstitial-wrapper p {
font-size: 1.05em;
}
.nav-wrapper {
padding: 28px;
}
.neterror .icon {
height: 80px;
width: 65.6px;
}
}
@media (min-width: 420px) and (max-width: 736px) and
(min-height: 240px) and (max-height: 298px) and
(orientation:landscape) {
body:not(.neterror) .icon {
height: 50px;
width: 50px;
}
.icon {
padding-top: 0;
}
.interstitial-wrapper {
margin-top: 16px;
}
.nav-wrapper {
padding: 0 24px 8px;
}
}
@media (min-width: 420px) and (max-width: 736px) and
(min-height: 240px) and (max-height: 420px) and
(orientation:landscape) {
#details-button {
margin: 0;
}
.interstitial-wrapper {
margin-bottom: 70px;
}
.nav-wrapper {
margin-top: 0;
}
#malware-opt-in {
margin-top: 0;
}
#reload-button,
#primary-button {
margin: 6px 0;
}
}
/* Phablet landscape */
@media (min-width: 680px) and (max-height: 414px) {
.interstitial-wrapper {
margin: 24px auto;
}
.nav-wrapper {
margin: 0 auto;
}
}
@media (max-height: 404px) {
button {
margin-top: 0;
}
#details-button {
height: 32px;
margin: 8px 0;
}
}
@media (max-height: 240px) and (orientation: landscape),
(max-height: 480px) and (orientation: portrait),
(max-width: 419px) and (max-height: 323px) {
body:not(.neterror) .icon {
height: 56px;
width: 56px;
}
.icon {
margin-bottom: 16px;
}
}
/* Small mobile screens. No fixed nav. */
@media (max-height: 400px) and (orientation: portrait),
(max-height: 240px) and (orientation: landscape) {
.interstitial-wrapper {
display: flex;
flex-direction: column;
margin-bottom: 0;
}
#details {
flex: 1 1 auto;
order: 0;
}
#main-content {
flex: 1 1 auto;
order: 0;
}
.nav-wrapper {
flex: 0 1 auto;
margin-top: 0;
order: 1;
padding-left: 0;
padding-right: 0;
position: relative;
}
}
/* Malware opt-in. No fixed nav. */
@media (max-height: 600px) and (orientation: portrait),
(max-height: 360px) and (orientation: landscape) {
.safe-browsing-has-checkbox .interstitial-wrapper {
display: flex;
flex-direction: column;
margin-bottom: 0;
}
.safe-browsing-has-checkbox #details {
flex: 1 1 auto;
order: 0;
}
.safe-browsing-has-checkbox #main-content {
flex: 1 1 auto;
order: 0;
}
.safe-browsing-has-checkbox #malware-opt-in {
margin-bottom: 8px;
}
body.safe-browsing-has-checkbox .nav-wrapper {
flex: 0 1 auto;
margin-top: 0;
order: 1;
padding-left: 0;
padding-right: 0;
position: relative;
} }
} }
...@@ -10,10 +10,12 @@ ...@@ -10,10 +10,12 @@
<script src="captive_portal.js"></script> <script src="captive_portal.js"></script>
<script src="ssl.js"></script> <script src="ssl.js"></script>
<script src="safe_browsing.js"></script> <script src="safe_browsing.js"></script>
<script src="interstitial_v2_mobile.js"></script>
<script src="interstitial_v2.js"></script> <script src="interstitial_v2.js"></script>
</head> </head>
<body id="body"> <body id="body">
<div class="interstitial-wrapper"> <div class="interstitial-wrapper">
<div id="main-content">
<div class="icon" id="icon"></div> <div class="icon" id="icon"></div>
<div id="main-message"> <div id="main-message">
<h1 i18n-content="heading"></h1> <h1 i18n-content="heading"></h1>
...@@ -21,24 +23,27 @@ ...@@ -21,24 +23,27 @@
</div> </div>
<div id="malware-opt-in" class="hidden"> <div id="malware-opt-in" class="hidden">
<div class="styled-checkbox"> <div class="styled-checkbox">
<label>
<input type="checkbox" id="opt-in-checkbox"> <input type="checkbox" id="opt-in-checkbox">
<label for="opt-in-checkbox"></label> <span class="checkbox-tick"></span>
</label>
</div> </div>
<div id="opt-in-label"></div> <div id="opt-in-label"></div>
</div> </div>
</div>
<div class="nav-wrapper"> <div class="nav-wrapper">
<button i18n-content="primaryButtonText" id="primary-button"></button> <button i18n-content="primaryButtonText" id="primary-button"></button>
<a href="#" id="details-button" class="small-link" <button id="details-button" class="small-link"
i18n-content="openDetails"></a> i18n-content="openDetails"></button>
</div> </div>
<div id="details" class="hidden"> <div id="details" class="hidden">
<p i18n-values=".innerHTML:explanationParagraph"></p> <p i18n-values=".innerHTML:explanationParagraph"></p>
<p i18n-values=".innerHTML:finalParagraph" id="final-paragraph"></p> <p i18n-values=".innerHTML:finalParagraph" id="final-paragraph"></p>
</div>
<div id="debugging"> <div id="debugging">
<p id="error-code"></p> <p id="error-code"></p>
<div id="error-debugging-info" class="hidden"></div> <div id="error-debugging-info" class="hidden"></div>
</div> </div>
</div> </div>
</div>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -139,6 +139,14 @@ function setupEvents() { ...@@ -139,6 +139,14 @@ function setupEvents() {
} else { } else {
$('details-button').addEventListener('click', function(event) { $('details-button').addEventListener('click', function(event) {
var hiddenDetails = $('details').classList.toggle('hidden'); var hiddenDetails = $('details').classList.toggle('hidden');
if (mobileNav) {
// Details appear over the main content on small screens.
$('main-content').classList.toggle('hidden', !hiddenDetails);
} else {
$('main-content').classList.remove('hidden');
}
$('details-button').innerText = hiddenDetails ? $('details-button').innerText = hiddenDetails ?
loadTimeData.getString('openDetails') : loadTimeData.getString('openDetails') :
loadTimeData.getString('closeDetails'); loadTimeData.getString('closeDetails');
......
// Copyright 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.
var mobileNav = false;
/**
* For small screen mobile the navigation buttons are moved
* below the advanced text.
*/
function onResize() {
var helpOuterBox = document.querySelector('#details');
var mainContent = document.querySelector('#main-content');
var mediaQuery = '(max-width: 420px) and (orientation: portrait),' +
'(max-width: 736px) and (max-height: 420px) and (orientation: landscape)';
// Check for change in nav status.
if (mobileNav != window.matchMedia(mediaQuery).matches) {
// Show the top content and reset the details section to hidden.
mainContent.classList.toggle('hidden', false);
helpOuterBox.classList.toggle('hidden', true);
mobileNav = !mobileNav;
}
}
function setupMobileNav() {
window.addEventListener('resize', onResize);
onResize();
}
document.addEventListener('DOMContentLoaded', setupMobileNav);
...@@ -26,6 +26,7 @@ function setupCheckbox() { ...@@ -26,6 +26,7 @@ function setupCheckbox() {
$('opt-in-label').innerHTML = loadTimeData.getString('optInLink'); $('opt-in-label').innerHTML = loadTimeData.getString('optInLink');
$('opt-in-checkbox').checked = loadTimeData.getBoolean(SB_BOX_CHECKED); $('opt-in-checkbox').checked = loadTimeData.getBoolean(SB_BOX_CHECKED);
$('malware-opt-in').classList.remove('hidden'); $('malware-opt-in').classList.remove('hidden');
$('body').classList.add('safe-browsing-has-checkbox');
$('opt-in-checkbox').addEventListener('click', function() { $('opt-in-checkbox').addEventListener('click', function() {
sendCommand( sendCommand(
......
...@@ -37,6 +37,7 @@ a { ...@@ -37,6 +37,7 @@ a {
.icon { .icon {
-webkit-user-select: none; -webkit-user-select: none;
content: '';
} }
.icon-generic { .icon-generic {
...@@ -153,6 +154,7 @@ a { ...@@ -153,6 +154,7 @@ a {
.error-code { .error-code {
color: #A0A0A0; color: #A0A0A0;
font-size: .825em;
margin-top: 15px; margin-top: 15px;
} }
...@@ -165,11 +167,8 @@ a { ...@@ -165,11 +167,8 @@ a {
/* Decrease padding at low sizes. */ /* Decrease padding at low sizes. */
@media (max-width: 640px), (max-height: 640px) { @media (max-width: 640px), (max-height: 640px) {
body {
margin: 15px;
}
h1 { h1 {
margin: 10px 0 15px; margin: 0 0 15px;
} }
#content-top { #content-top {
margin: 15px; margin: 15px;
...@@ -282,8 +281,9 @@ html[subframe] body { ...@@ -282,8 +281,9 @@ html[subframe] body {
color: #2b2b2b; color: #2b2b2b;
font-size: 1em; font-size: 1em;
line-height: 1.55; line-height: 1.55;
margin: 100px auto 0; margin: 0 auto;
max-width: 600px; max-width: 600px;
padding-top: 100px;
width: 100%; width: 100%;
} }
...@@ -320,11 +320,10 @@ html[subframe] body { ...@@ -320,11 +320,10 @@ html[subframe] body {
display: none; display: none;
} }
@media (max-width: 400px) { @media (max-width: 420px) {
.suggested-left > #control-buttons, .suggested-left > #control-buttons,
.suggested-right > #control-buttons { .suggested-right > #control-buttons {
float: none; float: none;
margin: 50px 0 20px;
} }
} }
...@@ -345,3 +344,9 @@ html[subframe] body { ...@@ -345,3 +344,9 @@ html[subframe] body {
margin-top: 30px; margin-top: 30px;
} }
} }
@media (min-height: 240px) and (orientation: landscape) {
.offline .interstitial-wrapper {
margin-bottom: 20px;
}
}
<!doctype html> <!doctype html>
<html i18n-values="dir:textdirection;.style.fontSize:fontsize;lang:language"> <html i18n-values="dir:textdirection;lang:language">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, <meta name="viewport" content="width=device-width, initial-scale=1.0,
...@@ -7,16 +7,20 @@ ...@@ -7,16 +7,20 @@
<title i18n-content="title"></title> <title i18n-content="title"></title>
<link rel="stylesheet" href="../../browser/resources/security_warnings/interstitial_v2.css"> <link rel="stylesheet" href="../../browser/resources/security_warnings/interstitial_v2.css">
<link rel="stylesheet" href="neterror.css"> <link rel="stylesheet" href="neterror.css">
<script src="../../browser/resources/security_warnings/interstitial_v2_mobile.js"></script>
<script src="neterror.js"></script> <script src="neterror.js"></script>
<script src="offline.js"></script> <script src="offline.js"></script>
</head> </head>
<body id="t" i18n-values=".style.fontFamily:fontfamily"> <body id="t" i18n-values=".style.fontFamily:fontfamily;.style.fontSize:fontsize">
<div id="main-frame-error" class="interstitial-wrapper"> <div id="main-frame-error" class="interstitial-wrapper">
<div id="main-content">
<img class="icon" <img class="icon"
jseval="updateIconClass(this.classList, iconClass)"> jseval="updateIconClass(this.classList, iconClass)">
<div id="main-message"> <div id="main-message">
<h1 i18n-content="heading"></h1> <h1 i18n-content="heading"></h1>
<p hidden></p> <p hidden></p>
</div>
</div>
<div id="buttons" class="nav-wrapper"> <div id="buttons" class="nav-wrapper">
<div id="control-buttons" hidden> <div id="control-buttons" hidden>
<button id="reload-button" <button id="reload-button"
...@@ -35,12 +39,9 @@ ...@@ -35,12 +39,9 @@
<button id="details-button" class="text-button small-link" <button id="details-button" class="text-button small-link"
onclick="detailsButtonClick(); toggleHelpBox()" onclick="detailsButtonClick(); toggleHelpBox()"
jsdisplay="details" jscontent="details" jsdisplay="details" jscontent="details"
jsvalues=".detailsText:details; .hideDetailsText:hideDetails;"> jsvalues=".detailsText:details; .hideDetailsText:hideDetails;"></button>
</div> </div>
</div> <div id="details" class="hidden">
<!-- Outer and inner divs are needed both for margins and sizing. -->
<div id="help-box-outer" class="hidden">
<div id="details">
<div jsselect="summary"> <div jsselect="summary">
<span jsvalues=".innerHTML:msg"></span> <span jsvalues=".innerHTML:msg"></span>
</div> </div>
...@@ -68,7 +69,6 @@ ...@@ -68,7 +69,6 @@
<div class="error-code" jscontent="errorCode"></div> <div class="error-code" jscontent="errorCode"></div>
</div> </div>
</div> </div>
</div>
<div id="sub-frame-error"> <div id="sub-frame-error">
<!-- Show details when hovering over the icon, in case the details are <!-- Show details when hovering over the icon, in case the details are
hidden because they're too large. --> hidden because they're too large. -->
......
...@@ -3,13 +3,17 @@ ...@@ -3,13 +3,17 @@
// found in the LICENSE file. // found in the LICENSE file.
function toggleHelpBox() { function toggleHelpBox() {
var helpBoxOuter = document.getElementById('help-box-outer'); var helpBoxOuter = document.getElementById('details');
helpBoxOuter.classList.toggle('hidden'); helpBoxOuter.classList.toggle('hidden');
var detailsButton = document.getElementById('details-button'); var detailsButton = document.getElementById('details-button');
if (helpBoxOuter.classList.contains('hidden')) if (helpBoxOuter.classList.contains('hidden'))
detailsButton.innerText = detailsButton.detailsText; detailsButton.innerText = detailsButton.detailsText;
else else
detailsButton.innerText = detailsButton.hideDetailsText; detailsButton.innerText = detailsButton.hideDetailsText;
// Details appears over the main content on small screens.
if (mobileNav)
document.getElementById('main-content').classList.toggle('hidden');
} }
function diagnoseErrors() { function diagnoseErrors() {
...@@ -53,6 +57,8 @@ function updateIconClass(classList, newClass) { ...@@ -53,6 +57,8 @@ function updateIconClass(classList, newClass) {
if (newClass == 'icon-offline') { if (newClass == 'icon-offline') {
document.body.classList.add('offline'); document.body.classList.add('offline');
new Runner('.interstitial-wrapper'); new Runner('.interstitial-wrapper');
} else {
document.body.classList.add('neterror');
} }
} }
...@@ -136,7 +142,7 @@ function onDocumentLoad() { ...@@ -136,7 +142,7 @@ function onDocumentLoad() {
if (loadTimeData.valueExists('summary') && if (loadTimeData.valueExists('summary') &&
!loadTimeData.getValue('summary').msg) { !loadTimeData.getValue('summary').msg) {
detailsButton.style.display = 'none'; detailsButton.style.display = 'none';
document.getElementById('help-box-outer').style.display = 'block'; document.getElementById('details').style.display = 'block';
} }
</if> </if>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment