Title: [126157] trunk/Source/WebCore
Revision
126157
Author
[email protected]
Date
2012-08-21 08:12:43 -0700 (Tue, 21 Aug 2012)

Log Message

Early returns in MediaPlayer setters
https://bugs.webkit.org/show_bug.cgi?id=87304

Calls to the MediaPlayerPrivate implementation can be avoided if
the value to set and the current value are equal.

Reviewed by Eric Carlson.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
MediaPlayerPrivate has been created propagate the playback rate
value to it, as it is done for some other attributes like preload
or preservePitch.
(WebCore::MediaPlayer::setVolume): Perform action only if current
and new values differ.
(WebCore::MediaPlayer::setMuted): Ditto.
(WebCore::MediaPlayer::setPreservesPitch): Ditto.
(WebCore::MediaPlayer::setSize): Ditto.
(WebCore::MediaPlayer::setVisible): Ditto.
(WebCore::MediaPlayer::setPreload): Ditto.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (126156 => 126157)


--- trunk/Source/WebCore/ChangeLog	2012-08-21 14:50:54 UTC (rev 126156)
+++ trunk/Source/WebCore/ChangeLog	2012-08-21 15:12:43 UTC (rev 126157)
@@ -1,3 +1,26 @@
+2012-08-21  Philippe Normand  <[email protected]>
+
+        Early returns in MediaPlayer setters
+        https://bugs.webkit.org/show_bug.cgi?id=87304
+
+        Calls to the MediaPlayerPrivate implementation can be avoided if
+        the value to set and the current value are equal.
+
+        Reviewed by Eric Carlson.
+
+        * platform/graphics/MediaPlayer.cpp:
+        (WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
+        MediaPlayerPrivate has been created propagate the playback rate
+        value to it, as it is done for some other attributes like preload
+        or preservePitch.
+        (WebCore::MediaPlayer::setVolume): Perform action only if current
+        and new values differ.
+        (WebCore::MediaPlayer::setMuted): Ditto.
+        (WebCore::MediaPlayer::setPreservesPitch): Ditto.
+        (WebCore::MediaPlayer::setSize): Ditto.
+        (WebCore::MediaPlayer::setVisible): Ditto.
+        (WebCore::MediaPlayer::setPreload): Ditto.
+
 2012-08-21  Ilya Tikhonovsky  <[email protected]>
 
         Web Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>

Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (126156 => 126157)


--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2012-08-21 14:50:54 UTC (rev 126156)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2012-08-21 15:12:43 UTC (rev 126157)
@@ -406,6 +406,7 @@
         m_private->setPrivateBrowsingMode(m_privateBrowsing);
         m_private->setPreload(m_preload);
         m_private->setPreservesPitch(preservesPitch());
+        m_private->setRate(m_rate);
         if (m_shouldPrepareToRender)
             m_private->prepareForRendering();
     }
@@ -619,6 +620,9 @@
 
 void MediaPlayer::setVolume(float volume)
 {
+    if (volume == m_volume)
+        return;
+
     m_volume = volume;
 
     if (m_private->supportsMuting() || !m_muted)
@@ -632,6 +636,9 @@
 
 void MediaPlayer::setMuted(bool muted)
 {
+    if (muted == m_muted)
+        return;
+
     m_muted = muted;
 
     if (m_private->supportsMuting())
@@ -668,6 +675,9 @@
 
 void MediaPlayer::setPreservesPitch(bool preservesPitch)
 {
+    if (preservesPitch == m_preservesPitch)
+        return;
+
     m_preservesPitch = preservesPitch;
     m_private->setPreservesPitch(preservesPitch);
 }
@@ -693,7 +703,10 @@
 }
 
 void MediaPlayer::setSize(const IntSize& size)
-{ 
+{
+    if (size == m_size)
+        return;
+
     m_size = size;
     m_private->setSize(size);
 }
@@ -705,6 +718,9 @@
 
 void MediaPlayer::setVisible(bool b)
 {
+    if (b == m_visible)
+        return;
+
     m_visible = b;
     m_private->setVisible(b);
 }
@@ -716,6 +732,9 @@
 
 void MediaPlayer::setPreload(MediaPlayer::Preload preload)
 {
+    if (preload == m_preload)
+        return;
+
     m_preload = preload;
     m_private->setPreload(preload);
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to