<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[174563] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/174563">174563</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2014-10-09 23:56:34 -0700 (Thu, 09 Oct 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>MediaPlayer should use a reference for the MediaPlayerClient
https://bugs.webkit.org/show_bug.cgi?id=137552

Reviewed by Darin Adler.

The MediaPlayer client is set on constructor by HTMLMediaElement
and cleared on HTMLMediaElement destructor that also frees the
MediaPlayer object. Since the client will never be null while the
MediaPlayer player is alive, we can use a reference and remove all
the unneeded null checks. The member has also been renamed to m_client.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::~MediaPlayer):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::inMediaDocument):
(WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
(WebCore::MediaPlayer::networkStateChanged):
(WebCore::MediaPlayer::readyStateChanged):
(WebCore::MediaPlayer::volumeChanged):
(WebCore::MediaPlayer::muteChanged):
(WebCore::MediaPlayer::timeChanged):
(WebCore::MediaPlayer::sizeChanged):
(WebCore::MediaPlayer::repaint):
(WebCore::MediaPlayer::durationChanged):
(WebCore::MediaPlayer::rateChanged):
(WebCore::MediaPlayer::playbackStateChanged):
(WebCore::MediaPlayer::firstVideoFrameAvailable):
(WebCore::MediaPlayer::characteristicChanged):
(WebCore::MediaPlayer::keyAdded):
(WebCore::MediaPlayer::keyError):
(WebCore::MediaPlayer::keyMessage):
(WebCore::MediaPlayer::keyNeeded):
(WebCore::MediaPlayer::referrer):
(WebCore::MediaPlayer::userAgent):
(WebCore::MediaPlayer::graphicsDeviceAdapter):
(WebCore::MediaPlayer::cachedResourceLoader):
(WebCore::MediaPlayer::addAudioTrack):
(WebCore::MediaPlayer::removeAudioTrack):
(WebCore::MediaPlayer::addTextTrack):
(WebCore::MediaPlayer::removeTextTrack):
(WebCore::MediaPlayer::addVideoTrack):
(WebCore::MediaPlayer::removeVideoTrack):
(WebCore::MediaPlayer::outOfBandTrackSources):
(WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
(WebCore::MediaPlayer::handlePlaybackCommand):
(WebCore::MediaPlayer::sourceApplicationIdentifier):
(WebCore::MediaPlayer::doesHaveAttribute):
(WebCore::MediaPlayer::mediaPlayerNetworkInterfaceName):
(WebCore::MediaPlayer::getRawCookies):
(WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled): Deleted.
(WebCore::MediaPlayer::audioSourceProvider): Deleted.
(WebCore::MediaPlayer::engineDescription): Deleted.
(WebCore::MediaPlayer::notifyTrackModeChanged): Deleted.
(WebCore::MediaPlayer::totalFrameDelay): Deleted.
(WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine): Deleted.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayer::create):
(WebCore::MediaPlayer::platformVolumeConfigurationRequired):
(WebCore::MediaPlayer::client):
(WebCore::MediaPlayer::mediaPlayerClient): Deleted.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
(WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
(WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
(WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlayercpp">trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlayerh">trunk/Source/WebCore/platform/graphics/MediaPlayer.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationMediaPlayerPrivateAVFoundationcpp">trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateMediaSourceAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp">trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamerBasecpp">trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerWebKitWebSourceGStreamercpp">trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsmacMediaPlayerPrivateQTKitmm">trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/ChangeLog        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -1,3 +1,99 @@
</span><ins>+2014-10-09  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        MediaPlayer should use a reference for the MediaPlayerClient
+        https://bugs.webkit.org/show_bug.cgi?id=137552
+
+        Reviewed by Darin Adler.
+
+        The MediaPlayer client is set on constructor by HTMLMediaElement
+        and cleared on HTMLMediaElement destructor that also frees the
+        MediaPlayer object. Since the client will never be null while the
+        MediaPlayer player is alive, we can use a reference and remove all
+        the unneeded null checks. The member has also been renamed to m_client.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::~HTMLMediaElement):
+        (WebCore::HTMLMediaElement::parseAttribute):
+        * platform/graphics/MediaPlayer.cpp:
+        (WebCore::MediaPlayer::MediaPlayer):
+        (WebCore::MediaPlayer::~MediaPlayer):
+        (WebCore::MediaPlayer::loadWithNextMediaEngine):
+        (WebCore::MediaPlayer::inMediaDocument):
+        (WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
+        (WebCore::MediaPlayer::networkStateChanged):
+        (WebCore::MediaPlayer::readyStateChanged):
+        (WebCore::MediaPlayer::volumeChanged):
+        (WebCore::MediaPlayer::muteChanged):
+        (WebCore::MediaPlayer::timeChanged):
+        (WebCore::MediaPlayer::sizeChanged):
+        (WebCore::MediaPlayer::repaint):
+        (WebCore::MediaPlayer::durationChanged):
+        (WebCore::MediaPlayer::rateChanged):
+        (WebCore::MediaPlayer::playbackStateChanged):
+        (WebCore::MediaPlayer::firstVideoFrameAvailable):
+        (WebCore::MediaPlayer::characteristicChanged):
+        (WebCore::MediaPlayer::keyAdded):
+        (WebCore::MediaPlayer::keyError):
+        (WebCore::MediaPlayer::keyMessage):
+        (WebCore::MediaPlayer::keyNeeded):
+        (WebCore::MediaPlayer::referrer):
+        (WebCore::MediaPlayer::userAgent):
+        (WebCore::MediaPlayer::graphicsDeviceAdapter):
+        (WebCore::MediaPlayer::cachedResourceLoader):
+        (WebCore::MediaPlayer::addAudioTrack):
+        (WebCore::MediaPlayer::removeAudioTrack):
+        (WebCore::MediaPlayer::addTextTrack):
+        (WebCore::MediaPlayer::removeTextTrack):
+        (WebCore::MediaPlayer::addVideoTrack):
+        (WebCore::MediaPlayer::removeVideoTrack):
+        (WebCore::MediaPlayer::outOfBandTrackSources):
+        (WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
+        (WebCore::MediaPlayer::handlePlaybackCommand):
+        (WebCore::MediaPlayer::sourceApplicationIdentifier):
+        (WebCore::MediaPlayer::doesHaveAttribute):
+        (WebCore::MediaPlayer::mediaPlayerNetworkInterfaceName):
+        (WebCore::MediaPlayer::getRawCookies):
+        (WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled): Deleted.
+        (WebCore::MediaPlayer::audioSourceProvider): Deleted.
+        (WebCore::MediaPlayer::engineDescription): Deleted.
+        (WebCore::MediaPlayer::notifyTrackModeChanged): Deleted.
+        (WebCore::MediaPlayer::totalFrameDelay): Deleted.
+        (WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine): Deleted.
+        * platform/graphics/MediaPlayer.h:
+        (WebCore::MediaPlayer::create):
+        (WebCore::MediaPlayer::platformVolumeConfigurationRequired):
+        (WebCore::MediaPlayer::client):
+        (WebCore::MediaPlayer::mediaPlayerClient): Deleted.
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+        (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
+        (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
+        (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
+        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
+        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps):
+        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
+        (WebCore::MediaPlayerPrivateGStreamer::didEnd):
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+        (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
+        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+        (webKitWebSrcStart):
+        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
+        (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
+        (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
+        (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
+
</ins><span class="cx"> 2014-10-09  Mihnea Ovidenie  &lt;mihnea@adobe.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [CSSRegions] Make RenderFlowThread::regionAtBlockOffset const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -419,8 +419,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     m_completelyLoaded = true;
</span><del>-    if (m_player)
-        m_player-&gt;clearMediaPlayerClient();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HTMLMediaElement::registerWithDocument(Document&amp; document)
</span><span class="lines">@@ -5323,7 +5321,7 @@
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx">     forgetResourceSpecificTracks();
</span><span class="cx"> #endif
</span><del>-    m_player = MediaPlayer::create(this);
</del><ins>+    m_player = MediaPlayer::create(*this);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_AUDIO)
</span><span class="cx">     if (m_audioSourceNode) {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -305,8 +305,8 @@
</span><span class="cx"> 
</span><span class="cx"> // media player
</span><span class="cx"> 
</span><del>-MediaPlayer::MediaPlayer(MediaPlayerClient* client)
-    : m_mediaPlayerClient(client)
</del><ins>+MediaPlayer::MediaPlayer(MediaPlayerClient&amp; client)
+    : m_client(client)
</ins><span class="cx">     , m_reloadTimer(this, &amp;MediaPlayer::reloadTimerFired)
</span><span class="cx">     , m_private(createNullMediaPlayer(this))
</span><span class="cx">     , m_currentMediaEngine(0)
</span><span class="lines">@@ -324,7 +324,6 @@
</span><span class="cx"> 
</span><span class="cx"> MediaPlayer::~MediaPlayer()
</span><span class="cx"> {
</span><del>-    m_mediaPlayerClient = 0;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayer::load(const URL&amp; url, const ContentType&amp; contentType, const String&amp; keySystem)
</span><span class="lines">@@ -411,8 +410,7 @@
</span><span class="cx">     } else if (m_currentMediaEngine != engine) {
</span><span class="cx">         m_currentMediaEngine = engine;
</span><span class="cx">         m_private = engine-&gt;constructor(this);
</span><del>-        if (m_mediaPlayerClient)
-            m_mediaPlayerClient-&gt;mediaPlayerEngineUpdated(this);
</del><ins>+        m_client.mediaPlayerEngineUpdated(this);
</ins><span class="cx">         m_private-&gt;setPrivateBrowsingMode(m_privateBrowsing);
</span><span class="cx">         m_private-&gt;setPreload(m_preload);
</span><span class="cx">         m_private-&gt;setPreservesPitch(preservesPitch());
</span><span class="lines">@@ -429,10 +427,8 @@
</span><span class="cx">         m_private-&gt;load(m_url.string());
</span><span class="cx">     } else {
</span><span class="cx">         m_private = createNullMediaPlayer(this);
</span><del>-        if (m_mediaPlayerClient) {
-            m_mediaPlayerClient-&gt;mediaPlayerEngineUpdated(this);
-            m_mediaPlayerClient-&gt;mediaPlayerResourceNotSupported(this);
-        }
</del><ins>+        m_client.mediaPlayerEngineUpdated(this);
+        m_client.mediaPlayerResourceNotSupported(this);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -588,7 +584,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayer::inMediaDocument() const
</span><span class="cx"> {
</span><del>-    return m_visible &amp;&amp; m_mediaPlayerClient &amp;&amp; m_mediaPlayerClient-&gt;mediaPlayerIsInMediaDocument();
</del><ins>+    return m_visible &amp;&amp; m_client.mediaPlayerIsInMediaDocument();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PlatformMedia MediaPlayer::platformMedia() const
</span><span class="lines">@@ -873,8 +869,7 @@
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::currentPlaybackTargetIsWirelessChanged()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerCurrentPlaybackTargetIsWirelessChanged(this);
</del><ins>+    m_client.mediaPlayerCurrentPlaybackTargetIsWirelessChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -1027,14 +1022,12 @@
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerNetworkStateChanged(this);
</del><ins>+    m_client.mediaPlayerNetworkStateChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::readyStateChanged()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerReadyStateChanged(this);
</del><ins>+    m_client.mediaPlayerReadyStateChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::volumeChanged(double newVolume)
</span><span class="lines">@@ -1045,63 +1038,53 @@
</span><span class="cx"> #else
</span><span class="cx">     m_volume = newVolume;
</span><span class="cx"> #endif
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerVolumeChanged(this);
</del><ins>+    m_client.mediaPlayerVolumeChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::muteChanged(bool newMuted)
</span><span class="cx"> {
</span><span class="cx">     m_muted = newMuted;
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerMuteChanged(this);
</del><ins>+    m_client.mediaPlayerMuteChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::timeChanged()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerTimeChanged(this);
</del><ins>+    m_client.mediaPlayerTimeChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::sizeChanged()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerSizeChanged(this);
</del><ins>+    m_client.mediaPlayerSizeChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::repaint()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerRepaint(this);
</del><ins>+    m_client.mediaPlayerRepaint(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::durationChanged()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerDurationChanged(this);
</del><ins>+    m_client.mediaPlayerDurationChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::rateChanged()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerRateChanged(this);
</del><ins>+    m_client.mediaPlayerRateChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::playbackStateChanged()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerPlaybackStateChanged(this);
</del><ins>+    m_client.mediaPlayerPlaybackStateChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::firstVideoFrameAvailable()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerFirstVideoFrameAvailable(this);
</del><ins>+    m_client.mediaPlayerFirstVideoFrameAvailable(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::characteristicChanged()
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerCharacteristicChanged(this);
</del><ins>+    m_client.mediaPlayerCharacteristicChanged(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_AUDIO)
</span><span class="lines">@@ -1114,53 +1097,40 @@
</span><span class="cx"> #if ENABLE(ENCRYPTED_MEDIA)
</span><span class="cx"> void MediaPlayer::keyAdded(const String&amp; keySystem, const String&amp; sessionId)
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerKeyAdded(this, keySystem, sessionId);
</del><ins>+    m_client.mediaPlayerKeyAdded(this, keySystem, sessionId);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::keyError(const String&amp; keySystem, const String&amp; sessionId, MediaPlayerClient::MediaKeyErrorCode errorCode, unsigned short systemCode)
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerKeyError(this, keySystem, sessionId, errorCode, systemCode);
</del><ins>+    m_client.mediaPlayerKeyError(this, keySystem, sessionId, errorCode, systemCode);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::keyMessage(const String&amp; keySystem, const String&amp; sessionId, const unsigned char* message, unsigned messageLength, const URL&amp; defaultURL)
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient-&gt;mediaPlayerKeyMessage(this, keySystem, sessionId, message, messageLength, defaultURL);
</del><ins>+    m_client.mediaPlayerKeyMessage(this, keySystem, sessionId, message, messageLength, defaultURL);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayer::keyNeeded(const String&amp; keySystem, const String&amp; sessionId, const unsigned char* initData, unsigned initDataLength)
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        return m_mediaPlayerClient-&gt;mediaPlayerKeyNeeded(this, keySystem, sessionId, initData, initDataLength);
-    return false;
</del><ins>+    return m_client.mediaPlayerKeyNeeded(this, keySystem, sessionId, initData, initDataLength);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(ENCRYPTED_MEDIA_V2)
</span><span class="cx"> bool MediaPlayer::keyNeeded(Uint8Array* initData)
</span><span class="cx"> {
</span><del>-    if (m_mediaPlayerClient)
-        return m_mediaPlayerClient-&gt;mediaPlayerKeyNeeded(this, initData);
-    return false;
</del><ins>+    return m_client.mediaPlayerKeyNeeded(this, initData);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> String MediaPlayer::referrer() const
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return String();
-
-    return m_mediaPlayerClient-&gt;mediaPlayerReferrer();
</del><ins>+    return m_client.mediaPlayerReferrer();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String MediaPlayer::userAgent() const
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return String();
-    
-    return m_mediaPlayerClient-&gt;mediaPlayerUserAgent();
</del><ins>+    return m_client.mediaPlayerUserAgent();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String MediaPlayer::engineDescription() const
</span><span class="lines">@@ -1174,68 +1144,44 @@
</span><span class="cx"> #if PLATFORM(WIN) &amp;&amp; USE(AVFOUNDATION)
</span><span class="cx"> GraphicsDeviceAdapter* MediaPlayer::graphicsDeviceAdapter() const
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return 0;
-    
-    return m_mediaPlayerClient-&gt;mediaPlayerGraphicsDeviceAdapter(this);
</del><ins>+    return m_client.mediaPlayerGraphicsDeviceAdapter(this);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> CachedResourceLoader* MediaPlayer::cachedResourceLoader()
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return 0;
-
-    return m_mediaPlayerClient-&gt;mediaPlayerCachedResourceLoader();
</del><ins>+    return m_client.mediaPlayerCachedResourceLoader();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx"> void MediaPlayer::addAudioTrack(PassRefPtr&lt;AudioTrackPrivate&gt; track)
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient-&gt;mediaPlayerDidAddAudioTrack(track);
</del><ins>+    m_client.mediaPlayerDidAddAudioTrack(track);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::removeAudioTrack(PassRefPtr&lt;AudioTrackPrivate&gt; track)
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient-&gt;mediaPlayerDidRemoveAudioTrack(track);
</del><ins>+    m_client.mediaPlayerDidRemoveAudioTrack(track);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::addTextTrack(PassRefPtr&lt;InbandTextTrackPrivate&gt; track)
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient-&gt;mediaPlayerDidAddTextTrack(track);
</del><ins>+    m_client.mediaPlayerDidAddTextTrack(track);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::removeTextTrack(PassRefPtr&lt;InbandTextTrackPrivate&gt; track)
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient-&gt;mediaPlayerDidRemoveTextTrack(track);
</del><ins>+    m_client.mediaPlayerDidRemoveTextTrack(track);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::addVideoTrack(PassRefPtr&lt;VideoTrackPrivate&gt; track)
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient-&gt;mediaPlayerDidAddVideoTrack(track);
</del><ins>+    m_client.mediaPlayerDidAddVideoTrack(track);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayer::removeVideoTrack(PassRefPtr&lt;VideoTrackPrivate&gt; track)
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient-&gt;mediaPlayerDidRemoveVideoTrack(track);
</del><ins>+    m_client.mediaPlayerDidRemoveVideoTrack(track);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayer::requiresTextTrackRepresentation() const
</span><span class="lines">@@ -1262,10 +1208,7 @@
</span><span class="cx"> 
</span><span class="cx"> Vector&lt;RefPtr&lt;PlatformTextTrack&gt;&gt; MediaPlayer::outOfBandTrackSources()
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return Vector&lt;RefPtr&lt;PlatformTextTrack&gt;&gt; ();
-    
-    return m_mediaPlayerClient-&gt;outOfBandTrackSources();
</del><ins>+    return m_client.outOfBandTrackSources();
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -1358,26 +1301,17 @@
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayer::shouldWaitForResponseToAuthenticationChallenge(const AuthenticationChallenge&amp; challenge)
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return false;
-
-    return m_mediaPlayerClient-&gt;mediaPlayerShouldWaitForResponseToAuthenticationChallenge(challenge);
</del><ins>+    return m_client.mediaPlayerShouldWaitForResponseToAuthenticationChallenge(challenge);
</ins><span class="cx"> }
</span><del>-    
</del><ins>+
</ins><span class="cx"> void MediaPlayer::handlePlaybackCommand(MediaSession::RemoteControlCommandType command)
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return;
-    
-    m_mediaPlayerClient-&gt;mediaPlayerHandlePlaybackCommand(command);
</del><ins>+    m_client.mediaPlayerHandlePlaybackCommand(command);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String MediaPlayer::sourceApplicationIdentifier() const
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return emptyString();
-
-    return m_mediaPlayerClient-&gt;mediaPlayerSourceApplicationIdentifier();
</del><ins>+    return m_client.mediaPlayerSourceApplicationIdentifier();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerFactorySupport::callRegisterMediaEngine(MediaEngineRegister registerMediaEngine)
</span><span class="lines">@@ -1387,27 +1321,18 @@
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayer::doesHaveAttribute(const AtomicString&amp; attribute, AtomicString* value) const
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return false;
-    
-    return m_mediaPlayerClient-&gt;doesHaveAttribute(attribute, value);
</del><ins>+    return m_client.doesHaveAttribute(attribute, value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> String MediaPlayer::mediaPlayerNetworkInterfaceName() const
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return emptyString();
-
-    return m_mediaPlayerClient-&gt;mediaPlayerNetworkInterfaceName();
</del><ins>+    return m_client.mediaPlayerNetworkInterfaceName();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayer::getRawCookies(const URL&amp; url, Vector&lt;Cookie&gt;&amp; cookies) const
</span><span class="cx"> {
</span><del>-    if (!m_mediaPlayerClient)
-        return false;
-
-    return m_mediaPlayerClient-&gt;mediaPlayerGetRawCookies(url, cookies);
</del><ins>+    return m_client.mediaPlayerGetRawCookies(url, cookies);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.h (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlayer.h        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.h        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -279,7 +279,7 @@
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(MediaPlayer); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx"> 
</span><del>-    static PassOwnPtr&lt;MediaPlayer&gt; create(MediaPlayerClient* client)
</del><ins>+    static PassOwnPtr&lt;MediaPlayer&gt; create(MediaPlayerClient&amp; client)
</ins><span class="cx">     {
</span><span class="cx">         return adoptPtr(new MediaPlayer(client));
</span><span class="cx">     }
</span><span class="lines">@@ -380,7 +380,7 @@
</span><span class="cx"> 
</span><span class="cx">     double volume() const;
</span><span class="cx">     void setVolume(double);
</span><del>-    bool platformVolumeConfigurationRequired() const { return m_mediaPlayerClient-&gt;mediaPlayerPlatformVolumeConfigurationRequired(); }
</del><ins>+    bool platformVolumeConfigurationRequired() const { return m_client.mediaPlayerPlatformVolumeConfigurationRequired(); }
</ins><span class="cx"> 
</span><span class="cx">     bool muted() const;
</span><span class="cx">     void setMuted(bool);
</span><span class="lines">@@ -438,8 +438,7 @@
</span><span class="cx"> 
</span><span class="cx">     void repaint();
</span><span class="cx"> 
</span><del>-    MediaPlayerClient* mediaPlayerClient() const { return m_mediaPlayerClient; }
-    void clearMediaPlayerClient() { m_mediaPlayerClient = 0; }
</del><ins>+    MediaPlayerClient&amp; client() const { return m_client; }
</ins><span class="cx"> 
</span><span class="cx">     bool hasAvailableVideoFrame() const;
</span><span class="cx">     void prepareForRendering();
</span><span class="lines">@@ -578,14 +577,14 @@
</span><span class="cx">     String sourceApplicationIdentifier() const;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    MediaPlayer(MediaPlayerClient*);
</del><ins>+    MediaPlayer(MediaPlayerClient&amp;);
</ins><span class="cx">     MediaPlayerFactory* nextBestMediaEngine(MediaPlayerFactory*) const;
</span><span class="cx">     void loadWithNextMediaEngine(MediaPlayerFactory*);
</span><span class="cx">     void reloadTimerFired(Timer&lt;MediaPlayer&gt;&amp;);
</span><span class="cx"> 
</span><span class="cx">     static void initializeMediaEngines();
</span><span class="cx"> 
</span><del>-    MediaPlayerClient* m_mediaPlayerClient;
</del><ins>+    MediaPlayerClient&amp; m_client;
</ins><span class="cx">     Timer&lt;MediaPlayer&gt; m_reloadTimer;
</span><span class="cx">     OwnPtr&lt;MediaPlayerPrivateInterface&gt; m_private;
</span><span class="cx">     MediaPlayerFactory* m_currentMediaEngine;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationMediaPlayerPrivateAVFoundationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     if (!m_player-&gt;visible() || assetStatus() == MediaPlayerAVAssetStatusUnknown)
</span><span class="cx">         return MediaRenderingNone;
</span><span class="cx"> 
</span><del>-    if (supportsAcceleratedRendering() &amp;&amp; m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingCanBeAccelerated(m_player))
</del><ins>+    if (supportsAcceleratedRendering() &amp;&amp; m_player-&gt;client().mediaPlayerRenderingCanBeAccelerated(m_player))
</ins><span class="cx">         return MediaRenderingToLayer;
</span><span class="cx"> 
</span><span class="cx">     return MediaRenderingToContext;
</span><span class="lines">@@ -145,7 +145,7 @@
</span><span class="cx">     // If using a movie layer, inform the client so the compositing tree is updated.
</span><span class="cx">     if (currentMode == MediaRenderingToLayer || preferredMode == MediaRenderingToLayer) {
</span><span class="cx">         LOG(Media, &quot;MediaPlayerPrivateAVFoundation::setUpVideoRendering(%p) - calling mediaPlayerRenderingModeChanged()&quot;, this);
</span><del>-        m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(m_player);
</del><ins>+        m_player-&gt;client().mediaPlayerRenderingModeChanged(m_player);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -458,7 +458,7 @@
</span><span class="cx">     setUpVideoRendering();
</span><span class="cx"> 
</span><span class="cx">     if (currentRenderingMode() == MediaRenderingToLayer || preferredRenderingMode() == MediaRenderingToLayer)
</span><del>-        m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(m_player);
</del><ins>+        m_player-&gt;client().mediaPlayerRenderingModeChanged(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayerPrivateAVFoundation::supportsFullscreen() const
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -582,7 +582,7 @@
</span><span class="cx">         if (!m_videoLayer)
</span><span class="cx">             createAVPlayerLayer();
</span><span class="cx"> 
</span><del>-        player()-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(player());
</del><ins>+        player()-&gt;client().mediaPlayerRenderingModeChanged(player());
</ins><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -599,7 +599,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     [m_videoLayer addObserver:m_objcObserver.get() forKeyPath:@&quot;readyForDisplay&quot; options:NSKeyValueObservingOptionNew context:(void *)MediaPlayerAVFoundationObservationContextAVPlayerLayer];
</span><span class="cx">     updateVideoLayerGravity();
</span><del>-    IntSize defaultSize = player()-&gt;mediaPlayerClient() ? player()-&gt;mediaPlayerClient()-&gt;mediaPlayerContentBoxRect().pixelSnappedSize() : IntSize();
</del><ins>+    IntSize defaultSize = player()-&gt;client().mediaPlayerContentBoxRect().pixelSnappedSize();
</ins><span class="cx">     LOG(Media, &quot;MediaPlayerPrivateAVFoundationObjC::createVideoLayer(%p) - returning %p&quot;, this, m_videoLayer.get());
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -865,7 +865,7 @@
</span><span class="cx">     [m_avPlayer.get() setAllowsExternalPlayback:m_allowsWirelessVideoPlayback];
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    if (player()-&gt;mediaPlayerClient() &amp;&amp; player()-&gt;mediaPlayerClient()-&gt;mediaPlayerIsVideo())
</del><ins>+    if (player()-&gt;client().mediaPlayerIsVideo())
</ins><span class="cx">         createAVPlayerLayer();
</span><span class="cx"> 
</span><span class="cx">     if (m_avPlayerItem)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateMediaSourceAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -537,7 +537,7 @@
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged()
</span><span class="cx"> {
</span><del>-    if (m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingCanBeAccelerated(m_player))
</del><ins>+    if (m_player-&gt;client().mediaPlayerRenderingCanBeAccelerated(m_player))
</ins><span class="cx">         ensureLayer();
</span><span class="cx">     else
</span><span class="cx">         destroyLayer();
</span><span class="lines">@@ -720,7 +720,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_sampleBufferDisplayLayer = displayLayer;
</span><span class="cx">     [m_synchronizer addRenderer:m_sampleBufferDisplayLayer.get()];
</span><del>-    m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(m_player);
</del><ins>+    m_player-&gt;client().mediaPlayerRenderingModeChanged(m_player);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: move this somewhere appropriate:
</span><span class="cx">     m_player-&gt;firstVideoFrameAvailable();
</span><span class="lines">@@ -737,7 +737,7 @@
</span><span class="cx">     }];
</span><span class="cx"> 
</span><span class="cx">     m_sampleBufferDisplayLayer = nullptr;
</span><del>-    m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(m_player);
</del><ins>+    m_player-&gt;client().mediaPlayerRenderingModeChanged(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer(AVSampleBufferAudioRenderer* audioRenderer)
</span><span class="lines">@@ -751,7 +751,7 @@
</span><span class="cx">     [audioRenderer setVolume:m_player-&gt;volume()];
</span><span class="cx"> 
</span><span class="cx">     [m_synchronizer addRenderer:audioRenderer];
</span><del>-    m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(m_player);
</del><ins>+    m_player-&gt;client().mediaPlayerRenderingModeChanged(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer(AVSampleBufferAudioRenderer* audioRenderer)
</span><span class="lines">@@ -766,7 +766,7 @@
</span><span class="cx">     }];
</span><span class="cx"> 
</span><span class="cx">     m_sampleBufferAudioRenderers.remove(pos);
</span><del>-    m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(m_player);
</del><ins>+    m_player-&gt;client().mediaPlayerRenderingModeChanged(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -130,8 +130,7 @@
</span><span class="cx">     if (g_strcmp0(G_OBJECT_TYPE_NAME(object), &quot;GstPulseSink&quot;))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    const char* role = m_player-&gt;mediaPlayerClient() &amp;&amp; m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerIsVideo()
-        ? &quot;video&quot; : &quot;music&quot;;
</del><ins>+    const char* role = m_player-&gt;client().mediaPlayerIsVideo() ? &quot;video&quot; : &quot;music&quot;;
</ins><span class="cx">     GstStructure* structure = gst_structure_new(&quot;stream-properties&quot;, &quot;media.role&quot;, G_TYPE_STRING, role, NULL);
</span><span class="cx">     g_object_set(object, &quot;stream-properties&quot;, structure, NULL);
</span><span class="cx">     gst_structure_free(structure);
</span><span class="lines">@@ -681,13 +680,13 @@
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerEngineUpdated(m_player);
</del><ins>+    m_player-&gt;client().mediaPlayerEngineUpdated(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps()
</span><span class="cx"> {
</span><span class="cx">     m_videoSize = IntSize();
</span><del>-    m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerEngineUpdated(m_player);
</del><ins>+    m_player-&gt;client().mediaPlayerEngineUpdated(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerPrivateGStreamer::audioChanged()
</span><span class="lines">@@ -729,7 +728,7 @@
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerEngineUpdated(m_player);
</del><ins>+    m_player-&gt;client().mediaPlayerEngineUpdated(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="lines">@@ -1609,7 +1608,7 @@
</span><span class="cx">     m_isEndReached = true;
</span><span class="cx">     timeChanged();
</span><span class="cx"> 
</span><del>-    if (!m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerIsLooping()) {
</del><ins>+    if (!m_player-&gt;client().mediaPlayerIsLooping()) {
</ins><span class="cx">         m_paused = true;
</span><span class="cx">         changePipelineState(GST_STATE_READY);
</span><span class="cx">         m_downloadFinished = false;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamerBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -330,7 +330,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if USE(TEXTURE_MAPPER_GL) &amp;&amp; !USE(COORDINATED_GRAPHICS)
</span><del>-    if (supportsAcceleratedRendering() &amp;&amp; m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingCanBeAccelerated(m_player) &amp;&amp; client()) {
</del><ins>+    if (supportsAcceleratedRendering() &amp;&amp; m_player-&gt;client().mediaPlayerRenderingCanBeAccelerated(m_player) &amp;&amp; client()) {
</ins><span class="cx">         client()-&gt;setPlatformLayerNeedsDisplay();
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgstreamerWebKitWebSourceGStreamercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -495,7 +495,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (priv-&gt;player) {
</span><span class="cx">         if (CachedResourceLoader* loader = priv-&gt;player-&gt;cachedResourceLoader())
</span><del>-            priv-&gt;client = new CachedResourceStreamingClient(src, loader, request, priv-&gt;player-&gt;mediaPlayerClient()-&gt;mediaPlayerCORSMode());
</del><ins>+            priv-&gt;client = new CachedResourceStreamingClient(src, loader, request, priv-&gt;player-&gt;client().mediaPlayerCORSMode());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!priv-&gt;client)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsmacMediaPlayerPrivateQTKitmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm (174562 => 174563)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm        2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm        2014-10-10 06:56:34 UTC (rev 174563)
</span><span class="lines">@@ -462,7 +462,7 @@
</span><span class="cx">     if (!m_qtMovie)
</span><span class="cx">         return MediaRenderingNone;
</span><span class="cx"> 
</span><del>-    if (supportsAcceleratedRendering() &amp;&amp; m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingCanBeAccelerated(m_player))
</del><ins>+    if (supportsAcceleratedRendering() &amp;&amp; m_player-&gt;client().mediaPlayerRenderingCanBeAccelerated(m_player))
</ins><span class="cx">         return MediaRenderingMovieLayer;
</span><span class="cx"> 
</span><span class="cx">     if (!QTVideoRendererClass())
</span><span class="lines">@@ -497,7 +497,7 @@
</span><span class="cx"> 
</span><span class="cx">     // If using a movie layer, inform the client so the compositing tree is updated.
</span><span class="cx">     if (currentMode == MediaRenderingMovieLayer || preferredMode == MediaRenderingMovieLayer)
</span><del>-        m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(m_player);
</del><ins>+        m_player-&gt;client().mediaPlayerRenderingModeChanged(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerPrivateQTKit::tearDownVideoRendering()
</span><span class="lines">@@ -930,7 +930,7 @@
</span><span class="cx">     // If using a movie layer, inform the client so the compositing tree is updated. This is crucial if the movie
</span><span class="cx">     // has a poster, as it will most likely not have a layer and we will now be rendering frames to the movie layer.
</span><span class="cx">     if (currentRenderingMode() == MediaRenderingMovieLayer || preferredRenderingMode() == MediaRenderingMovieLayer)
</span><del>-        m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerRenderingModeChanged(m_player);
</del><ins>+        m_player-&gt;client().mediaPlayerRenderingModeChanged(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerPrivateQTKit::updateStates()
</span><span class="lines">@@ -1445,7 +1445,7 @@
</span><span class="cx"> void MediaPlayerPrivateQTKit::sawUnsupportedTracks()
</span><span class="cx"> {
</span><span class="cx">     m_hasUnsupportedTracks = true;
</span><del>-    m_player-&gt;mediaPlayerClient()-&gt;mediaPlayerSawUnsupportedTracks(m_player);
</del><ins>+    m_player-&gt;client().mediaPlayerSawUnsupportedTracks(m_player);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaPlayerPrivateQTKit::supportsAcceleratedRendering() const
</span></span></pre>
</div>
</div>

</body>
</html>