blob: 3009a84dff876a46e27e2c68eb0ace052e874644 [file] [log] [blame]
/*
* Copyright (C) 2016 Apple Inc. All Rights Reserved.
*
* 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,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* 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.
*/
:host {
/* We always want to prevent iOS dialogs and the magnifier UI to be shown. */
-webkit-user-select: none !important;
-webkit-touch-callout: none !important;
}
:host(audio) {
width: 250px;
height: var(--inline-controls-bar-height);
min-width: 44px !important;
min-height: var(--inline-controls-bar-height) !important;
}
* {
/* This constant needs to stay in sync with the InsideMargin JS constant. */
--inline-controls-inside-margin: 6px;
--fullscreen-controls-bar-height: 75px;
--primary-glyph-color: rgba(255, 255, 255, 0.75);
--secondary-glyph-color: rgba(255, 255, 255, 0.55);
}
:host(audio), :host(video.media-document.audio), * {
/* This constant needs to stay in sync with the BottomControlsBarHeight JS constant. */
--inline-controls-bar-height: 31px;
}
/* We need to use relative positioning due to webkit.org/b/163603 */
.media-controls-container {
all: initial;
display: block;
visibility: inherit;
pointer-events: inherit;
-webkit-cursor-visibility: inherit;
position: relative;
will-change: z-index;
}
.media-controls-container,
.media-controls-container > * {
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.media-controls-container,
.media-controls-container * {
-webkit-text-zoom: reset;
-webkit-text-size-adjust: auto;
-webkit-font-smoothing: subpixel-antialiased;
}
.media-controls-container > * {
position: absolute;
}
.media-controls {
height: 100%;
font-family: -apple-system;
-webkit-user-select: none;
white-space: nowrap;
text-align: initial;
cursor: default;
transform-origin: 0 0;
}
:host(:-webkit-animating-full-screen-transition) .media-controls {
display: none;
}
.media-controls > * {
transition: opacity 0.1s linear;
}
.media-controls.shows-tracks-panel > .controls-bar > *,
.media-controls.shows-tracks-panel > button {
pointer-events: none;
}
.media-controls.faded > *:not(.placard) {
opacity: 0;
pointer-events: none;
transition-duration: 0.25s;
}
.media-controls > .controls-bar {
position: absolute;
}
.media-controls.fade-in {
animation-name: fade-in;
animation-duration: 350ms;
}
.media-controls .time-label,
.media-controls .status-label {
color: var(--secondary-glyph-color);
mix-blend-mode: plus-lighter;
}
@keyframes fade-in {
from { opacity: 0 }
to { opacity: 1 }
}
/* Default support for "Smart Invert" where all content color except media is inverted. */
@media (inverted-colors) {
:host { filter: invert(100%); } /* WebKit native audio and video. */
picture { filter: none; } /* Don't invert the control buttons. */
}