haikuwebkit/LayoutTests/media/video-canvas-alpha.html

33 lines
786 B
HTML
Raw Permalink Normal View History

2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Added a layout test for verifying that globalAlpha is properly handled when copying a video frame to a 2D canvas context. https://bugs.webkit.org/show_bug.cgi?id=48094 * media/video-canvas-alpha-expected.txt: Added. * media/video-canvas-alpha.html: Added. * platform/chromium-mac/media/video-canvas-alpha-expected.checksum: Added. * platform/chromium-mac/media/video-canvas-alpha-expected.png: Added. * platform/chromium-win/media/video-canvas-alpha-expected.checksum: Added. * platform/chromium-win/media/video-canvas-alpha-expected.png: Added. 2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha() to centralize alpha rounding & clipping logic. https://bugs.webkit.org/show_bug.cgi?id=48094 Test: media/video-canvas-alpha.html * platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap): * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PlatformContextSkia::getNormalizedAlpha): * platform/graphics/skia/PlatformContextSkia.h: 2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Fix globalAlpha support when using drawImage() to copy a video frame to a 2D canvas context. https://bugs.webkit.org/show_bug.cgi?id=48094 This fix applies the globalAlpha value to the canvas before passing it down to the lower layers that don't have access to the graphics context. This makes sure that any drawing on the canvas will have the proper global alpha value applied. * src/WebMediaPlayerClientImpl.cpp: (WebKit::WebMediaPlayerClientImpl::paint): Canonical link: https://commits.webkit.org/61423@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@70919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-10-29 20:49:44 +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="media-file.js"></script>
2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Added a layout test for verifying that globalAlpha is properly handled when copying a video frame to a 2D canvas context. https://bugs.webkit.org/show_bug.cgi?id=48094 * media/video-canvas-alpha-expected.txt: Added. * media/video-canvas-alpha.html: Added. * platform/chromium-mac/media/video-canvas-alpha-expected.checksum: Added. * platform/chromium-mac/media/video-canvas-alpha-expected.png: Added. * platform/chromium-win/media/video-canvas-alpha-expected.checksum: Added. * platform/chromium-win/media/video-canvas-alpha-expected.png: Added. 2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha() to centralize alpha rounding & clipping logic. https://bugs.webkit.org/show_bug.cgi?id=48094 Test: media/video-canvas-alpha.html * platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap): * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PlatformContextSkia::getNormalizedAlpha): * platform/graphics/skia/PlatformContextSkia.h: 2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Fix globalAlpha support when using drawImage() to copy a video frame to a 2D canvas context. https://bugs.webkit.org/show_bug.cgi?id=48094 This fix applies the globalAlpha value to the canvas before passing it down to the lower layers that don't have access to the graphics context. This makes sure that any drawing on the canvas will have the proper global alpha value applied. * src/WebMediaPlayerClientImpl.cpp: (WebKit::WebMediaPlayerClientImpl::paint): Canonical link: https://commits.webkit.org/61423@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@70919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-10-29 20:49:44 +00:00
<script>
Use testRunner instead of layoutTestController in ietestcenter, inspector, java, jquery, loader, mathml, media, and mhtml tests https://bugs.webkit.org/show_bug.cgi?id=89176 Reviewed by Kent Tamura. * ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling.htm: * inspector/audits/resources/audits-style1.css: * inspector/console/console-long-eval-crash.html: * inspector/extensions/extensions-audits-content-script.html: * inspector/extensions/extensions-eval-content-script.html: * inspector/profiler/cpu-profiler-profiling-without-inspector.html: * inspector/timeline/timeline-animation-frame.html: * inspector/timeline/timeline-paint.html: * inspector/timeline/timeline-receive-response-event.html: * inspector/timeline/timeline-timer.html: * java/argument-to-object-type.html: * java/array-return.html: * java/array-sort.html: * java/embedding-java-with-object.html: * java/inaccessible-class.html: * java/inline-applet-crash.html: * java/java-and-plugins.html: * java/lc3/: * jquery/resources/helper.js: * loader/go-back-to-different-window-size.html: * loader/load-defer-resume-crash.html: * loader/navigation-while-deferring-loads.html: * loader/reload-subresource-when-type-changes.html: * mathml/EmptyMFracCrash.xhtml: * mathml/EmptyMunderOverCrash.xhtml: * mathml/empty-mroot-crash.xhtml: * mathml/empty-msubsup-crash.html: * mathml/fenced-whitespace-separators-crash.html: * mathml/msub-anonymous-child-render-crash.html: * mathml/msubsup-no-grandchild.xhtml: * mathml/msubsup-remove-children.xhtml: * mathml/munderover-remove-children.html: * mathml/operator-hijacks-fenced-node.xhtml: * mathml/wbr-in-mroot-crash.html: * media/W3C/w3cwrapper.js: (test): (async_test.t.done): (async_test): * media/adopt-node-crash.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-delete-while-step-button-clicked.html: * media/audio-garbage-collect.html: * media/audio-no-installed-engines.html: * media/audio-only-video-intrinsic-size.html: * media/audio-repaint.html: * media/context-menu-actions.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-layout-direction.html: * media/controls-right-click-on-timebar.html: * media/controls-without-preload.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/fallback.html: * media/media-blocked-by-beforeload.html: * media/media-blocked-by-willsendrequest.html: * media/media-controls-clone-crash.html: * media/media-controls-invalid-url.html: * media/media-document-audio-repaint.html: * media/media-document-audio-size.html: * media/media-fullscreen.js: (canplaythrough): * media/media-volume-slider-rendered-normal.html: * media/no-auto-play-in-sandbox.html: * media/remove-from-document-before-load.html: * media/resources/foreignobject-media.svg: * media/restore-from-page-cache.html: * media/svg-as-image-with-media-blocked.html: * media/video-beforeload-remove-source.html: * media/video-canvas-alpha.html: * media/video-canvas.html-disabled: * media/video-click-dblckick-standalone.html: * media/video-controls-in-media-document.html: * media/video-controls-no-scripting.html: * media/video-controls-toggling.html: * media/video-controls-visible-audio-only.html: * media/video-controls-with-mutation-event-handler.html: * media/video-delay-load-event.html: * media/video-display-toggle.html: * media/video-document-types.html: * media/video-element-other-namespace-crash.html: * media/video-empty-source.html: * media/video-no-audio.html: * media/video-paint-test.js: (init.waitForMultipleEvents): (initAndPause.waitForMultipleEvents): (initAndPause): * media/video-plays-past-end-of-test.html: * media/video-poster-blocked-by-willsendrequest.html: * media/video-replaces-poster.html: * media/video-source-inserted.html: * media/video-test.js: (endTest): * media/video-volume-slider.html: * media/video-zoom.html: * mhtml/check_domain.mht: * mhtml/multi_frames.html_original: * mhtml/multi_frames_binary.mht: * mhtml/multi_frames_ie.mht: * mhtml/multi_frames_unmht.mht: * mhtml/page_with_css_and_js_ie.mht: * mhtml/page_with_css_and_js_unmht.mht: * mhtml/page_with_image.html_original: * mhtml/page_with_image_ie.mht: * mhtml/page_with_image_unmht.mht: * mhtml/simple_page.html_original: * mhtml/simple_page_ie.mht: * mhtml/simple_page_unmht.mht: * networkinformation/resources/event-after-navigation-new.html: * networkinformation/script-tests/event-after-navigation.js: * platform/chromium/media/video-frame-size-change.html: Canonical link: https://commits.webkit.org/107030@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@120416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-06-15 07:33:22 +00:00
if (window.testRunner) {
testRunner.waitUntilDone();
2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Added a layout test for verifying that globalAlpha is properly handled when copying a video frame to a 2D canvas context. https://bugs.webkit.org/show_bug.cgi?id=48094 * media/video-canvas-alpha-expected.txt: Added. * media/video-canvas-alpha.html: Added. * platform/chromium-mac/media/video-canvas-alpha-expected.checksum: Added. * platform/chromium-mac/media/video-canvas-alpha-expected.png: Added. * platform/chromium-win/media/video-canvas-alpha-expected.checksum: Added. * platform/chromium-win/media/video-canvas-alpha-expected.png: Added. 2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha() to centralize alpha rounding & clipping logic. https://bugs.webkit.org/show_bug.cgi?id=48094 Test: media/video-canvas-alpha.html * platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap): * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PlatformContextSkia::getNormalizedAlpha): * platform/graphics/skia/PlatformContextSkia.h: 2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Fix globalAlpha support when using drawImage() to copy a video frame to a 2D canvas context. https://bugs.webkit.org/show_bug.cgi?id=48094 This fix applies the globalAlpha value to the canvas before passing it down to the lower layers that don't have access to the graphics context. This makes sure that any drawing on the canvas will have the proper global alpha value applied. * src/WebMediaPlayerClientImpl.cpp: (WebKit::WebMediaPlayerClientImpl::paint): Canonical link: https://commits.webkit.org/61423@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@70919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-10-29 20:49:44 +00:00
}
function onLoad() {
video = document.getElementsByTagName('video')[0];
video.src = findMediaFile("video", "content/test");
canvas = document.getElementsByTagName('canvas')[0];
ctx = canvas.getContext('2d');
video.load();
video.addEventListener("canplay", function (e) {
ctx.globalAlpha = 0.5;
ctx.drawImage(video, 0, 0);
Use testRunner instead of layoutTestController in ietestcenter, inspector, java, jquery, loader, mathml, media, and mhtml tests https://bugs.webkit.org/show_bug.cgi?id=89176 Reviewed by Kent Tamura. * ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling.htm: * inspector/audits/resources/audits-style1.css: * inspector/console/console-long-eval-crash.html: * inspector/extensions/extensions-audits-content-script.html: * inspector/extensions/extensions-eval-content-script.html: * inspector/profiler/cpu-profiler-profiling-without-inspector.html: * inspector/timeline/timeline-animation-frame.html: * inspector/timeline/timeline-paint.html: * inspector/timeline/timeline-receive-response-event.html: * inspector/timeline/timeline-timer.html: * java/argument-to-object-type.html: * java/array-return.html: * java/array-sort.html: * java/embedding-java-with-object.html: * java/inaccessible-class.html: * java/inline-applet-crash.html: * java/java-and-plugins.html: * java/lc3/: * jquery/resources/helper.js: * loader/go-back-to-different-window-size.html: * loader/load-defer-resume-crash.html: * loader/navigation-while-deferring-loads.html: * loader/reload-subresource-when-type-changes.html: * mathml/EmptyMFracCrash.xhtml: * mathml/EmptyMunderOverCrash.xhtml: * mathml/empty-mroot-crash.xhtml: * mathml/empty-msubsup-crash.html: * mathml/fenced-whitespace-separators-crash.html: * mathml/msub-anonymous-child-render-crash.html: * mathml/msubsup-no-grandchild.xhtml: * mathml/msubsup-remove-children.xhtml: * mathml/munderover-remove-children.html: * mathml/operator-hijacks-fenced-node.xhtml: * mathml/wbr-in-mroot-crash.html: * media/W3C/w3cwrapper.js: (test): (async_test.t.done): (async_test): * media/adopt-node-crash.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-delete-while-step-button-clicked.html: * media/audio-garbage-collect.html: * media/audio-no-installed-engines.html: * media/audio-only-video-intrinsic-size.html: * media/audio-repaint.html: * media/context-menu-actions.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-layout-direction.html: * media/controls-right-click-on-timebar.html: * media/controls-without-preload.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/fallback.html: * media/media-blocked-by-beforeload.html: * media/media-blocked-by-willsendrequest.html: * media/media-controls-clone-crash.html: * media/media-controls-invalid-url.html: * media/media-document-audio-repaint.html: * media/media-document-audio-size.html: * media/media-fullscreen.js: (canplaythrough): * media/media-volume-slider-rendered-normal.html: * media/no-auto-play-in-sandbox.html: * media/remove-from-document-before-load.html: * media/resources/foreignobject-media.svg: * media/restore-from-page-cache.html: * media/svg-as-image-with-media-blocked.html: * media/video-beforeload-remove-source.html: * media/video-canvas-alpha.html: * media/video-canvas.html-disabled: * media/video-click-dblckick-standalone.html: * media/video-controls-in-media-document.html: * media/video-controls-no-scripting.html: * media/video-controls-toggling.html: * media/video-controls-visible-audio-only.html: * media/video-controls-with-mutation-event-handler.html: * media/video-delay-load-event.html: * media/video-display-toggle.html: * media/video-document-types.html: * media/video-element-other-namespace-crash.html: * media/video-empty-source.html: * media/video-no-audio.html: * media/video-paint-test.js: (init.waitForMultipleEvents): (initAndPause.waitForMultipleEvents): (initAndPause): * media/video-plays-past-end-of-test.html: * media/video-poster-blocked-by-willsendrequest.html: * media/video-replaces-poster.html: * media/video-source-inserted.html: * media/video-test.js: (endTest): * media/video-volume-slider.html: * media/video-zoom.html: * mhtml/check_domain.mht: * mhtml/multi_frames.html_original: * mhtml/multi_frames_binary.mht: * mhtml/multi_frames_ie.mht: * mhtml/multi_frames_unmht.mht: * mhtml/page_with_css_and_js_ie.mht: * mhtml/page_with_css_and_js_unmht.mht: * mhtml/page_with_image.html_original: * mhtml/page_with_image_ie.mht: * mhtml/page_with_image_unmht.mht: * mhtml/simple_page.html_original: * mhtml/simple_page_ie.mht: * mhtml/simple_page_unmht.mht: * networkinformation/resources/event-after-navigation-new.html: * networkinformation/script-tests/event-after-navigation.js: * platform/chromium/media/video-frame-size-change.html: Canonical link: https://commits.webkit.org/107030@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@120416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-06-15 07:33:22 +00:00
if (window.testRunner) {
testRunner.notifyDone();
2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Added a layout test for verifying that globalAlpha is properly handled when copying a video frame to a 2D canvas context. https://bugs.webkit.org/show_bug.cgi?id=48094 * media/video-canvas-alpha-expected.txt: Added. * media/video-canvas-alpha.html: Added. * platform/chromium-mac/media/video-canvas-alpha-expected.checksum: Added. * platform/chromium-mac/media/video-canvas-alpha-expected.png: Added. * platform/chromium-win/media/video-canvas-alpha-expected.checksum: Added. * platform/chromium-win/media/video-canvas-alpha-expected.png: Added. 2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha() to centralize alpha rounding & clipping logic. https://bugs.webkit.org/show_bug.cgi?id=48094 Test: media/video-canvas-alpha.html * platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap): * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PlatformContextSkia::getNormalizedAlpha): * platform/graphics/skia/PlatformContextSkia.h: 2010-10-29 Aaron Colwell <acolwell@chromium.org> Reviewed by James Robinson. Fix globalAlpha support when using drawImage() to copy a video frame to a 2D canvas context. https://bugs.webkit.org/show_bug.cgi?id=48094 This fix applies the globalAlpha value to the canvas before passing it down to the lower layers that don't have access to the graphics context. This makes sure that any drawing on the canvas will have the proper global alpha value applied. * src/WebMediaPlayerClientImpl.cpp: (WebKit::WebMediaPlayerClientImpl::paint): Canonical link: https://commits.webkit.org/61423@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@70919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-10-29 20:49:44 +00:00
}
});
}
</script>
</head>
<body onload="onLoad();">
<video></video><canvas width="320px" height="240px" style="position:relative;left:-100px;"> </canvas>
</body>
</html>