summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue')
-rw-r--r--webkit/glue/media_player_private_impl.cc26
-rw-r--r--webkit/glue/temporary_glue.cc24
-rw-r--r--webkit/glue/webkit_glue.h8
-rw-r--r--webkit/glue/webmediaplayerclient_impl.cc310
-rw-r--r--webkit/glue/webmediaplayerclient_impl.h101
5 files changed, 24 insertions, 445 deletions
diff --git a/webkit/glue/media_player_private_impl.cc b/webkit/glue/media_player_private_impl.cc
deleted file mode 100644
index 15661b5..0000000
--- a/webkit/glue/media_player_private_impl.cc
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright (c) 2008-2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "config.h"
-
-#if ENABLE(VIDEO)
-
-#include "MediaPlayerPrivateChromium.h"
-
-#include "webkit/glue/webkit_glue.h"
-#include "webkit/glue/webmediaplayerclient_impl.h"
-
-namespace WebCore {
-
-void MediaPlayerPrivate::registerMediaEngine(MediaEngineRegistrar registrar) {
- if (webkit_glue::IsMediaPlayerAvailable()) {
- registrar(&WebMediaPlayerClientImpl::create,
- &WebMediaPlayerClientImpl::getSupportedTypes,
- &WebMediaPlayerClientImpl::supportsType);
- }
-}
-
-} // namespace WebCore
-
-#endif
diff --git a/webkit/glue/temporary_glue.cc b/webkit/glue/temporary_glue.cc
new file mode 100644
index 0000000..fb201b1
--- /dev/null
+++ b/webkit/glue/temporary_glue.cc
@@ -0,0 +1,24 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "config.h"
+#include "webkit/api/src/TemporaryGlue.h"
+
+#include "webkit/glue/webview_impl.h"
+
+using WebCore::Frame;
+
+namespace WebKit {
+
+// static
+WebMediaPlayer* TemporaryGlue::createWebMediaPlayer(
+ WebMediaPlayerClient* client, Frame* frame) {
+ WebViewImpl* webview = WebFrameImpl::FromFrame(frame)->GetWebViewImpl();
+ if (!webview || !webview->delegate())
+ return NULL;
+
+ return webview->delegate()->CreateWebMediaPlayer(client);
+}
+
+} // namespace WebKit
diff --git a/webkit/glue/webkit_glue.h b/webkit/glue/webkit_glue.h
index 2e7e4e3..0024fe1 100644
--- a/webkit/glue/webkit_glue.h
+++ b/webkit/glue/webkit_glue.h
@@ -110,14 +110,6 @@ WebKit::WebString FilePathStringToWebString(const FilePath::StringType& str);
//---- BEGIN FUNCTIONS IMPLEMENTED BY EMBEDDER --------------------------------
-// Set during RenderProcess::GlobalInit when --enable-video has been passed in
-// and all media related libraries were successfully loaded.
-void SetMediaPlayerAvailable(bool value);
-
-// This function is called from WebCore::MediaPlayerPrivate,
-// Returns true if media player is available and can be created.
-bool IsMediaPlayerAvailable();
-
// This function is called to request a prefetch of the entire URL, loading it
// into our cache for (expected) future needs. The given URL may NOT be in
// canonical form and it will NOT be null-terminated; use the length instead.
diff --git a/webkit/glue/webmediaplayerclient_impl.cc b/webkit/glue/webmediaplayerclient_impl.cc
deleted file mode 100644
index 78d7f58..0000000
--- a/webkit/glue/webmediaplayerclient_impl.cc
+++ /dev/null
@@ -1,310 +0,0 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "config.h"
-#include "webkit/glue/webmediaplayerclient_impl.h"
-
-#if ENABLE(VIDEO)
-
-#include "webkit/api/public/WebCanvas.h"
-#include "webkit/api/public/WebCString.h"
-#include "webkit/api/public/WebKit.h"
-#include "webkit/api/public/WebKitClient.h"
-#include "webkit/api/public/WebMediaPlayer.h"
-#include "webkit/api/public/WebRect.h"
-#include "webkit/api/public/WebSize.h"
-#include "webkit/api/public/WebString.h"
-#include "webkit/api/public/WebURL.h"
-#include "webkit/glue/glue_util.h"
-#include "webkit/glue/webframe_impl.h"
-#include "webkit/glue/webview.h"
-#include "webkit/glue/webview_delegate.h"
-
-#include "CString.h"
-#include "Frame.h"
-#include "GraphicsContext.h"
-#include "HTMLMediaElement.h"
-#include "IntSize.h"
-#include "KURL.h"
-#include "MediaPlayer.h"
-#include "NotImplemented.h"
-#include "PlatformContextSkia.h"
-
-using namespace WebCore;
-using namespace WebKit;
-
-WebMediaPlayerClientImpl::WebMediaPlayerClientImpl()
- : m_webMediaPlayer(0) {
-}
-
-
-WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl() {
- delete m_webMediaPlayer;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// WebMediaPlayerClientImpl, WebMediaPlayerClient implementations
-void WebMediaPlayerClientImpl::networkStateChanged() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->networkStateChanged();
-}
-
-void WebMediaPlayerClientImpl::readyStateChanged() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->readyStateChanged();
-}
-
-void WebMediaPlayerClientImpl::volumeChanged() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->volumeChanged();
-}
-
-void WebMediaPlayerClientImpl::timeChanged() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->timeChanged();
-}
-
-void WebMediaPlayerClientImpl::repaint() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->repaint();
-}
-
-void WebMediaPlayerClientImpl::durationChanged() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->durationChanged();
-}
-
-void WebMediaPlayerClientImpl::rateChanged() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->rateChanged();
-}
-
-void WebMediaPlayerClientImpl::sizeChanged() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->sizeChanged();
-}
-
-void WebMediaPlayerClientImpl::sawUnsupportedTracks() {
- ASSERT(m_mediaPlayer);
- m_mediaPlayer->mediaPlayerClient()->mediaPlayerSawUnsupportedTracks(
- m_mediaPlayer);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// WebMediaPlayerClientImpl, MediaPlayerPrivateInterface implementations
-void WebMediaPlayerClientImpl::load(const String& url) {
- delete m_webMediaPlayer;
-
- WebCore::Frame* frame = static_cast<HTMLMediaElement*>(
- m_mediaPlayer->mediaPlayerClient())->document()->frame();
- WebFrame* webFrame = WebFrameImpl::FromFrame(frame);
- WebViewDelegate* d = webFrame->GetView()->GetDelegate();
- m_webMediaPlayer = d->CreateWebMediaPlayer(this);
- m_webMediaPlayer->load(webkit_glue::KURLToWebURL(KURL(url)));
-}
-
-void WebMediaPlayerClientImpl::cancelLoad() {
- if (m_webMediaPlayer)
- m_webMediaPlayer->cancelLoad();
-}
-
-void WebMediaPlayerClientImpl::play() {
- if (m_webMediaPlayer)
- m_webMediaPlayer->play();
-}
-
-void WebMediaPlayerClientImpl::pause() {
- if (m_webMediaPlayer)
- m_webMediaPlayer->pause();
-}
-
-IntSize WebMediaPlayerClientImpl::naturalSize() const {
- if (m_webMediaPlayer) {
- const WebSize& size = m_webMediaPlayer->naturalSize();
- return IntSize(size.width, size.height);
- }
- return IntSize(0, 0);
-}
-
-bool WebMediaPlayerClientImpl::hasVideo() const {
- if (m_webMediaPlayer)
- return m_webMediaPlayer->hasVideo();
- return false;
-}
-
-void WebMediaPlayerClientImpl::setVisible(bool visible) {
- if (m_webMediaPlayer)
- m_webMediaPlayer->setVisible(visible);
-}
-
-float WebMediaPlayerClientImpl::duration() const {
- if (m_webMediaPlayer)
- return m_webMediaPlayer->duration();
- return 0.0f;
-}
-
-float WebMediaPlayerClientImpl::currentTime() const {
- if (m_webMediaPlayer)
- return m_webMediaPlayer->currentTime();
- return 0.0f;
-}
-
-void WebMediaPlayerClientImpl::seek(float time) {
- if (m_webMediaPlayer)
- m_webMediaPlayer->seek(time);
-}
-
-bool WebMediaPlayerClientImpl::seeking() const {
- return m_webMediaPlayer->seeking();
-}
-
-void WebMediaPlayerClientImpl::setEndTime(float time) {
- if (m_webMediaPlayer)
- m_webMediaPlayer->setEndTime(time);
-}
-
-void WebMediaPlayerClientImpl::setRate(float rate) {
- if (m_webMediaPlayer)
- m_webMediaPlayer->setRate(rate);
-}
-
-bool WebMediaPlayerClientImpl::paused() const {
- if (m_webMediaPlayer)
- return m_webMediaPlayer->paused();
- return false;
-}
-
-void WebMediaPlayerClientImpl::setVolume(float volume) {
- if (m_webMediaPlayer)
- m_webMediaPlayer->setVolume(volume);
-}
-
-MediaPlayer::NetworkState WebMediaPlayerClientImpl::networkState() const {
- COMPILE_ASSERT(
- int(WebMediaPlayer::Empty) == int(MediaPlayer::Empty), Empty);
- COMPILE_ASSERT(
- int(WebMediaPlayer::Idle) == int(MediaPlayer::Idle), Idle);
- COMPILE_ASSERT(
- int(WebMediaPlayer::Loading) == int(MediaPlayer::Loading), Loading);
- COMPILE_ASSERT(
- int(WebMediaPlayer::Loaded) == int(MediaPlayer::Loaded), Loaded);
- COMPILE_ASSERT(
- int(WebMediaPlayer::FormatError) == int(MediaPlayer::FormatError),
- FormatError);
- COMPILE_ASSERT(
- int(WebMediaPlayer::NetworkError) == int(MediaPlayer::NetworkError),
- NetworkError);
- COMPILE_ASSERT(
- int(WebMediaPlayer::DecodeError) == int(MediaPlayer::DecodeError),
- DecodeError);
-
- if (m_webMediaPlayer)
- return static_cast<MediaPlayer::NetworkState>(
- m_webMediaPlayer->networkState());
- return MediaPlayer::Empty;
-}
-
-MediaPlayer::ReadyState WebMediaPlayerClientImpl::readyState() const {
- COMPILE_ASSERT(
- int(WebMediaPlayer::HaveNothing) == int(MediaPlayer::HaveNothing),
- HaveNothing);
- COMPILE_ASSERT(
- int(WebMediaPlayer::HaveMetadata) == int(MediaPlayer::HaveMetadata),
- HaveMetadata);
- COMPILE_ASSERT(
- int(WebMediaPlayer::HaveCurrentData) == int(MediaPlayer::HaveCurrentData),
- HaveCurrentData);
- COMPILE_ASSERT(
- int(WebMediaPlayer::HaveFutureData) == int(MediaPlayer::HaveFutureData),
- HaveFutureData);
- COMPILE_ASSERT(
- int(WebMediaPlayer::HaveEnoughData) == int(MediaPlayer::HaveEnoughData),
- HaveEnoughData);
-
- if (m_webMediaPlayer)
- return static_cast<MediaPlayer::ReadyState>(m_webMediaPlayer->readyState());
- return MediaPlayer::HaveNothing;
-}
-
-float WebMediaPlayerClientImpl::maxTimeSeekable() const {
- if (m_webMediaPlayer)
- return m_webMediaPlayer->maxTimeSeekable();
- return 0.0f;
-}
-
-float WebMediaPlayerClientImpl::maxTimeBuffered() const {
- if (m_webMediaPlayer)
- return m_webMediaPlayer->maxTimeBuffered();
- return 0.0f;
-}
-
-int WebMediaPlayerClientImpl::dataRate() const {
- if (m_webMediaPlayer)
- return m_webMediaPlayer->dataRate();
- return 0;
-}
-
-bool WebMediaPlayerClientImpl::totalBytesKnown() const {
- if (m_webMediaPlayer)
- return m_webMediaPlayer->totalBytesKnown();
- return false;
-}
-
-unsigned WebMediaPlayerClientImpl::totalBytes() const {
- if (m_webMediaPlayer)
- return static_cast<unsigned>(m_webMediaPlayer->totalBytes());
- return 0;
-}
-
-unsigned WebMediaPlayerClientImpl::bytesLoaded() const {
- if (m_webMediaPlayer)
- return static_cast<unsigned>(m_webMediaPlayer->bytesLoaded());
- return 0;
-}
-
-void WebMediaPlayerClientImpl::setSize(const IntSize& size) {
- if (m_webMediaPlayer)
- m_webMediaPlayer->setSize(WebSize(size.width(), size.height()));
-}
-
-void WebMediaPlayerClientImpl::paint(GraphicsContext* context,
- const IntRect& rect) {
-// TODO(hclam): enable this for mac.
-#if WEBKIT_USING_SKIA
- if (m_webMediaPlayer)
- m_webMediaPlayer->paint(
- context->platformContext()->canvas(),
- WebRect(rect.x(), rect.y(), rect.width(), rect.height()));
-#endif
-}
-
-void WebMediaPlayerClientImpl::setAutobuffer(bool autoBuffer) {
- if (m_webMediaPlayer)
- m_webMediaPlayer->setAutoBuffer(autoBuffer);
-}
-
-// static
-MediaPlayerPrivateInterface* WebMediaPlayerClientImpl::create(
- MediaPlayer* player) {
- WebMediaPlayerClientImpl* client = new WebMediaPlayerClientImpl();
- client->m_mediaPlayer = player;
- return client;
-}
-
-// static
-void WebMediaPlayerClientImpl::getSupportedTypes(
- HashSet<String>& supportedTypes) {
- // TODO(hclam): decide what to do here, we should fill in the HashSet about
- // codecs that we support.
- notImplemented();
-}
-
-// static
-MediaPlayer::SupportsType WebMediaPlayerClientImpl::supportsType(
- const String& type, const String& codecs) {
- // TODO(hclam): implement this nicely.
- return MediaPlayer::IsSupported;
-}
-
-#endif // ENABLE(VIDEO)
diff --git a/webkit/glue/webmediaplayerclient_impl.h b/webkit/glue/webmediaplayerclient_impl.h
deleted file mode 100644
index 0081955..0000000
--- a/webkit/glue/webmediaplayerclient_impl.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef WEBKIT_GLUE_WEBMEDIAPLAYERCLIENT_IMPL_H_
-#define WEBKIT_GLUE_WEBMEDIAPLAYERCLIENT_IMPL_H_
-
-#if ENABLE(VIDEO)
-
-#include "webkit/api/public/WebMediaPlayerClient.h"
-
-#include "MediaPlayerPrivate.h"
-
-namespace WebCore {
-class MediaPlayerPrivate;
-} // namespace WebCore
-
-namespace WebKit {
-class WebMediaPlayer;
-} // namespace WebKit
-
-class WebMediaPlayerClientImpl : public WebKit::WebMediaPlayerClient,
- public WebCore::MediaPlayerPrivateInterface {
- public:
- virtual ~WebMediaPlayerClientImpl();
-
- ////////////////////////////////////////////////////////////////////////////
- // WebMediaPlayerPlayerClient methods
- virtual void networkStateChanged();
- virtual void readyStateChanged();
- virtual void volumeChanged();
- virtual void timeChanged();
- virtual void repaint();
- virtual void durationChanged();
- virtual void rateChanged();
- virtual void sizeChanged();
- virtual void sawUnsupportedTracks();
-
- ////////////////////////////////////////////////////////////////////////////
- // MediaPlayerPrivateInterface methods
- virtual void load(const WebCore::String& url);
- virtual void cancelLoad();
-
- virtual void play();
- virtual void pause();
-
- virtual WebCore::IntSize naturalSize() const;
-
- virtual bool hasVideo() const;
-
- virtual void setVisible(bool);
-
- virtual float duration() const;
-
- virtual float currentTime() const;
- virtual void seek(float time);
- virtual bool seeking() const;
-
- virtual void setEndTime(float time);
-
- virtual void setRate(float);
- virtual bool paused() const;
-
- virtual void setVolume(float);
-
- virtual WebCore::MediaPlayer::NetworkState networkState() const;
- virtual WebCore::MediaPlayer::ReadyState readyState() const;
-
- virtual float maxTimeSeekable() const;
- virtual float maxTimeBuffered() const;
-
- virtual int dataRate() const;
- virtual void setAutobuffer(bool);
-
- virtual bool totalBytesKnown() const;
- virtual unsigned totalBytes() const;
- virtual unsigned bytesLoaded() const;
-
- virtual void setSize(const WebCore::IntSize&);
- virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&);
-
- private:
- friend class WebCore::MediaPlayerPrivate;
-
- WebMediaPlayerClientImpl();
-
- // Static methods used by WebKit for construction.
- static WebCore::MediaPlayerPrivateInterface* create(
- WebCore::MediaPlayer* player);
- static void getSupportedTypes(
- WTF::HashSet<WebCore::String>& supportedTypes);
- static WebCore::MediaPlayer::SupportsType supportsType(
- const WebCore::String& type, const WebCore::String& codecs);
-
- WebCore::MediaPlayer* m_mediaPlayer;
- WebKit::WebMediaPlayer* m_webMediaPlayer;
-};
-
-#endif // ENABLE(VIDEO)
-
-#endif // WEBKIT_GLUE_WEBMEDIAPLAYERCLIENT_IMPL_H_