summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/MediaPlayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/graphics/MediaPlayer.cpp')
-rw-r--r--WebCore/platform/graphics/MediaPlayer.cpp40
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);