haikuwebkit/LayoutTests/media/video-dom-preload.html

68 lines
2.4 KiB
HTML
Raw Permalink Normal View History

2010-03-03 Eric Carlson <eric.carlson@apple.com> Reviewed by Adele Peterson. Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811. https://bugs.webkit.org/show_bug.cgi?id=35385 rdar://problem/7689602 Tests: media/audio-constructor-preload.html media/video-dom-preload.html * html/HTMLAttributeNames.in: Remove autobuffer, add preload * html/HTMLAudioElement.cpp: (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of autobuffer to true. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload. (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute. (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer, before calling load() so it can pass the setting through to the media engine. (WebCore::HTMLMediaElement::preload): New. (WebCore::HTMLMediaElement::setPreload): Ditto * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload. (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine. (WebCore::MediaPlayer::preload): New, return m_preload. (WebCore::MediaPlayer::setPreload): New, set m_preload. * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayer::): * platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::setPreload): * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 2010-03-03 Eric Carlson <eric.carlson@apple.com> Reviewed by Adele Peterson. Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811. https://bugs.webkit.org/show_bug.cgi?id=35385 rdar://problem/7689602 * media/audio-constructor-autobuffer-expected.txt: Removed. * media/audio-constructor-autobuffer.html: Removed. * media/audio-constructor-preload-expected.txt: Added. * media/audio-constructor-preload.html: Added. * media/video-dom-autobuffer-expected.txt: Removed. * media/video-dom-autobuffer.html: Removed. * media/video-dom-preload-expected.txt: Added. * media/video-dom-preload.html: Added. Canonical link: https://commits.webkit.org/46764@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@55463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-03 17:19:02 +00:00
<html>
<head>
2011-02-24 Victoria Kirst <vrk@google.com> Reviewed by Mihai Parparita. [chromium] Move media-file.js and video-test.js back to media/ for UILayoutTests https://bugs.webkit.org/show_bug.cgi?id=55089 Media's UILayoutTests rely on video-test.js and media-file.js to be in the media/ folder. * http/tests/media/pdf-served-as-pdf.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/remove-while-loading.html: * http/tests/media/text-served-as-text.html: * http/tests/media/video-buffered.html: * http/tests/media/video-cancel-load.html: * http/tests/media/video-cookie.html: * http/tests/media/video-error-abort.html: * http/tests/media/video-load-twice.html: * http/tests/media/video-play-stall-seek.html: * http/tests/media/video-play-stall.html: * http/tests/media/video-play-suspend.html: * http/tests/media/video-referer.html: * http/tests/media/video-seekable-stall.html: * http/tests/media/video-served-as-text.html: * media/adopt-node-crash.html: * media/audio-constructor-preload.html: * media/audio-constructor-src.html: * media/audio-constructor.html: * media/audio-controls-rendering.html: * media/audio-data-url.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-delete-while-step-button-clicked.html: * media/audio-mpeg-supported.html: * media/audio-mpeg4-supported.html: * media/audio-play-event.html: * media/before-load-member-access.html: * media/broken-video.html: * media/constructors.html: * media/context-menu-actions.html: * media/controls-after-reload.html: * media/controls-css-overload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/event-attributes.html: * media/invalid-media-url-crash.html: * media/media-can-play-mpeg-audio.html: * media/media-can-play-mpeg4-video.html: * media/media-can-play-octet-stream.html: * media/media-can-play-ogg.html: * media/media-can-play-wav-audio.html: * media/media-captions.html: * media/media-constants.html: * media/media-file.js: Renamed from LayoutTests/http/tests/media/media-file.js. * media/media-fullscreen-inline.html: * media/media-fullscreen-not-in-document.html: * media/media-load-event.html: * media/media-startTime.html: * media/remove-from-document-no-load.html: * media/remove-from-document.html: * media/restore-from-page-cache.html: * media/unsupported-rtsp.html: * media/unsupported-tracks.html: * media/video-append-source.html: * media/video-aspect-ratio.html: * media/video-autoplay.html: * media/video-buffered.html: * media/video-can-play-type.html: * media/video-canvas-alpha.html: * media/video-canvas-source.html: * media/video-click-dblckick-standalone.html: * media/video-controls-rendering.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-zoomed.html: * media/video-controls.html: * media/video-currentTime-delay.html: * media/video-currentTime-set.html: * media/video-currentTime-set2.html: * media/video-currentTime.html: * media/video-delay-load-event.html: * media/video-display-aspect-ratio.html: * media/video-display-none-crash.html: * media/video-display-toggle.html: * media/video-does-not-loop.html: * media/video-dom-autoplay.html: * media/video-dom-preload.html: * media/video-dom-src.html: * media/video-duration-known-after-eos.html: * media/video-error-does-not-exist.html: * media/video-frame-accurate-seek.html: * media/video-layer-crash.html: * media/video-load-networkState.html: * media/video-load-readyState.html: * media/video-loop.html: * media/video-muted.html: * media/video-no-audio.html: * media/video-no-autoplay.html: * media/video-pause-empty-events.html: * media/video-pause-immediately.html: * media/video-play-empty-events.html: * media/video-play-pause-events.html: * media/video-play-pause-exception.html: * media/video-played-collapse.html: * media/video-played-ranges-1.html: * media/video-played-reset.html: * media/video-poster-delayed.html: * media/video-poster-scale.html: * media/video-poster.html: * media/video-preload.html: * media/video-replaces-poster.html: * media/video-reverse-play-duration.html: * media/video-seek-by-small-increment.html: * media/video-seek-no-src-exception.html: * media/video-seek-past-end-paused.html: * media/video-seek-past-end-playing.html: * media/video-seekable.html: * media/video-seeking.html: * media/video-size-intrinsic-scale.html: * media/video-size.html: * media/video-source-error-no-candidate.html: * media/video-source-error.html: * media/video-source-inserted.html: * media/video-source-media.html: * media/video-source-moved.html: * media/video-source-none-supported.html: * media/video-source-removed.html: * media/video-source-type-params.html: * media/video-source-type.html: * media/video-source.html: * media/video-src-change.html: * media/video-src-invalid-remove.html: * media/video-src-none.html: * media/video-src-plus-source.html: * media/video-src-remove.html: * media/video-src-set.html: * media/video-src-source.html: * media/video-src.html: * media/video-test.js: Renamed from LayoutTests/http/tests/media/video-test.js. * media/video-timeupdate-during-playback.html: * media/video-timeupdate-reverse-play.html: * media/video-transformed.html: * media/video-volume-slider.html: * media/video-volume.html: * media/video-width-height.html: * media/video-zoom-controls.html: * media/video-zoom.html: 2011-02-24 Victoria Kirst <vrk@google.com> Reviewed by Mihai Parparita. [chromium] Move media-file.js and video-test.js back to media/ for UILayoutTests https://bugs.webkit.org/show_bug.cgi?id=55089 This adds an alias into the media/ directory so that http/tests/media tests can access the media resources when running in an httpd process. * Scripts/webkitperl/httpd.pm: * Scripts/webkitpy/layout_tests/port/apache_http_server.py: * Scripts/webkitpy/layout_tests/port/http_server.py: Canonical link: https://commits.webkit.org/69549@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@79630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-02-24 23:10:46 +00:00
<script src=video-test.js></script>
2010-03-03 Eric Carlson <eric.carlson@apple.com> Reviewed by Adele Peterson. Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811. https://bugs.webkit.org/show_bug.cgi?id=35385 rdar://problem/7689602 Tests: media/audio-constructor-preload.html media/video-dom-preload.html * html/HTMLAttributeNames.in: Remove autobuffer, add preload * html/HTMLAudioElement.cpp: (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of autobuffer to true. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload. (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute. (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer, before calling load() so it can pass the setting through to the media engine. (WebCore::HTMLMediaElement::preload): New. (WebCore::HTMLMediaElement::setPreload): Ditto * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload. (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine. (WebCore::MediaPlayer::preload): New, return m_preload. (WebCore::MediaPlayer::setPreload): New, set m_preload. * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayer::): * platform/graphics/MediaPlayerPrivate.h: (WebCore::MediaPlayerPrivateInterface::setPreload): * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 2010-03-03 Eric Carlson <eric.carlson@apple.com> Reviewed by Adele Peterson. Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811. https://bugs.webkit.org/show_bug.cgi?id=35385 rdar://problem/7689602 * media/audio-constructor-autobuffer-expected.txt: Removed. * media/audio-constructor-autobuffer.html: Removed. * media/audio-constructor-preload-expected.txt: Added. * media/audio-constructor-preload.html: Added. * media/video-dom-autobuffer-expected.txt: Removed. * media/video-dom-autobuffer.html: Removed. * media/video-dom-preload-expected.txt: Added. * media/video-dom-preload.html: Added. Canonical link: https://commits.webkit.org/46764@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@55463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-03 17:19:02 +00:00
<script>
function setPreload(value, expected)
{
consoleWrite("- set via DOM");
run("video.removeAttribute('preload')");
run("video.preload = '" + value + "'");
testExpected("video.getAttribute('preload')", expected);
testExpected("video.preload", expected);
consoleWrite("- and via attribute");
run("video.removeAttribute('preload')");
run("video.setAttribute('preload', '" + value + "')");
testExpected("video.preload", expected);
testExpected("video.getAttribute('preload')", expected);
consoleWrite("");
}
function test()
{
findMediaElement();
consoleWrite("");
consoleWrite("++ Test default attribute value");
testExpected("video.preload", "auto");
testExpected("video.getAttribute('preload')", null);
consoleWrite("");
consoleWrite("++ Remove attribute, should revert to default");
run("video.removeAttribute('preload')");
testExpected("video.preload", "auto");
consoleWrite("");
consoleWrite("++ Set to 'none'");
setPreload("none", "none");
consoleWrite("++ Set to 'auto'");
setPreload("auto", "auto");
consoleWrite("++ set to bogus value, should revert to default value");
run("video.removeAttribute('preload')");
consoleWrite("- set via DOM");
run("video.preload = 'bogus'");
testExpected("video.getAttribute('preload')", "bogus");
testExpected("video.preload", "auto");
consoleWrite("- and via attribute");
run("video.setAttribute('preload', 'bogus')");
testExpected("video.preload", "auto");
testExpected("video.getAttribute('preload')", "bogus");
consoleWrite("");
consoleWrite("++ Set to 'metadata'");
setPreload("metadata", "metadata");
endTest();
}
</script>
</head>
<body onload="test()">
<video controls></video>
</body>
</html>