1/* Copyright 2013 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. */ 4 5/******************************************************************************* 6 * 7 * Note: This is also used by a file in chrome/browser/resources/ssl. When 8 * updating this file, make sure nothing in that directory regresses. 9 * 10 ******************************************************************************/ 11 12body { 13 background-color: #E6E6E6; 14 font-family: Helvetica, Arial, sans-serif; 15 font-size: 10pt; 16 margin: 50px 40px 20px 40px; 17} 18 19#main-frame-error { 20 margin: auto; 21 max-width: 540px; 22 min-width: 200px; 23} 24 25/* Don't use the main frame div when the error is in a subframe. */ 26html[subframe] #main-frame-error { 27 display: none; 28} 29 30/* Don't use the subframe error div when the error is in a main frame. */ 31html:not([subframe]) #sub-frame-error { 32 display: none; 33} 34 35#box { 36 background-color: #fbfbfb; 37 border: 1px solid #AAA; 38 border-bottom: 1px solid #888; 39 border-radius: 3px; 40 color: black; 41<if expr="not is_android and not is_ios"> 42 /* Not done on mobile for performance reasons. */ 43 box-shadow: 0px 2px 2px #AAA; 44</if> 45} 46 47#diagnose-button { 48 margin-top: 20px; 49 margin-bottom: 10px; 50 -webkit-margin-start: 0px; 51} 52 53#content-top #buttons, 54#content-top h1 { 55 color: #666; 56 margin: 10px 0px 30px 0px; 57 font-weight: normal; 58 font-size: 1.5em; 59 text-align: center; 60} 61 62h2 { 63 color: #666; 64 font-size: 1.2em; 65 font-weight: normal; 66 margin: 10px 0; 67} 68 69a { 70 color: #15c; 71 text-decoration: none; 72} 73 74.icon { 75 -webkit-user-select: none; 76} 77 78.icon-generic { 79 /** 80 * Can't access chrome://theme/IDR_ERROR_NETWORK_GENERIC from an untrusted 81 * renderer process, so embed the resource manually. 82 */ 83 content: -webkit-image-set( 84 url('../../app/theme/default_100_percent/common/error_network_generic.png') 1x, 85 url('../../app/theme/default_200_percent/common/error_network_generic.png') 2x); 86} 87 88.icon-offline { 89 content: -webkit-image-set( 90 url('../../app/theme/default_100_percent/common/error_network_offline.png') 1x, 91 url('../../app/theme/default_200_percent/common/error_network_offline.png') 2x); 92} 93 94#content-top { 95 margin: 20px; 96} 97 98#help-box-outer { 99 overflow: hidden; 100 -webkit-transition: height ease-in 218ms; 101} 102 103#help-box-inner { 104 background-color: #f9f9f9; 105 border-top: 1px solid #EEE; 106 color: #444; 107 padding: 20px; 108 text-align: start; 109} 110 111#suggestion { 112 margin-top: 15px; 113} 114 115#short-suggestion { 116 margin-top: 5px; 117} 118 119#sub-frame-error-details { 120 color: #8F8F8F; 121<if expr="not is_android and not is_ios"> 122 /* Not done on mobile for performance reasons. */ 123 text-shadow: 0 1px 0 rgba(255,255,255,0.3); 124</if> 125} 126 127[jscontent=failedUrl] { 128 overflow-wrap: break-word; 129} 130 131button { 132 border: 1px solid rgba(0, 0, 0, 0.25); 133 border-radius: 2px; 134 color: #444; 135 -webkit-user-select: none; 136<if expr="not is_android"> 137 /* iOS does not support linear-gradient without a prefix. */ 138 background-image: -webkit-linear-gradient(#ededed, #ededed 38%, #dedede); 139 text-shadow: 0 1px 0 rgb(240, 240, 240); 140</if> 141<if expr="is_android"> 142 /* Android uses flat background colors. */ 143 background-color: #ededed; 144 font-weight: bold; 145</if> 146<if expr="not is_android and not is_ios"> 147 /* Not done on mobile for performance reasons. */ 148 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08), inset 0 1px 2px rgba(255, 255, 255, 0.75); 149</if> 150} 151 152button:hover { 153 border: 1px solid rgba(0, 0, 0, 0.3); 154 color: #000; 155<if expr="not is_android"> 156 background-image: -webkit-linear-gradient(#f0f0f0, #f0f0f0 38%, #e0e0e0); 157</if> 158<if expr="is_android"> 159 background-color: #f0f0f0; 160</if> 161<if expr="not is_android and not is_ios"> 162 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12), inset 0 1px 2px rgba(255, 255, 255, 0.95); 163</if> 164} 165 166button:active { 167 border: 1px solid rgba(0, 0, 0, 0.3); 168 color: #444; 169<if expr="not is_android"> 170 background-image: -webkit-linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7); 171</if> 172<if expr="is_android"> 173 background-color: #e7e7e7; 174</if> 175<if expr="not is_android and not is_ios"> 176 box-shadow: none; 177</if> 178} 179 180.text-button { 181 margin: 0px 5px; 182 min-height: 29px; 183 min-width: 65px; 184 padding: 7px 13px; 185} 186 187.blue-button { 188 color: #fff; 189<if expr="not is_android"> 190 background-image: -webkit-linear-gradient(#5d9aff, #5d9aff 38%, #5891f0); 191 border: 1px solid rgba(45, 102, 195, 1); 192 text-shadow: 0 1px 0 rgba(0,0,0,0.5); 193</if> 194<if expr="is_android"> 195 background-color: rgb(39, 180, 231); 196 border: 1px solid rgb(0, 152, 206); 197</if> 198<if expr="not is_android and not is_ios"> 199 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 1px 2px rgba(255, 255, 255, 0.2); 200</if> 201} 202 203.blue-button:hover { 204 color: #fff; 205<if expr="not is_android"> 206 background-image: -webkit-linear-gradient(#659efd, #659efd 38%, #6097f1); 207 border: 1px solid rgba(45, 102, 195, 1); 208</if> 209<if expr="not is_android and not is_ios"> 210 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25), inset 0 1px 2px rgba(255, 255, 255, 0.2); 211</if> 212} 213 214.blue-button:active { 215<if expr="not is_android"> 216 background-image: -webkit-linear-gradient(#6095ed, #6095ed 38%, #6095ed); 217 border: 1px solid rgb(38, 84, 160); 218</if> 219<if expr="is_android"> 220 background-color: rgb(0, 152, 206); 221</if> 222<if expr="not is_android and not is_ios"> 223 box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); 224</if> 225} 226 227#search-container { 228 /* Prevents a space between controls. */ 229 display: flex; 230 margin-top: 20px; 231} 232 233#search-box { 234 border: 1px solid #cdcdcd; 235 flex-grow: 1; 236 font-size: 16px; 237 height: 26px; 238 margin-right: 0; 239 padding: 1px 9px; 240} 241 242#search-box:focus { 243 border: 1px solid #5d9aff; 244 outline: none; 245} 246 247#search-button { 248 border: none; 249 border-top-left-radius: 0; 250 border-bottom-left-radius: 0; 251 box-shadow: none; 252 display: flex; 253 height: 30px; 254 margin: 0; 255 width: 60px; 256 padding: 0; 257} 258 259#search-image { 260 content: 261 -webkit-image-set( 262 url('../../app/theme/default_100_percent/common/omnibox_search_button_loupe.png') 1x, 263 url('../../app/theme/default_200_percent/common/omnibox_search_button_loupe.png') 2x); 264 margin: auto; 265} 266 267.hidden { 268 display: none; 269} 270 271.suggestions { 272 margin-top: 18px; 273} 274 275.suggestion-header { 276 font-weight: bold; 277 margin-bottom: 4px; 278} 279 280.suggestion-body { 281 color: #777; 282} 283 284.error-code { 285 color: #A0A0A0; 286 margin-top: 15px; 287} 288 289/* Increase line height at higher resolutions. */ 290@media (min-width: 641px) and (min-height: 641px) { 291 #help-box-inner { 292 line-height: 18px; 293 } 294} 295 296/* Decrease padding at low sizes. */ 297@media (max-width: 640px), (max-height: 640px) { 298 body { 299 margin: 15px; 300 } 301 h1 { 302 margin: 10px 0px 15px 0px; 303 } 304 #content-top { 305 margin: 15px; 306 } 307 #help-box-inner { 308 padding: 20px; 309 } 310 .suggestions { 311 margin-top: 10px; 312 } 313 .suggestion-header { 314 margin-bottom: 0px; 315 } 316 .error-code { 317 margin-top: 10px; 318 } 319} 320 321/* Don't allow overflow when in a subframe. */ 322html[subframe] body { 323 overflow: hidden; 324} 325 326#sub-frame-error { 327 -webkit-align-items: center; 328 background-color: #DDD; 329 display: -webkit-flex; 330 -webkit-flex-flow: column; 331 height: 100%; 332 -webkit-justify-content: center; 333 left: 0px; 334 position: absolute; 335 top: 0px; 336 width: 100%; 337} 338 339#sub-frame-error:hover { 340 background-color: #EEE; 341} 342 343#sub-frame-error-details { 344 margin: 0 10px; 345 visibility: hidden; 346} 347 348/* Show details only when hovering. */ 349#sub-frame-error:hover #sub-frame-error-details { 350 visibility: visible; 351} 352 353/* If the iframe is too small, always hide the error code. */ 354/* TODO(mmenke): See if overflow: no-display works better, once supported. */ 355@media (max-width: 200px), (max-height: 95px) { 356 #sub-frame-error-details { 357 display: none; 358 } 359} 360