Changeset 55917 in webkit


Ignore:
Timestamp:
Mar 12, 2010 11:03:06 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-03-12 Alpha Lam <hclam@chromium.org>

Reviewed by Eric Carlson.

HTMLMediaElement crash when it is used after resource loading is canceled.
https://bugs.webkit.org/show_bug.cgi?id=35992

Adding a test to access the duration property of a video element after
resource loading was canceled.

  • http/tests/media/video-cancel-load-expected.txt: Added.
  • http/tests/media/video-cancel-load.html: Added.

2010-03-12 Alpha Lam <hclam@chromium.org>

Reviewed by Eric Carlson.

Fix a crash when resource loading of media element is canceled.
https://bugs.webkit.org/show_bug.cgi?id=35992

Use of HTMLMediaElement::duration() after resource loading was canceled
will cause a crash. This is because HTMLMediaElement::m_player is used
when NULL.
Test: http/tests/media/video-cancel-load.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::duration): Avoid calling to m_player when it is null. (WebCore::HTMLMediaElement::userCancelledLoad): Set m_readyState to HAVE_NOTHING.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r55913 r55917  
     12010-03-12  Alpha Lam  <hclam@chromium.org>
     2
     3        Reviewed by Eric Carlson.
     4
     5        HTMLMediaElement crash when it is used after resource loading is canceled.
     6        https://bugs.webkit.org/show_bug.cgi?id=35992
     7
     8        Adding a test to access the duration property of a video element after
     9        resource loading was canceled.
     10
     11        * http/tests/media/video-cancel-load-expected.txt: Added.
     12        * http/tests/media/video-cancel-load.html: Added.
     13
    1142010-03-05  Ojan Vafai  <ojan@chromium.org>
    215
  • trunk/WebCore/ChangeLog

    r55914 r55917  
     12010-03-12  Alpha Lam  <hclam@chromium.org>
     2
     3        Reviewed by Eric Carlson.
     4
     5        Fix a crash when resource loading of media element is canceled.
     6        https://bugs.webkit.org/show_bug.cgi?id=35992
     7
     8        Use of HTMLMediaElement::duration() after resource loading was canceled
     9        will cause a crash. This is because HTMLMediaElement::m_player is used
     10        when NULL.
     11        Test: http/tests/media/video-cancel-load.html
     12
     13        * html/HTMLMediaElement.cpp:
     14        (WebCore::HTMLMediaElement::duration):
     15        Avoid calling to m_player when it is null.
     16        (WebCore::HTMLMediaElement::userCancelledLoad):
     17        Set m_readyState to HAVE_NOTHING.
     18
    1192010-03-12  Dan Bernstein  <mitz@apple.com>
    220
  • trunk/WebCore/html/HTMLMediaElement.cpp

    r55699 r55917  
    10791079float HTMLMediaElement::duration() const
    10801080{
    1081     if (m_readyState >= HAVE_METADATA)
     1081    if (m_player && m_readyState >= HAVE_METADATA)
    10821082        return m_player->duration();
    10831083
     
    17861786    // 7 - Abort the overall resource selection algorithm.
    17871787    m_currentSourceNode = 0;
     1788
     1789    // Reset m_readyState since m_player is gone.
     1790    m_readyState = HAVE_NOTHING;
    17881791}
    17891792
Note: See TracChangeset for help on using the changeset viewer.