/* * Copyright (C) 2009 Apple Inc. All rights reserved. * Copyright (C) 2009 Google Inc. * Copyright (C) 2012 Zan Dobersek * 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; }