<!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>[182842] 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/182842">182842</a></dd>
<dt>Author</dt> <dd>eric.carlson@apple.com</dd>
<dt>Date</dt> <dd>2015-04-15 09:19:39 -0700 (Wed, 15 Apr 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Generalize &quot;isPlayingAudio&quot; to include other media characteristics
https://bugs.webkit.org/show_bug.cgi?id=143713

Reviewed by Jer Noble.

Source/WebCore:

No new functionality.

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::stop): updateIsPlayingAudio -&gt; updateIsPlayingMedia.
(WebCore::AudioContext::isPlayingAudioDidChange): Ditto.

* dom/Document.cpp:
(WebCore::Document::addAudioProducer): Ditto.
(WebCore::Document::removeAudioProducer): Ditto.
(WebCore::Document::updateIsPlayingMedia): Renamed.
(WebCore::Document::updateIsPlayingAudio): Deleted.
* dom/Document.h:

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setMuted): updateIsPlayingAudio -&gt; updateIsPlayingMedia.
(WebCore::HTMLMediaElement::setPlaying): Ditto.

* page/ChromeClient.h:
* page/Page.cpp:
(WebCore::Page::updateIsPlayingMedia): Renamed.
(WebCore::Page::updateIsPlayingAudio): Deleted.
* page/Page.h:

Source/WebKit2:

* UIProcess/API/C/WKPage.cpp:
(toGenericCallbackFunction): Scope CallbackBase.
(WKPageForceRepaint): Ditto.
(WKPageValidateCommand): Ditto.
(WKPageComputePagesForPrinting): Ditto.

* UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView _requestSnapshotIfNeeded]): Ditto.

* UIProcess/API/mac/WKView.mm:
(-[WKView becomeFirstResponder]): Ditto.
(-[WKView updateFontPanelIfNeeded]): Ditto.
(-[WKView validateUserInterfaceItem:]): Ditto.
(-[WKView startSpeaking:]): Ditto.
(-[WKView selectedRangeWithCompletionHandler:]): Ditto.
(-[WKView markedRangeWithCompletionHandler:]): Ditto.
(-[WKView hasMarkedTextWithCompletionHandler:]): Ditto.
(-[WKView attributedSubstringForProposedRange:completionHandler:]): Ditto.
(-[WKView firstRectForCharacterRange:completionHandler:]): Ditto.
(-[WKView characterIndexForPoint:completionHandler:]): Ditto.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::isPlayingMediaDidChange): Rename from isPlayingAudioDidChange.
(WebKit::WebPageProxy::isPlayingAudioDidChange): Deleted.
* UIProcess/WebPageProxy.h:

* UIProcess/WebPageProxy.messages.in:

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController dealloc]): Scope CallbackBase.
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto.

* UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ditto.
(-[WKPrintingView _askPageToComputePageRects]): Ditto.
(-[WKPrintingView _drawPreview:]): Ditto.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setPluginIsPlayingAudio):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::isPlayingMediaDidChange):
(WebKit::WebChromeClient::isPlayingAudioDidChange): Deleted.
* WebProcess/WebCoreSupport/WebChromeClient.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContextcpp">trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp</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="#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="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPagecpp">trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoa_WKThumbnailViewmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKThumbnailView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIgtkWebKitWebViewcpp">trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKViewmm">trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm</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="#trunkSourceWebKit2UIProcessiosWKContentViewInteractionmm">trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWKFullScreenWindowControllermm">trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWKPrintingViewmm">trunk/Source/WebKit2/UIProcess/mac/WKPrintingView.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsPluginViewcpp">trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp</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>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebCore/ChangeLog        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -1,3 +1,33 @@
</span><ins>+2015-04-15  Eric Carlson  &lt;eric.carlson@apple.com&gt;
+
+        Generalize &quot;isPlayingAudio&quot; to include other media characteristics
+        https://bugs.webkit.org/show_bug.cgi?id=143713
+
+        Reviewed by Jer Noble.
+
+        No new functionality.
+
+        * Modules/webaudio/AudioContext.cpp:
+        (WebCore::AudioContext::stop): updateIsPlayingAudio -&gt; updateIsPlayingMedia.
+        (WebCore::AudioContext::isPlayingAudioDidChange): Ditto.
+
+        * dom/Document.cpp:
+        (WebCore::Document::addAudioProducer): Ditto.
+        (WebCore::Document::removeAudioProducer): Ditto.
+        (WebCore::Document::updateIsPlayingMedia): Renamed.
+        (WebCore::Document::updateIsPlayingAudio): Deleted.
+        * dom/Document.h:
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::setMuted): updateIsPlayingAudio -&gt; updateIsPlayingMedia.
+        (WebCore::HTMLMediaElement::setPlaying): Ditto.
+
+        * page/ChromeClient.h:
+        * page/Page.cpp:
+        (WebCore::Page::updateIsPlayingMedia): Renamed.
+        (WebCore::Page::updateIsPlayingAudio): Deleted.
+        * page/Page.h:
+
</ins><span class="cx"> 2015-04-15  Joonghun Park  &lt;jh718.park@samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix Debug build error 'comparison of unsigned expression &gt;= 0 is always true [-Werror=type-limits]'
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -344,7 +344,7 @@
</span><span class="cx">         return;
</span><span class="cx">     m_isStopScheduled = true;
</span><span class="cx"> 
</span><del>-    document()-&gt;updateIsPlayingAudio();
</del><ins>+    document()-&gt;updateIsPlayingMedia();
</ins><span class="cx"> 
</span><span class="cx">     m_eventQueue-&gt;close();
</span><span class="cx"> 
</span><span class="lines">@@ -1038,7 +1038,7 @@
</span><span class="cx"> 
</span><span class="cx"> void AudioContext::isPlayingAudioDidChange()
</span><span class="cx"> {
</span><del>-    document()-&gt;updateIsPlayingAudio();
</del><ins>+    document()-&gt;updateIsPlayingMedia();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void AudioContext::fireCompletionEvent()
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebCore/dom/Document.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -3416,16 +3416,16 @@
</span><span class="cx"> void Document::addAudioProducer(AudioProducer* audioProducer)
</span><span class="cx"> {
</span><span class="cx">     m_audioProducers.add(audioProducer);
</span><del>-    updateIsPlayingAudio();
</del><ins>+    updateIsPlayingMedia();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Document::removeAudioProducer(AudioProducer* audioProducer)
</span><span class="cx"> {
</span><span class="cx">     m_audioProducers.remove(audioProducer);
</span><del>-    updateIsPlayingAudio();
</del><ins>+    updateIsPlayingMedia();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Document::updateIsPlayingAudio()
</del><ins>+void Document::updateIsPlayingMedia()
</ins><span class="cx"> {
</span><span class="cx">     bool isPlayingAudio = false;
</span><span class="cx">     for (auto audioProducer : m_audioProducers) {
</span><span class="lines">@@ -3441,7 +3441,7 @@
</span><span class="cx">     m_isPlayingAudio = isPlayingAudio;
</span><span class="cx"> 
</span><span class="cx">     if (page())
</span><del>-        page()-&gt;updateIsPlayingAudio();
</del><ins>+        page()-&gt;updateIsPlayingMedia();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Document::pageMutedStateDidChange()
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebCore/dom/Document.h        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -1229,7 +1229,7 @@
</span><span class="cx">     WEBCORE_EXPORT void addAudioProducer(AudioProducer*);
</span><span class="cx">     WEBCORE_EXPORT void removeAudioProducer(AudioProducer*);
</span><span class="cx">     bool isPlayingAudio() const { return m_isPlayingAudio; }
</span><del>-    WEBCORE_EXPORT void updateIsPlayingAudio();
</del><ins>+    WEBCORE_EXPORT void updateIsPlayingMedia();
</ins><span class="cx">     void pageMutedStateDidChange();
</span><span class="cx">     WeakPtr&lt;Document&gt; createWeakPtr() { return m_weakFactory.createWeakPtr(); }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -3016,7 +3016,7 @@
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">         scheduleEvent(eventNames().volumechangeEvent);
</span><del>-        document().updateIsPlayingAudio();
</del><ins>+        document().updateIsPlayingMedia();
</ins><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="lines">@@ -4344,7 +4344,7 @@
</span><span class="cx">     if (renderer())
</span><span class="cx">         renderer()-&gt;updateFromElement();
</span><span class="cx"> 
</span><del>-    document().updateIsPlayingAudio();
</del><ins>+    document().updateIsPlayingMedia();
</ins><span class="cx"> 
</span><span class="cx">     endProcessingMediaPlayerCallback();
</span><span class="cx"> }
</span><span class="lines">@@ -4599,7 +4599,7 @@
</span><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     m_playing = playing;
</span><del>-    document().updateIsPlayingAudio();
</del><ins>+    document().updateIsPlayingMedia();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HTMLMediaElement::setPausedInternal(bool b)
</span></span></pre></div>
<a id="trunkSourceWebCorepageChromeClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ChromeClient.h (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ChromeClient.h        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebCore/page/ChromeClient.h        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -423,7 +423,15 @@
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldUseTiledBackingForFrameView(const FrameView*) const { return false; }
</span><span class="cx"> 
</span><del>-    virtual void isPlayingAudioDidChange(bool) { }
</del><ins>+    enum MediaState {
+        IsNotPlaying = 0,
+        IsPlayingAudio = 1 &lt;&lt; 0,
+        IsPlayingVideo = 1 &lt;&lt; 1,
+        IsPlayingToExternalDevice = 1 &lt;&lt; 2,
+    };
+    typedef unsigned MediaStateFlags;
+    virtual void isPlayingMediaDidChange(MediaStateFlags) { }
+
</ins><span class="cx">     virtual void setPageActivityState(PageActivityState::Flags) { }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SUBTLE_CRYPTO)
</span></span></pre></div>
<a id="trunkSourceWebCorepagePagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebCore/page/Page.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -108,7 +108,6 @@
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span><span class="cx"> #include &quot;HTMLVideoElement.h&quot;
</span><span class="cx"> #include &quot;MediaPlaybackTarget.h&quot;
</span><del>-#include &quot;MediaPlaybackTargetPickerClient.h&quot;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -1198,7 +1197,7 @@
</span><span class="cx">     setSessionID(privateBrowsingEnabled ? SessionID::legacyPrivateSessionID() : SessionID::defaultSessionID());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Page::updateIsPlayingAudio()
</del><ins>+void Page::updateIsPlayingMedia()
</ins><span class="cx"> {
</span><span class="cx">     bool isPlayingAudio = false;
</span><span class="cx">     for (Frame* frame = &amp;mainFrame(); frame; frame = frame-&gt;tree().traverseNext()) {
</span><span class="lines">@@ -1213,7 +1212,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_isPlayingAudio = isPlayingAudio;
</span><span class="cx"> 
</span><del>-    chrome().client().isPlayingAudioDidChange(m_isPlayingAudio);
</del><ins>+    chrome().client().isPlayingMediaDidChange(m_isPlayingAudio ? ChromeClient::IsPlayingAudio : ChromeClient::IsNotPlaying);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Page::setMuted(bool muted)
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.h (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.h        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebCore/page/Page.h        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -423,7 +423,7 @@
</span><span class="cx">     bool usesEphemeralSession() const { return m_sessionID.isEphemeral(); }
</span><span class="cx"> 
</span><span class="cx">     bool isPlayingAudio() const { return m_isPlayingAudio; }
</span><del>-    void updateIsPlayingAudio();
</del><ins>+    void updateIsPlayingMedia();
</ins><span class="cx">     bool isMuted() const { return m_muted; }
</span><span class="cx">     WEBCORE_EXPORT void setMuted(bool);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/ChangeLog        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -1,3 +1,54 @@
</span><ins>+2015-04-15  Eric Carlson  &lt;eric.carlson@apple.com&gt;
+
+        Generalize &quot;isPlayingAudio&quot; to include other media characteristics
+        https://bugs.webkit.org/show_bug.cgi?id=143713
+
+        Reviewed by Jer Noble.
+
+        * UIProcess/API/C/WKPage.cpp:
+        (toGenericCallbackFunction): Scope CallbackBase.
+        (WKPageForceRepaint): Ditto.
+        (WKPageValidateCommand): Ditto.
+        (WKPageComputePagesForPrinting): Ditto.
+
+        * UIProcess/API/Cocoa/_WKThumbnailView.mm:
+        (-[_WKThumbnailView _requestSnapshotIfNeeded]): Ditto.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView becomeFirstResponder]): Ditto.
+        (-[WKView updateFontPanelIfNeeded]): Ditto.
+        (-[WKView validateUserInterfaceItem:]): Ditto.
+        (-[WKView startSpeaking:]): Ditto.
+        (-[WKView selectedRangeWithCompletionHandler:]): Ditto.
+        (-[WKView markedRangeWithCompletionHandler:]): Ditto.
+        (-[WKView hasMarkedTextWithCompletionHandler:]): Ditto.
+        (-[WKView attributedSubstringForProposedRange:completionHandler:]): Ditto.
+        (-[WKView firstRectForCharacterRange:completionHandler:]): Ditto.
+        (-[WKView characterIndexForPoint:completionHandler:]): Ditto.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::isPlayingMediaDidChange): Rename from isPlayingAudioDidChange.
+        (WebKit::WebPageProxy::isPlayingAudioDidChange): Deleted.
+        * UIProcess/WebPageProxy.h:
+
+        * UIProcess/WebPageProxy.messages.in:
+
+        * UIProcess/mac/WKFullScreenWindowController.mm:
+        (-[WKFullScreenWindowController dealloc]): Scope CallbackBase.
+        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto.
+
+        * UIProcess/mac/WKPrintingView.mm:
+        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ditto.
+        (-[WKPrintingView _askPageToComputePageRects]): Ditto.
+        (-[WKPrintingView _drawPreview:]): Ditto.
+
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::setPluginIsPlayingAudio):
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::isPlayingMediaDidChange):
+        (WebKit::WebChromeClient::isPlayingAudioDidChange): Deleted.
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+
</ins><span class="cx"> 2015-04-15  Antti Koivisto  &lt;antti@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Network Cache: Add thread-safe accessors for storage paths
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -1933,10 +1933,10 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static std::function&lt;void (const String&amp;, CallbackBase::Error)&gt; toGenericCallbackFunction(void* context, void (*callback)(WKStringRef, WKErrorRef, void*))
</del><ins>+static std::function&lt;void (const String&amp;, WebKit::CallbackBase::Error)&gt; toGenericCallbackFunction(void* context, void (*callback)(WKStringRef, WKErrorRef, void*))
</ins><span class="cx"> {
</span><del>-    return [context, callback](const String&amp; returnValue, CallbackBase::Error error) {
-        callback(toAPI(API::String::create(returnValue).get()), error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
</del><ins>+    return [context, callback](const String&amp; returnValue, WebKit::CallbackBase::Error error) {
+        callback(toAPI(API::String::create(returnValue).get()), error != WebKit::CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
</ins><span class="cx">     };
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1979,8 +1979,8 @@
</span><span class="cx"> 
</span><span class="cx"> void WKPageForceRepaint(WKPageRef pageRef, void* context, WKPageForceRepaintFunction callback)
</span><span class="cx"> {
</span><del>-    toImpl(pageRef)-&gt;forceRepaint(VoidCallback::create([context, callback](CallbackBase::Error error) {
-        callback(error == CallbackBase::Error::None ? nullptr : toAPI(API::Error::create().get()), context);
</del><ins>+    toImpl(pageRef)-&gt;forceRepaint(VoidCallback::create([context, callback](WebKit::CallbackBase::Error error) {
+        callback(error == WebKit::CallbackBase::Error::None ? nullptr : toAPI(API::Error::create().get()), context);
</ins><span class="cx">     }));
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2016,8 +2016,8 @@
</span><span class="cx"> 
</span><span class="cx"> void WKPageValidateCommand(WKPageRef pageRef, WKStringRef command, void* context, WKPageValidateCommandCallback callback)
</span><span class="cx"> {
</span><del>-    toImpl(pageRef)-&gt;validateCommand(toImpl(command)-&gt;string(), [context, callback](const String&amp; commandName, bool isEnabled, int32_t state, CallbackBase::Error error) {
-        callback(toAPI(API::String::create(commandName).get()), isEnabled, state, error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
</del><ins>+    toImpl(pageRef)-&gt;validateCommand(toImpl(command)-&gt;string(), [context, callback](const String&amp; commandName, bool isEnabled, int32_t state, WebKit::CallbackBase::Error error) {
+        callback(toAPI(API::String::create(commandName).get()), isEnabled, state, error != WebKit::CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
</ins><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2038,11 +2038,11 @@
</span><span class="cx"> 
</span><span class="cx"> void WKPageComputePagesForPrinting(WKPageRef page, WKFrameRef frame, WKPrintInfo printInfo, WKPageComputePagesForPrintingFunction callback, void* context)
</span><span class="cx"> {
</span><del>-    toImpl(page)-&gt;computePagesForPrinting(toImpl(frame), printInfoFromWKPrintInfo(printInfo), ComputedPagesCallback::create([context, callback](const Vector&lt;WebCore::IntRect&gt;&amp; rects, double scaleFactor, CallbackBase::Error error) {
</del><ins>+    toImpl(page)-&gt;computePagesForPrinting(toImpl(frame), printInfoFromWKPrintInfo(printInfo), ComputedPagesCallback::create([context, callback](const Vector&lt;WebCore::IntRect&gt;&amp; rects, double scaleFactor, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         Vector&lt;WKRect&gt; wkRects(rects.size());
</span><span class="cx">         for (size_t i = 0; i &lt; rects.size(); ++i)
</span><span class="cx">             wkRects[i] = toAPI(rects[i]);
</span><del>-        callback(wkRects.data(), wkRects.size(), scaleFactor, error != CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
</del><ins>+        callback(wkRects.data(), wkRects.size(), scaleFactor, error != WebKit::CallbackBase::Error::None ? toAPI(API::Error::create().get()) : 0, context);
</ins><span class="cx">     }));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoa_WKThumbnailViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKThumbnailView.mm (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKThumbnailView.mm        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKThumbnailView.mm        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">     IntSize bitmapSize = snapshotRect.size();
</span><span class="cx">     bitmapSize.scale(_scale * _webPageProxy-&gt;deviceScaleFactor());
</span><span class="cx">     _lastSnapshotScale = _scale;
</span><del>-    _webPageProxy-&gt;takeSnapshot(snapshotRect, bitmapSize, options, [thumbnailView](const ShareableBitmap::Handle&amp; imageHandle, CallbackBase::Error) {
</del><ins>+    _webPageProxy-&gt;takeSnapshot(snapshotRect, bitmapSize, options, [thumbnailView](const ShareableBitmap::Handle&amp; imageHandle, WebKit::CallbackBase::Error) {
</ins><span class="cx">         RefPtr&lt;ShareableBitmap&gt; bitmap = ShareableBitmap::create(imageHandle, SharedMemory::Protection::ReadOnly);
</span><span class="cx">         RetainPtr&lt;CGImageRef&gt; cgImage = bitmap ? bitmap-&gt;makeCGImage() : nullptr;
</span><span class="cx">         [thumbnailView _didTakeSnapshot:cgImage.get()];
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIgtkWebKitWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -2892,7 +2892,7 @@
</span><span class="cx">     g_return_if_fail(command);
</span><span class="cx"> 
</span><span class="cx">     GTask* task = g_task_new(webView, cancellable, callback, userData);
</span><del>-    getPage(webView)-&gt;validateCommand(String::fromUTF8(command), [task](const String&amp;, bool isEnabled, int32_t, CallbackBase::Error) {
</del><ins>+    getPage(webView)-&gt;validateCommand(String::fromUTF8(command), [task](const String&amp;, bool isEnabled, int32_t, WebKit::CallbackBase::Error) {
</ins><span class="cx">         g_task_return_boolean(adoptGRef(task).get(), isEnabled);        
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="lines">@@ -3008,7 +3008,7 @@
</span><span class="cx">     g_return_if_fail(script);
</span><span class="cx"> 
</span><span class="cx">     GTask* task = g_task_new(webView, cancellable, callback, userData);
</span><del>-    getPage(webView)-&gt;runJavaScriptInMainFrame(String::fromUTF8(script), [task](API::SerializedScriptValue* serializedScriptValue, CallbackBase::Error) {
</del><ins>+    getPage(webView)-&gt;runJavaScriptInMainFrame(String::fromUTF8(script), [task](API::SerializedScriptValue* serializedScriptValue, WebKit::CallbackBase::Error) {
</ins><span class="cx">         webkitWebViewRunJavaScriptCallback(serializedScriptValue, adoptGRef(task).get());
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="lines">@@ -3099,7 +3099,7 @@
</span><span class="cx">     WebKitWebView* webView = WEBKIT_WEB_VIEW(g_task_get_source_object(task.get()));
</span><span class="cx">     gpointer outputStreamData = g_memory_output_stream_get_data(G_MEMORY_OUTPUT_STREAM(object));
</span><span class="cx">     getPage(webView)-&gt;runJavaScriptInMainFrame(String::fromUTF8(reinterpret_cast&lt;const gchar*&gt;(outputStreamData)),
</span><del>-        [task](API::SerializedScriptValue* serializedScriptValue, CallbackBase::Error) {
</del><ins>+        [task](API::SerializedScriptValue* serializedScriptValue, WebKit::CallbackBase::Error) {
</ins><span class="cx">             webkitWebViewRunJavaScriptCallback(serializedScriptValue, task.get());
</span><span class="cx">         });
</span><span class="cx"> }
</span><span class="lines">@@ -3277,7 +3277,7 @@
</span><span class="cx">     GTask* task = g_task_new(webView, cancellable, callback, userData);
</span><span class="cx">     g_task_set_source_tag(task, reinterpret_cast&lt;gpointer&gt;(webkit_web_view_save));
</span><span class="cx">     g_task_set_task_data(task, createViewSaveAsyncData(), reinterpret_cast&lt;GDestroyNotify&gt;(destroyViewSaveAsyncData));
</span><del>-    getPage(webView)-&gt;getContentsAsMHTMLData([task](API::Data* data, CallbackBase::Error) {
</del><ins>+    getPage(webView)-&gt;getContentsAsMHTMLData([task](API::Data* data, WebKit::CallbackBase::Error) {
</ins><span class="cx">         getContentsAsMHTMLDataCallback(data, task);
</span><span class="cx">     }, false);
</span><span class="cx"> }
</span><span class="lines">@@ -3342,7 +3342,7 @@
</span><span class="cx">     data-&gt;file = file;
</span><span class="cx">     g_task_set_task_data(task, data, reinterpret_cast&lt;GDestroyNotify&gt;(destroyViewSaveAsyncData));
</span><span class="cx"> 
</span><del>-    getPage(webView)-&gt;getContentsAsMHTMLData([task](API::Data* data, CallbackBase::Error) {
</del><ins>+    getPage(webView)-&gt;getContentsAsMHTMLData([task](API::Data* data, WebKit::CallbackBase::Error) {
</ins><span class="cx">         getContentsAsMHTMLDataCallback(data, task);
</span><span class="cx">     }, false);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -470,7 +470,7 @@
</span><span class="cx">         NSEvent *keyboardEvent = nil;
</span><span class="cx">         if ([event type] == NSKeyDown || [event type] == NSKeyUp)
</span><span class="cx">             keyboardEvent = event;
</span><del>-        _data-&gt;_page-&gt;setInitialFocus(direction == NSSelectingNext, keyboardEvent != nil, NativeWebKeyboardEvent(keyboardEvent, false, Vector&lt;KeypressCommand&gt;()), [](CallbackBase::Error) { });
</del><ins>+        _data-&gt;_page-&gt;setInitialFocus(direction == NSSelectingNext, keyboardEvent != nil, NativeWebKeyboardEvent(keyboardEvent, false, Vector&lt;KeypressCommand&gt;()), [](WebKit::CallbackBase::Error) { });
</ins><span class="cx">     }
</span><span class="cx">     return YES;
</span><span class="cx"> }
</span><span class="lines">@@ -835,7 +835,7 @@
</span><span class="cx">     if (editorState.selectionIsNone || !editorState.isContentEditable)
</span><span class="cx">         return;
</span><span class="cx">     if ([NSFontPanel sharedFontPanelExists] &amp;&amp; [[NSFontPanel sharedFontPanel] isVisible]) {
</span><del>-        _data-&gt;_page-&gt;fontAtSelection([](const String&amp; fontName, double fontSize, bool selectionHasMultipleFonts, CallbackBase::Error error) {
</del><ins>+        _data-&gt;_page-&gt;fontAtSelection([](const String&amp; fontName, double fontSize, bool selectionHasMultipleFonts, WebKit::CallbackBase::Error error) {
</ins><span class="cx">             NSFont *font = [NSFont fontWithName:fontName size:fontSize];
</span><span class="cx">             if (font)
</span><span class="cx">                 [[NSFontManager sharedFontManager] setSelectedFont:font isMultiple:selectionHasMultipleFonts];
</span><span class="lines">@@ -995,9 +995,9 @@
</span><span class="cx">         // If we are not already awaiting validation for this command, start the asynchronous validation process.
</span><span class="cx">         // FIXME: Theoretically, there is a race here; when we get the answer it might be old, from a previous time
</span><span class="cx">         // we asked for the same command; there is no guarantee the answer is still valid.
</span><del>-        _data-&gt;_page-&gt;validateCommand(commandName, [self](const String&amp; commandName, bool isEnabled, int32_t state, CallbackBase::Error error) {
</del><ins>+        _data-&gt;_page-&gt;validateCommand(commandName, [self](const String&amp; commandName, bool isEnabled, int32_t state, WebKit::CallbackBase::Error error) {
</ins><span class="cx">             // If the process exits before the command can be validated, we'll be called back with an error.
</span><del>-            if (error != CallbackBase::Error::None)
</del><ins>+            if (error != WebKit::CallbackBase::Error::None)
</ins><span class="cx">                 return;
</span><span class="cx">             
</span><span class="cx">             [self _setUserInterfaceItemState:commandName enabled:isEnabled state:state];
</span><span class="lines">@@ -1012,8 +1012,8 @@
</span><span class="cx"> 
</span><span class="cx"> - (IBAction)startSpeaking:(id)sender
</span><span class="cx"> {
</span><del>-    _data-&gt;_page-&gt;getSelectionOrContentsAsString([self](const String&amp; string, CallbackBase::Error error) {
-        if (error != CallbackBase::Error::None)
</del><ins>+    _data-&gt;_page-&gt;getSelectionOrContentsAsString([self](const String&amp; string, WebKit::CallbackBase::Error error) {
+        if (error != WebKit::CallbackBase::Error::None)
</ins><span class="cx">             return;
</span><span class="cx">         if (!string)
</span><span class="cx">             return;
</span><span class="lines">@@ -1676,9 +1676,9 @@
</span><span class="cx">     RetainPtr&lt;id&gt; completionHandler = adoptNS([completionHandlerPtr copy]);
</span><span class="cx"> 
</span><span class="cx">     LOG(TextInput, &quot;selectedRange&quot;);
</span><del>-    _data-&gt;_page-&gt;getSelectedRangeAsync([completionHandler](const EditingRange&amp; editingRangeResult, CallbackBase::Error error) {
</del><ins>+    _data-&gt;_page-&gt;getSelectedRangeAsync([completionHandler](const EditingRange&amp; editingRangeResult, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         void (^completionHandlerBlock)(NSRange) = (void (^)(NSRange))completionHandler.get();
</span><del>-        if (error != CallbackBase::Error::None) {
</del><ins>+        if (error != WebKit::CallbackBase::Error::None) {
</ins><span class="cx">             LOG(TextInput, &quot;    ...selectedRange failed.&quot;);
</span><span class="cx">             completionHandlerBlock(NSMakeRange(NSNotFound, 0));
</span><span class="cx">             return;
</span><span class="lines">@@ -1697,9 +1697,9 @@
</span><span class="cx">     RetainPtr&lt;id&gt; completionHandler = adoptNS([completionHandlerPtr copy]);
</span><span class="cx"> 
</span><span class="cx">     LOG(TextInput, &quot;markedRange&quot;);
</span><del>-    _data-&gt;_page-&gt;getMarkedRangeAsync([completionHandler](const EditingRange&amp; editingRangeResult, CallbackBase::Error error) {
</del><ins>+    _data-&gt;_page-&gt;getMarkedRangeAsync([completionHandler](const EditingRange&amp; editingRangeResult, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         void (^completionHandlerBlock)(NSRange) = (void (^)(NSRange))completionHandler.get();
</span><del>-        if (error != CallbackBase::Error::None) {
</del><ins>+        if (error != WebKit::CallbackBase::Error::None) {
</ins><span class="cx">             LOG(TextInput, &quot;    ...markedRange failed.&quot;);
</span><span class="cx">             completionHandlerBlock(NSMakeRange(NSNotFound, 0));
</span><span class="cx">             return;
</span><span class="lines">@@ -1718,9 +1718,9 @@
</span><span class="cx">     RetainPtr&lt;id&gt; completionHandler = adoptNS([completionHandlerPtr copy]);
</span><span class="cx"> 
</span><span class="cx">     LOG(TextInput, &quot;hasMarkedText&quot;);
</span><del>-    _data-&gt;_page-&gt;getMarkedRangeAsync([completionHandler](const EditingRange&amp; editingRangeResult, CallbackBase::Error error) {
</del><ins>+    _data-&gt;_page-&gt;getMarkedRangeAsync([completionHandler](const EditingRange&amp; editingRangeResult, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         void (^completionHandlerBlock)(BOOL) = (void (^)(BOOL))completionHandler.get();
</span><del>-        if (error != CallbackBase::Error::None) {
</del><ins>+        if (error != WebKit::CallbackBase::Error::None) {
</ins><span class="cx">             LOG(TextInput, &quot;    ...hasMarkedText failed.&quot;);
</span><span class="cx">             completionHandlerBlock(NO);
</span><span class="cx">             return;
</span><span class="lines">@@ -1736,9 +1736,9 @@
</span><span class="cx">     RetainPtr&lt;id&gt; completionHandler = adoptNS([completionHandlerPtr copy]);
</span><span class="cx"> 
</span><span class="cx">     LOG(TextInput, &quot;attributedSubstringFromRange:(%u, %u)&quot;, nsRange.location, nsRange.length);
</span><del>-    _data-&gt;_page-&gt;attributedSubstringForCharacterRangeAsync(nsRange, [completionHandler](const AttributedString&amp; string, const EditingRange&amp; actualRange, CallbackBase::Error error) {
</del><ins>+    _data-&gt;_page-&gt;attributedSubstringForCharacterRangeAsync(nsRange, [completionHandler](const AttributedString&amp; string, const EditingRange&amp; actualRange, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         void (^completionHandlerBlock)(NSAttributedString *, NSRange) = (void (^)(NSAttributedString *, NSRange))completionHandler.get();
</span><del>-        if (error != CallbackBase::Error::None) {
</del><ins>+        if (error != WebKit::CallbackBase::Error::None) {
</ins><span class="cx">             LOG(TextInput, &quot;    ...attributedSubstringFromRange failed.&quot;);
</span><span class="cx">             completionHandlerBlock(0, NSMakeRange(NSNotFound, 0));
</span><span class="cx">             return;
</span><span class="lines">@@ -1766,9 +1766,9 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    _data-&gt;_page-&gt;firstRectForCharacterRangeAsync(theRange, [self, completionHandler](const IntRect&amp; rect, const EditingRange&amp; actualRange, CallbackBase::Error error) {
</del><ins>+    _data-&gt;_page-&gt;firstRectForCharacterRangeAsync(theRange, [self, completionHandler](const IntRect&amp; rect, const EditingRange&amp; actualRange, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         void (^completionHandlerBlock)(NSRect, NSRange) = (void (^)(NSRect, NSRange))completionHandler.get();
</span><del>-        if (error != CallbackBase::Error::None) {
</del><ins>+        if (error != WebKit::CallbackBase::Error::None) {
</ins><span class="cx">             LOG(TextInput, &quot;    ...firstRectForCharacterRange failed.&quot;);
</span><span class="cx">             completionHandlerBlock(NSZeroRect, NSMakeRange(NSNotFound, 0));
</span><span class="cx">             return;
</span><span class="lines">@@ -1797,9 +1797,9 @@
</span><span class="cx"> #pragma clang diagnostic pop
</span><span class="cx">     thePoint = [self convertPoint:thePoint fromView:nil];  // the point is relative to the main frame
</span><span class="cx"> 
</span><del>-    _data-&gt;_page-&gt;characterIndexForPointAsync(IntPoint(thePoint), [completionHandler](uint64_t result, CallbackBase::Error error) {
</del><ins>+    _data-&gt;_page-&gt;characterIndexForPointAsync(IntPoint(thePoint), [completionHandler](uint64_t result, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         void (^completionHandlerBlock)(NSUInteger) = (void (^)(NSUInteger))completionHandler.get();
</span><del>-        if (error != CallbackBase::Error::None) {
</del><ins>+        if (error != WebKit::CallbackBase::Error::None) {
</ins><span class="cx">             LOG(TextInput, &quot;    ...characterIndexForPoint failed.&quot;);
</span><span class="cx">             completionHandlerBlock(0);
</span><span class="cx">             return;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -5640,12 +5640,13 @@
</span><span class="cx">     m_isShowingNavigationGestureSnapshot = false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::isPlayingAudioDidChange(bool newIsPlayingAudio)
</del><ins>+void WebPageProxy::isPlayingMediaDidChange(WebCore::ChromeClient::MediaStateFlags state)
</ins><span class="cx"> {
</span><del>-    if (m_isPlayingAudio == newIsPlayingAudio)
</del><ins>+    bool isPlayingAudio = state &amp; WebCore::ChromeClient::IsPlayingAudio;
+    if (m_isPlayingAudio == isPlayingAudio)
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_isPlayingAudio = newIsPlayingAudio;
</del><ins>+    m_isPlayingAudio = isPlayingAudio;
</ins><span class="cx">     m_uiClient-&gt;isPlayingAudioDidChange(*this);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -63,6 +63,7 @@
</span><span class="cx"> #include &quot;WebPageProxyMessages.h&quot;
</span><span class="cx"> #include &quot;WebPopupMenuProxy.h&quot;
</span><span class="cx"> #include &quot;WebProcessLifetimeTracker.h&quot;
</span><ins>+#include &lt;WebCore/ChromeClient.h&gt;
</ins><span class="cx"> #include &lt;WebCore/Color.h&gt;
</span><span class="cx"> #include &lt;WebCore/DragActions.h&gt;
</span><span class="cx"> #include &lt;WebCore/HitTestResult.h&gt;
</span><span class="lines">@@ -982,7 +983,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool isShowingNavigationGestureSnapshot() const { return m_isShowingNavigationGestureSnapshot; }
</span><span class="cx"> 
</span><del>-    void isPlayingAudioDidChange(bool);
</del><ins>+    void isPlayingMediaDidChange(WebCore::ChromeClient::MediaStateFlags);
</ins><span class="cx">     bool isPlayingAudio() const { return m_isPlayingAudio; }
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -421,7 +421,7 @@
</span><span class="cx">     ContentFilterDidBlockLoadForFrame(WebCore::ContentFilterUnblockHandler unblockHandler, uint64_t frameID)
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    IsPlayingAudioDidChange(bool newIsPlayingAudio)
</del><ins>+    IsPlayingMediaDidChange(unsigned state)
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">     DidPerformActionMenuHitTest(struct WebKit::WebHitTestResult::Data result, bool forImmediateAction, bool contentPreventsDefault, WebKit::UserData userData)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWKContentViewInteractionmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -1546,8 +1546,8 @@
</span><span class="cx">     if ([[getMCProfileConnectionClass() sharedConnection] effectiveBoolValueForSetting:MCFeatureDefinitionLookupAllowed] == MCRestrictedBoolExplicitNo)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    _page-&gt;getSelectionOrContentsAsString([self](const String&amp; string, CallbackBase::Error error) {
-        if (error != CallbackBase::Error::None)
</del><ins>+    _page-&gt;getSelectionOrContentsAsString([self](const String&amp; string, WebKit::CallbackBase::Error error) {
+        if (error != WebKit::CallbackBase::Error::None)
</ins><span class="cx">             return;
</span><span class="cx">         if (!string)
</span><span class="cx">             return;
</span><span class="lines">@@ -1558,8 +1558,8 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)accessibilityRetrieveSpeakSelectionContent
</span><span class="cx"> {
</span><del>-    _page-&gt;getSelectionOrContentsAsString([self](const String&amp; string, CallbackBase::Error error) {
-        if (error != CallbackBase::Error::None)
</del><ins>+    _page-&gt;getSelectionOrContentsAsString([self](const String&amp; string, WebKit::CallbackBase::Error error) {
+        if (error != WebKit::CallbackBase::Error::None)
</ins><span class="cx">             return;
</span><span class="cx">         if ([self respondsToSelector:@selector(accessibilitySpeakSelectionSetContent:)])
</span><span class="cx">             [self accessibilitySpeakSelectionSetContent:string];
</span><span class="lines">@@ -1777,9 +1777,9 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void selectionChangedWithGesture(WKContentView *view, const WebCore::IntPoint&amp; point, uint32_t gestureType, uint32_t gestureState, uint32_t flags, CallbackBase::Error error)
</del><ins>+static void selectionChangedWithGesture(WKContentView *view, const WebCore::IntPoint&amp; point, uint32_t gestureType, uint32_t gestureState, uint32_t flags, WebKit::CallbackBase::Error error)
</ins><span class="cx"> {
</span><del>-    if (error != CallbackBase::Error::None) {
</del><ins>+    if (error != WebKit::CallbackBase::Error::None) {
</ins><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -1789,9 +1789,9 @@
</span><span class="cx">         [(UIWKTextInteractionAssistant *)[view interactionAssistant] selectionChangedWithGestureAt:(CGPoint)point withGesture:toUIWKGestureType((GestureType)gestureType) withState:toUIGestureRecognizerState(static_cast&lt;GestureRecognizerState&gt;(gestureState)) withFlags:(toUIWKSelectionFlags((SelectionFlags)flags))];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void selectionChangedWithTouch(WKContentView *view, const WebCore::IntPoint&amp; point, uint32_t touch, CallbackBase::Error error)
</del><ins>+static void selectionChangedWithTouch(WKContentView *view, const WebCore::IntPoint&amp; point, uint32_t touch, WebKit::CallbackBase::Error error)
</ins><span class="cx"> {
</span><del>-    if (error != CallbackBase::Error::None) {
</del><ins>+    if (error != WebKit::CallbackBase::Error::None) {
</ins><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -1811,7 +1811,7 @@
</span><span class="cx"> - (void)changeSelectionWithGestureAt:(CGPoint)point withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)state
</span><span class="cx"> {
</span><span class="cx">     _usingGestureForSelection = YES;
</span><del>-    _page-&gt;selectWithGesture(WebCore::IntPoint(point), CharacterGranularity, static_cast&lt;uint32_t&gt;(toGestureType(gestureType)), static_cast&lt;uint32_t&gt;(toGestureRecognizerState(state)), [self, state](const WebCore::IntPoint&amp; point, uint32_t gestureType, uint32_t gestureState, uint32_t flags, CallbackBase::Error error) {
</del><ins>+    _page-&gt;selectWithGesture(WebCore::IntPoint(point), CharacterGranularity, static_cast&lt;uint32_t&gt;(toGestureType(gestureType)), static_cast&lt;uint32_t&gt;(toGestureRecognizerState(state)), [self, state](const WebCore::IntPoint&amp; point, uint32_t gestureType, uint32_t gestureState, uint32_t flags, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         selectionChangedWithGesture(self, point, gestureType, gestureState, flags, error);
</span><span class="cx">         if (state == UIGestureRecognizerStateEnded || state == UIGestureRecognizerStateCancelled)
</span><span class="cx">             _usingGestureForSelection = NO;
</span><span class="lines">@@ -1821,7 +1821,7 @@
</span><span class="cx"> - (void)changeSelectionWithTouchAt:(CGPoint)point withSelectionTouch:(UIWKSelectionTouch)touch baseIsStart:(BOOL)baseIsStart
</span><span class="cx"> {
</span><span class="cx">     _usingGestureForSelection = YES;
</span><del>-    _page-&gt;updateSelectionWithTouches(WebCore::IntPoint(point), static_cast&lt;uint32_t&gt;(toSelectionTouch(touch)), baseIsStart, [self, touch](const WebCore::IntPoint&amp; point, uint32_t touch, CallbackBase::Error error) {
</del><ins>+    _page-&gt;updateSelectionWithTouches(WebCore::IntPoint(point), static_cast&lt;uint32_t&gt;(toSelectionTouch(touch)), baseIsStart, [self, touch](const WebCore::IntPoint&amp; point, uint32_t touch, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         selectionChangedWithTouch(self, point, touch, error);
</span><span class="cx">         if (touch != UIWKSelectionTouchStarted &amp;&amp; touch != UIWKSelectionTouchMoved)
</span><span class="cx">             _usingGestureForSelection = NO;
</span><span class="lines">@@ -1831,7 +1831,7 @@
</span><span class="cx"> - (void)changeSelectionWithTouchesFrom:(CGPoint)from to:(CGPoint)to withGesture:(UIWKGestureType)gestureType withState:(UIGestureRecognizerState)gestureState
</span><span class="cx"> {
</span><span class="cx">     _usingGestureForSelection = YES;
</span><del>-    _page-&gt;selectWithTwoTouches(WebCore::IntPoint(from), WebCore::IntPoint(to), static_cast&lt;uint32_t&gt;(toGestureType(gestureType)), static_cast&lt;uint32_t&gt;(toGestureRecognizerState(gestureState)), [self, gestureState](const WebCore::IntPoint&amp; point, uint32_t gestureType, uint32_t gestureState, uint32_t flags, CallbackBase::Error error) {
</del><ins>+    _page-&gt;selectWithTwoTouches(WebCore::IntPoint(from), WebCore::IntPoint(to), static_cast&lt;uint32_t&gt;(toGestureType(gestureType)), static_cast&lt;uint32_t&gt;(toGestureRecognizerState(gestureState)), [self, gestureState](const WebCore::IntPoint&amp; point, uint32_t gestureType, uint32_t gestureState, uint32_t flags, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         selectionChangedWithGesture(self, point, gestureType, gestureState, flags, error);
</span><span class="cx">         if (gestureState == UIGestureRecognizerStateEnded || gestureState == UIGestureRecognizerStateCancelled)
</span><span class="cx">             _usingGestureForSelection = NO;
</span><span class="lines">@@ -1850,7 +1850,7 @@
</span><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     [self beginSelectionChange];
</span><del>-    _page-&gt;moveSelectionByOffset(offset, [self](CallbackBase::Error) {
</del><ins>+    _page-&gt;moveSelectionByOffset(offset, [self](WebKit::CallbackBase::Error) {
</ins><span class="cx">         [self endSelectionChange];
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="lines">@@ -1869,7 +1869,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _autocorrectionData.autocorrectionHandler = [completionHandler copy];
</span><del>-    _page-&gt;requestAutocorrectionData(input, [self](const Vector&lt;FloatRect&gt;&amp; rects, const String&amp; fontName, double fontSize, uint64_t traits, CallbackBase::Error) {
</del><ins>+    _page-&gt;requestAutocorrectionData(input, [self](const Vector&lt;FloatRect&gt;&amp; rects, const String&amp; fontName, double fontSize, uint64_t traits, WebKit::CallbackBase::Error) {
</ins><span class="cx">         CGRect firstRect = CGRectZero;
</span><span class="cx">         CGRect lastRect = CGRectZero;
</span><span class="cx">         if (rects.size()) {
</span><span class="lines">@@ -1893,7 +1893,7 @@
</span><span class="cx"> {
</span><span class="cx">     UIWKSelectionCompletionHandler selectionHandler = [completionHandler copy];
</span><span class="cx">     
</span><del>-    _page-&gt;selectPositionAtPoint(WebCore::IntPoint(point), [selectionHandler](CallbackBase::Error error) {
</del><ins>+    _page-&gt;selectPositionAtPoint(WebCore::IntPoint(point), [selectionHandler](WebKit::CallbackBase::Error error) {
</ins><span class="cx">         selectionHandler();
</span><span class="cx">         [selectionHandler release];
</span><span class="cx">     });
</span><span class="lines">@@ -1903,7 +1903,7 @@
</span><span class="cx"> {
</span><span class="cx">     UIWKSelectionCompletionHandler selectionHandler = [completionHandler copy];
</span><span class="cx">     
</span><del>-    _page-&gt;selectPositionAtBoundaryWithDirection(WebCore::IntPoint(point), toWKTextGranularity(granularity), toWKSelectionDirection(direction), [selectionHandler](CallbackBase::Error error) {
</del><ins>+    _page-&gt;selectPositionAtBoundaryWithDirection(WebCore::IntPoint(point), toWKTextGranularity(granularity), toWKSelectionDirection(direction), [selectionHandler](WebKit::CallbackBase::Error error) {
</ins><span class="cx">         selectionHandler();
</span><span class="cx">         [selectionHandler release];
</span><span class="cx">     });
</span><span class="lines">@@ -1913,7 +1913,7 @@
</span><span class="cx"> {
</span><span class="cx">     UIWKSelectionCompletionHandler selectionHandler = [completionHandler copy];
</span><span class="cx"> 
</span><del>-    _page-&gt;selectTextWithGranularityAtPoint(WebCore::IntPoint(point), toWKTextGranularity(granularity), [selectionHandler](CallbackBase::Error error) {
</del><ins>+    _page-&gt;selectTextWithGranularityAtPoint(WebCore::IntPoint(point), toWKTextGranularity(granularity), [selectionHandler](WebKit::CallbackBase::Error error) {
</ins><span class="cx">         selectionHandler();
</span><span class="cx">         [selectionHandler release];
</span><span class="cx">     });
</span><span class="lines">@@ -1923,7 +1923,7 @@
</span><span class="cx"> {
</span><span class="cx">     UIWKSelectionWithDirectionCompletionHandler selectionHandler = [completionHandler copy];
</span><span class="cx"> 
</span><del>-    _page-&gt;beginSelectionInDirection(toWKSelectionDirection(direction), [selectionHandler](bool endIsMoving, CallbackBase::Error error) {
</del><ins>+    _page-&gt;beginSelectionInDirection(toWKSelectionDirection(direction), [selectionHandler](bool endIsMoving, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         selectionHandler(endIsMoving);
</span><span class="cx">         [selectionHandler release];
</span><span class="cx">     });
</span><span class="lines">@@ -1933,7 +1933,7 @@
</span><span class="cx"> {
</span><span class="cx">     UIWKSelectionWithDirectionCompletionHandler selectionHandler = [completionHandler copy];
</span><span class="cx">     
</span><del>-    _page-&gt;updateSelectionWithExtentPoint(WebCore::IntPoint(point), [selectionHandler](bool endIsMoving, CallbackBase::Error error) {
</del><ins>+    _page-&gt;updateSelectionWithExtentPoint(WebCore::IntPoint(point), [selectionHandler](bool endIsMoving, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         selectionHandler(endIsMoving);
</span><span class="cx">         [selectionHandler release];
</span><span class="cx">     });
</span><span class="lines">@@ -1982,7 +1982,7 @@
</span><span class="cx"> {
</span><span class="cx">     UIWKDictationContextHandler dictationHandler = [completionHandler copy];
</span><span class="cx"> 
</span><del>-    _page-&gt;requestDictationContext([dictationHandler](const String&amp; selectedText, const String&amp; beforeText, const String&amp; afterText, CallbackBase::Error) {
</del><ins>+    _page-&gt;requestDictationContext([dictationHandler](const String&amp; selectedText, const String&amp; beforeText, const String&amp; afterText, WebKit::CallbackBase::Error) {
</ins><span class="cx">         dictationHandler(selectedText, beforeText, afterText);
</span><span class="cx">         [dictationHandler release];
</span><span class="cx">     });
</span><span class="lines">@@ -1999,7 +1999,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     _autocorrectionData.autocorrectionHandler = [completionHandler copy];
</span><del>-    _page-&gt;applyAutocorrection(correction, input, [self](const String&amp; string, CallbackBase::Error error) {
</del><ins>+    _page-&gt;applyAutocorrection(correction, input, [self](const String&amp; string, WebKit::CallbackBase::Error error) {
</ins><span class="cx">         _autocorrectionData.autocorrectionHandler(!string.isNull() ? [WKAutocorrectionRects autocorrectionRectsWithRects:_autocorrectionData.textFirstRect lastRect:_autocorrectionData.textLastRect] : nil);
</span><span class="cx">         [_autocorrectionData.autocorrectionHandler release];
</span><span class="cx">         _autocorrectionData.autocorrectionHandler = nil;
</span><span class="lines">@@ -2022,7 +2022,7 @@
</span><span class="cx">         completionHandler([WKAutocorrectionContext autocorrectionContextWithData:beforeText markedText:markedText selectedText:selectedText afterText:afterText selectedRangeInMarkedText:NSMakeRange(location, length)]);
</span><span class="cx">     } else {
</span><span class="cx">         _autocorrectionData.autocorrectionContextHandler = [completionHandler copy];
</span><del>-        _page-&gt;requestAutocorrectionContext([self](const String&amp; beforeText, const String&amp; markedText, const String&amp; selectedText, const String&amp; afterText, uint64_t location, uint64_t length, CallbackBase::Error) {
</del><ins>+        _page-&gt;requestAutocorrectionContext([self](const String&amp; beforeText, const String&amp; markedText, const String&amp; selectedText, const String&amp; afterText, uint64_t location, uint64_t length, WebKit::CallbackBase::Error) {
</ins><span class="cx">             _autocorrectionData.autocorrectionContextHandler([WKAutocorrectionContext autocorrectionContextWithData:beforeText markedText:markedText selectedText:selectedText afterText:afterText selectedRangeInMarkedText:NSMakeRange(location, length)]);
</span><span class="cx">         });
</span><span class="cx">     }
</span><span class="lines">@@ -2057,7 +2057,7 @@
</span><span class="cx"> 
</span><span class="cx">     _didAccessoryTabInitiateFocus = YES; // Will be cleared in either -_displayFormNodeInputView or -cleanupInteraction.
</span><span class="cx">     [self beginSelectionChange];
</span><del>-    _page-&gt;focusNextAssistedNode(isNext, [self](CallbackBase::Error) {
</del><ins>+    _page-&gt;focusNextAssistedNode(isNext, [self](WebKit::CallbackBase::Error) {
</ins><span class="cx">         [self endSelectionChange];
</span><span class="cx">         [self reloadInputViews];
</span><span class="cx">     });
</span><span class="lines">@@ -2544,7 +2544,7 @@
</span><span class="cx"> - (void)executeEditCommandWithCallback:(NSString *)commandName
</span><span class="cx"> {
</span><span class="cx">     [self beginSelectionChange];
</span><del>-    _page-&gt;executeEditCommand(commandName, [self](CallbackBase::Error) {
</del><ins>+    _page-&gt;executeEditCommand(commandName, [self](WebKit::CallbackBase::Error) {
</ins><span class="cx">         [self endSelectionChange];
</span><span class="cx">     });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWKFullScreenWindowControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     [[NSNotificationCenter defaultCenter] removeObserver:self];
</span><span class="cx"> 
</span><span class="cx">     if (_repaintCallback) {
</span><del>-        _repaintCallback-&gt;invalidate(CallbackBase::Error::OwnerWasInvalidated);
</del><ins>+        _repaintCallback-&gt;invalidate(WebKit::CallbackBase::Error::OwnerWasInvalidated);
</ins><span class="cx">         // invalidate() calls completeFinishExitFullScreenAnimationAfterRepaint, which
</span><span class="cx">         // clears _repaintCallback.
</span><span class="cx">         ASSERT(!_repaintCallback);
</span><span class="lines">@@ -393,12 +393,12 @@
</span><span class="cx">     [self _manager]-&gt;restoreScrollPosition();
</span><span class="cx"> 
</span><span class="cx">     if (_repaintCallback) {
</span><del>-        _repaintCallback-&gt;invalidate(CallbackBase::Error::OwnerWasInvalidated);
</del><ins>+        _repaintCallback-&gt;invalidate(WebKit::CallbackBase::Error::OwnerWasInvalidated);
</ins><span class="cx">         // invalidate() calls completeFinishExitFullScreenAnimationAfterRepaint, which
</span><span class="cx">         // clears _repaintCallback.
</span><span class="cx">         ASSERT(!_repaintCallback);
</span><span class="cx">     }
</span><del>-    _repaintCallback = VoidCallback::create([self](CallbackBase::Error) {
</del><ins>+    _repaintCallback = VoidCallback::create([self](WebKit::CallbackBase::Error) {
</ins><span class="cx">         [self completeFinishExitFullScreenAnimationAfterRepaint];
</span><span class="cx">     });
</span><span class="cx">     [self _page]-&gt;forceRepaint(_repaintCallback);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWKPrintingViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WKPrintingView.mm (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WKPrintingView.mm        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/UIProcess/mac/WKPrintingView.mm        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx">     _webFrame-&gt;page()-&gt;beginPrinting(_webFrame.get(), printInfo);
</span><span class="cx"> 
</span><span class="cx">     IPCCallbackContext* context = new IPCCallbackContext;
</span><del>-    RefPtr&lt;DataCallback&gt; callback = DataCallback::create([context](API::Data* data, CallbackBase::Error) {
</del><ins>+    RefPtr&lt;DataCallback&gt; callback = DataCallback::create([context](API::Data* data, WebKit::CallbackBase::Error) {
</ins><span class="cx">         ASSERT(RunLoop::isMain());
</span><span class="cx"> 
</span><span class="cx">         std::unique_ptr&lt;IPCCallbackContext&gt; contextDeleter(context);
</span><span class="lines">@@ -340,7 +340,7 @@
</span><span class="cx">     ASSERT(!_expectedComputedPagesCallback);
</span><span class="cx"> 
</span><span class="cx">     IPCCallbackContext* context = new IPCCallbackContext;
</span><del>-    RefPtr&lt;ComputedPagesCallback&gt; callback = ComputedPagesCallback::create([context](const Vector&lt;WebCore::IntRect&gt;&amp; pageRects, double totalScaleFactorForPrinting, CallbackBase::Error) {
</del><ins>+    RefPtr&lt;ComputedPagesCallback&gt; callback = ComputedPagesCallback::create([context](const Vector&lt;WebCore::IntRect&gt;&amp; pageRects, double totalScaleFactorForPrinting, WebKit::CallbackBase::Error) {
</ins><span class="cx">         std::unique_ptr&lt;IPCCallbackContext&gt; contextDeleter(context);
</span><span class="cx">         pageDidComputePageRects(pageRects, totalScaleFactorForPrinting, context);
</span><span class="cx">     });
</span><span class="lines">@@ -492,7 +492,7 @@
</span><span class="cx">                 _webFrame-&gt;page()-&gt;beginPrinting(_webFrame.get(), PrintInfo([_printOperation printInfo]));
</span><span class="cx"> 
</span><span class="cx">                 IPCCallbackContext* context = new IPCCallbackContext;
</span><del>-                RefPtr&lt;ImageCallback&gt; callback = ImageCallback::create([context](const ShareableBitmap::Handle&amp; imageHandle, CallbackBase::Error) {
</del><ins>+                RefPtr&lt;ImageCallback&gt; callback = ImageCallback::create([context](const ShareableBitmap::Handle&amp; imageHandle, WebKit::CallbackBase::Error) {
</ins><span class="cx">                     std::unique_ptr&lt;IPCCallbackContext&gt; contextDeleter(context);
</span><span class="cx">                     pageDidDrawToImage(imageHandle, context);
</span><span class="cx">                 });
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsPluginViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -1456,7 +1456,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     m_pluginIsPlayingAudio = pluginIsPlayingAudio;
</span><del>-    m_pluginElement-&gt;document().updateIsPlayingAudio();
</del><ins>+    m_pluginElement-&gt;document().updateIsPlayingMedia();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool PluginView::isMuted() const
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -1050,9 +1050,9 @@
</span><span class="cx">     return m_page-&gt;drawingArea()-&gt;shouldUseTiledBackingForFrameView(frameView);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebChromeClient::isPlayingAudioDidChange(bool newIsPlayingAudio)
</del><ins>+void WebChromeClient::isPlayingMediaDidChange(MediaStateFlags state)
</ins><span class="cx"> {
</span><del>-    m_page-&gt;send(Messages::WebPageProxy::IsPlayingAudioDidChange(newIsPlayingAudio));
</del><ins>+    m_page-&gt;send(Messages::WebPageProxy::IsPlayingMediaDidChange(state));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebChromeClient::setPageActivityState(PageActivityState::Flags activityState)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebChromeClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h (182841 => 182842)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h        2015-04-15 11:19:19 UTC (rev 182841)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h        2015-04-15 16:19:39 UTC (rev 182842)
</span><span class="lines">@@ -292,7 +292,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldUseTiledBackingForFrameView(const WebCore::FrameView*) const override;
</span><span class="cx"> 
</span><del>-    virtual void isPlayingAudioDidChange(bool) override;
</del><ins>+    virtual void isPlayingMediaDidChange(MediaStateFlags) override;
</ins><span class="cx">     virtual void setPageActivityState(WebCore::PageActivityState::Flags) override;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SUBTLE_CRYPTO)
</span></span></pre>
</div>
</div>

</body>
</html>