[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da
philn at webkit.org
philn at webkit.org
Wed Dec 22 17:57:26 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit e21fbade1663f9b4a316b732c49267d16acf22fa
Author: philn at webkit.org <philn at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Dec 3 08:39:04 2010 +0000
2010-12-02 Philippe Normand <pnormand at igalia.com>
Reviewed by Eric Carlson.
Theme not updated when MediaPlayer m_private engine changes
https://bugs.webkit.org/show_bug.cgi?id=50228
Trigger a new rendering of the media element when the private
media-player backend is updated.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::load):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerEngineUpdated):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index e41e6c1..096a290 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,22 @@
+2010-12-02 Philippe Normand <pnormand at igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ Theme not updated when MediaPlayer m_private engine changes
+ https://bugs.webkit.org/show_bug.cgi?id=50228
+
+ Trigger a new rendering of the media element when the private
+ media-player backend is updated.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated):
+ * html/HTMLMediaElement.h:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::MediaPlayer):
+ (WebCore::MediaPlayer::load):
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::MediaPlayerClient::mediaPlayerEngineUpdated):
+
2010-12-03 Yonathan Randolph <yonathan at gmail.com>
Reviewed by Alexey Proskuryakov.
diff --git a/WebCore/html/HTMLMediaElement.cpp b/WebCore/html/HTMLMediaElement.cpp
index c96bb1e..4962f8e 100644
--- a/WebCore/html/HTMLMediaElement.cpp
+++ b/WebCore/html/HTMLMediaElement.cpp
@@ -1961,6 +1961,15 @@ void HTMLMediaElement::mediaPlayerRenderingModeChanged(MediaPlayer*)
}
#endif
+void HTMLMediaElement::mediaPlayerEngineUpdated(MediaPlayer*)
+{
+ beginProcessingMediaPlayerCallback();
+ LOG(Media, "HTMLMediaElement::mediaPlayerEngineUpdated");
+ if (renderer())
+ renderer()->updateFromElement();
+ endProcessingMediaPlayerCallback();
+}
+
PassRefPtr<TimeRanges> HTMLMediaElement::buffered() const
{
if (!m_player)
diff --git a/WebCore/html/HTMLMediaElement.h b/WebCore/html/HTMLMediaElement.h
index 61221b8..edaf76c 100644
--- a/WebCore/html/HTMLMediaElement.h
+++ b/WebCore/html/HTMLMediaElement.h
@@ -227,6 +227,7 @@ private:
virtual bool mediaPlayerRenderingCanBeAccelerated(MediaPlayer*);
virtual void mediaPlayerRenderingModeChanged(MediaPlayer*);
#endif
+ virtual void mediaPlayerEngineUpdated(MediaPlayer*);
void loadTimerFired(Timer<HTMLMediaElement>*);
void asyncEventTimerFired(Timer<HTMLMediaElement>*);
diff --git a/WebCore/platform/graphics/MediaPlayer.cpp b/WebCore/platform/graphics/MediaPlayer.cpp
index 54b941c..235c1fd 100644
--- a/WebCore/platform/graphics/MediaPlayer.cpp
+++ b/WebCore/platform/graphics/MediaPlayer.cpp
@@ -262,6 +262,8 @@ MediaPlayer::MediaPlayer(MediaPlayerClient* client)
m_currentMediaEngine = engines[0];
m_private.clear();
m_private.set(engines[0]->constructor(this));
+ if (m_mediaPlayerClient)
+ m_mediaPlayerClient->mediaPlayerEngineUpdated(this);
}
#endif
}
@@ -303,6 +305,8 @@ void MediaPlayer::load(const String& url, const ContentType& contentType)
m_currentMediaEngine = engine;
m_private.clear();
m_private.set(engine->constructor(this));
+ if (m_mediaPlayerClient)
+ m_mediaPlayerClient->mediaPlayerEngineUpdated(this);
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
m_private->setMediaPlayerProxy(m_playerProxy);
#endif
@@ -312,8 +316,11 @@ void MediaPlayer::load(const String& url, const ContentType& contentType)
if (m_private)
m_private->load(url);
- else
+ else {
m_private.set(createNullMediaPlayer(this));
+ if (m_mediaPlayerClient)
+ m_mediaPlayerClient->mediaPlayerEngineUpdated(this);
+ }
}
bool MediaPlayer::hasAvailableVideoFrame() const
diff --git a/WebCore/platform/graphics/MediaPlayer.h b/WebCore/platform/graphics/MediaPlayer.h
index c9c042b..a506a6e 100644
--- a/WebCore/platform/graphics/MediaPlayer.h
+++ b/WebCore/platform/graphics/MediaPlayer.h
@@ -136,6 +136,8 @@ public:
// the movie size has changed
virtual void mediaPlayerSizeChanged(MediaPlayer*) { }
+ virtual void mediaPlayerEngineUpdated(MediaPlayer*) { }
+
#if USE(ACCELERATED_COMPOSITING)
// whether the rendering system can accelerate the display of this MediaPlayer.
virtual bool mediaPlayerRenderingCanBeAccelerated(MediaPlayer*) { return false; }
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list