| /* |
| * Copyright (C) 2009 Apple Inc. All rights reserved. |
| * Copyright (C) 2009 Google Inc. |
| * Copyright (C) 2012 Zan Dobersek <zandobersek@gmail.com> |
| * Copyright (C) 2012 Igalia S.L. |
| * |
| * 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. ``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 |
| * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
| * 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. |
| */ |
| |
| /* These are based on the Chromium media controls */ |
| |
| video::-webkit-media-controls-panel *:active, |
| video::-webkit-media-controls-panel *:focus, |
| audio::-webkit-media-controls-panel *:active, |
| audio::-webkit-media-controls-panel *:focus { |
| background-image: linear-gradient(rgba(0, 0, 0, .05), rgba(255, 255, 255, .05)) !important; |
| } |
| |
| audio::-webkit-media-controls-panel.down *:active, |
| audio::-webkit-media-controls-panel.down *:focus { |
| background-image: linear-gradient(rgba(255, 255, 255, .05), rgba(0, 0, 0, .05)) !important; |
| } |
| |
| audio::-webkit-media-controls-panel.hidden, |
| video::-webkit-media-controls-panel.hidden { |
| display: none !important; |
| } |
| |
| body:-webkit-full-page-media { |
| background-color: rgb(0, 0, 0); |
| } |
| |
| audio { |
| width: 300px; |
| height: 30px; |
| } |
| |
| audio:-webkit-full-page-media, video:-webkit-full-page-media { |
| max-height: 100%; |
| max-width: 100%; |
| } |
| |
| audio:-webkit-full-page-media::-webkit-media-controls-panel, |
| video:-webkit-full-page-media::-webkit-media-controls-panel { |
| bottom: 0px; |
| } |
| |
| ::-webkit-media-controls { |
| display: flex; |
| flex-direction: column; |
| justify-content: flex-end; |
| align-items: center; |
| } |
| |
| audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure { |
| width: 100%; |
| max-width: 800px; |
| height: 30px; |
| bottom: 0; |
| text-indent: 0; |
| padding: 0; |
| box-sizing: border-box; |
| overflow: visible; |
| } |
| |
| video::-webkit-media-controls-enclosure { |
| padding: 5px; |
| height: 40px; |
| } |
| |
| audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel { |
| display: flex; |
| flex-direction: row; |
| align-items: center; |
| justify-content: flex-start; |
| bottom: auto; |
| height: 30px; |
| background-color: rgba(20, 20, 20, 0.8); |
| border-radius: 5px; |
| overflow: visible; |
| transition: opacity 0.25s linear; |
| } |
| |
| video::-webkit-media-controls-panel { |
| opacity: 0; |
| } |
| |
| audio::-webkit-media-controls-panel, |
| video:-webkit-full-page-media::-webkit-media-controls-panel.no-video, |
| video::-webkit-media-controls-panel:hover, |
| video::-webkit-media-controls-panel.show, |
| video::-webkit-media-controls-panel.paused { |
| opacity: 1; |
| } |
| |
| video::-webkit-media-controls-panel div.mute-box, |
| audio::-webkit-media-controls-panel div.mute-box { |
| display: flex; |
| flex: none; |
| box-sizing: border-box; |
| width: 30px; |
| height: 30px; |
| margin: 0 9px 0 -7px; |
| } |
| |
| audio::-webkit-media-controls-panel div.mute-box.hidden, |
| video::-webkit-media-controls-panel div.mute-box.hidden { |
| display: none !important; |
| } |
| |
| audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button { |
| -webkit-appearance: media-mute-button; |
| display: flex; |
| flex: none; |
| border: none; |
| box-sizing: border-box; |
| width: 30px; |
| height: 30px; |
| line-height: 30px; |
| outline: none; |
| } |
| |
| audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button { |
| -webkit-appearance: media-play-button; |
| display: flex; |
| flex: none; |
| border: none; |
| box-sizing: border-box; |
| width: 30px; |
| height: 30px; |
| line-height: 30px; |
| margin: 0 9px; |
| outline: none; |
| } |
| |
| /* Paused classes for audio/video controls should be defined to make a difference in style from not having this class. Otherwise a repaint would not happen. */ |
| audio::-webkit-media-controls-play-button.paused, |
| video::-webkit-media-controls-play-button.paused { |
| position: relative; |
| } |
| |
| audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display, |
| audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display { |
| -webkit-appearance: media-current-time-display; |
| -webkit-user-select: none; |
| flex: none; |
| display: block; |
| border: none; |
| cursor: default; |
| |
| height: 30px; |
| margin: 0 15px 0 0; |
| |
| line-height: 30px; |
| font-family: -webkit-small-control; |
| font-size: 13px; |
| font-weight: normal; |
| font-style: normal; |
| color: white; |
| |
| letter-spacing: normal; |
| word-spacing: normal; |
| text-transform: none; |
| text-indent: 0; |
| text-shadow: none; |
| text-decoration: none; |
| } |
| |
| audio::-webkit-media-controls-current-time-display.hidden, |
| video::-webkit-media-controls-current-time-display.hidden, |
| audio::-webkit-media-controls-time-remaining-display.hidden, |
| video::-webkit-media-controls-time-remaining-display.hidden { |
| display: none !important; |
| } |
| |
| audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline { |
| -webkit-appearance: media-slider !important; |
| display: flex !important; |
| flex: 1 1 auto !important; |
| height: 8px !important; |
| margin: 0 15px 0 1px !important; |
| padding: 0 !important; |
| background-color: transparent !important; |
| min-width: 25px !important; |
| border-radius: 4px !important; |
| color: rgba(230, 230, 230, 0.35) !important; |
| outline: none !important; |
| } |
| |
| audio::-webkit-media-controls-timeline[disabled], video::-webkit-media-controls-timeline[disabled] { |
| opacity: 0.3 !important; |
| } |
| |
| audio::-webkit-media-controls-timeline.hidden, |
| video::-webkit-media-controls-timeline.hidden { |
| display: none !important; |
| } |
| |
| audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container { |
| -webkit-appearance: media-volume-slider-container; |
| display: flex; |
| overflow: hidden; |
| position: absolute; |
| padding: 0; |
| height: 100px; |
| width: 30px; |
| bottom: 30px; |
| z-index: 2; |
| background-color: rgba(20, 20, 20, 0.8); |
| right: 9px; |
| border-radius: 5px 5px 0px 0px; |
| transition: height 0.10s linear; |
| } |
| |
| audio::-webkit-media-controls-volume-slider-container.hiding, |
| video::-webkit-media-controls-volume-slider-container.hiding { |
| height: 0; |
| } |
| |
| audio::-webkit-media-controls-volume-slider-container.down, |
| video::-webkit-media-controls-volume-slider-container.down { |
| bottom: -100px; |
| border-radius: 0px 0px 5px 5px; |
| transition: height 0.10s linear, bottom 0.10s linear; |
| } |
| |
| audio::-webkit-media-controls-panel .hiding.down, |
| video::-webkit-media-controls-panel .hiding.down { |
| bottom: 0; |
| } |
| |
| audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider { |
| -webkit-appearance: media-volume-slider !important; |
| display: flex !important; |
| align-items: center !important; |
| flex-direction: column !important; |
| box-sizing: border-box !important; |
| height: 80px !important; |
| width: 8px !important; |
| margin: 10px auto !important; |
| border-radius: 4px !important; |
| background-color: transparent !important; |
| color: rgba(230, 230, 230, 0.35) !important; |
| outline: none !important; |
| } |
| |
| audio::-webkit-media-controls-volume-slider-container input[type="range"]::-webkit-media-slider-container > div, video::-webkit-media-controls-volume-slider-container input[type="range"]::-webkit-media-slider-container > div { |
| margin: -7px 0; |
| } |
| |
| audio::-webkit-media-controls-volume-slider-container input[type="range"]::-webkit-media-slider-thumb, video::-webkit-media-controls-volume-slider-container input[type="range"]::-webkit-media-slider-thumb { |
| -webkit-appearance: media-volume-sliderthumb; |
| width: 12px; |
| height: 12px; |
| border-radius: 3px; |
| color: white; |
| margin: 0; |
| } |
| |
| input[type="range"]::-webkit-media-slider-container { |
| display: flex; |
| align-items: center; |
| flex-direction: row; /* This property is updated by C++ code. */ |
| box-sizing: border-box; |
| height: 100%; |
| width: 100%; |
| border: 1px solid rgba(230, 230, 230, 0.35); |
| border-radius: 4px; |
| background-color: transparent; |
| } |
| |
| /* The negative right margin causes the track to overflow its container. */ |
| input[type="range"]::-webkit-media-slider-container > div { |
| margin-right: -14px; |
| } |
| |
| input[type="range"]::-webkit-media-slider-thumb { |
| -webkit-appearance: media-sliderthumb; |
| width: 12px; |
| height: 12px; |
| border-radius: 3px; |
| color: white; |
| margin-left: -7px; |
| margin-right: -7px; |
| } |
| |
| audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button { |
| -webkit-appearance: media-toggle-closed-captions-button; |
| display: flex; |
| flex: none; |
| border: none; |
| box-sizing: border-box; |
| width: 30px; |
| height: 30px; |
| line-height: 30px; |
| margin: 0 9px 0 -7px; |
| outline: none; |
| } |
| |
| audio::-webkit-media-controls-toggle-closed-captions-button.hidden, |
| video::-webkit-media-controls-toggle-closed-captions-button.hidden { |
| display: none !important; |
| } |
| |
| video::-webkit-media-controls-closed-captions-container { |
| -webkit-appearance: media-closed-captions-container; |
| display: flex; |
| position: absolute; |
| bottom: 35px; |
| z-index: 2; |
| background-color: rgba(20, 20, 20, 0.8); |
| border-radius: 5px 5px 0px 0px; |
| overflow: hidden; |
| max-width: -webkit-calc(100% - 48px); /* right + 10px */ |
| max-height: -webkit-calc(100% - 35px); /* bottom + 10px */ |
| cursor: default; |
| font-family: -webkit-small-control; |
| font-size: 10pt; |
| font-weight: normal; |
| font-style: normal; |
| color: white; |
| -webkit-user-select: none; |
| transition: height 0.10s linear; |
| } |
| |
| video::-webkit-media-controls-closed-captions-container.out { |
| border-radius: 5px; |
| } |
| |
| video::-webkit-media-controls-closed-captions-container.hidden { |
| display: none !important; |
| } |
| |
| video::-webkit-media-controls-closed-captions-container h3 { |
| padding-top: 8px; |
| margin: 0; |
| padding-left: 17px; |
| padding-right: 15px; |
| font-size: 10pt; |
| font-weight: bold; |
| font-style: normal; |
| } |
| |
| video::-webkit-media-controls-closed-captions-container ul { |
| list-style-type: none; |
| margin: 0 0 4px 0; |
| padding: 4px 0 0 0; |
| } |
| |
| video::-webkit-media-controls-closed-captions-container li { |
| position: relative; |
| color: white; |
| margin: 0; |
| padding-left: 17px; |
| padding-right: 15px; |
| padding-top: 0.15em; |
| padding-bottom: 0.2em; |
| box-sizing: border-box; |
| overflow: hidden; |
| white-space: nowrap; |
| text-overflow: ellipsis; |
| outline: none; |
| } |
| video::-webkit-media-controls-closed-captions-container li.selected { |
| background-color: rgba(230, 230, 230, 0.15); |
| } |
| |
| audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button { |
| -webkit-appearance: media-enter-fullscreen-button; |
| display: flex; |
| flex: none; |
| border: none; |
| box-sizing: border-box; |
| width: 30px; |
| height: 30px; |
| line-height: 30px; |
| margin: 0 9px 0 -7px; |
| outline: none; |
| } |
| |
| audio::-webkit-media-controls-fullscreen-button.hidden, |
| video::-webkit-media-controls-fullscreen-button.hidden { |
| display: none !important; |
| } |