| <!DOCTYPE HTML> |
| <html> |
| <head> |
| <title>video-load-with-authentication</title> |
| <script src="../../LayoutTests/media/video-test.js" type="text/javascript"></script> |
| </head> |
| <body> |
| <p> |
| This test case is for <a href="https://bugs.webkit.org/show_bug.cgi?id=84214">https://bugs.webkit.org/show_bug.cgi?id=84214</a><br> |
| This test case is aming at testing video loading with http authentication challenge. To use this test case you should setup your apache2 http server |
| with http authentication support first.<br> |
| <p> |
| <h3>Ways to setup the apache2 http server with http authentication support</h3> |
| <ol> |
| <li>Add "AllowOverride AuthConfig" to <Directory> setting in your site configuration file;</li> |
| <li>Create the password file using command: <code>htpasswd -c <passord_filename> <username></code>, and put this file into <ServerRoot>;</li> |
| <li>Create a directory under your server <Directory>, and create the file .htaccess in this directory;</li> |
| <li>Configure the .htaccess file with the following content: |
| <pre>AuthType <Basic|Digest> |
| AuthName "Video HTTP Authentication" |
| AuthUserFile </path/to/the/password/file> |
| Require user <username></pre> |
| </li> |
| <li>Put your test video file into this directory, and restart your apache2 http server.</li> |
| </ol> |
| <p>More information about configuring apache2 http authentication, please refer to apache 2.0 document: <a href="http://httpd.apache.org/docs/2.0/howto/auth.html">Authentication, Authorization and Access Control</a>.</p> |
| </p> |
| <p> |
| <h3>Ways to test</h3> |
| <ol> |
| <li>Setup your apache2 http server and prepare the video file as mentioned above;</li> |
| <li>Enter the link pointing to the video file in the "Video Source" text area below;</li> |
| <li>Then press load button, and fill the authentication challenge pop up dialog with the credential information created before, then wait for the result.</li> |
| </ol> |
| </p> |
| </p> |
| <hr /> |
| <div> |
| Video Source: |
| <input type="url" id="url" name="videoSrc" size="100"></input><br> |
| <input type="button" value="Load" onclick="load()" /> |
| </div> |
| <video id="video" hidden="hidden"></video> |
| <script type="text/javascript"> |
| function onLoaded() |
| { |
| logResult(true, "Video file successfully loaded, test case passed."); |
| endTest(); |
| } |
| |
| function onError() |
| { |
| failTest("Load video file error, test case failed."); |
| } |
| |
| function load() |
| { |
| findMediaElement(); |
| waitForEvent("loadstart"); |
| waitForEvent("loadeddata", onLoaded); |
| waitForEvent("error", onError); |
| |
| mediaElement.src = document.getElementById("url").value; |
| mediaElement.load(); |
| } |
| </script> |
| </body> |
| </html> |