1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

merge from dev

This commit is contained in:
Luke Pulverenti 2016-01-14 12:04:42 -05:00
parent d96250df7f
commit bcfee41a57
318 changed files with 54424 additions and 6419 deletions

View file

@ -0,0 +1,18 @@
.result {
font-size: 24px;
margin: 0.5em 0;
width: 700px;
height: 56px;
}
.error {
background-color: red;
}
.warn {
background-color: yellow;
}
.success {
background-color: lightgreen;
}

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Test for gh-1764 - test iframe</title>
<link rel="stylesheet" href="gh-1764-fullscreen-iframe.css">
</head>
<body class="iframe-page">
<div class="container">
<div class="result"></div>
<button class="toggle-fullscreen">Toggle fullscreen mode - iframe</button>
</div>
<script src="../../../dist/jquery.js"></script>
<script src="gh-1764-fullscreen.js"></script>
<script>
bootstrapFrom( ".iframe-page", "iframe" );
</script>
</body>
</html>

View file

@ -0,0 +1,99 @@
/* exported bootstrapFrom */
// `mode` may be "iframe" or not specified.
function bootstrapFrom( mainSelector, mode ) {
if ( mode === "iframe" && window.parent === window ) {
jQuery( mainSelector + " .result" )
.attr( "class", "result warn" )
.text( "This test should be run in an iframe. Open ../gh-1764-fullscreen.html." );
jQuery( mainSelector + " .toggle-fullscreen" ).remove();
return;
}
var fullscreenSupported = document.exitFullscreen ||
document.exitFullscreen ||
document.msExitFullscreen ||
document.mozCancelFullScreen ||
document.webkitExitFullscreen;
function isFullscreen() {
return !!( document.fullscreenElement ||
document.mozFullScreenElement ||
document.webkitFullscreenElement ||
document.msFullscreenElement );
}
function requestFullscreen( element ) {
if ( !isFullscreen() ) {
if ( element.requestFullscreen ) {
element.requestFullscreen();
} else if ( element.msRequestFullscreen ) {
element.msRequestFullscreen();
} else if ( element.mozRequestFullScreen ) {
element.mozRequestFullScreen();
} else if ( element.webkitRequestFullscreen ) {
element.webkitRequestFullscreen();
}
}
}
function exitFullscreen() {
if ( document.exitFullscreen ) {
document.exitFullscreen();
} else if ( document.msExitFullscreen ) {
document.msExitFullscreen();
} else if ( document.mozCancelFullScreen ) {
document.mozCancelFullScreen();
} else if ( document.webkitExitFullscreen ) {
document.webkitExitFullscreen();
}
}
function runTest() {
var dimensions;
if ( !fullscreenSupported ) {
jQuery( mainSelector + " .result" )
.attr( "class", "result success" )
.text( "Fullscreen mode is not supported in this browser. Test not run." );
} else if ( !isFullscreen() ) {
jQuery( mainSelector + " .result" )
.attr( "class", "result warn" )
.text( "Enable fullscreen mode to fire the test." );
} else {
dimensions = jQuery( mainSelector + " .result" ).css( [ "width", "height" ] );
dimensions.width = parseFloat( dimensions.width ).toFixed( 3 );
dimensions.height = parseFloat( dimensions.height ).toFixed( 3 );
if ( dimensions.width === "700.000" && dimensions.height === "56.000" ) {
jQuery( mainSelector + " .result" )
.attr( "class", "result success" )
.text( "Dimensions in fullscreen mode are computed correctly." );
} else {
jQuery( mainSelector + " .result" )
.attr( "class", "result error" )
.html( "Incorrect dimensions; " +
"expected: { width: '700.000', height: '56.000' };<br>" +
"got: { width: '" + dimensions.width + "', height: '" +
dimensions.height + "' }." );
}
}
}
function toggleFullscreen() {
if ( isFullscreen() ) {
exitFullscreen();
} else {
requestFullscreen( jQuery( mainSelector + " .container" )[ 0 ] );
}
}
$( mainSelector + " .toggle-fullscreen" ).on( "click", toggleFullscreen );
$( document ).on( [
"webkitfullscreenchange",
"mozfullscreenchange",
"fullscreenchange",
"MSFullscreenChange"
].join( " " ), runTest );
runTest();
}

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Test for gh-1764</title>
<link rel="stylesheet" href="./data/gh-1764-fullscreen-iframe.css">
<style>
#test-iframe {
position: absolute;
top: 100px;
left: 0;
border: 0;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body class="main-page">
<div class="container">
<div class="result"></div>
<button class="toggle-fullscreen">Toggle fullscreen mode - main page</button>
</div>
<script src="../../dist/jquery.js"></script>
<iframe id="test-iframe" allowfullscreen src="data/gh-1764-fullscreen-iframe.html"></iframe>
<script src="./data/gh-1764-fullscreen.js"></script>
<script>
bootstrapFrom( ".main-page" );
</script>
</body>
</html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Test for gh-2343 (IE11)</title>
<script src="../../dist/jquery.js"></script>
<script>
$(document).ready(function() {
$( "fieldset" ).on( "click", "input", function() {
$( ".result" ).append( "click " + this.value + "<br />" );
} );
} );
</script>
</head>
<body>
<h1>Test for gh-2343 (IE11)</h1>
<p>
Instructions: In <b>IE11</b>, click on or focus the first radio button.
Then use the left/right arrow keys to select the other radios.
You should see events logged in the results below.
</p>
<fieldset>
<input type="radio" name="rad" value="0" /> 0
<input type="radio" name="rad" value="1" /> 1
<input type="radio" name="rad" value="2" /> 2
</fieldset>
<div class="result"></div>
</body>
</html>