Home | History | Annotate | Download | only in ntp4
      1 /* Copyright (c) 2012 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 html {
      6   /* It's necessary to put this here instead of in body in order to get the
      7      background-size of 100% to work properly */
      8   height: 100%;
      9   overflow: hidden;
     10 }
     11 
     12 body {
     13   /* Don't highlight links when they're tapped. Safari has bugs here that
     14      show up as flicker when dragging in some situations */
     15   -webkit-tap-highlight-color: transparent;
     16   /* Don't allow selecting text - can occur when dragging */
     17   -webkit-user-select: none;
     18   background-size: auto 100%;
     19   margin: 0;
     20 }
     21 
     22 /* [hidden] does display:none, but its priority is too low in some cases. */
     23 [hidden] {
     24   display: none !important;
     25 }
     26 
     27 #notification-container {
     28   -webkit-transition: opacity 200ms;
     29   bottom: 31px;
     30   display: block;
     31   float: left;
     32   position: relative;
     33   text-align: start;
     34   z-index: 15;
     35 }
     36 
     37 html[dir='rtl'] #notification-container {
     38   float: right;
     39 }
     40 
     41 #notification-container.card-changed {
     42   -webkit-transition: none;
     43   opacity: 0;
     44 }
     45 
     46 #notification-container.inactive {
     47   -webkit-transition: opacity 200ms;
     48   opacity: 0;
     49 }
     50 
     51 #notification {
     52   display: inline-block;
     53   font-weight: bold;
     54   white-space: nowrap;
     55 }
     56 
     57 #notification > * {
     58   display: inline-block;
     59   white-space: normal;
     60 }
     61 
     62 #notification > div > div,
     63 #notification > div {
     64   display: inline-block;
     65 }
     66 
     67 /* NOTE: This is in the probable case that we start stuffing 16x16 data URI'd
     68  * icons in the promo notification responses. */
     69 #notification > span > img {
     70   margin-bottom: -3px;
     71 }
     72 
     73 #notification .close-button {
     74   -webkit-margin-start: 8px;  /* Matching value in TilePage#repositionTile_. */
     75   vertical-align: top;
     76 }
     77 
     78 .close-button {
     79   background: no-repeat;
     80   background-color: transparent;
     81   /* TODO(estade): this should animate between states. */
     82   background-image: -webkit-image-set(
     83       url('../../../../ui/resources/default_100_percent/close_2.png') 1x,
     84       url('../../../../ui/resources/default_200_percent/close_2.png') 2x);
     85   border: 0;
     86   cursor: default;
     87   display: inline-block;
     88   height: 16px;
     89   padding: 0;
     90   width: 16px;
     91 }
     92 
     93 .close-button:hover,
     94 .close-button:focus {
     95   background-image: -webkit-image-set(
     96       url('../../../../ui/resources/default_100_percent/close_2_hover.png') 1x,
     97       url('../../../../ui/resources/default_200_percent/close_2_hover.png') 2x);
     98 }
     99 
    100 .close-button:active {
    101   background-image: -webkit-image-set(
    102       url('../../../../ui/resources/default_100_percent/close_2_pressed.png')
    103           1x,
    104       url('../../../../ui/resources/default_200_percent/close_2_pressed.png')
    105           2x);
    106 }
    107 
    108 .link-button {
    109   -webkit-margin-start: 0.5em;
    110 }
    111 
    112 #card-slider-frame {
    113   /* Must match #footer height. */
    114   bottom: 50px;
    115   overflow: hidden;
    116   /* We want this to fill the window except for the region used
    117    * by footer. */
    118   position: fixed;
    119   top: 0;
    120   width: 100%;
    121 }
    122 
    123 body.bare-minimum #card-slider-frame {
    124   bottom: 0;
    125 }
    126 
    127 #page-list {
    128   /* fill the apps-frame */
    129   display: -webkit-box;
    130   height: 100%;
    131 }
    132 
    133 #attribution {
    134   bottom: 0;
    135   left: auto;
    136   margin-left: 8px;
    137   /* Leave room for the scrollbar. */
    138   margin-right: 13px;
    139   position: absolute;
    140   right: 0;
    141   text-align: left;
    142   z-index: -5;
    143 }
    144 
    145 /* For themes that right-align their images, we flip the attribution to the
    146  * left to avoid conflicts. We also do this for bare-minimum mode since there
    147  * can be conflicts with the recently closed menu. */
    148 html[themegravity='right'] #attribution,
    149 body.bare-minimum #attribution,
    150 html[dir='rtl'] #attribution {
    151   left: 0;
    152   right: auto;
    153   text-align: right;
    154 }
    155 
    156 #attribution > span {
    157   display: block;
    158 }
    159 
    160 #footer {
    161   background-image: -webkit-linear-gradient(
    162       rgba(242, 242, 242, 0.9), rgba(222, 222, 222, 0.9));
    163   bottom: 0;
    164   color: #7F7F7F;
    165   font-size: 0.9em;
    166   font-weight: bold;
    167   overflow: hidden;
    168   position: fixed;
    169   width: 100%;
    170   z-index: 5;
    171 }
    172 
    173 /* TODO(estade): remove this border hack and replace with a webkit-gradient
    174  * border-image on #footer once WebKit supports border-image-slice.
    175  * See https://bugs.webkit.org/show_bug.cgi?id=20127 */
    176 #footer-border {
    177   height: 1px;
    178 }
    179 
    180 #footer-content {
    181   -webkit-align-items: center;
    182   -webkit-justify-content: space-between;
    183   display: -webkit-flex;
    184   height: 49px;
    185 }
    186 
    187 #footer-content > * {
    188   margin: 0 9px;
    189 }
    190 
    191 #logo-img {
    192   display: inline-block;
    193   margin-top: 4px;
    194   position: relative;
    195 }
    196 
    197 #promo-bubble-anchor {
    198   height: 1px;
    199   left: 0;
    200   position: absolute;
    201   top: 4px;
    202   visibility: hidden;
    203   width: 32px;
    204 }
    205 
    206 body.bare-minimum #footer {
    207   background: transparent;
    208   bottom: auto;
    209   font-weight: normal;
    210   position: absolute;
    211   right: 0;
    212 }
    213 
    214 html[dir='rtl'] body.bare-minimum #footer {
    215   left: 0;
    216   right: auto;
    217 }
    218 
    219 body.bare-minimum #footer-border,
    220 body.bare-minimum #logo-img,
    221 body.bare-minimum #dot-list {
    222   visibility: hidden;
    223 }
    224 
    225 .starting-up * {
    226   -webkit-transition: none !important;
    227 }
    228 
    229 /* Login Status. **************************************************************/
    230 
    231 #login-container {
    232   -webkit-box-shadow: none;
    233   background: transparent none;
    234   border: none;
    235   color: inherit;
    236   cursor: pointer;
    237   font: inherit;
    238   /* Leave room for the scrollbar. */
    239   margin-left: 13px;
    240   margin-right: 13px;
    241   margin-top: 5px;
    242   padding: 0;
    243   position: fixed;
    244   right: 0;
    245   text-align: right;
    246   top: 0;
    247   z-index: 10;
    248 }
    249 
    250 html[dir='rtl'] #login-container {
    251   left: 0;
    252   right: auto;
    253 }
    254 
    255 .login-status-icon {
    256   -webkit-padding-end: 37px;
    257   background-position: right center;
    258   background-repeat: no-repeat;
    259   min-height: 27px;
    260 }
    261 
    262 html[dir='rtl'] .login-status-icon {
    263   background-position-x: left;
    264 }
    265 
    266 .profile-name:hover,
    267 .link-span {
    268   text-decoration: underline;
    269 }
    270 
    271 #login-status-bubble-contents {
    272   font-size: 1.1em;
    273 }
    274 
    275 #login-status-message-container {
    276   margin-bottom: 13px;
    277 }
    278 
    279 #login-status-learn-more {
    280   display: inline-block;
    281 }
    282 
    283 .login-status-row {
    284   -webkit-box-align: center;
    285   -webkit-box-orient: horizontal;
    286   -webkit-box-pack: end;
    287   display: -webkit-box;
    288 }
    289 
    290 #login-status-advanced-container {
    291   -webkit-box-flex: 1;
    292 }
    293 
    294 #login-status-dismiss {
    295   min-width: 6em;
    296 }
    297 
    298 /* Trash. *********************************************************************/
    299 
    300 #trash {
    301   -webkit-padding-start: 10px;
    302   -webkit-transition: top 200ms, opacity 0;
    303   -webkit-transition-delay: 0, 200ms;
    304   color: #222;
    305   height: 100%;
    306   opacity: 0;
    307   position: absolute;
    308   right: 0;
    309   top: 50px;
    310   width: auto;
    311 }
    312 
    313 html[dir='rtl'] #trash {
    314   left: 0;
    315   right: auto;
    316 }
    317 
    318 #footer.showing-trash-mode #trash {
    319   -webkit-transition-delay: 0, 0;
    320   -webkit-transition-duration: 0, 200ms;
    321   opacity: 0.75;
    322   top: 0;
    323 }
    324 
    325 #footer.showing-trash-mode #trash.drag-target {
    326   opacity: 1;
    327 }
    328 
    329 #trash > .trash-text {
    330   -webkit-padding-end: 7px;
    331   -webkit-padding-start: 30px;
    332   border: 1px dashed #7f7f7f;
    333   border-radius: 4px;
    334   display: inline-block;
    335   padding-bottom: 9px;
    336   padding-top: 10px;
    337   position: relative;
    338   top: 7px;
    339 }
    340 
    341 #trash > .lid,
    342 #trash > .can {
    343   left: 18px;
    344   top: 18px;
    345 }
    346 
    347 html[dir='rtl'] #trash > .lid,
    348 html[dir='rtl'] #trash > .can {
    349   right: 18px;
    350 }
    351 
    352 #footer.showing-trash-mode #trash.drag-target .lid {
    353   -webkit-transform: rotate(-45deg);
    354 }
    355 
    356 html[dir='rtl'] #footer.showing-trash-mode #trash.drag-target .lid {
    357   -webkit-transform: rotate(45deg);
    358 }
    359 
    360 #fontMeasuringDiv {
    361   /* The font attributes match the nav inputs. */
    362   font-size: 0.9em;
    363   font-weight: bold;
    364   pointer-events: none;
    365   position: absolute;
    366   visibility: hidden;
    367 }
    368 
    369 /* Page switcher buttons. *****************************************************/
    370 
    371 .page-switcher {
    372   -webkit-transition: width 150ms, right 150ms, background-color 150ms;
    373   background-color: transparent;
    374   border: none;
    375   bottom: 0;
    376   font-size: 40px;
    377   margin: 0;
    378   max-width: 150px;
    379   min-width: 90px;
    380   outline: none;
    381   padding: 0;
    382   position: absolute;
    383   top: 0;
    384   z-index: 5;
    385 }
    386 
    387 /* Footer buttons. ************************************************************/
    388 
    389 #chrome-web-store-link {
    390   -webkit-order: 3;
    391   -webkit-padding-end: 12px;
    392   /* Match transition delay of recently closed button. */
    393   -webkit-transition-delay: 100ms;
    394   color: inherit;
    395   cursor: pointer;
    396   display: inline-block;
    397   margin: 0;
    398   text-decoration: none;
    399   white-space: nowrap;
    400 }
    401 
    402 #chrome-web-store-title {
    403   -webkit-padding-end: 36px;
    404   -webkit-padding-start: 15px;
    405   background: url('chrome://theme/IDR_WEBSTORE_ICON_24') right 50% no-repeat;
    406   display: inline-block;
    407   line-height: 49px;
    408 }
    409 
    410 #chrome-web-store-link:hover {
    411   color: #666;
    412 }
    413 
    414 html[dir='rtl'] #chrome-web-store-title {
    415   background-position-x: left;
    416 }
    417 
    418 #vertical-separator {
    419   -webkit-order: 2;
    420   background-color: rgb(178, 178, 178);
    421   display: none;
    422   height: 20px;
    423   margin: 0;
    424   vertical-align: middle;
    425   width: 1px;
    426 }
    427 
    428 /* Show the separator only if one of the menus is visible. */
    429 .footer-menu-button:not([hidden]) ~ #chrome-web-store-link:not([hidden])
    430                                   ~ #vertical-separator {
    431   display: inline-block;
    432 }
    433 
    434 /* In trash mode, hide the menus and web store link. */
    435 #footer.showing-trash-mode .menu-container {
    436   -webkit-transition-delay: 0;
    437   opacity: 0;
    438   visibility: hidden;
    439 }
    440 
    441 #footer .menu-container {
    442   -webkit-align-items: center;
    443   -webkit-flex-direction: row;
    444   -webkit-justify-content: flex-end;
    445   /* Put menus in a box so the order can easily be swapped. */
    446   display: -webkit-flex;
    447   height: 100%;
    448   margin: 0;
    449   min-width: -webkit-min-content;
    450 }
    451 
    452 #recently-closed-menu-button {
    453   -webkit-order: 1;
    454 }
    455 
    456 #other-sessions-menu-button {
    457   -webkit-order: 0;
    458 }
    459 
    460 .other-sessions-promo-message {
    461   display: none;
    462   padding: 0;
    463 }
    464 
    465 .other-sessions-promo-message:only-child {
    466   display: block;
    467 }
    468 
    469 .other-sessions-promo-message p {
    470   margin: 0;
    471 }
    472