[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
joepeck at webkit.org
joepeck at webkit.org
Wed Dec 22 14:29:16 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit c4b6566b7fcd4452a5f842b4d2f849cb024bd206
Author: joepeck at webkit.org <joepeck at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Oct 11 19:03:08 2010 +0000
2010-10-11 Joseph Pecoraro <joepeck at webkit.org>
Reviewed by Eric Carlson.
CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
https://bugs.webkit.org/show_bug.cgi?id=46777
Another case that could lead to an improper set of states between
m_currentNode and m_loadingState. Also added an ASSERT and early
return to prevent crashes if this case can still happen in other ways.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 15b2404..07f2a65 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-10-11 Joseph Pecoraro <joepeck at webkit.org>
+
+ Reviewed by Eric Carlson.
+
+ CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
+ https://bugs.webkit.org/show_bug.cgi?id=46777
+
+ Another case that could lead to an improper set of states between
+ m_currentNode and m_loadingState. Also added an ASSERT and early
+ return to prevent crashes if this case can still happen in other ways.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::prepareForLoad):
+
2010-10-11 Ryosuke Niwa <rniwa at webkit.org>
Reviewed by Darin Adler.
diff --git a/WebCore/html/HTMLMediaElement.cpp b/WebCore/html/HTMLMediaElement.cpp
index 3d9149e..7c2138f 100644
--- a/WebCore/html/HTMLMediaElement.cpp
+++ b/WebCore/html/HTMLMediaElement.cpp
@@ -530,6 +530,7 @@ void HTMLMediaElement::prepareForLoad()
m_displayMode = Unknown;
// 1 - Abort any already-running instance of the resource selection algorithm for this element.
+ m_loadState = WaitingForSource;
m_currentSourceNode = 0;
// 2 - If there are any tasks from the media element's media element event task source in
@@ -873,6 +874,10 @@ void HTMLMediaElement::setNetworkState(MediaPlayer::NetworkState state)
// If we failed while trying to load a <source> element, the movie was never parsed, and there are more
// <source> children, schedule the next one
if (m_readyState < HAVE_METADATA && m_loadState == LoadingFromSourceElement) {
+ ASSERT(m_currentSourceNode);
+ if (!m_currentSourceNode)
+ return;
+
m_currentSourceNode->scheduleErrorEvent();
if (havePotentialSourceChild()) {
LOG(Media, "HTMLMediaElement::setNetworkState scheduling next <source>");
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list