[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
eric.carlson at apple.com
eric.carlson at apple.com
Wed Dec 22 11:19:49 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 65b858a9d9e5c3e8b7a8976dec1be7ecaa158747
Author: eric.carlson at apple.com <eric.carlson at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Jul 19 20:11:56 2010 +0000
2010-07-19 Eric Carlson <eric.carlson at apple.com>
Reviewed by Sam Weinig.
Remove HTML5 media element 'load' event
https://bugs.webkit.org/show_bug.cgi?id=30464
<rdar://problem/5650561>
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
(WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
(WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
(WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
(WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
(WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::):
* html/HTMLMediaElement.idl: Remove NETWORK_LOADING.
2010-07-19 Eric Carlson <eric.carlson at apple.com>
Reviewed by Sam Weinig.
Remove HTML5 media element 'load' event
https://bugs.webkit.org/show_bug.cgi?id=30464
<rdar://problem/5650561>
* media/audio-delete-while-slider-thumb-clicked.html: Trigger test on 'canplaythrough'
instead of 'load'.
* media/audio-delete-while-step-button-clicked.html: Ditto.
* media/event-attributes-expected.txt:
* media/event-attributes.html: Correct logic to check that 'progress' event(s) are
fired while loading file, but not when src set to invalid file. 'abort' event is fired when
the src is changed.
* media/invalid-media-url-crash-expected.txt:
* media/media-constants-expected.txt: No more NETWORK_LOADED state.
* media/media-constants.html: No more NETWORK_LOADED state. Clean up test.
* media/remove-from-document-expected.txt:
* media/remove-from-document.html: Ditto.
* media/video-controls-visible-audio-only.html: Trigger test on 'canplaythrough'
instead of 'load'.
* media/video-source-none-supported-expected.txt: No more NETWORK_LOADED state.
* media/video-src-change-expected.txt: Ditto.
* media/video-src-none-expected.txt:
* media/video-src-none.html: No more NETWORK_LOADED state. Fix bogus test that generated
"FAIL" in results.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 9c556cb..7738721 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,31 @@
+2010-07-19 Eric Carlson <eric.carlson at apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove HTML5 media element 'load' event
+ https://bugs.webkit.org/show_bug.cgi?id=30464
+ <rdar://problem/5650561>
+
+ * media/audio-delete-while-slider-thumb-clicked.html: Trigger test on 'canplaythrough'
+ instead of 'load'.
+ * media/audio-delete-while-step-button-clicked.html: Ditto.
+ * media/event-attributes-expected.txt:
+ * media/event-attributes.html: Correct logic to check that 'progress' event(s) are
+ fired while loading file, but not when src set to invalid file. 'abort' event is fired when
+ the src is changed.
+ * media/invalid-media-url-crash-expected.txt:
+ * media/media-constants-expected.txt: No more NETWORK_LOADED state.
+ * media/media-constants.html: No more NETWORK_LOADED state. Clean up test.
+ * media/remove-from-document-expected.txt:
+ * media/remove-from-document.html: Ditto.
+ * media/video-controls-visible-audio-only.html: Trigger test on 'canplaythrough'
+ instead of 'load'.
+ * media/video-source-none-supported-expected.txt: No more NETWORK_LOADED state.
+ * media/video-src-change-expected.txt: Ditto.
+ * media/video-src-none-expected.txt:
+ * media/video-src-none.html: No more NETWORK_LOADED state. Fix bogus test that generated
+ "FAIL" in results.
+
2010-07-19 Ojan Vafai <ojan at chromium.org>
Unreviewed.
diff --git a/LayoutTests/media/audio-delete-while-slider-thumb-clicked.html b/LayoutTests/media/audio-delete-while-slider-thumb-clicked.html
index 2d9a3a4..c5a16a8 100644
--- a/LayoutTests/media/audio-delete-while-slider-thumb-clicked.html
+++ b/LayoutTests/media/audio-delete-while-slider-thumb-clicked.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<html>
<head>
<script src=media-file.js></script>
@@ -89,7 +90,7 @@
<br>
<input type="button" id="button" value="Click Me!" onmouseup="log('button click!')">
<br>
- <audio id="audio" ontimeupdate="logtimeupdate()" onload="drag()" controls></audio><br><br>
+ <audio id="audio" ontimeupdate="logtimeupdate()" oncanplaythrough="drag()" controls></audio><br><br>
<div id="console"></div>
</body>
</html>
diff --git a/LayoutTests/media/audio-delete-while-step-button-clicked.html b/LayoutTests/media/audio-delete-while-step-button-clicked.html
index 74d3a37..d087d5c 100644
--- a/LayoutTests/media/audio-delete-while-step-button-clicked.html
+++ b/LayoutTests/media/audio-delete-while-step-button-clicked.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<html>
<head>
<script src=media-file.js></script>
@@ -80,7 +81,7 @@
<br>
<input type="button" id="button" value="Click Me!" onmouseup="log('button click!')">
<br>
- <audio id="audio" ontimeupdate="log('timeupdate')" onload="step()" controls></audio><br><br>
+ <audio id="audio" ontimeupdate="log('timeupdate')" oncanplaythrough="step()" controls></audio><br><br>
<div id="console"></div>
</body>
</html>
diff --git a/LayoutTests/media/event-attributes-expected.txt b/LayoutTests/media/event-attributes-expected.txt
index dd9f60e..e85ffd3 100644
--- a/LayoutTests/media/event-attributes-expected.txt
+++ b/LayoutTests/media/event-attributes-expected.txt
@@ -4,6 +4,7 @@ EVENT(loadedmetadata)
EVENT(loadeddata)
EVENT(canplay)
EVENT(canplaythrough)
+EXPECTED (progressEventCount >= '1') OK
*** starting playback
RUN(video.play())
@@ -34,9 +35,11 @@ EVENT(playing)
EVENT(ended)
*** played to end, setting 'src' to an invalid movie
+RUN(progressEventCount = 0)
+EVENT(abort)
EVENT(emptied)
EVENT(loadstart)
EVENT(error)
-EXPECTED (progressEventCount >= '1') OK
+EXPECTED (progressEventCount == '0') OK
END OF TEST
diff --git a/LayoutTests/media/event-attributes.html b/LayoutTests/media/event-attributes.html
index a3fee47..bc9610a 100644
--- a/LayoutTests/media/event-attributes.html
+++ b/LayoutTests/media/event-attributes.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<html>
<head>
<script src=media-file.js></script>
@@ -16,6 +17,7 @@
switch (event.type)
{
case "canplaythrough":
+ testExpected('progressEventCount', 1, '>=');
consoleWrite("<br>*** starting playback");
run("video.play()");
break;
@@ -46,13 +48,14 @@
case "ended":
var mediaFile = findMediaFile("video", "content/garbage");
consoleWrite("<br>*** played to end, setting 'src' to an invalid movie");
+ run("progressEventCount = 0");
video.src = mediaFile;
break;
case "progress":
++progressEventCount;
break;
case "error":
- testExpected('progressEventCount', 1, '>=');
+ testExpected('progressEventCount', 0);
endTest();
break;
default:
diff --git a/LayoutTests/media/invalid-media-url-crash-expected.txt b/LayoutTests/media/invalid-media-url-crash-expected.txt
index 406d03e..9becff1 100644
--- a/LayoutTests/media/invalid-media-url-crash-expected.txt
+++ b/LayoutTests/media/invalid-media-url-crash-expected.txt
@@ -2,7 +2,7 @@ Tests that invalid media src url does not result in crash.
EXPECTED (audio.error.code == '4') OK
EXPECTED (video.error.code == '4') OK
-EXPECTED (audio.networkState == '4') OK
-EXPECTED (video.networkState == '4') OK
+EXPECTED (audio.networkState == '3') OK
+EXPECTED (video.networkState == '3') OK
END OF TEST
diff --git a/LayoutTests/media/media-constants-expected.txt b/LayoutTests/media/media-constants-expected.txt
index a6f2c3f..193e2d3 100644
--- a/LayoutTests/media/media-constants-expected.txt
+++ b/LayoutTests/media/media-constants-expected.txt
@@ -3,8 +3,7 @@ Test HTMLMediaElement and MediaError constants.
EXPECTED (HTMLMediaElement.NETWORK_EMPTY == '0') OK
EXPECTED (HTMLMediaElement.NETWORK_IDLE == '1') OK
EXPECTED (HTMLMediaElement.NETWORK_LOADING == '2') OK
-EXPECTED (HTMLMediaElement.NETWORK_LOADED == '3') OK
-EXPECTED (HTMLMediaElement.NETWORK_NO_SOURCE == '4') OK
+EXPECTED (HTMLMediaElement.NETWORK_NO_SOURCE == '3') OK
EXPECTED (HTMLMediaElement.HAVE_NOTHING == '0') OK
EXPECTED (HTMLMediaElement.HAVE_METADATA == '1') OK
diff --git a/LayoutTests/media/media-constants.html b/LayoutTests/media/media-constants.html
index 0d62c3c..b4ad1a6 100644
--- a/LayoutTests/media/media-constants.html
+++ b/LayoutTests/media/media-constants.html
@@ -1,30 +1,33 @@
-
-<p>Test HTMLMediaElement and MediaError constants.</p>
-
-<script src=video-test.js></script>
-
-<script>
-
- testExpected("HTMLMediaElement.NETWORK_EMPTY", 0);
- testExpected("HTMLMediaElement.NETWORK_IDLE", 1);
- testExpected("HTMLMediaElement.NETWORK_LOADING", 2);
- testExpected("HTMLMediaElement.NETWORK_LOADED", 3);
- testExpected("HTMLMediaElement.NETWORK_NO_SOURCE", 4);
- consoleWrite("");
-
- testExpected("HTMLMediaElement.HAVE_NOTHING", 0);
- testExpected("HTMLMediaElement.HAVE_METADATA", 1);
- testExpected("HTMLMediaElement.HAVE_CURRENT_DATA", 2);
- testExpected("HTMLMediaElement.HAVE_FUTURE_DATA", 3);
- testExpected("HTMLMediaElement.HAVE_ENOUGH_DATA", 4);
- consoleWrite("");
-
- testExpected("MediaError.MEDIA_ERR_ABORTED", 1);
- testExpected("MediaError.MEDIA_ERR_NETWORK", 2);
- testExpected("MediaError.MEDIA_ERR_DECODE", 3);
- testExpected("MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED", 4);
-
-
- endTest();
-</script>
-
+<!DOCTYPE html>
+<html>
+<head>
+ <script src=video-test.js></script>
+ <script type="text/javascript">
+ function doTest ()
+ {
+ testExpected("HTMLMediaElement.NETWORK_EMPTY", 0);
+ testExpected("HTMLMediaElement.NETWORK_IDLE", 1);
+ testExpected("HTMLMediaElement.NETWORK_LOADING", 2);
+ testExpected("HTMLMediaElement.NETWORK_NO_SOURCE", 3);
+ consoleWrite("");
+
+ testExpected("HTMLMediaElement.HAVE_NOTHING", 0);
+ testExpected("HTMLMediaElement.HAVE_METADATA", 1);
+ testExpected("HTMLMediaElement.HAVE_CURRENT_DATA", 2);
+ testExpected("HTMLMediaElement.HAVE_FUTURE_DATA", 3);
+ testExpected("HTMLMediaElement.HAVE_ENOUGH_DATA", 4);
+ consoleWrite("");
+
+ testExpected("MediaError.MEDIA_ERR_ABORTED", 1);
+ testExpected("MediaError.MEDIA_ERR_NETWORK", 2);
+ testExpected("MediaError.MEDIA_ERR_DECODE", 3);
+ testExpected("MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED", 4);
+
+ endTest();
+ }
+ </script>
+</head>
+<body onload="doTest()">
+ <p>Test HTMLMediaElement and MediaError constants.</p>
+</body>
+</html>
diff --git a/LayoutTests/media/remove-from-document-expected.txt b/LayoutTests/media/remove-from-document-expected.txt
index 8c84e9a..bee25fb 100644
--- a/LayoutTests/media/remove-from-document-expected.txt
+++ b/LayoutTests/media/remove-from-document-expected.txt
@@ -1,10 +1,10 @@
Test that removing a media element from the tree pauses playback but does not unload the media.
EVENT(canplaythrough)
-EXPECTED (video.networkState == '3') OK
+EXPECTED (video.networkState != '0') OK
EXPECTED (video.paused == 'false') OK
RUN(document.body.removeChild(video))
-EXPECTED (video.networkState == '3') OK
+EXPECTED (video.networkState != '0') OK
EXPECTED (video.paused == 'true') OK
END OF TEST
diff --git a/LayoutTests/media/remove-from-document.html b/LayoutTests/media/remove-from-document.html
index a406b84..d95f6aa 100644
--- a/LayoutTests/media/remove-from-document.html
+++ b/LayoutTests/media/remove-from-document.html
@@ -1,21 +1,35 @@
-<video controls autoplay></video>
-<p>Test that removing a media element from the tree pauses playback but does not unload the media.</p>
-<script src=media-file.js></script>
-<script src=video-test.js></script>
-<script>
- waitForEvent('canplaythrough', function () {
+<!DOCTYPE html>
+<html>
+<head>
+ <script src=media-file.js></script>
+ <script src=video-test.js></script>
+ <script type="text/javascript" charset="utf-8">
+ function doSetup()
+ {
+ video = document.getElementsByTagName('video')[0];
+ video.src = findMediaFile("video", "content/test");
+ }
- testExpected("video.networkState", HTMLMediaElement.NETWORK_LOADED);
- testExpected("video.paused", false);
+ function doTest ()
+ {
+ consoleWrite("EVENT(canplaythrough)");
+ testExpected("video.networkState", HTMLMediaElement.NETWORK_EMPTY, "!=");
+ testExpected("video.paused", false);
+
+ run("document.body.removeChild(video)");
+
+ testExpected("video.networkState", HTMLMediaElement.NETWORK_EMPTY, "!=");
+ testExpected("video.paused", true);
+
+ document.body.offsetTop;
+ endTest();
+ }
- run("document.body.removeChild(video)");
-
- testExpected("video.networkState", HTMLMediaElement.NETWORK_LOADED);
- testExpected("video.paused", true);
-
- document.body.offsetTop;
- endTest();
- } );
-
-video.src = findMediaFile("video", "content/test");
-</script>
+ window.addEventListener('load', doSetup, false);
+ </script>
+</head>
+<body>
+ <p>Test that removing a media element from the tree pauses playback but does not unload the media.</p>
+ <video controls autoplay oncanplaythrough="doTest()"></video>
+</body>
+</html>
diff --git a/LayoutTests/media/video-controls-visible-audio-only.html b/LayoutTests/media/video-controls-visible-audio-only.html
index d7a40e0..826d359 100644
--- a/LayoutTests/media/video-controls-visible-audio-only.html
+++ b/LayoutTests/media/video-controls-visible-audio-only.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<html>
<head>
<style>
@@ -68,7 +69,7 @@
<p><span id="mouse-parking">mouse parks here, am I blue?</span></p>
- <video id="no-video-media" controls loop onload="start()"></video>
+ <video id="no-video-media" controls loop oncanplaythrough="start()"></video>
<br><br><div id="console"></div>
<script>
setSrcById("no-video-media", findMediaFile("audio", "content/test"));
diff --git a/LayoutTests/media/video-source-none-supported-expected.txt b/LayoutTests/media/video-source-none-supported-expected.txt
index 8a44afc..6f3aa28 100644
--- a/LayoutTests/media/video-source-none-supported-expected.txt
+++ b/LayoutTests/media/video-source-none-supported-expected.txt
@@ -2,6 +2,6 @@
EVENT(error)
EXPECTED (event.target.tagName == 'SOURCE') OK
-EXPECTED (video.networkState == '4') OK
+EXPECTED (video.networkState == '3') OK
END OF TEST
diff --git a/LayoutTests/media/video-src-change-expected.txt b/LayoutTests/media/video-src-change-expected.txt
index 0d5ac21..8691462 100644
--- a/LayoutTests/media/video-src-change-expected.txt
+++ b/LayoutTests/media/video-src-change-expected.txt
@@ -5,7 +5,7 @@
EVENT(error)
EXPECTED (relativeURL(video.currentSrc) == 'bogus') OK
-EXPECTED (video.networkState == '4') OK
+EXPECTED (video.networkState == '3') OK
EXPECTED (video.error.code == '4') OK
diff --git a/LayoutTests/media/video-src-none-expected.txt b/LayoutTests/media/video-src-none-expected.txt
index 35629d3..082244e 100644
--- a/LayoutTests/media/video-src-none-expected.txt
+++ b/LayoutTests/media/video-src-none-expected.txt
@@ -15,9 +15,10 @@ Calling load() with empty 'src' should fire 'error' event, set network state to
EXPECTED (state == 'load() with empty 'src'') OK
EXPECTED ([object HTMLVideoElement] == '[object HTMLVideoElement]') OK
EXPECTED (videos[1].error.code == '4') OK
-EXPECTED (videos[1].networkState == '4') OK
+EXPECTED (videos[1].networkState == '3') OK
+
Calling load() with no 'src' should NOT fire 'error' event, set network state to NETWORK_EMPTY.
-EXPECTED (state == 'load() with no 'src''), OBSERVED 'load() with missing 'src'' FAIL
+EXPECTED (state == 'load() with missing 'src'') OK
EXPECTED (videos[0].error == 'null') OK
EXPECTED (videos[0].networkState == '0') OK
EXPECTED (videos[0].src == '') OK
diff --git a/LayoutTests/media/video-src-none.html b/LayoutTests/media/video-src-none.html
index 432530d..2d1f91e 100644
--- a/LayoutTests/media/video-src-none.html
+++ b/LayoutTests/media/video-src-none.html
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
<html>
<head>
<script src=video-test.js></script>
@@ -6,7 +7,7 @@
function someTimeLater()
{
- testExpected("state", "load() with no 'src'");
+ testExpected("state", "load() with missing 'src'");
testExpected("videos[0].error", null);
testExpected("videos[0].networkState", HTMLMediaElement.NETWORK_EMPTY);
testExpected("videos[0].src", "");
@@ -21,7 +22,7 @@
testExpected("videos[1].error.code", MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);
testExpected("videos[1].networkState", HTMLMediaElement.NETWORK_NO_SOURCE);
- consoleWrite("<i>Calling load() with no 'src' should NOT fire 'error' event, set network state to NETWORK_EMPTY.<" + "/i>");
+ consoleWrite("<br><i>Calling load() with no 'src' should NOT fire 'error' event, set network state to NETWORK_EMPTY.<" + "/i>");
state = "load() with missing 'src'";
videos[0].load();
@@ -54,7 +55,5 @@
<video width=320 height=60 controls onerror="errorEvent()"></video>
<br>
<video width=320 height=60 controls src="" onerror="errorEvent()"></video>
-
-
</body>
</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index eb4cb40..8435c0f 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,22 @@
+2010-07-19 Eric Carlson <eric.carlson at apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove HTML5 media element 'load' event
+ https://bugs.webkit.org/show_bug.cgi?id=30464
+ <rdar://problem/5650561>
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
+ (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
+ (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
+ (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
+ (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
+ (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::):
+ * html/HTMLMediaElement.idl: Remove NETWORK_LOADING.
+
2010-07-19 Alexey Proskuryakov <ap at apple.com>
Reviewed by Darin Adler.
diff --git a/WebCore/html/HTMLMediaElement.cpp b/WebCore/html/HTMLMediaElement.cpp
index 5c823f8..d6e47f4 100644
--- a/WebCore/html/HTMLMediaElement.cpp
+++ b/WebCore/html/HTMLMediaElement.cpp
@@ -130,6 +130,7 @@ HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, Document* doc)
#endif
, m_dispatchingCanPlayEvent(false)
, m_loadInitiatedByUserGesture(false)
+ , m_completelyLoaded(false)
{
document()->registerForDocumentActivationCallbacks(this);
document()->registerForMediaVolumeCallbacks(this);
@@ -226,8 +227,6 @@ void HTMLMediaElement::parseMappedAttribute(Attribute* attr)
setAttributeEventListener(eventNames().endedEvent, createAttributeEventListener(this, attr));
else if (attrName == onerrorAttr)
setAttributeEventListener(eventNames().errorEvent, createAttributeEventListener(this, attr));
- else if (attrName == onloadAttr)
- setAttributeEventListener(eventNames().loadEvent, createAttributeEventListener(this, attr));
else if (attrName == onloadeddataAttr)
setAttributeEventListener(eventNames().loadeddataEvent, createAttributeEventListener(this, attr));
else if (attrName == onloadedmetadataAttr)
@@ -482,6 +481,7 @@ void HTMLMediaElement::prepareForLoad()
m_loadTimer.stop();
m_sentStalledEvent = false;
m_haveFiredLoadedData = false;
+ m_completelyLoaded = false;
// 1 - Abort any already-running instance of the resource selection algorithm for this element.
m_currentSourceNode = 0;
@@ -836,25 +836,15 @@ void HTMLMediaElement::setNetworkState(MediaPlayer::NetworkState state)
}
if (state == MediaPlayer::Loaded) {
- NetworkState oldState = m_networkState;
-
- m_networkState = NETWORK_LOADED;
- if (oldState < NETWORK_LOADED || oldState == NETWORK_NO_SOURCE) {
+ if (m_networkState != NETWORK_IDLE) {
m_progressEventTimer.stop();
// Schedule one last progress event so we guarantee that at least one is fired
// for files that load very quickly.
scheduleEvent(eventNames().progressEvent);
-
- // Check to see if readyState changes need to be dealt with before sending the
- // 'load' event so we report 'canplaythrough' first. This is necessary because a
- // media engine reports readyState and networkState changes separately
- MediaPlayer::ReadyState currentState = m_player->readyState();
- if (static_cast<ReadyState>(currentState) != m_readyState)
- setReadyState(currentState);
-
- scheduleEvent(eventNames().loadEvent);
}
+ m_networkState = NETWORK_IDLE;
+ m_completelyLoaded = true;
}
}
@@ -967,7 +957,7 @@ void HTMLMediaElement::setReadyState(MediaPlayer::ReadyState state)
void HTMLMediaElement::progressEventTimerFired(Timer<HTMLMediaElement>*)
{
ASSERT(m_player);
- if (m_networkState == NETWORK_EMPTY || m_networkState >= NETWORK_LOADED)
+ if (m_networkState != NETWORK_LOADING)
return;
unsigned progress = m_player->bytesLoaded();
@@ -1809,7 +1799,7 @@ void HTMLMediaElement::stopPeriodicTimers()
void HTMLMediaElement::userCancelledLoad()
{
- if (m_networkState == NETWORK_EMPTY || m_networkState >= NETWORK_LOADED)
+ if (m_networkState == NETWORK_EMPTY || m_completelyLoaded)
return;
// If the media data fetching process is aborted by the user:
diff --git a/WebCore/html/HTMLMediaElement.h b/WebCore/html/HTMLMediaElement.h
index 7d83f94..051629e 100644
--- a/WebCore/html/HTMLMediaElement.h
+++ b/WebCore/html/HTMLMediaElement.h
@@ -88,7 +88,7 @@ public:
void setSrc(const String&);
String currentSrc() const;
- enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_LOADED, NETWORK_NO_SOURCE };
+ enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO_SOURCE };
NetworkState networkState() const;
String preload() const;
@@ -366,6 +366,7 @@ private:
bool m_dispatchingCanPlayEvent : 1;
bool m_loadInitiatedByUserGesture : 1;
+ bool m_completelyLoaded : 1;
};
} //namespace
diff --git a/WebCore/html/HTMLMediaElement.idl b/WebCore/html/HTMLMediaElement.idl
index baea577..28a0fbe 100644
--- a/WebCore/html/HTMLMediaElement.idl
+++ b/WebCore/html/HTMLMediaElement.idl
@@ -36,8 +36,7 @@ interface [Conditional=VIDEO] HTMLMediaElement : HTMLElement {
const unsigned short NETWORK_EMPTY = 0;
const unsigned short NETWORK_IDLE = 1;
const unsigned short NETWORK_LOADING = 2;
- const unsigned short NETWORK_LOADED = 3;
- const unsigned short NETWORK_NO_SOURCE = 4;
+ const unsigned short NETWORK_NO_SOURCE = 3;
readonly attribute unsigned short networkState;
attribute DOMString preload;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list