mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 975270 - Fire 'emptied' and 'abort' asynchronously in media load algorithm, as per spec. r=roc
This commit is contained in:
parent
dfdc0cfb5d
commit
02453c7113
@ -617,7 +617,7 @@ void HTMLMediaElement::AbortExistingLoads()
|
|||||||
if (mNetworkState == nsIDOMHTMLMediaElement::NETWORK_LOADING ||
|
if (mNetworkState == nsIDOMHTMLMediaElement::NETWORK_LOADING ||
|
||||||
mNetworkState == nsIDOMHTMLMediaElement::NETWORK_IDLE)
|
mNetworkState == nsIDOMHTMLMediaElement::NETWORK_IDLE)
|
||||||
{
|
{
|
||||||
DispatchEvent(NS_LITERAL_STRING("abort"));
|
DispatchAsyncEvent(NS_LITERAL_STRING("abort"));
|
||||||
}
|
}
|
||||||
|
|
||||||
mError = nullptr;
|
mError = nullptr;
|
||||||
@ -648,7 +648,7 @@ void HTMLMediaElement::AbortExistingLoads()
|
|||||||
// change will be reflected in the controls.
|
// change will be reflected in the controls.
|
||||||
FireTimeUpdate(false);
|
FireTimeUpdate(false);
|
||||||
}
|
}
|
||||||
DispatchEvent(NS_LITERAL_STRING("emptied"));
|
DispatchAsyncEvent(NS_LITERAL_STRING("emptied"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// We may have changed mPaused, mAutoplaying, mNetworkState and other
|
// We may have changed mPaused, mAutoplaying, mNetworkState and other
|
||||||
|
@ -356,6 +356,7 @@ support-files =
|
|||||||
[test_reactivate.html]
|
[test_reactivate.html]
|
||||||
[test_readyState.html]
|
[test_readyState.html]
|
||||||
[test_referer.html]
|
[test_referer.html]
|
||||||
|
[test_reset_events_async.html]
|
||||||
[test_replay_metadata.html]
|
[test_replay_metadata.html]
|
||||||
[test_seek2.html]
|
[test_seek2.html]
|
||||||
[test_seek_out_of_range.html]
|
[test_seek_out_of_range.html]
|
||||||
|
57
content/media/test/test_reset_events_async.html
Normal file
57
content/media/test/test_reset_events_async.html
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<!--
|
||||||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=975270
|
||||||
|
-->
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Test for Bug </title>
|
||||||
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||||
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||||
|
<script type="application/javascript" src="manifest.js"></script>
|
||||||
|
<script type="application/javascript">
|
||||||
|
|
||||||
|
/** Test for Bug 975270 **/
|
||||||
|
// Test that 'emptied' and 'abort' events are fired asynchronously when re-starting
|
||||||
|
// media load.
|
||||||
|
SimpleTest.waitForExplicitFinish();
|
||||||
|
|
||||||
|
var a = document.createElement("audio");
|
||||||
|
a._abort = 0;
|
||||||
|
a._emptied = 0;
|
||||||
|
|
||||||
|
is(a.networkState, HTMLMediaElement.NETWORK_EMPTY, "Shouldn't be loading");
|
||||||
|
|
||||||
|
a.addEventListener("abort", function(e) { a._abort++; });
|
||||||
|
a.addEventListener("emptied", function(e) { a._emptied++; });
|
||||||
|
a.addEventListener("loadedmetadata",
|
||||||
|
function(e) {
|
||||||
|
is(a._abort, 0, "Should not have received 'abort' before 'loadedmetadata");
|
||||||
|
is(a._emptied, 0, "Should not have received 'emptied' before 'loadedmetadata");
|
||||||
|
|
||||||
|
a.addEventListener("loadstart",
|
||||||
|
function(e) {
|
||||||
|
is(a._abort, 1, "Should have received 'abort' before 'loadstart");
|
||||||
|
is(a._emptied, 1, "Should have received 'emptied' before 'loadstart");
|
||||||
|
SimpleTest.finish();
|
||||||
|
});
|
||||||
|
|
||||||
|
a.src = "";
|
||||||
|
is(a._abort, 0, "Should not have received 'abort' during setting a.src=''");
|
||||||
|
is(a._emptied, 0, "Should not have received 'emptied' during setting a.src=''");
|
||||||
|
});
|
||||||
|
|
||||||
|
a.src = getPlayableAudio(gSmallTests).name;
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=">Mozilla Bug </a>
|
||||||
|
<p id="display"></p>
|
||||||
|
<div id="content" style="display: none">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<pre id="test">
|
||||||
|
</pre>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user