<!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>[199286] trunk/Source</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/199286">199286</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2016-04-10 11:48:37 -0700 (Sun, 10 Apr 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove support for custom target picker actions
&lt;rdar://problem/24987783&gt;
https://bugs.webkit.org/show_bug.cgi?id=156434

Reviewed by Eric Carlson.

This mostly entailed rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/197429">r197429</a> and <a href="http://trac.webkit.org/projects/webkit/changeset/197569">r197569</a>.

Source/WebCore:

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients):
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
(WebCore::WebMediaSessionManager::clientStateDidChange):
(WebCore::WebMediaSessionManager::externalOutputDeviceAvailableDidChange):
(WebCore::WebMediaSessionManager::configureNewClients):
(WebCore::WebMediaSessionManager::customPlaybackActionSelected): Deleted.
* Modules/mediasession/WebMediaSessionManager.h:
* Modules/mediasession/WebMediaSessionManagerClient.h:
* dom/Document.cpp:
(WebCore::Document::removePlaybackTargetPickerClient):
(WebCore::Document::showPlaybackTargetPicker):
(WebCore::Document::playbackTargetPickerClientStateDidChange):
(WebCore::Document::setShouldPlayToPlaybackTarget):
(WebCore::Document::customPlaybackActionSelected): Deleted.
* dom/Document.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):
(WebCore::HTMLMediaElement::setShouldPlayToPlaybackTarget):
(WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless):
(WebCore::HTMLMediaElement::customPlaybackActionSelected): Deleted.
(WebCore::HTMLMediaElement::playbackTargetPickerCustomActionName): Deleted.
* html/HTMLMediaElement.h:
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::showPlaybackTargetPicker):
(WebCore::MediaElementSession::hasWirelessPlaybackTargets):
(WebCore::MediaElementSession::setShouldPlayToPlaybackTarget):
(WebCore::MediaElementSession::mediaStateDidChange):
(WebCore::MediaElementSession::customPlaybackActionSelected): Deleted.
* html/MediaElementSession.h:
* page/ChromeClient.h:
* page/Page.cpp:
(WebCore::Page::removePlaybackTargetPickerClient):
(WebCore::Page::showPlaybackTargetPicker):
(WebCore::Page::setShouldPlayToPlaybackTarget):
(WebCore::Page::ensureTestTrigger):
(WebCore::Page::customPlaybackActionSelected): Deleted.
* page/Page.h:
(WebCore::Page::testTrigger):
* platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSessionClient::canPlayToWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::isPlayingToWirelessPlaybackTarget):
(WebCore::PlatformMediaSessionClient::setShouldPlayToPlaybackTarget):
(WebCore::PlatformMediaSessionClient::customPlaybackActionSelected): Deleted.
* platform/graphics/MediaPlaybackTargetClient.h:
* platform/graphics/MediaPlaybackTargetPicker.cpp:
(WebCore::MediaPlaybackTargetPicker::pendingActionTimerFired):
(WebCore::MediaPlaybackTargetPicker::addPendingAction):
(WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker):
* platform/graphics/MediaPlaybackTargetPicker.h:
(WebCore::MediaPlaybackTargetPicker::availableDevicesDidChange):
(WebCore::MediaPlaybackTargetPicker::currentDeviceDidChange):
(WebCore::MediaPlaybackTargetPicker::Client::customPlaybackActionSelected): Deleted.
(WebCore::MediaPlaybackTargetPicker::customPlaybackActionSelected): Deleted.
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::devicePicker):
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):
* platform/mac/WebVideoFullscreenInterfaceMac.h:
* platform/mac/WebVideoFullscreenInterfaceMac.mm:
(WebCore::WebVideoFullscreenInterfaceMac::preparedToReturnToInline):
(WebCore::WebVideoFullscreenInterfaceMac::setVideoDimensions):
(WebCore::WebVideoFullscreenInterfaceMac::setExternalPlayback): Deleted.
* platform/mock/MediaPlaybackTargetPickerMock.cpp:
(WebCore::MediaPlaybackTargetPickerMock::timerFired):
(WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
* platform/mock/MediaPlaybackTargetPickerMock.h:
* platform/spi/cocoa/AVKitSPI.h:

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::removePlaybackTargetPickerClient):
(WebChromeClient::showPlaybackTargetPicker):
* WebView/WebMediaPlaybackTargetPicker.h:
* WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient):
(WebMediaPlaybackTargetPicker::showPlaybackTargetPicker):
(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
(WebMediaPlaybackTargetPicker::setShouldPlayToPlaybackTarget):
(WebMediaPlaybackTargetPicker::invalidate):
(WebMediaPlaybackTargetPicker::customPlaybackActionSelected): Deleted.
* WebView/WebView.mm:
(-[WebView _showPlaybackTargetPicker:location:hasVideo:]):
(-[WebView _playbackTargetPickerClientStateDidChange:state:]):

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::removePlaybackTargetPickerClient):
(WebKit::WebPageProxy::showPlaybackTargetPicker):
(WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):
(WebKit::WebPageProxy::setShouldPlayToPlaybackTarget):
(WebKit::WebPageProxy::didChangeBackgroundColor):
(WebKit::WebPageProxy::customPlaybackActionSelected): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::removePlaybackTargetPickerClient):
(WebKit::WebChromeClient::showPlaybackTargetPicker):
(WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::setShouldPlayToPlaybackTarget):
(WebKit::WebPage::customPlaybackActionSelected): Deleted.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionWebMediaSessionManagercpp">trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionWebMediaSessionManagerh">trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasessionWebMediaSessionManagerClienth">trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManagerClient.h</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementh">trunk/Source/WebCore/html/HTMLMediaElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaElementSessioncpp">trunk/Source/WebCore/html/MediaElementSession.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlMediaElementSessionh">trunk/Source/WebCore/html/MediaElementSession.h</a></li>
<li><a href="#trunkSourceWebCorepageChromeClienth">trunk/Source/WebCore/page/ChromeClient.h</a></li>
<li><a href="#trunkSourceWebCorepagePagecpp">trunk/Source/WebCore/page/Page.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageh">trunk/Source/WebCore/page/Page.h</a></li>
<li><a href="#trunkSourceWebCoreplatformaudioPlatformMediaSessionh">trunk/Source/WebCore/platform/audio/PlatformMediaSession.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlaybackTargetClienth">trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetClient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlaybackTargetPickercpp">trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlaybackTargetPickerh">trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlaybackTargetPickerMach">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlaybackTargetPickerMacmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacWebVideoFullscreenInterfaceMach">trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmacWebVideoFullscreenInterfaceMacmm">trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmockMediaPlaybackTargetPickerMockcpp">trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockMediaPlaybackTargetPickerMockh">trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h</a></li>
<li><a href="#trunkSourceWebCoreplatformspicocoaAVKitSPIh">trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebChromeClienth">trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebChromeClientmm">trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebMediaPlaybackTargetPickerh">trunk/Source/WebKit/mac/WebView/WebMediaPlaybackTargetPicker.h</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebMediaPlaybackTargetPickermm">trunk/Source/WebKit/mac/WebView/WebMediaPlaybackTargetPicker.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebViewmm">trunk/Source/WebKit/mac/WebView/WebView.mm</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxymessagesin">trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClienth">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagemessagesin">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagemacWebPageMacmm">trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/ChangeLog        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1,3 +1,82 @@
</span><ins>+2016-04-08  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for custom target picker actions
+        &lt;rdar://problem/24987783&gt;
+        https://bugs.webkit.org/show_bug.cgi?id=156434
+
+        Reviewed by Eric Carlson.
+
+        This mostly entailed rolling out r197429 and r197569.
+
+        * Modules/mediasession/WebMediaSessionManager.cpp:
+        (WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients):
+        (WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
+        (WebCore::WebMediaSessionManager::clientStateDidChange):
+        (WebCore::WebMediaSessionManager::externalOutputDeviceAvailableDidChange):
+        (WebCore::WebMediaSessionManager::configureNewClients):
+        (WebCore::WebMediaSessionManager::customPlaybackActionSelected): Deleted.
+        * Modules/mediasession/WebMediaSessionManager.h:
+        * Modules/mediasession/WebMediaSessionManagerClient.h:
+        * dom/Document.cpp:
+        (WebCore::Document::removePlaybackTargetPickerClient):
+        (WebCore::Document::showPlaybackTargetPicker):
+        (WebCore::Document::playbackTargetPickerClientStateDidChange):
+        (WebCore::Document::setShouldPlayToPlaybackTarget):
+        (WebCore::Document::customPlaybackActionSelected): Deleted.
+        * dom/Document.h:
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):
+        (WebCore::HTMLMediaElement::setShouldPlayToPlaybackTarget):
+        (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless):
+        (WebCore::HTMLMediaElement::customPlaybackActionSelected): Deleted.
+        (WebCore::HTMLMediaElement::playbackTargetPickerCustomActionName): Deleted.
+        * html/HTMLMediaElement.h:
+        * html/MediaElementSession.cpp:
+        (WebCore::MediaElementSession::showPlaybackTargetPicker):
+        (WebCore::MediaElementSession::hasWirelessPlaybackTargets):
+        (WebCore::MediaElementSession::setShouldPlayToPlaybackTarget):
+        (WebCore::MediaElementSession::mediaStateDidChange):
+        (WebCore::MediaElementSession::customPlaybackActionSelected): Deleted.
+        * html/MediaElementSession.h:
+        * page/ChromeClient.h:
+        * page/Page.cpp:
+        (WebCore::Page::removePlaybackTargetPickerClient):
+        (WebCore::Page::showPlaybackTargetPicker):
+        (WebCore::Page::setShouldPlayToPlaybackTarget):
+        (WebCore::Page::ensureTestTrigger):
+        (WebCore::Page::customPlaybackActionSelected): Deleted.
+        * page/Page.h:
+        (WebCore::Page::testTrigger):
+        * platform/audio/PlatformMediaSession.h:
+        (WebCore::PlatformMediaSessionClient::canPlayToWirelessPlaybackTarget):
+        (WebCore::PlatformMediaSessionClient::isPlayingToWirelessPlaybackTarget):
+        (WebCore::PlatformMediaSessionClient::setShouldPlayToPlaybackTarget):
+        (WebCore::PlatformMediaSessionClient::customPlaybackActionSelected): Deleted.
+        * platform/graphics/MediaPlaybackTargetClient.h:
+        * platform/graphics/MediaPlaybackTargetPicker.cpp:
+        (WebCore::MediaPlaybackTargetPicker::pendingActionTimerFired):
+        (WebCore::MediaPlaybackTargetPicker::addPendingAction):
+        (WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker):
+        * platform/graphics/MediaPlaybackTargetPicker.h:
+        (WebCore::MediaPlaybackTargetPicker::availableDevicesDidChange):
+        (WebCore::MediaPlaybackTargetPicker::currentDeviceDidChange):
+        (WebCore::MediaPlaybackTargetPicker::Client::customPlaybackActionSelected): Deleted.
+        (WebCore::MediaPlaybackTargetPicker::customPlaybackActionSelected): Deleted.
+        * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
+        * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
+        (WebCore::MediaPlaybackTargetPickerMac::devicePicker):
+        (WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):
+        * platform/mac/WebVideoFullscreenInterfaceMac.h:
+        * platform/mac/WebVideoFullscreenInterfaceMac.mm:
+        (WebCore::WebVideoFullscreenInterfaceMac::preparedToReturnToInline):
+        (WebCore::WebVideoFullscreenInterfaceMac::setVideoDimensions):
+        (WebCore::WebVideoFullscreenInterfaceMac::setExternalPlayback): Deleted.
+        * platform/mock/MediaPlaybackTargetPickerMock.cpp:
+        (WebCore::MediaPlaybackTargetPickerMock::timerFired):
+        (WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
+        * platform/mock/MediaPlaybackTargetPickerMock.h:
+        * platform/spi/cocoa/AVKitSPI.h:
+
</ins><span class="cx"> 2016-04-09  Konstantin Tokarev  &lt;annulen@yandex.ru&gt;
</span><span class="cx"> 
</span><span class="cx">         Fixed compilation of JPEGImageDecoder with libjpeg v9.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionWebMediaSessionManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -180,7 +180,7 @@
</span><span class="cx">     scheduleDelayedTask(TargetMonitoringConfigurationTask | TargetClientsConfigurationTask);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebMediaSessionManager::showPlaybackTargetPicker(WebMediaSessionManagerClient&amp; client, uint64_t contextId, const IntRect&amp; rect, bool, const String&amp; customMenuItemTitle)
</del><ins>+void WebMediaSessionManager::showPlaybackTargetPicker(WebMediaSessionManagerClient&amp; client, uint64_t contextId, const IntRect&amp; rect, bool)
</ins><span class="cx"> {
</span><span class="cx">     size_t index = find(&amp;client, contextId);
</span><span class="cx">     ASSERT(index != notFound);
</span><span class="lines">@@ -195,8 +195,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool hasActiveRoute = flagsAreSet(m_clientState[index]-&gt;flags, MediaProducer::IsPlayingToExternalDevice);
</span><span class="cx">     LOG(Media, &quot;WebMediaSessionManager::showPlaybackTargetPicker(%p + %llu) - hasActiveRoute = %i&quot;, &amp;client, contextId, (int)hasActiveRoute);
</span><del>-
-    targetPicker().showPlaybackTargetPicker(FloatRect(rect), hasActiveRoute, customMenuItemTitle);
</del><ins>+    targetPicker().showPlaybackTargetPicker(FloatRect(rect), hasActiveRoute);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebMediaSessionManager::clientStateDidChange(WebMediaSessionManagerClient&amp; client, uint64_t contextId, MediaProducer::MediaStateFlags newFlags)
</span><span class="lines">@@ -270,17 +269,6 @@
</span><span class="cx">         state-&gt;client.externalOutputDeviceAvailableDidChange(state-&gt;contextId, available);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebMediaSessionManager::customPlaybackActionSelected()
-{
-    for (auto&amp; state : m_clientState) {
-        if (!state-&gt;requestedPicker)
-            continue;
-
-        state-&gt;client.customPlaybackActionSelected(state-&gt;contextId);
-        state-&gt;requestedPicker = false;
-    }
-}
-
</del><span class="cx"> void WebMediaSessionManager::configureNewClients()
</span><span class="cx"> {
</span><span class="cx">     for (auto&amp; state : m_clientState) {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionWebMediaSessionManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -55,9 +55,7 @@
</span><span class="cx">     WEBCORE_EXPORT uint64_t addPlaybackTargetPickerClient(WebMediaSessionManagerClient&amp;, uint64_t);
</span><span class="cx">     WEBCORE_EXPORT void removePlaybackTargetPickerClient(WebMediaSessionManagerClient&amp;, uint64_t);
</span><span class="cx">     WEBCORE_EXPORT void removeAllPlaybackTargetPickerClients(WebMediaSessionManagerClient&amp;);
</span><del>-
-    WEBCORE_EXPORT void showPlaybackTargetPicker(WebMediaSessionManagerClient&amp;, uint64_t, const IntRect&amp;, bool, const String&amp;);
-
</del><ins>+    WEBCORE_EXPORT void showPlaybackTargetPicker(WebMediaSessionManagerClient&amp;, uint64_t, const IntRect&amp;, bool);
</ins><span class="cx">     WEBCORE_EXPORT void clientStateDidChange(WebMediaSessionManagerClient&amp;, uint64_t, WebCore::MediaProducer::MediaStateFlags);
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="lines">@@ -75,7 +73,6 @@
</span><span class="cx">     // MediaPlaybackTargetPicker::Client
</span><span class="cx">     void setPlaybackTarget(Ref&lt;WebCore::MediaPlaybackTarget&gt;&amp;&amp;) override;
</span><span class="cx">     void externalOutputDeviceAvailableDidChange(bool) override;
</span><del>-    void customPlaybackActionSelected() override;
</del><span class="cx"> 
</span><span class="cx">     size_t find(WebMediaSessionManagerClient*, uint64_t);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasessionWebMediaSessionManagerClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManagerClient.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManagerClient.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/Modules/mediasession/WebMediaSessionManagerClient.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx">     virtual void setPlaybackTarget(uint64_t, Ref&lt;MediaPlaybackTarget&gt;&amp;&amp;) = 0;
</span><span class="cx">     virtual void externalOutputDeviceAvailableDidChange(uint64_t, bool) = 0;
</span><span class="cx">     virtual void setShouldPlayToPlaybackTarget(uint64_t, bool) = 0;
</span><del>-    virtual void customPlaybackActionSelected(uint64_t) = 0;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/dom/Document.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -6897,7 +6897,7 @@
</span><span class="cx">     page-&gt;removePlaybackTargetPickerClient(clientId);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Document::showPlaybackTargetPicker(MediaPlaybackTargetClient&amp; client, bool isVideo, const String&amp; customMenuItemTitle)
</del><ins>+void Document::showPlaybackTargetPicker(MediaPlaybackTargetClient&amp; client, bool isVideo)
</ins><span class="cx"> {
</span><span class="cx">     Page* page = this-&gt;page();
</span><span class="cx">     if (!page)
</span><span class="lines">@@ -6907,7 +6907,7 @@
</span><span class="cx">     if (it == m_clientToIDMap.end())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    page-&gt;showPlaybackTargetPicker(it-&gt;value, view()-&gt;lastKnownMousePosition(), isVideo, customMenuItemTitle);
</del><ins>+    page-&gt;showPlaybackTargetPicker(it-&gt;value, view()-&gt;lastKnownMousePosition(), isVideo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Document::playbackTargetPickerClientStateDidChange(MediaPlaybackTargetClient&amp; client, MediaProducer::MediaStateFlags state)
</span><span class="lines">@@ -6949,12 +6949,6 @@
</span><span class="cx"> 
</span><span class="cx">     it-&gt;value-&gt;setShouldPlayToPlaybackTarget(shouldPlay);
</span><span class="cx"> }
</span><del>-
-void Document::customPlaybackActionSelected(uint64_t clientId)
-{
-    if (auto* client = m_idToClientMap.get(clientId))
-        client-&gt;customPlaybackActionSelected();
-}
</del><span class="cx"> #endif // ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(MEDIA_SESSION)
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/dom/Document.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1286,15 +1286,12 @@
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx">     void addPlaybackTargetPickerClient(MediaPlaybackTargetClient&amp;);
</span><span class="cx">     void removePlaybackTargetPickerClient(MediaPlaybackTargetClient&amp;);
</span><del>-
-    void showPlaybackTargetPicker(MediaPlaybackTargetClient&amp;, bool, const String&amp;);
-
</del><ins>+    void showPlaybackTargetPicker(MediaPlaybackTargetClient&amp;, bool);
</ins><span class="cx">     void playbackTargetPickerClientStateDidChange(MediaPlaybackTargetClient&amp;, MediaProducer::MediaStateFlags);
</span><span class="cx"> 
</span><span class="cx">     void setPlaybackTarget(uint64_t, Ref&lt;MediaPlaybackTarget&gt;&amp;&amp;);
</span><span class="cx">     void playbackTargetAvailabilityDidChange(uint64_t, bool);
</span><span class="cx">     void setShouldPlayToPlaybackTarget(uint64_t, bool);
</span><del>-    void customPlaybackActionSelected(uint64_t);
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicyToPropagate() const;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -151,10 +151,6 @@
</span><span class="cx"> #include &lt;bindings/ScriptObject.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if USE(APPLE_INTERNAL_SDK)
-#include &lt;WebKitAdditions/HTMLMediaElementAdditions.cpp&gt;
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static const double SeekRepeatDelay = 0.1;
</span><span class="lines">@@ -5233,7 +5229,7 @@
</span><span class="cx"> 
</span><span class="cx"> void HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent()
</span><span class="cx"> {
</span><del>-    bool hasTargets = m_mediaSession-&gt;hasWirelessPlaybackTargets(*this) || !playbackTargetPickerCustomActionName().isEmpty();
</del><ins>+    bool hasTargets = m_mediaSession-&gt;hasWirelessPlaybackTargets(*this);
</ins><span class="cx">     LOG(Media, &quot;HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent(%p) - hasTargets = %s&quot;, this, boolString(hasTargets));
</span><span class="cx">     RefPtr&lt;Event&gt; event = WebKitPlaybackTargetAvailabilityEvent::create(eventNames().webkitplaybacktargetavailabilitychangedEvent, hasTargets);
</span><span class="cx">     event-&gt;setTarget(this);
</span><span class="lines">@@ -5273,19 +5269,6 @@
</span><span class="cx">     if (m_player)
</span><span class="cx">         m_player-&gt;setShouldPlayToPlaybackTarget(shouldPlay);
</span><span class="cx"> }
</span><del>-
-#if !USE(APPLE_INTERNAL_SDK)
-void HTMLMediaElement::customPlaybackActionSelected()
-{
-    LOG(Media, &quot;HTMLMediaElement::customPlaybackActionSelected(%p)&quot;, this);
-}
-
-String HTMLMediaElement::playbackTargetPickerCustomActionName() const
-{
-    return { };
-}
-#endif
-
</del><span class="cx"> #else // ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx"> 
</span><span class="cx"> bool HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless() const
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -345,8 +345,6 @@
</span><span class="cx">     bool isPlayingToWirelessPlaybackTarget() const override;
</span><span class="cx">     void setWirelessPlaybackTarget(Ref&lt;MediaPlaybackTarget&gt;&amp;&amp;) override;
</span><span class="cx">     void setShouldPlayToPlaybackTarget(bool) override;
</span><del>-    void customPlaybackActionSelected() override;
-    String playbackTargetPickerCustomActionName() const;
</del><span class="cx"> #endif
</span><span class="cx">     bool webkitCurrentPlaybackTargetIsWireless() const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaElementSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaElementSession.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span><span class="cx"> #include &quot;HTMLAudioElement.h&quot;
</span><span class="cx"> #include &quot;HTMLMediaElement.h&quot;
</span><del>-#include &quot;HTMLMediaElementEnums.h&quot;
</del><span class="cx"> #include &quot;HTMLNames.h&quot;
</span><span class="cx"> #include &quot;HTMLVideoElement.h&quot;
</span><span class="cx"> #include &quot;HitTestResult.h&quot;
</span><span class="lines">@@ -260,8 +259,7 @@
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    String customMenuItemTitle = element.playbackTargetPickerCustomActionName();
-    element.document().showPlaybackTargetPicker(*this, is&lt;HTMLVideoElement&gt;(element), customMenuItemTitle);
</del><ins>+    element.document().showPlaybackTargetPicker(*this, is&lt;HTMLVideoElement&gt;(element));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaElementSession::hasWirelessPlaybackTargets(const HTMLMediaElement&amp;) const
</span><span class="lines">@@ -385,11 +383,6 @@
</span><span class="cx">     client().setShouldPlayToPlaybackTarget(shouldPlay);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaElementSession::customPlaybackActionSelected()
-{
-    client().customPlaybackActionSelected();
-}
-
</del><span class="cx"> void MediaElementSession::mediaStateDidChange(const HTMLMediaElement&amp; element, MediaProducer::MediaStateFlags state)
</span><span class="cx"> {
</span><span class="cx">     element.document().playbackTargetPickerClientStateDidChange(*this, state);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaElementSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaElementSession.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaElementSession.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/html/MediaElementSession.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -116,7 +116,6 @@
</span><span class="cx">     void setPlaybackTarget(Ref&lt;MediaPlaybackTarget&gt;&amp;&amp;) override;
</span><span class="cx">     void externalOutputDeviceAvailableDidChange(bool) override;
</span><span class="cx">     void setShouldPlayToPlaybackTarget(bool) override;
</span><del>-    void customPlaybackActionSelected() override;
</del><span class="cx"> #endif
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     bool requiresPlaybackTargetRouteMonitoring() const override;
</span></span></pre></div>
<a id="trunkSourceWebCorepageChromeClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ChromeClient.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ChromeClient.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/page/ChromeClient.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -455,9 +455,7 @@
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx">     virtual void addPlaybackTargetPickerClient(uint64_t /*contextId*/) { }
</span><span class="cx">     virtual void removePlaybackTargetPickerClient(uint64_t /*contextId*/) { }
</span><del>-
-    virtual void showPlaybackTargetPicker(uint64_t /*contextId*/, const WebCore::IntPoint&amp;, bool /* isVideo */, const String&amp; /*customMenuItemTitle*/) { }
-
</del><ins>+    virtual void showPlaybackTargetPicker(uint64_t /*contextId*/, const WebCore::IntPoint&amp;, bool /* isVideo */) { }
</ins><span class="cx">     virtual void playbackTargetPickerClientStateDidChange(uint64_t /*contextId*/, MediaProducer::MediaStateFlags) { }
</span><span class="cx">     virtual void setMockMediaPlaybackTargetPickerEnabled(bool)  { }
</span><span class="cx">     virtual void setMockMediaPlaybackTargetPickerState(const String&amp;, WebCore::MediaPlaybackTargetContext::State) { }
</span></span></pre></div>
<a id="trunkSourceWebCorepagePagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/page/Page.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1897,16 +1897,15 @@
</span><span class="cx">     chrome().client().removePlaybackTargetPickerClient(contextId);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Page::showPlaybackTargetPicker(uint64_t contextId, const WebCore::IntPoint&amp; location, bool isVideo, const String&amp; customMenuItemTitle)
</del><ins>+void Page::showPlaybackTargetPicker(uint64_t contextId, const WebCore::IntPoint&amp; location, bool isVideo)
</ins><span class="cx"> {
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     // FIXME: refactor iOS implementation.
</span><span class="cx">     UNUSED_PARAM(contextId);
</span><span class="cx">     UNUSED_PARAM(location);
</span><del>-    UNUSED_PARAM(customMenuItemTitle);
</del><span class="cx">     chrome().client().showPlaybackTargetPicker(isVideo);
</span><span class="cx"> #else
</span><del>-    chrome().client().showPlaybackTargetPicker(contextId, location, isVideo, customMenuItemTitle);
</del><ins>+    chrome().client().showPlaybackTargetPicker(contextId, location, isVideo);
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1951,12 +1950,6 @@
</span><span class="cx">         frame-&gt;document()-&gt;setShouldPlayToPlaybackTarget(clientId, shouldPlay);
</span><span class="cx">     }
</span><span class="cx"> }
</span><del>-
-void Page::customPlaybackActionSelected(uint64_t contextId)
-{
-    for (Frame* frame = &amp;mainFrame(); frame; frame = frame-&gt;tree().traverseNext())
-        frame-&gt;document()-&gt;customPlaybackActionSelected(contextId);
-}
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> WheelEventTestTrigger&amp; Page::ensureTestTrigger()
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/page/Page.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -482,9 +482,7 @@
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx">     void addPlaybackTargetPickerClient(uint64_t);
</span><span class="cx">     void removePlaybackTargetPickerClient(uint64_t);
</span><del>-
-    void showPlaybackTargetPicker(uint64_t, const IntPoint&amp;, bool, const String&amp;);
-
</del><ins>+    void showPlaybackTargetPicker(uint64_t, const IntPoint&amp;, bool);
</ins><span class="cx">     void playbackTargetPickerClientStateDidChange(uint64_t, MediaProducer::MediaStateFlags);
</span><span class="cx">     WEBCORE_EXPORT void setMockMediaPlaybackTargetPickerEnabled(bool);
</span><span class="cx">     WEBCORE_EXPORT void setMockMediaPlaybackTargetPickerState(const String&amp;, MediaPlaybackTargetContext::State);
</span><span class="lines">@@ -492,7 +490,6 @@
</span><span class="cx">     WEBCORE_EXPORT void setPlaybackTarget(uint64_t, Ref&lt;MediaPlaybackTarget&gt;&amp;&amp;);
</span><span class="cx">     WEBCORE_EXPORT void playbackTargetAvailabilityDidChange(uint64_t, bool);
</span><span class="cx">     WEBCORE_EXPORT void setShouldPlayToPlaybackTarget(uint64_t, bool);
</span><del>-    WEBCORE_EXPORT void customPlaybackActionSelected(uint64_t);
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;WheelEventTestTrigger&gt; testTrigger() const { return m_testTrigger; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformaudioPlatformMediaSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/audio/PlatformMediaSession.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/audio/PlatformMediaSession.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/audio/PlatformMediaSession.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -135,7 +135,6 @@
</span><span class="cx">     void setPlaybackTarget(Ref&lt;MediaPlaybackTarget&gt;&amp;&amp;) override { }
</span><span class="cx">     void externalOutputDeviceAvailableDidChange(bool) override { }
</span><span class="cx">     void setShouldPlayToPlaybackTarget(bool) override { }
</span><del>-    void customPlaybackActionSelected() override { }
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -198,7 +197,6 @@
</span><span class="cx">     virtual bool canPlayToWirelessPlaybackTarget() const { return false; }
</span><span class="cx">     virtual bool isPlayingToWirelessPlaybackTarget() const { return false; }
</span><span class="cx">     virtual void setShouldPlayToPlaybackTarget(bool) { }
</span><del>-    virtual void customPlaybackActionSelected() { }
</del><span class="cx"> 
</span><span class="cx">     virtual const Document* hostingDocument() const = 0;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlaybackTargetClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetClient.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetClient.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetClient.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -42,7 +42,6 @@
</span><span class="cx">     virtual void setPlaybackTarget(Ref&lt;MediaPlaybackTarget&gt;&amp;&amp;) = 0;
</span><span class="cx">     virtual void externalOutputDeviceAvailableDidChange(bool) = 0;
</span><span class="cx">     virtual void setShouldPlayToPlaybackTarget(bool) = 0;
</span><del>-    virtual void customPlaybackActionSelected() = 0;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlaybackTargetPickercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -59,9 +59,6 @@
</span><span class="cx"> 
</span><span class="cx">     if (pendingActions &amp; OutputDeviceAvailabilityChanged)
</span><span class="cx">         m_client-&gt;externalOutputDeviceAvailableDidChange(externalOutputDeviceAvailable());
</span><del>-
-    if (pendingActions &amp; CustomPlaybackActionSelected)
-        m_client-&gt;customPlaybackActionSelected();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaPlaybackTargetPicker::addPendingAction(PendingActionFlags action)
</span><span class="lines">@@ -73,7 +70,7 @@
</span><span class="cx">     m_pendingActionTimer.startOneShot(pendingActionInterval);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaPlaybackTargetPicker::showPlaybackTargetPicker(const FloatRect&amp;, bool, const String&amp;)
</del><ins>+void MediaPlaybackTargetPicker::showPlaybackTargetPicker(const FloatRect&amp;, bool)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlaybackTargetPickerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -45,21 +45,19 @@
</span><span class="cx">     public:
</span><span class="cx">         virtual void setPlaybackTarget(Ref&lt;MediaPlaybackTarget&gt;&amp;&amp;) = 0;
</span><span class="cx">         virtual void externalOutputDeviceAvailableDidChange(bool) = 0;
</span><del>-        virtual void customPlaybackActionSelected() { }
</del><span class="cx"> 
</span><span class="cx">         void invalidate();
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     virtual ~MediaPlaybackTargetPicker();
</span><span class="cx"> 
</span><del>-    virtual void showPlaybackTargetPicker(const FloatRect&amp;, bool checkActiveRoute, const String&amp;);
</del><ins>+    virtual void showPlaybackTargetPicker(const FloatRect&amp;, bool checkActiveRoute);
</ins><span class="cx">     virtual void startingMonitoringPlaybackTargets();
</span><span class="cx">     virtual void stopMonitoringPlaybackTargets();
</span><span class="cx">     virtual void invalidatePlaybackTargets();
</span><span class="cx"> 
</span><span class="cx">     void availableDevicesDidChange() { addPendingAction(OutputDeviceAvailabilityChanged); }
</span><span class="cx">     void currentDeviceDidChange() { addPendingAction(CurrentDeviceDidChange); }
</span><del>-    void customPlaybackActionSelected() { addPendingAction(CustomPlaybackActionSelected); }
</del><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     explicit MediaPlaybackTargetPicker(Client&amp;);
</span><span class="lines">@@ -67,7 +65,6 @@
</span><span class="cx">     enum ActionType {
</span><span class="cx">         OutputDeviceAvailabilityChanged = 1 &lt;&lt; 0,
</span><span class="cx">         CurrentDeviceDidChange = 1 &lt;&lt; 1,
</span><del>-        CustomPlaybackActionSelected = 1 &lt;&lt; 2,
</del><span class="cx">     };
</span><span class="cx">     typedef unsigned PendingActionFlags;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlaybackTargetPickerMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -43,8 +43,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual ~MediaPlaybackTargetPickerMac();
</span><span class="cx"> 
</span><del>-    void showPlaybackTargetPicker(const FloatRect&amp;, bool checkActiveRoute, const String&amp;) override;
-
</del><ins>+    void showPlaybackTargetPicker(const FloatRect&amp;, bool checkActiveRoute) override;
</ins><span class="cx">     void startingMonitoringPlaybackTargets() override;
</span><span class="cx">     void stopMonitoringPlaybackTargets() override;
</span><span class="cx">     void invalidatePlaybackTargets() override;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlaybackTargetPickerMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx">     return m_outputDeviceMenuController.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaPlaybackTargetPickerMac::showPlaybackTargetPicker(const FloatRect&amp; location, bool checkActiveRoute, const String&amp; customMenuItemTitle)
</del><ins>+void MediaPlaybackTargetPickerMac::showPlaybackTargetPicker(const FloatRect&amp; location, bool checkActiveRoute)
</ins><span class="cx"> {
</span><span class="cx"> #if !PLATFORM(MAC) || __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101200
</span><span class="cx">     UNUSED_PARAM(customMenuItemTitle);
</span><span class="lines">@@ -121,36 +121,14 @@
</span><span class="cx">     LOG(Media, &quot;MediaPlaybackTargetPickerMac::showPlaybackTargetPicker - checkActiveRoute = %i&quot;, (int)checkActiveRoute);
</span><span class="cx"> 
</span><span class="cx">     AVOutputDeviceMenuControllerType *picker = devicePicker();
</span><del>-    if (![picker respondsToSelector:@selector(showMenuForRect:appearanceName:allowReselectionOfSelectedOutputDevice:)]
-#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200
-        &amp;&amp; ![picker respondsToSelector:@selector(showMenuForRect:appearanceName:allowReselectionOfSelectedOutputDevice:customMenuItemTitle:customMenuItemEnabled:)]
-#endif
-        )
</del><ins>+    if (![picker respondsToSelector:@selector(showMenuForRect:appearanceName:allowReselectionOfSelectedOutputDevice:)])
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     m_showingMenu = true;
</span><del>-
-#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200
-    if ([picker respondsToSelector:@selector(showMenuForRect:appearanceName:allowReselectionOfSelectedOutputDevice:customMenuItemTitle:customMenuItemEnabled:)]) {
-        NSString *customMenuItemTitleNSString = customMenuItemTitle.isEmpty() ? nil : (NSString *)customMenuItemTitle;
-        switch ([picker showMenuForRect:location appearanceName:NSAppearanceNameVibrantLight allowReselectionOfSelectedOutputDevice:!checkActiveRoute customMenuItemTitle:customMenuItemTitleNSString customMenuItemEnabled:YES]) {
-        case AVOutputDeviceMenuControllerSelectionCustomMenuItem:
-            customPlaybackActionSelected();
-            break;
-        case AVOutputDeviceMenuControllerSelectionOutputDevice:
-            if (!checkActiveRoute)
-                currentDeviceDidChange();
-            break;
-        case AVOutputDeviceMenuControllerSelectionNone:
-            break;
-        }
-    } else
-#endif
</del><span class="cx">     if ([picker showMenuForRect:location appearanceName:NSAppearanceNameVibrantLight allowReselectionOfSelectedOutputDevice:!checkActiveRoute]) {
</span><span class="cx">         if (!checkActiveRoute)
</span><span class="cx">             currentDeviceDidChange();
</span><span class="cx">     }
</span><del>-
</del><span class="cx">     m_showingMenu = false;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacWebVideoFullscreenInterfaceMach"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -69,9 +69,9 @@
</span><span class="cx">     WEBCORE_EXPORT void setVideoDimensions(bool hasVideo, float width, float height) final;
</span><span class="cx">     WEBCORE_EXPORT void setSeekableRanges(const TimeRanges&amp;) override;
</span><span class="cx">     WEBCORE_EXPORT void setCanPlayFastReverse(bool) override { }
</span><del>-    WEBCORE_EXPORT void setAudioMediaSelectionOptions(const Vector&lt;WTF::String&gt;&amp; /*options*/, uint64_t /*selectedIndex*/) override;
-    WEBCORE_EXPORT void setLegibleMediaSelectionOptions(const Vector&lt;WTF::String&gt;&amp; /*options*/, uint64_t /*selectedIndex*/) override;
-    WEBCORE_EXPORT void setExternalPlayback(bool enabled, ExternalPlaybackTargetType, WTF::String localizedDeviceName) override;
</del><ins>+    WEBCORE_EXPORT void setAudioMediaSelectionOptions(const Vector&lt;String&gt;&amp; /*options*/, uint64_t /*selectedIndex*/) override;
+    WEBCORE_EXPORT void setLegibleMediaSelectionOptions(const Vector&lt;String&gt;&amp; /*options*/, uint64_t /*selectedIndex*/) override;
+    WEBCORE_EXPORT void setExternalPlayback(bool enabled, ExternalPlaybackTargetType, String localizedDeviceName) override;
</ins><span class="cx">     WEBCORE_EXPORT void setWirelessVideoPlaybackDisabled(bool) override { }
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void setupFullscreen(NSView&amp; layerHostedView, const IntRect&amp; initialRect, NSWindow *parentWindow, HTMLMediaElementEnums::VideoFullscreenMode, bool allowsPictureInPicturePlayback);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacWebVideoFullscreenInterfaceMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -389,10 +389,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceMac::setExternalPlayback(bool, ExternalPlaybackTargetType, WTF::String)
-{
-}
-
</del><span class="cx"> void WebVideoFullscreenInterfaceMac::setVideoDimensions(bool, float, float)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockMediaPlaybackTargetPickerMockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx">     currentDeviceDidChange();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaPlaybackTargetPickerMock::showPlaybackTargetPicker(const FloatRect&amp;, bool checkActiveRoute, const String&amp;)
</del><ins>+void MediaPlaybackTargetPickerMock::showPlaybackTargetPicker(const FloatRect&amp;, bool checkActiveRoute)
</ins><span class="cx"> {
</span><span class="cx">     if (!client() || m_showingMenu)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockMediaPlaybackTargetPickerMockh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual ~MediaPlaybackTargetPickerMock();
</span><span class="cx"> 
</span><del>-    void showPlaybackTargetPicker(const FloatRect&amp;, bool checkActiveRoute, const String&amp;) override;
</del><ins>+    void showPlaybackTargetPicker(const FloatRect&amp;, bool checkActiveRoute) override;
</ins><span class="cx">     void startingMonitoringPlaybackTargets() override;
</span><span class="cx">     void stopMonitoringPlaybackTargets() override;
</span><span class="cx">     void invalidatePlaybackTargets() override;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformspicocoaAVKitSPIh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -125,13 +125,6 @@
</span><span class="cx"> - (void)showMenuForRect:(NSRect)screenRect appearanceName:(NSString *)appearanceName;
</span><span class="cx"> - (BOOL)showMenuForRect:(NSRect)screenRect appearanceName:(NSString *)appearanceName allowReselectionOfSelectedOutputDevice:(BOOL)allowReselectionOfSelectedOutputDevice;
</span><span class="cx"> 
</span><del>-typedef NS_ENUM(NSInteger, AVOutputDeviceMenuControllerSelection) {
-    AVOutputDeviceMenuControllerSelectionOutputDevice,
-    AVOutputDeviceMenuControllerSelectionCustomMenuItem,
-    AVOutputDeviceMenuControllerSelectionNone
-};
-
-- (AVOutputDeviceMenuControllerSelection)showMenuForRect:(NSRect)screenRect appearanceName:(NSString *)appearanceName allowReselectionOfSelectedOutputDevice:(BOOL)allowReselectionOfSelectedOutputDevice customMenuItemTitle:(NSString *)customMenuItemTitle customMenuItemEnabled:(BOOL)customMenuItemEnabled;
</del><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit/mac/ChangeLog        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2016-04-08  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for custom target picker actions
+        &lt;rdar://problem/24987783&gt;
+        https://bugs.webkit.org/show_bug.cgi?id=156434
+
+        Reviewed by Eric Carlson.
+
+        This mostly entailed rolling out r197429 and r197569.
+
+        * WebCoreSupport/WebChromeClient.h:
+        * WebCoreSupport/WebChromeClient.mm:
+        (WebChromeClient::removePlaybackTargetPickerClient):
+        (WebChromeClient::showPlaybackTargetPicker):
+        * WebView/WebMediaPlaybackTargetPicker.h:
+        * WebView/WebMediaPlaybackTargetPicker.mm:
+        (WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient):
+        (WebMediaPlaybackTargetPicker::showPlaybackTargetPicker):
+        (WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
+        (WebMediaPlaybackTargetPicker::setShouldPlayToPlaybackTarget):
+        (WebMediaPlaybackTargetPicker::invalidate):
+        (WebMediaPlaybackTargetPicker::customPlaybackActionSelected): Deleted.
+        * WebView/WebView.mm:
+        (-[WebView _showPlaybackTargetPicker:location:hasVideo:]):
+        (-[WebView _playbackTargetPickerClientStateDidChange:state:]):
+
</ins><span class="cx"> 2016-04-07  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove ENABLE(ENABLE_ES6_CLASS_SYNTAX) guards
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebChromeClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">     void addPlaybackTargetPickerClient(uint64_t /*contextId*/) override;
</span><span class="cx">     void removePlaybackTargetPickerClient(uint64_t /*contextId*/) override;
</span><del>-    void showPlaybackTargetPicker(uint64_t /*contextId*/, const WebCore::IntPoint&amp;, bool /* hasVideo */, const String&amp;) override;
</del><ins>+    void showPlaybackTargetPicker(uint64_t /*contextId*/, const WebCore::IntPoint&amp;, bool /* hasVideo */) override;
</ins><span class="cx">     void playbackTargetPickerClientStateDidChange(uint64_t /*contextId*/, WebCore::MediaProducer::MediaStateFlags) override;
</span><span class="cx">     void setMockMediaPlaybackTargetPickerEnabled(bool) override;
</span><span class="cx">     void setMockMediaPlaybackTargetPickerState(const String&amp;, WebCore::MediaPlaybackTargetContext::State) override;
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebChromeClientmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1032,7 +1032,7 @@
</span><span class="cx">     [m_webView _removePlaybackTargetPickerClient:contextId];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebChromeClient::showPlaybackTargetPicker(uint64_t contextId, const WebCore::IntPoint&amp; location, bool hasVideo, const String&amp;)
</del><ins>+void WebChromeClient::showPlaybackTargetPicker(uint64_t contextId, const WebCore::IntPoint&amp; location, bool hasVideo)
</ins><span class="cx"> {
</span><span class="cx">     [m_webView _showPlaybackTargetPicker:contextId location:location hasVideo:hasVideo];
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebMediaPlaybackTargetPickerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebMediaPlaybackTargetPicker.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebMediaPlaybackTargetPicker.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit/mac/WebView/WebMediaPlaybackTargetPicker.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx">     void addPlaybackTargetPickerClient(uint64_t);
</span><span class="cx">     void removePlaybackTargetPickerClient(uint64_t);
</span><del>-    void showPlaybackTargetPicker(uint64_t, const WebCore::FloatRect&amp;, bool hasVideo, const String&amp;);
</del><ins>+    void showPlaybackTargetPicker(uint64_t, const WebCore::FloatRect&amp;, bool hasVideo);
</ins><span class="cx">     void playbackTargetPickerClientStateDidChange(uint64_t, WebCore::MediaProducer::MediaStateFlags);
</span><span class="cx">     void setMockMediaPlaybackTargetPickerEnabled(bool);
</span><span class="cx">     void setMockMediaPlaybackTargetPickerState(const String&amp;, WebCore::MediaPlaybackTargetContext::State);
</span><span class="lines">@@ -54,7 +54,6 @@
</span><span class="cx">     void setPlaybackTarget(uint64_t, Ref&lt;WebCore::MediaPlaybackTarget&gt;&amp;&amp;) override;
</span><span class="cx">     void externalOutputDeviceAvailableDidChange(uint64_t, bool) override;
</span><span class="cx">     void setShouldPlayToPlaybackTarget(uint64_t, bool) override;
</span><del>-    void customPlaybackActionSelected(uint64_t) override;
</del><span class="cx"> 
</span><span class="cx">     void invalidate();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebMediaPlaybackTargetPickermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebMediaPlaybackTargetPicker.mm (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebMediaPlaybackTargetPicker.mm        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit/mac/WebView/WebMediaPlaybackTargetPicker.mm        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -51,9 +51,9 @@
</span><span class="cx">     WebCore::WebMediaSessionManager::shared().removePlaybackTargetPickerClient(*this, contextId);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebMediaPlaybackTargetPicker::showPlaybackTargetPicker(uint64_t contextId, const WebCore::FloatRect&amp; rect, bool hasVideo, const String&amp; customMenuItemTitle)
</del><ins>+void WebMediaPlaybackTargetPicker::showPlaybackTargetPicker(uint64_t contextId, const WebCore::FloatRect&amp; rect, bool hasVideo)
</ins><span class="cx"> {
</span><del>-    WebCore::WebMediaSessionManager::shared().showPlaybackTargetPicker(*this, contextId, WebCore::IntRect(rect), hasVideo, customMenuItemTitle);
</del><ins>+    WebCore::WebMediaSessionManager::shared().showPlaybackTargetPicker(*this, contextId, WebCore::IntRect(rect), hasVideo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange(uint64_t contextId, WebCore::MediaProducer::MediaStateFlags state)
</span><span class="lines">@@ -95,14 +95,6 @@
</span><span class="cx">     m_page-&gt;setShouldPlayToPlaybackTarget(contextId, shouldPlay);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebMediaPlaybackTargetPicker::customPlaybackActionSelected(uint64_t contextId)
-{
-    if (!m_page)
-        return;
-
-    m_page-&gt;customPlaybackActionSelected(contextId);
-}
-
</del><span class="cx"> void WebMediaPlaybackTargetPicker::invalidate()
</span><span class="cx"> {
</span><span class="cx">     m_page = nullptr;
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebView.mm        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -8742,7 +8742,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     NSRect rectInScreenCoordinates = [self.window convertRectToScreen:NSMakeRect(location.x(), location.y(), 0, 0)];
</span><del>-    [self _devicePicker]-&gt;showPlaybackTargetPicker(clientId, rectInScreenCoordinates, hasVideo, { });
</del><ins>+    [self _devicePicker]-&gt;showPlaybackTargetPicker(clientId, rectInScreenCoordinates, hasVideo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)_playbackTargetPickerClientStateDidChange:(uint64_t)clientId state:(WebCore::MediaProducer::MediaStateFlags)state
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/ChangeLog        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1,3 +1,33 @@
</span><ins>+2016-04-08  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Remove support for custom target picker actions
+        &lt;rdar://problem/24987783&gt;
+        https://bugs.webkit.org/show_bug.cgi?id=156434
+
+        Reviewed by Eric Carlson.
+
+        This mostly entailed rolling out r197429 and r197569.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::removePlaybackTargetPickerClient):
+        (WebKit::WebPageProxy::showPlaybackTargetPicker):
+        (WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):
+        (WebKit::WebPageProxy::setShouldPlayToPlaybackTarget):
+        (WebKit::WebPageProxy::didChangeBackgroundColor):
+        (WebKit::WebPageProxy::customPlaybackActionSelected): Deleted.
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::removePlaybackTargetPickerClient):
+        (WebKit::WebChromeClient::showPlaybackTargetPicker):
+        (WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange):
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/mac/WebPageMac.mm:
+        (WebKit::WebPage::setShouldPlayToPlaybackTarget):
+        (WebKit::WebPage::customPlaybackActionSelected): Deleted.
+
</ins><span class="cx"> 2016-04-08  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [iOS WK2] WKWebViews should consult ancestor UIScrollViews to determine tiling area
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -6155,9 +6155,9 @@
</span><span class="cx">     m_pageClient.mediaSessionManager().removePlaybackTargetPickerClient(*this, contextId);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::showPlaybackTargetPicker(uint64_t contextId, const WebCore::FloatRect&amp; rect, bool hasVideo, const String&amp; customMenuItemTitle)
</del><ins>+void WebPageProxy::showPlaybackTargetPicker(uint64_t contextId, const WebCore::FloatRect&amp; rect, bool hasVideo)
</ins><span class="cx"> {
</span><del>-    m_pageClient.mediaSessionManager().showPlaybackTargetPicker(*this, contextId, m_pageClient.rootViewToScreen(IntRect(rect)), hasVideo, customMenuItemTitle);
</del><ins>+    m_pageClient.mediaSessionManager().showPlaybackTargetPicker(*this, contextId, m_pageClient.rootViewToScreen(IntRect(rect)), hasVideo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPageProxy::playbackTargetPickerClientStateDidChange(uint64_t contextId, WebCore::MediaProducer::MediaStateFlags state)
</span><span class="lines">@@ -6198,14 +6198,6 @@
</span><span class="cx"> 
</span><span class="cx">     m_process-&gt;send(Messages::WebPage::SetShouldPlayToPlaybackTarget(contextId, shouldPlay), m_pageID);
</span><span class="cx"> }
</span><del>-
-void WebPageProxy::customPlaybackActionSelected(uint64_t contextId)
-{
-    if (!isValid())
-        return;
-
-    m_process-&gt;send(Messages::WebPage::CustomPlaybackActionSelected(contextId), m_pageID);
-}
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> void WebPageProxy::didChangeBackgroundColor()
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1073,7 +1073,7 @@
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">     void addPlaybackTargetPickerClient(uint64_t);
</span><span class="cx">     void removePlaybackTargetPickerClient(uint64_t);
</span><del>-    void showPlaybackTargetPicker(uint64_t, const WebCore::FloatRect&amp;, bool hasVideo, const String&amp;);
</del><ins>+    void showPlaybackTargetPicker(uint64_t, const WebCore::FloatRect&amp;, bool hasVideo);
</ins><span class="cx">     void playbackTargetPickerClientStateDidChange(uint64_t, WebCore::MediaProducer::MediaStateFlags);
</span><span class="cx">     void setMockMediaPlaybackTargetPickerEnabled(bool);
</span><span class="cx">     void setMockMediaPlaybackTargetPickerState(const String&amp;, WebCore::MediaPlaybackTargetContext::State);
</span><span class="lines">@@ -1082,7 +1082,6 @@
</span><span class="cx">     void setPlaybackTarget(uint64_t, Ref&lt;WebCore::MediaPlaybackTarget&gt;&amp;&amp;) override;
</span><span class="cx">     void externalOutputDeviceAvailableDidChange(uint64_t, bool) override;
</span><span class="cx">     void setShouldPlayToPlaybackTarget(uint64_t, bool) override;
</span><del>-    void customPlaybackActionSelected(uint64_t) override;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void didChangeBackgroundColor();
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -435,7 +435,7 @@
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">     AddPlaybackTargetPickerClient(uint64_t contextId)
</span><span class="cx">     RemovePlaybackTargetPickerClient(uint64_t contextId)
</span><del>-    ShowPlaybackTargetPicker(uint64_t clientId, WebCore::FloatRect pickerLocation, bool hasVideo, String customMenuItemTitle)
</del><ins>+    ShowPlaybackTargetPicker(uint64_t clientId, WebCore::FloatRect pickerLocation, bool hasVideo)
</ins><span class="cx">     PlaybackTargetPickerClientStateDidChange(uint64_t contextId, unsigned mediaState)
</span><span class="cx">     SetMockMediaPlaybackTargetPickerEnabled(bool enabled)
</span><span class="cx">     SetMockMediaPlaybackTargetPickerState(String name, unsigned pickerState)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1111,11 +1111,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void WebChromeClient::showPlaybackTargetPicker(uint64_t contextId, const WebCore::IntPoint&amp; position, bool isVideo, const String&amp; customMenuItemTitle)
</del><ins>+void WebChromeClient::showPlaybackTargetPicker(uint64_t contextId, const WebCore::IntPoint&amp; position, bool isVideo)
</ins><span class="cx"> {
</span><span class="cx">     FrameView* frameView = m_page-&gt;mainFrame()-&gt;view();
</span><span class="cx">     FloatRect rect(frameView-&gt;contentsToRootView(frameView-&gt;windowToContents(position)), FloatSize());
</span><del>-    m_page-&gt;send(Messages::WebPageProxy::ShowPlaybackTargetPicker(contextId, rect, isVideo, customMenuItemTitle));
</del><ins>+    m_page-&gt;send(Messages::WebPageProxy::ShowPlaybackTargetPicker(contextId, rect, isVideo));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebChromeClient::playbackTargetPickerClientStateDidChange(uint64_t contextId, WebCore::MediaProducer::MediaStateFlags state)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -322,7 +322,7 @@
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">     void addPlaybackTargetPickerClient(uint64_t /*contextId*/) override;
</span><span class="cx">     void removePlaybackTargetPickerClient(uint64_t /*contextId*/) override;
</span><del>-    void showPlaybackTargetPicker(uint64_t /*contextId*/, const WebCore::IntPoint&amp;, bool, const String&amp;) override;
</del><ins>+    void showPlaybackTargetPicker(uint64_t contextId, const WebCore::IntPoint&amp;, bool) override;
</ins><span class="cx">     void playbackTargetPickerClientStateDidChange(uint64_t, WebCore::MediaProducer::MediaStateFlags) override;
</span><span class="cx">     void setMockMediaPlaybackTargetPickerEnabled(bool) override;
</span><span class="cx">     void setMockMediaPlaybackTargetPickerState(const String&amp;, WebCore::MediaPlaybackTargetContext::State) override;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1181,7 +1181,6 @@
</span><span class="cx">     void playbackTargetSelected(uint64_t, const WebCore::MediaPlaybackTargetContext&amp; outputDevice) const;
</span><span class="cx">     void playbackTargetAvailabilityDidChange(uint64_t, bool);
</span><span class="cx">     void setShouldPlayToPlaybackTarget(uint64_t, bool);
</span><del>-    void customPlaybackActionSelected(uint64_t);
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     void clearWheelEventTestTrigger();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagemessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -418,7 +418,6 @@
</span><span class="cx">     PlaybackTargetSelected(uint64_t contextId, WebCore::MediaPlaybackTargetContext target)
</span><span class="cx">     PlaybackTargetAvailabilityDidChange(uint64_t contextId, bool available)
</span><span class="cx">     SetShouldPlayToPlaybackTarget(uint64_t contextId, bool shouldPlay)
</span><del>-    CustomPlaybackActionSelected(uint64_t contextId)
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ClearWheelEventTestTrigger()
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagemacWebPageMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm (199285 => 199286)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2016-04-10 10:14:54 UTC (rev 199285)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2016-04-10 18:48:37 UTC (rev 199286)
</span><span class="lines">@@ -1159,11 +1159,6 @@
</span><span class="cx"> {
</span><span class="cx">     m_page-&gt;setShouldPlayToPlaybackTarget(contextId, shouldPlay);
</span><span class="cx"> }
</span><del>-
-void WebPage::customPlaybackActionSelected(uint64_t contextId)
-{
-    m_page-&gt;customPlaybackActionSelected(contextId);
-}
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>