diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-15 20:38:29 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-15 20:38:29 +0000 |
commit | 8ade882b6bdcf1e35442e0c288f2f142b7c85b58 (patch) | |
tree | db147a32cd5cb86a2cb7c0c832309187b2e5870f /webkit/glue | |
parent | 722065e427af4bdb08c27775937a97f31676fb4d (diff) | |
download | chromium_src-8ade882b6bdcf1e35442e0c288f2f142b7c85b58.zip chromium_src-8ade882b6bdcf1e35442e0c288f2f142b7c85b58.tar.gz chromium_src-8ade882b6bdcf1e35442e0c288f2f142b7c85b58.tar.bz2 |
Fix crash for <audio>
WebKit doesn't provide a FrameView for <audio> in MediaPlayer
which is need for us to create a WebMediaPlayerDelegateImpl,
so don't rely on MediaPlayer::m_frameView but static_cast
MediaPlayer::m_mediaPlayerClient to HTMLMediaElement and
gets FrameView from it's Document object.
Review URL: http://codereview.chromium.org/69012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13782 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/media_player_private_impl.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/webkit/glue/media_player_private_impl.cc b/webkit/glue/media_player_private_impl.cc index 3e24819..7bc09a3 100644 --- a/webkit/glue/media_player_private_impl.cc +++ b/webkit/glue/media_player_private_impl.cc @@ -6,7 +6,9 @@ #if ENABLE(VIDEO) +#include "Document.h" #include "GraphicsContext.h" +#include "HTMLMediaElement.h" #include "IntRect.h" #include "MediaPlayerPrivateChromium.h" #include "NotImplemented.h" @@ -274,7 +276,10 @@ void MediaPlayerPrivate::paint(GraphicsContext* p, const IntRect& r) { // Called from WebMediaPlayer ------------------------------------------------- FrameView* MediaPlayerPrivate::frameView() { - return m_player->frameView(); + // Unfortunately m_player->frameView() can be NULL for <audio> so get the + // FrameView from the document directly. + return static_cast<HTMLMediaElement*>( + m_player->mediaPlayerClient())->document()->view(); } void MediaPlayerPrivate::networkStateChanged() { |