diff options
Diffstat (limited to 'WebCore/platform/graphics/MediaPlayer.cpp')
-rw-r--r-- | WebCore/platform/graphics/MediaPlayer.cpp | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/WebCore/platform/graphics/MediaPlayer.cpp b/WebCore/platform/graphics/MediaPlayer.cpp index 82e9950..21e31fc 100644 --- a/WebCore/platform/graphics/MediaPlayer.cpp +++ b/WebCore/platform/graphics/MediaPlayer.cpp @@ -30,6 +30,9 @@ #include "IntRect.h" #include "MIMETypeRegistry.h" +#include "FrameView.h" +#include "Frame.h" +#include "Document.h" #if PLATFORM(MAC) #include "MediaPlayerPrivateQTKit.h" @@ -37,6 +40,10 @@ #include "MediaPlayerPrivateQuickTimeWin.h" #elif PLATFORM(GTK) #include "MediaPlayerPrivateGStreamer.h" +#elif PLATFORM(QT) +#include "MediaPlayerPrivatePhonon.h" +#elif PLATFORM(CHROMIUM) +#include "MediaPlayerPrivateChromium.h" #endif namespace WebCore { @@ -44,10 +51,10 @@ namespace WebCore { MediaPlayer::MediaPlayer(MediaPlayerClient* client) : m_mediaPlayerClient(client) , m_private(new MediaPlayerPrivate(this)) - , m_parentWidget(0) + , m_frameView(0) , m_visible(false) , m_rate(1.0f) - , m_volume(0.5f) + , m_volume(1.0f) { } @@ -56,7 +63,7 @@ MediaPlayer::~MediaPlayer() delete m_private; } -void MediaPlayer::load(String url) +void MediaPlayer::load(const String& url) { m_private->load(url); } @@ -111,6 +118,14 @@ bool MediaPlayer::hasVideo() return m_private->hasVideo(); } +bool MediaPlayer::inMediaDocument() +{ + Frame* frame = m_frameView ? m_frameView->frame() : 0; + Document* document = frame ? frame->document() : 0; + + return document && document->isMediaDocument(); +} + MediaPlayer::NetworkState MediaPlayer::networkState() { return m_private->networkState(); @@ -128,10 +143,8 @@ float MediaPlayer::volume() const void MediaPlayer::setVolume(float volume) { - if (volume != m_volume) { - m_volume = volume; - m_private->setVolume(volume); - } + m_volume = volume; + m_private->setVolume(volume); } float MediaPlayer::rate() const @@ -141,8 +154,6 @@ float MediaPlayer::rate() const void MediaPlayer::setRate(float rate) { - if (rate == m_rate) - return; m_rate = rate; m_private->setRate(rate); } @@ -184,8 +195,6 @@ unsigned MediaPlayer::totalBytes() void MediaPlayer::setRect(const IntRect& r) { - if (m_rect == r) - return; m_rect = r; m_private->setRect(r); } @@ -197,8 +206,6 @@ bool MediaPlayer::visible() const void MediaPlayer::setVisible(bool b) { - if (m_visible == b) - return; m_visible = b; m_private->setVisible(b); } @@ -208,6 +215,13 @@ void MediaPlayer::paint(GraphicsContext* p, const IntRect& r) m_private->paint(p, r); } +bool MediaPlayer::supportsType(const String& type) +{ + HashSet<String> types; + getSupportedTypes(types); + return MIMETypeRegistry::isSupportedMediaMIMEType(type) && types.contains(type); +} + void MediaPlayer::getSupportedTypes(HashSet<String>& types) { MediaPlayerPrivate::getSupportedTypes(types); |