<!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>[185727] 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/185727">185727</a></dd>
<dt>Author</dt> <dd>jonlee@apple.com</dd>
<dt>Date</dt> <dd>2015-06-18 16:42:22 -0700 (Thu, 18 Jun 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Update AVKit usage of pip
https://bugs.webkit.org/show_bug.cgi?id=146095
&lt;rdar://problem/21386853&gt;

Reviewed by Eric Carlson.

Source/WebCore:

- Rename enum VideoFullscreenModeOptimized to VideoFullscreenModePictureInPicture
- Rename MediaElementSession::allowsAlternateFullscreen to allowsPictureInPicture
- Rename Settings::allowsAlternateFullscreen to allowsPictureInPictureMediaPlayback
- Update AVKit calls and AVKitSPI.h
- Rename WebVideoFullscreenInterfaceAVKit delegate functions and member variables

* html/HTMLMediaElement.cpp:
* html/HTMLVideoElement.cpp:
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::allowsPictureInPicture): Renamed.
(WebCore::MediaElementSession::allowsAlternateFullscreen): Deleted.
* html/MediaElementSession.h:
* page/Settings.cpp:
* page/Settings.in:
* platform/graphics/MediaPlayerEnums.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
* platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove unused setIsOptimized.
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
* platform/spi/cocoa/AVKitSPI.h: Remove unused typedef.
* platform/spi/mac/AVFoundationSPI.h:

Source/WebKit/mac:

- Rename preference key
- Rename shouldAllowAlternateFullscreen to shouldAllowPictureInPictureMediaPlayback

* WebCoreSupport/WebSystemInterface.mm:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences allowsAlternateFullscreen]): Call allowsPictureInPictureMediaPlayback.
(-[WebPreferences setAllowsAlternateFullscreen:]):
(-[WebPreferences allowsPictureInPictureMediaPlayback]): Added.
(-[WebPreferences setAllowsPictureInPictureMediaPlayback:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:

Source/WebKit2:

- Rename preference key
- Rename shouldAllowAlternateFullscreen to shouldAllowPictureInPictureMediaPlayback

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp: Remove unused preference calls.
(WKPreferencesSetAllowsAlternateFullscreen): Deleted.
(WKPreferencesGetAllowsAlternateFullscreen): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isShowingVideoPictureInPicture]): Renamed.
(-[WKWebView _isShowingVideoOptimized]): Deleted.
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): Renamed.
(-[WKWebView _mayAutomaticallyShowVideoOptimized]): Deleted.
(shouldAllowPictureInPictureMediaPlayback): Renamed.
(shouldAllowAlternateFullscreen): Deleted.
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/ios/PageClientImplIOS.mm:
* UIProcess/ios/WebVideoFullscreenManagerProxy.h: Rename local variables.
* UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoPictureInPicture): Renamed.
(WebKit::WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoOptimized): Deleted.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/ios/WebVideoFullscreenManager.mm:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLVideoElementcpp">trunk/Source/WebCore/html/HTMLVideoElement.cpp</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="#trunkSourceWebCorepageSettingscpp">trunk/Source/WebCore/page/Settings.cpp</a></li>
<li><a href="#trunkSourceWebCorepageSettingsin">trunk/Source/WebCore/page/Settings.in</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsMediaPlayerEnumsh">trunk/Source/WebCore/platform/graphics/MediaPlayerEnums.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebVideoFullscreenControllerAVKitmm">trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebVideoFullscreenInterfaceAVKith">trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebVideoFullscreenInterfaceAVKitmm">trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformspicocoaAVKitSPIh">trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h</a></li>
<li><a href="#trunkSourceWebCoreplatformspimacAVFoundationSPIh">trunk/Source/WebCore/platform/spi/mac/AVFoundationSPI.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebPreferenceKeysPrivateh">trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebPreferencesmm">trunk/Source/WebKit/mac/WebView/WebPreferences.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebPreferencesPrivateh">trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h</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="#trunkSourceWebKit2SharedWebPreferencesDefinitionsh">trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPreferencescpp">trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPreferencesRefPrivateh">trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosPageClientImplIOSmm">trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWebVideoFullscreenManagerProxyh">trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWebVideoFullscreenManagerProxymessagesin">trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWebVideoFullscreenManagerProxymm">trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessiosWebVideoFullscreenManagermm">trunk/Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/ChangeLog        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -1,3 +1,33 @@
</span><ins>+2015-06-18  Jon Lee  &lt;jonlee@apple.com&gt;
+
+        Update AVKit usage of pip
+        https://bugs.webkit.org/show_bug.cgi?id=146095
+        &lt;rdar://problem/21386853&gt;
+
+        Reviewed by Eric Carlson.
+
+        - Rename enum VideoFullscreenModeOptimized to VideoFullscreenModePictureInPicture
+        - Rename MediaElementSession::allowsAlternateFullscreen to allowsPictureInPicture
+        - Rename Settings::allowsAlternateFullscreen to allowsPictureInPictureMediaPlayback
+        - Update AVKit calls and AVKitSPI.h
+        - Rename WebVideoFullscreenInterfaceAVKit delegate functions and member variables
+
+        * html/HTMLMediaElement.cpp:
+        * html/HTMLVideoElement.cpp:
+        * html/MediaElementSession.cpp:
+        (WebCore::MediaElementSession::allowsPictureInPicture): Renamed.
+        (WebCore::MediaElementSession::allowsAlternateFullscreen): Deleted.
+        * html/MediaElementSession.h:
+        * page/Settings.cpp:
+        * page/Settings.in:
+        * platform/graphics/MediaPlayerEnums.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        * platform/ios/WebVideoFullscreenControllerAVKit.mm:
+        * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove unused setIsOptimized.
+        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
+        * platform/spi/cocoa/AVKitSPI.h: Remove unused typedef.
+        * platform/spi/mac/AVFoundationSPI.h:
+
</ins><span class="cx"> 2015-06-18  Jeremy Jones  &lt;jeremyj@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix crash when entering fullscreen during exit fullscreen animation.
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -6212,7 +6212,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (m_videoFullscreenMode == VideoFullscreenModeStandard)
</span><span class="cx">         return PlatformMediaSession::Fullscreen;
</span><del>-    if (m_videoFullscreenMode &amp; VideoFullscreenModeOptimized)
</del><ins>+    if (m_videoFullscreenMode &amp; VideoFullscreenModePictureInPicture)
</ins><span class="cx">         return PlatformMediaSession::Optimized;
</span><span class="cx">     if (m_videoFullscreenMode == VideoFullscreenModeNone)
</span><span class="cx">         return PlatformMediaSession::Normal;
</span><span class="lines">@@ -6285,7 +6285,7 @@
</span><span class="cx">     if (m_player &amp;&amp; m_player-&gt;isCurrentPlaybackTargetWireless())
</span><span class="cx">         return true;
</span><span class="cx"> #endif
</span><del>-    if (m_videoFullscreenMode &amp; VideoFullscreenModeOptimized)
</del><ins>+    if (m_videoFullscreenMode &amp; VideoFullscreenModePictureInPicture)
</ins><span class="cx">         return true;
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     if (m_videoFullscreenMode == VideoFullscreenModeStandard &amp;&amp; wkIsOptimizedFullscreenSupported() &amp;&amp; isPlaying())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLVideoElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLVideoElement.cpp (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLVideoElement.cpp        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/html/HTMLVideoElement.cpp        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -369,7 +369,7 @@
</span><span class="cx">         return mediaSession().fullscreenPermitted(*this) &amp;&amp; supportsFullscreen();
</span><span class="cx"> 
</span><span class="cx">     if (mode == presentationModePictureInPicture())
</span><del>-        return wkIsOptimizedFullscreenSupported() &amp;&amp; mediaSession().allowsAlternateFullscreen(*this) &amp;&amp; supportsFullscreen();
</del><ins>+        return wkIsOptimizedFullscreenSupported() &amp;&amp; mediaSession().allowsPictureInPicture(*this) &amp;&amp; supportsFullscreen();
</ins><span class="cx"> 
</span><span class="cx">     if (mode == presentationModeInline())
</span><span class="cx">         return !mediaSession().requiresFullscreenForVideoPlayback(*this);
</span><span class="lines">@@ -392,7 +392,7 @@
</span><span class="cx">     if (mode == presentationModeFullscreen())
</span><span class="cx">         enterFullscreen(VideoFullscreenModeStandard);
</span><span class="cx">     else if (mode == presentationModePictureInPicture())
</span><del>-        enterFullscreen(VideoFullscreenModeOptimized);
</del><ins>+        enterFullscreen(VideoFullscreenModePictureInPicture);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String HTMLVideoElement::webkitPresentationMode() const
</span><span class="lines">@@ -402,7 +402,7 @@
</span><span class="cx">     if (mode == VideoFullscreenModeStandard)
</span><span class="cx">         return presentationModeFullscreen();
</span><span class="cx"> 
</span><del>-    if (mode &amp; VideoFullscreenModeOptimized)
</del><ins>+    if (mode &amp; VideoFullscreenModePictureInPicture)
</ins><span class="cx">         return presentationModePictureInPicture();
</span><span class="cx"> 
</span><span class="cx">     if (mode == VideoFullscreenModeNone)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaElementSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaElementSession.cpp        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -379,10 +379,10 @@
</span><span class="cx">     
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool MediaElementSession::allowsAlternateFullscreen(const HTMLMediaElement&amp; element) const
</del><ins>+bool MediaElementSession::allowsPictureInPicture(const HTMLMediaElement&amp; element) const
</ins><span class="cx"> {
</span><span class="cx">     Settings* settings = element.document().settings();
</span><del>-    return settings &amp;&amp; settings-&gt;allowsAlternateFullscreen();
</del><ins>+    return settings &amp;&amp; settings-&gt;allowsPictureInPictureMediaPlayback();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlMediaElementSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/MediaElementSession.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/MediaElementSession.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/html/MediaElementSession.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     bool requiresFullscreenForVideoPlayback(const HTMLMediaElement&amp;) const;
</span><del>-    WEBCORE_EXPORT bool allowsAlternateFullscreen(const HTMLMediaElement&amp;) const;
</del><ins>+    WEBCORE_EXPORT bool allowsPictureInPicture(const HTMLMediaElement&amp;) const;
</ins><span class="cx">     MediaPlayer::Preload effectivePreloadForElement(const HTMLMediaElement&amp;) const;
</span><span class="cx"> 
</span><span class="cx">     void mediaEngineUpdated(const HTMLMediaElement&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorepageSettingscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Settings.cpp (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Settings.cpp        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/page/Settings.cpp        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx"> static const bool defaultScrollingTreeIncludesFrames = false;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static const bool defaultAllowsAlternateFullscreen = true;
</del><ins>+static const bool defaultAllowsPictureInPictureMediaPlayback = true;
</ins><span class="cx"> 
</span><span class="cx"> static const double defaultIncrementalRenderingSuppressionTimeoutInSeconds = 5;
</span><span class="cx"> #if USE(UNIFIED_TEXT_CHECKING)
</span></span></pre></div>
<a id="trunkSourceWebCorepageSettingsin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Settings.in (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Settings.in        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/page/Settings.in        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> requiresUserGestureForMediaPlayback initial=defaultRequiresUserGestureForMediaPlayback
</span><span class="cx"> audioPlaybackRequiresUserGesture initial=defaultAudioPlaybackRequiresUserGesture
</span><span class="cx"> allowsInlineMediaPlayback initial=defaultAllowsInlineMediaPlayback
</span><del>-allowsAlternateFullscreen initial=defaultAllowsAlternateFullscreen
</del><ins>+allowsPictureInPictureMediaPlayback initial=defaultAllowsPictureInPictureMediaPlayback
</ins><span class="cx"> passwordEchoEnabled initial=false
</span><span class="cx"> suppressesIncrementalRendering initial=false
</span><span class="cx"> incrementalRenderingSuppressionTimeoutInSeconds type=double, initial=defaultIncrementalRenderingSuppressionTimeoutInSeconds
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsMediaPlayerEnumsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/MediaPlayerEnums.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/MediaPlayerEnums.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayerEnums.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">     enum {
</span><span class="cx">         VideoFullscreenModeNone = 0,
</span><span class="cx">         VideoFullscreenModeStandard = 1 &lt;&lt; 0,
</span><del>-        VideoFullscreenModeOptimized = 1 &lt;&lt; 1,
</del><ins>+        VideoFullscreenModePictureInPicture = 1 &lt;&lt; 1,
</ins><span class="cx">     };
</span><span class="cx">     typedef uint32_t VideoFullscreenMode;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -693,8 +693,8 @@
</span><span class="cx">         [m_videoInlineLayer insertSublayer:m_videoLayer.get() atIndex:0];
</span><span class="cx">         [m_videoLayer setFrame:m_videoInlineLayer.get().bounds];
</span><span class="cx">     }
</span><del>-    if ([m_videoLayer respondsToSelector:@selector(setEnterOptimizedFullscreenModeEnabled:)])
-        [m_videoLayer setEnterOptimizedFullscreenModeEnabled:(player()-&gt;fullscreenMode() &amp; MediaPlayer::VideoFullscreenModeOptimized)];
</del><ins>+    if ([m_videoLayer respondsToSelector:@selector(setPIPModeEnabled:)])
+        [m_videoLayer setPIPModeEnabled:(player()-&gt;fullscreenMode() &amp; MediaPlayer::VideoFullscreenModePictureInPicture)];
</ins><span class="cx"> #else
</span><span class="cx">     [m_videoLayer setFrame:CGRectMake(0, 0, defaultSize.width(), defaultSize.height())];
</span><span class="cx"> #endif
</span><span class="lines">@@ -1186,8 +1186,8 @@
</span><span class="cx"> 
</span><span class="cx"> void MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode(MediaPlayer::VideoFullscreenMode mode)
</span><span class="cx"> {
</span><del>-    if (m_videoLayer &amp;&amp; [m_videoLayer respondsToSelector:@selector(setEnterOptimizedFullscreenModeEnabled:)])
-        [m_videoLayer setEnterOptimizedFullscreenModeEnabled:(mode &amp; MediaPlayer::VideoFullscreenModeOptimized)];
</del><ins>+    if (m_videoLayer &amp;&amp; [m_videoLayer respondsToSelector:@selector(setPIPModeEnabled:)])
+        [m_videoLayer setPIPModeEnabled:(mode &amp; MediaPlayer::VideoFullscreenModePictureInPicture)];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> NSArray *MediaPlayerPrivateAVFoundationObjC::timedMetadata() const
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebVideoFullscreenControllerAVKitmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -518,11 +518,11 @@
</span><span class="cx">         m_model-&gt;setVideoElement(m_videoElement.get());
</span><span class="cx">         m_videoFullscreenLayer = [CALayer layer];
</span><span class="cx">         
</span><del>-        bool allowsAlternateFullscreen = m_videoElement-&gt;mediaSession().allowsAlternateFullscreen(*m_videoElement.get());
</del><ins>+        bool allowsPictureInPicture = m_videoElement-&gt;mediaSession().allowsPictureInPicture(*m_videoElement.get());
</ins><span class="cx">         IntRect videoElementClientRect = m_videoElement-&gt;clientRect();
</span><span class="cx">         
</span><del>-        dispatch_async(dispatch_get_main_queue(), [strongThis, this, videoElementClientRect, viewRef, mode, allowsAlternateFullscreen] {
-            m_interface-&gt;setupFullscreen(*m_videoFullscreenLayer.get(), videoElementClientRect, viewRef.get(), mode, allowsAlternateFullscreen);
</del><ins>+        dispatch_async(dispatch_get_main_queue(), [strongThis, this, videoElementClientRect, viewRef, mode, allowsPictureInPicture] {
+            m_interface-&gt;setupFullscreen(*m_videoFullscreenLayer.get(), videoElementClientRect, viewRef.get(), mode, allowsPictureInPicture);
</ins><span class="cx">         });
</span><span class="cx">     });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebVideoFullscreenInterfaceAVKith"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx">     WEBCORE_EXPORT virtual void setLegibleMediaSelectionOptions(const Vector&lt;WTF::String&gt;&amp; options, uint64_t selectedIndex) override;
</span><span class="cx">     WEBCORE_EXPORT virtual void setExternalPlayback(bool enabled, ExternalPlaybackTargetType, WTF::String localizedDeviceName) override;
</span><span class="cx">     
</span><del>-    WEBCORE_EXPORT virtual void setupFullscreen(PlatformLayer&amp;, const IntRect&amp; initialRect, UIView *, HTMLMediaElementEnums::VideoFullscreenMode, bool allowOptimizedFullscreen);
</del><ins>+    WEBCORE_EXPORT virtual void setupFullscreen(PlatformLayer&amp;, const IntRect&amp; initialRect, UIView *, HTMLMediaElementEnums::VideoFullscreenMode, bool allowsPictureInPicturePlayback);
</ins><span class="cx">     WEBCORE_EXPORT virtual void enterFullscreen();
</span><span class="cx">     WEBCORE_EXPORT virtual void exitFullscreen(const IntRect&amp; finalRect);
</span><span class="cx">     WEBCORE_EXPORT virtual void cleanupFullscreen();
</span><span class="lines">@@ -100,17 +100,16 @@
</span><span class="cx">     WEBCORE_EXPORT virtual void preparedToReturnToInline(bool visible, const IntRect&amp; inlineRect);
</span><span class="cx"> 
</span><span class="cx">     HTMLMediaElementEnums::VideoFullscreenMode mode() const { return m_mode; }
</span><del>-    bool allowOptimizedFullscreen() const { return m_allowOptimizedFullscreen; }
-    void setIsOptimized(bool);
-    WEBCORE_EXPORT bool mayAutomaticallyShowVideoOptimized() const;
</del><ins>+    bool allowsPictureInPicturePlayback() const { return m_allowsPictureInPicturePlayback; }
+    WEBCORE_EXPORT bool mayAutomaticallyShowVideoPictureInPicture() const;
</ins><span class="cx">     void fullscreenMayReturnToInline(std::function&lt;void(bool)&gt; callback);
</span><span class="cx"> 
</span><del>-    void willStartOptimizedFullscreen();
-    void didStartOptimizedFullscreen();
-    void failedToStartOptimizedFullscreen();
-    void willStopOptimizedFullscreen();
-    void didStopOptimizedFullscreen();
-    void prepareForOptimizedFullscreenStopWithCompletionHandler(void (^)(BOOL));
</del><ins>+    void willStartPictureInPicture();
+    void didStartPictureInPicture();
+    void failedToStartPictureInPicture();
+    void willStopPictureInPicture();
+    void didStopPictureInPicture();
+    void prepareForPictureInPictureStopWithCompletionHandler(void (^)(BOOL));
</ins><span class="cx"> 
</span><span class="cx">     void setMode(HTMLMediaElementEnums::VideoFullscreenMode);
</span><span class="cx">     void clearMode(HTMLMediaElementEnums::VideoFullscreenMode);
</span><span class="lines">@@ -120,7 +119,7 @@
</span><span class="cx"> protected:
</span><span class="cx">     WEBCORE_EXPORT WebVideoFullscreenInterfaceAVKit();
</span><span class="cx">     void beginSession();
</span><del>-    void enterFullscreenOptimized();
</del><ins>+    void enterPictureInPicture();
</ins><span class="cx">     void enterFullscreenStandard();
</span><span class="cx"> 
</span><span class="cx">     RetainPtr&lt;WebAVPlayerController&gt; m_playerController;
</span><span class="lines">@@ -138,7 +137,7 @@
</span><span class="cx">     RetainPtr&lt;UIWindow&gt; m_parentWindow;
</span><span class="cx">     HTMLMediaElementEnums::VideoFullscreenMode m_mode { HTMLMediaElementEnums::VideoFullscreenModeNone };
</span><span class="cx">     std::function&lt;void(bool)&gt; m_prepareToInlineCallback;
</span><del>-    bool m_allowOptimizedFullscreen { false };
</del><ins>+    bool m_allowsPictureInPicturePlayback { false };
</ins><span class="cx">     bool m_exitRequested { false };
</span><span class="cx">     bool m_exitCompleted { false };
</span><span class="cx">     bool m_enterRequested { false };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebVideoFullscreenInterfaceAVKitmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -191,35 +191,35 @@
</span><span class="cx">     return self.playerControllerProxy;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)playerViewControllerWillStartOptimizedFullscreen:(AVPlayerViewController *)playerViewController
</del><ins>+- (void)playerViewControllerWillStartPictureInPicture:(AVPlayerViewController *)playerViewController
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(playerViewController);
</span><del>-    self.fullscreenInterface-&gt;willStartOptimizedFullscreen();
</del><ins>+    self.fullscreenInterface-&gt;willStartPictureInPicture();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)playerViewControllerDidStartOptimizedFullscreen:(AVPlayerViewController *)playerViewController
</del><ins>+- (void)playerViewControllerDidStartPictureInPicture:(AVPlayerViewController *)playerViewController
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(playerViewController);
</span><del>-    self.fullscreenInterface-&gt;didStartOptimizedFullscreen();
</del><ins>+    self.fullscreenInterface-&gt;didStartPictureInPicture();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)playerViewControllerFailedToStartOptimizedFullscreen:(AVPlayerViewController *)playerViewController withError:(NSError *)error
</del><ins>+- (void)playerViewControllerFailedToStartPictureInPicture:(AVPlayerViewController *)playerViewController withError:(NSError *)error
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(playerViewController);
</span><span class="cx">     UNUSED_PARAM(error);
</span><del>-    self.fullscreenInterface-&gt;failedToStartOptimizedFullscreen();
</del><ins>+    self.fullscreenInterface-&gt;failedToStartPictureInPicture();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)playerViewControllerWillStopOptimizedFullscreen:(AVPlayerViewController *)playerViewController
</del><ins>+- (void)playerViewControllerWillStopPictureInPicture:(AVPlayerViewController *)playerViewController
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(playerViewController);
</span><del>-    self.fullscreenInterface-&gt;willStopOptimizedFullscreen();
</del><ins>+    self.fullscreenInterface-&gt;willStopPictureInPicture();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)playerViewControllerDidStopOptimizedFullscreen:(AVPlayerViewController *)playerViewController
</del><ins>+- (void)playerViewControllerDidStopPictureInPicture:(AVPlayerViewController *)playerViewController
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(playerViewController);
</span><del>-    self.fullscreenInterface-&gt;didStopOptimizedFullscreen();
</del><ins>+    self.fullscreenInterface-&gt;didStopPictureInPicture();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)playerViewController:(AVPlayerViewController *)playerViewController shouldExitFullScreenWithReason:(AVPlayerViewControllerExitFullScreenReason)reason
</span><span class="lines">@@ -236,10 +236,10 @@
</span><span class="cx">     return NO;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceForOptimizedFullscreenStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler
</del><ins>+- (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(playerViewController);
</span><del>-    self.fullscreenInterface-&gt;prepareForOptimizedFullscreenStopWithCompletionHandler(completionHandler);
</del><ins>+    self.fullscreenInterface-&gt;prepareForPictureInPictureStopWithCompletionHandler(completionHandler);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)play:(id)sender
</span><span class="lines">@@ -547,9 +547,9 @@
</span><span class="cx">     return [NSSet setWithObjects:@&quot;externalPlaybackActive&quot;, nil];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (BOOL)isOptimizedFullscreenPossible
</del><ins>+- (BOOL)isPictureInPicturePossible
</ins><span class="cx"> {
</span><del>-    return self.fullscreenInterface-&gt;allowOptimizedFullscreen();
</del><ins>+    return self.fullscreenInterface-&gt;allowsPictureInPicturePlayback();
</ins><span class="cx"> }
</span><span class="cx"> @end
</span><span class="cx"> 
</span><span class="lines">@@ -876,12 +876,12 @@
</span><span class="cx">     [m_videoLayerContainer.get() setHidden:enabled];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceAVKit::setupFullscreen(PlatformLayer&amp; videoLayer, const WebCore::IntRect&amp; initialRect, UIView* parentView, HTMLMediaElementEnums::VideoFullscreenMode mode, bool allowOptimizedFullscreen)
</del><ins>+void WebVideoFullscreenInterfaceAVKit::setupFullscreen(PlatformLayer&amp; videoLayer, const WebCore::IntRect&amp; initialRect, UIView* parentView, HTMLMediaElementEnums::VideoFullscreenMode mode, bool allowsPictureInPicturePlayback)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(mode != HTMLMediaElementEnums::VideoFullscreenModeNone);
</span><span class="cx">     LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::setupFullscreen(%p)&quot;, this);
</span><span class="cx"> 
</span><del>-    m_allowOptimizedFullscreen = allowOptimizedFullscreen;
</del><ins>+    m_allowsPictureInPicturePlayback = allowsPictureInPicturePlayback;
</ins><span class="cx"> 
</span><span class="cx">     [CATransaction begin];
</span><span class="cx">     [CATransaction setDisableActions:YES];
</span><span class="lines">@@ -919,7 +919,7 @@
</span><span class="cx">     [m_playerViewController setShowsPlaybackControls:NO];
</span><span class="cx">     [m_playerViewController setPlayerController:(AVPlayerController *)m_playerController.get()];
</span><span class="cx">     [m_playerViewController setDelegate:m_playerController.get()];
</span><del>-    [m_playerViewController setAllowsOptimizedFullscreen:allowOptimizedFullscreen];
</del><ins>+    [m_playerViewController setAllowsPictureInPicturePlayback:m_allowsPictureInPicturePlayback];
</ins><span class="cx"> 
</span><span class="cx">     [m_videoLayerContainer setPlayerViewController:m_playerViewController.get()];
</span><span class="cx"> 
</span><span class="lines">@@ -951,22 +951,22 @@
</span><span class="cx">     m_enterRequested = true;
</span><span class="cx"> 
</span><span class="cx">     [m_videoLayerContainer setBackgroundColor:[[getUIColorClass() blackColor] CGColor]];
</span><del>-    if (mode() == HTMLMediaElementEnums::VideoFullscreenModeOptimized)
-        enterFullscreenOptimized();
</del><ins>+    if (mode() == HTMLMediaElementEnums::VideoFullscreenModePictureInPicture)
+        enterPictureInPicture();
</ins><span class="cx">     else if (mode() == HTMLMediaElementEnums::VideoFullscreenModeStandard)
</span><span class="cx">         enterFullscreenStandard();
</span><span class="cx">     else
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized()
</del><ins>+void WebVideoFullscreenInterfaceAVKit::enterPictureInPicture()
</ins><span class="cx"> {
</span><del>-    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized(%p)&quot;, this);
</del><ins>+    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::enterPictureInPicture(%p)&quot;, this);
</ins><span class="cx">     
</span><del>-    if ([m_playerViewController isOptimizedFullscreenPossible])
-        [m_playerViewController startOptimizedFullscreen];
</del><ins>+    if ([m_playerViewController isPictureInPicturePossible])
+        [m_playerViewController startPictureInPicture];
</ins><span class="cx">     else
</span><del>-        failedToStartOptimizedFullscreen();
</del><ins>+        failedToStartPictureInPicture();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard()
</span><span class="lines">@@ -1004,14 +1004,14 @@
</span><span class="cx">     [[m_playerViewController view] layoutIfNeeded];
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-    if (isMode(HTMLMediaElementEnums::VideoFullscreenModeOptimized)) {
</del><ins>+    if (isMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture)) {
</ins><span class="cx">         [m_window setHidden:NO];
</span><del>-        [m_playerViewController stopOptimizedFullscreen];
-    } else if (isMode(HTMLMediaElementEnums::VideoFullscreenModeOptimized | HTMLMediaElementEnums::VideoFullscreenModeStandard)) {
</del><ins>+        [m_playerViewController stopPictureInPicture];
+    } else if (isMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture | HTMLMediaElementEnums::VideoFullscreenModeStandard)) {
</ins><span class="cx">         RefPtr&lt;WebVideoFullscreenInterfaceAVKit&gt; strongThis(this);
</span><span class="cx">         [m_playerViewController exitFullScreenAnimated:NO completionHandler:[strongThis, this] (BOOL, NSError*) {
</span><span class="cx">             [m_window setHidden:NO];
</span><del>-            [m_playerViewController stopOptimizedFullscreen];
</del><ins>+            [m_playerViewController stopPictureInPicture];
</ins><span class="cx">         }];
</span><span class="cx">     } else if (isMode(HTMLMediaElementEnums::VideoFullscreenModeStandard)) {
</span><span class="cx">         RefPtr&lt;WebVideoFullscreenInterfaceAVKit&gt; strongThis(this);
</span><span class="lines">@@ -1054,8 +1054,8 @@
</span><span class="cx">     [m_playerViewController setDelegate:nil];
</span><span class="cx">     [m_playerViewController setPlayerController:nil];
</span><span class="cx">     
</span><del>-    if (hasMode(HTMLMediaElementEnums::VideoFullscreenModeOptimized))
-        [m_playerViewController stopOptimizedFullscreen];
</del><ins>+    if (hasMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture))
+        [m_playerViewController stopPictureInPicture];
</ins><span class="cx">     if (hasMode(HTMLMediaElementEnums::VideoFullscreenModeStandard))
</span><span class="cx">         [m_playerViewController exitFullScreenAnimated:NO completionHandler:[] (BOOL, NSError *) { }];
</span><span class="cx">     
</span><span class="lines">@@ -1099,7 +1099,7 @@
</span><span class="cx">     if (!m_enterRequested)
</span><span class="cx">         return;
</span><span class="cx">     
</span><del>-    if (hasMode(HTMLMediaElementEnums::VideoFullscreenModeOptimized))
</del><ins>+    if (hasMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture))
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen(%p)&quot;, this);
</span><span class="lines">@@ -1127,7 +1127,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized() const
</del><ins>+bool WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture() const
</ins><span class="cx"> {
</span><span class="cx">     return [m_playerController isPlaying] &amp;&amp; m_mode == HTMLMediaElementEnums::VideoFullscreenModeStandard &amp;&amp; wkIsOptimizedFullscreenSupported();
</span><span class="cx"> }
</span><span class="lines">@@ -1139,17 +1139,17 @@
</span><span class="cx">         m_fullscreenChangeObserver-&gt;fullscreenMayReturnToInline();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceAVKit::willStartOptimizedFullscreen()
</del><ins>+void WebVideoFullscreenInterfaceAVKit::willStartPictureInPicture()
</ins><span class="cx"> {
</span><del>-    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::willStartOptimizedFullscreen(%p)&quot;, this);
-    setMode(HTMLMediaElementEnums::VideoFullscreenModeOptimized);
</del><ins>+    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::willStartPictureInPicture(%p)&quot;, this);
+    setMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture);
</ins><span class="cx"> 
</span><span class="cx">     if (!hasMode(HTMLMediaElementEnums::VideoFullscreenModeStandard))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;WebVideoFullscreenInterfaceAVKit&gt; strongThis(this);
</span><span class="cx">     fullscreenMayReturnToInline([strongThis, this](bool visible) {
</span><del>-        LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::willStartOptimizedFullscreen - lambda(%p) - visible(%s)&quot;, this, boolString(visible));
</del><ins>+        LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::willStartPictureInPicture - lambda(%p) - visible(%s)&quot;, this, boolString(visible));
</ins><span class="cx"> 
</span><span class="cx">         if (!visible) {
</span><span class="cx">             [m_window setHidden:YES];
</span><span class="lines">@@ -1167,9 +1167,9 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceAVKit::didStartOptimizedFullscreen()
</del><ins>+void WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture()
</ins><span class="cx"> {
</span><del>-    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::didStartOptimizedFullscreen(%p)&quot;, this);
</del><ins>+    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture(%p)&quot;, this);
</ins><span class="cx">     [m_playerViewController setShowsPlaybackControls:YES];
</span><span class="cx">     [m_window setHidden:YES];
</span><span class="cx"> 
</span><span class="lines">@@ -1177,9 +1177,9 @@
</span><span class="cx">         m_fullscreenChangeObserver-&gt;didEnterFullscreen();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceAVKit::failedToStartOptimizedFullscreen()
</del><ins>+void WebVideoFullscreenInterfaceAVKit::failedToStartPictureInPicture()
</ins><span class="cx"> {
</span><del>-    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::failedToStartOptimizedFullscreen(%p)&quot;, this);
</del><ins>+    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::failedToStartPictureInPicture(%p)&quot;, this);
</ins><span class="cx">     [m_playerViewController setShowsPlaybackControls:YES];
</span><span class="cx"> 
</span><span class="cx">     if (hasMode(HTMLMediaElementEnums::VideoFullscreenModeStandard))
</span><span class="lines">@@ -1194,18 +1194,18 @@
</span><span class="cx">         m_videoFullscreenModel-&gt;requestExitFullscreen();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceAVKit::willStopOptimizedFullscreen()
</del><ins>+void WebVideoFullscreenInterfaceAVKit::willStopPictureInPicture()
</ins><span class="cx"> {
</span><del>-    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::willStopOptimizedFullscreen(%p)&quot;, this);
</del><ins>+    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::willStopPictureInPicture(%p)&quot;, this);
</ins><span class="cx">     [m_window setHidden:NO];
</span><span class="cx"> 
</span><span class="cx">     if (m_videoFullscreenModel)
</span><span class="cx">         m_videoFullscreenModel-&gt;requestExitFullscreen();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceAVKit::didStopOptimizedFullscreen()
</del><ins>+void WebVideoFullscreenInterfaceAVKit::didStopPictureInPicture()
</ins><span class="cx"> {
</span><del>-    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::didStopOptimizedFullscreen(%p)&quot;, this);
</del><ins>+    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::didStopPictureInPicture(%p)&quot;, this);
</ins><span class="cx">     if (hasMode(HTMLMediaElementEnums::VideoFullscreenModeStandard))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -1214,20 +1214,20 @@
</span><span class="cx">     [m_videoLayerContainer setBackgroundColor:[[getUIColorClass() clearColor] CGColor]];
</span><span class="cx">     [[m_playerViewController view] setBackgroundColor:[getUIColorClass() clearColor]];
</span><span class="cx"> 
</span><del>-    clearMode(HTMLMediaElementEnums::VideoFullscreenModeOptimized);
</del><ins>+    clearMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture);
</ins><span class="cx">     [m_window setHidden:YES];
</span><span class="cx">     
</span><span class="cx">     if (m_fullscreenChangeObserver)
</span><span class="cx">         m_fullscreenChangeObserver-&gt;didExitFullscreen();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenInterfaceAVKit::prepareForOptimizedFullscreenStopWithCompletionHandler(void (^completionHandler)(BOOL restored))
</del><ins>+void WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler(void (^completionHandler)(BOOL restored))
</ins><span class="cx"> {
</span><del>-    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::prepareForOptimizedFullscreenStopWithCompletionHandler(%p)&quot;, this);
</del><ins>+    LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler(%p)&quot;, this);
</ins><span class="cx">     RefPtr&lt;WebVideoFullscreenInterfaceAVKit&gt; strongThis(this);
</span><span class="cx">     RetainPtr&lt;id&gt; strongCompletionHandler = adoptNS([completionHandler copy]);
</span><span class="cx">     fullscreenMayReturnToInline([strongThis, strongCompletionHandler](bool restored)  {
</span><del>-        LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::prepareForOptimizedFullscreenStopWithCompletionHandler lambda(%p) - restored(%s)&quot;, strongThis.get(), boolString(restored));
</del><ins>+        LOG(Fullscreen, &quot;WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler lambda(%p) - restored(%s)&quot;, strongThis.get(), boolString(restored));
</ins><span class="cx">         void (^completionHandler)(BOOL restored) = strongCompletionHandler.get();
</span><span class="cx">         completionHandler(restored);
</span><span class="cx">     });
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformspicocoaAVKitSPIh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -78,20 +78,18 @@
</span><span class="cx">     AVPlayerViewControllerExitFullScreenReasonRemoteControlStopEventReceived = 3,
</span><span class="cx"> };
</span><span class="cx"> - (BOOL)playerViewController:(AVPlayerViewController *)playerViewController shouldExitFullScreenWithReason:(AVPlayerViewControllerExitFullScreenReason)reason;
</span><del>-- (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceForOptimizedFullscreenStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler;
</del><ins>+- (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler;
</ins><span class="cx"> @end
</span><span class="cx"> 
</span><del>-typedef NSInteger AVPlayerViewControllerOptimizedFullscreenStopReason;
-
</del><span class="cx"> @interface AVPlayerViewController (Details)
</span><span class="cx"> - (instancetype)initWithVideoLayer:(CALayer &lt;AVVideoLayer&gt; *)videoLayer;
</span><span class="cx"> - (void)enterFullScreenAnimated:(BOOL)animated completionHandler:(void (^)(BOOL success, NSError *))completionHandler;
</span><span class="cx"> - (void)exitFullScreenAnimated:(BOOL)animated completionHandler:(void (^)(BOOL success, NSError *))completionHandler;
</span><span class="cx"> 
</span><del>-- (BOOL)isOptimizedFullscreenPossible;
-- (void)startOptimizedFullscreen;
-- (void)stopOptimizedFullscreen;
-- (void)setAllowsOptimizedFullscreen:(BOOL)allowsOptimizedFullscreen;
</del><ins>+- (BOOL)isPictureInPicturePossible;
+- (void)startPictureInPicture;
+- (void)stopPictureInPicture;
+- (void)setAllowsPictureInPicturePlayback:(BOOL)allow;
</ins><span class="cx"> 
</span><span class="cx"> @property (nonatomic, strong) AVPlayerController *playerController;
</span><span class="cx"> @property (nonatomic, weak) id &lt;AVPlayerViewControllerDelegate&gt; delegate;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformspimacAVFoundationSPIh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/spi/mac/AVFoundationSPI.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/spi/mac/AVFoundationSPI.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebCore/platform/spi/mac/AVFoundationSPI.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -66,8 +66,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if !HAVE(AVKIT) || !USE(APPLE_INTERNAL_SDK) || __IPHONE_OS_VERSION_MIN_REQUIRED &lt; 90000
</span><span class="cx"> 
</span><del>-@interface AVPlayerLayer (AVPlayerLayerOptimizedFullscreenModeSupportPrivate)
-- (void)setEnterOptimizedFullscreenModeEnabled:(BOOL)flag;
</del><ins>+@interface AVPlayerLayer (AVPlayerLayerPictureInPictureModeSupportPrivate)
+- (void)setPIPModeEnabled:(BOOL)flag;
</ins><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit/mac/ChangeLog        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2015-06-18  Jon Lee  &lt;jonlee@apple.com&gt;
+
+        Update AVKit usage of pip
+        https://bugs.webkit.org/show_bug.cgi?id=146095
+        &lt;rdar://problem/21386853&gt;
+
+        Reviewed by Eric Carlson.
+
+        - Rename preference key
+        - Rename shouldAllowAlternateFullscreen to shouldAllowPictureInPictureMediaPlayback
+
+        * WebCoreSupport/WebSystemInterface.mm:
+        * WebView/WebPreferenceKeysPrivate.h:
+        * WebView/WebPreferences.mm:
+        (-[WebPreferences allowsAlternateFullscreen]): Call allowsPictureInPictureMediaPlayback.
+        (-[WebPreferences setAllowsAlternateFullscreen:]):
+        (-[WebPreferences allowsPictureInPictureMediaPlayback]): Added.
+        (-[WebPreferences setAllowsPictureInPictureMediaPlayback:]):
+        * WebView/WebPreferencesPrivate.h:
+        * WebView/WebView.mm:
+
</ins><span class="cx"> 2015-06-18  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove shouldInterruptJavaScript
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebPreferenceKeysPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx"> #define WebKitHixie76WebSocketProtocolEnabledKey @&quot;WebKitHixie76WebSocketProtocolEnabled&quot;
</span><span class="cx"> #define WebKitRequiresUserGestureForMediaPlaybackPreferenceKey @&quot;WebKitMediaPlaybackRequiresUserGesture&quot;
</span><span class="cx"> #define WebKitAllowsInlineMediaPlaybackPreferenceKey @&quot;WebKitMediaPlaybackAllowsInline&quot;
</span><del>-#define WebKitAllowsAlternateFullscreenPreferenceKey @&quot;WebKitAllowsAlternateFullscreen&quot;
</del><ins>+#define WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey @&quot;WebKitAllowsPictureInPictureMediaPlayback&quot;
</ins><span class="cx"> #define WebKitAllowsAirPlayForMediaPlaybackPreferenceKey @&quot;WebKitMediaPlaybackAllowsAirPlay&quot;
</span><span class="cx"> #define WebKitMockScrollbarsEnabledPreferenceKey @&quot;WebKitMockScrollbarsEnabled&quot;
</span><span class="cx"> #define WebKitShouldDisplaySubtitlesPreferenceKey @&quot;WebKitShouldDisplaySubtitles&quot;
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebPreferencesmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -546,7 +546,7 @@
</span><span class="cx"> #if ENABLE(WIRELESS_TARGET_PLAYBACK)
</span><span class="cx">         [NSNumber numberWithBool:YES],  WebKitAllowsAirPlayForMediaPlaybackPreferenceKey,
</span><span class="cx"> #endif
</span><del>-        [NSNumber numberWithBool:YES],  WebKitAllowsAlternateFullscreenPreferenceKey,
</del><ins>+        [NSNumber numberWithBool:YES],  WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey,
</ins><span class="cx">         [NSNumber numberWithBool:YES],  WebKitRequestAnimationFrameEnabledPreferenceKey,
</span><span class="cx">         [NSNumber numberWithBool:NO],   WebKitWantsBalancedSetDefersLoadingBehaviorKey,
</span><span class="cx">         [NSNumber numberWithBool:NO],   WebKitDiagnosticLoggingEnabledKey,
</span><span class="lines">@@ -2197,14 +2197,24 @@
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)allowsAlternateFullscreen
</span><span class="cx"> {
</span><del>-    return [self _boolValueForKey:WebKitAllowsAlternateFullscreenPreferenceKey];
</del><ins>+    return [self allowsPictureInPictureMediaPlayback];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)setAllowsAlternateFullscreen:(BOOL)flag
</span><span class="cx"> {
</span><del>-    [self _setBoolValue:flag forKey:WebKitAllowsAlternateFullscreenPreferenceKey];
</del><ins>+    [self setAllowsPictureInPictureMediaPlayback:flag];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (BOOL)allowsPictureInPictureMediaPlayback
+{
+    return [self _boolValueForKey:WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey];
+}
+
+- (void)setAllowsPictureInPictureMediaPlayback:(BOOL)flag
+{
+    [self _setBoolValue:flag forKey:WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey];
+}
+
</ins><span class="cx"> - (BOOL)mockScrollbarsEnabled
</span><span class="cx"> {
</span><span class="cx">     return [self _boolValueForKey:WebKitMockScrollbarsEnabledPreferenceKey];
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebPreferencesPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -253,6 +253,9 @@
</span><span class="cx"> - (void)setAllowsAlternateFullscreen:(BOOL)flag;
</span><span class="cx"> - (BOOL)allowsAlternateFullscreen;
</span><span class="cx"> 
</span><ins>+- (void)setAllowsPictureInPictureMediaPlayback:(BOOL)flag;
+- (BOOL)allowsPictureInPictureMediaPlayback;
+
</ins><span class="cx"> - (NSString *)pictographFontFamily;
</span><span class="cx"> - (void)setPictographFontFamily:(NSString *)family;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebView.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -851,11 +851,11 @@
</span><span class="cx">     return shouldAllowDisplayAndRunningOfInsecureContent;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool shouldAllowAlternateFullscreen()
</del><ins>+static bool shouldAllowPictureInPictureMediaPlayback()
</ins><span class="cx"> {
</span><span class="cx"> #if PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 90000
</span><del>-    static bool shouldAllowAlternateFullscreen = iosExecutableWasLinkedOnOrAfterVersion(wkIOSSystemVersion_9_0);
-    return shouldAllowAlternateFullscreen;
</del><ins>+    static bool shouldAllowPictureInPictureMediaPlayback = iosExecutableWasLinkedOnOrAfterVersion(wkIOSSystemVersion_9_0);
+    return shouldAllowPictureInPictureMediaPlayback;
</ins><span class="cx"> #else
</span><span class="cx">     return false;
</span><span class="cx"> #endif
</span><span class="lines">@@ -2294,7 +2294,7 @@
</span><span class="cx"> 
</span><span class="cx">     settings.setRequiresUserGestureForMediaPlayback([preferences mediaPlaybackRequiresUserGesture]);
</span><span class="cx">     settings.setAllowsInlineMediaPlayback([preferences mediaPlaybackAllowsInline]);
</span><del>-    settings.setAllowsAlternateFullscreen([preferences allowsAlternateFullscreen] &amp;&amp; shouldAllowAlternateFullscreen());
</del><ins>+    settings.setAllowsPictureInPictureMediaPlayback([preferences allowsPictureInPictureMediaPlayback] &amp;&amp; shouldAllowPictureInPictureMediaPlayback());
</ins><span class="cx">     settings.setSuppressesIncrementalRendering([preferences suppressesIncrementalRendering]);
</span><span class="cx">     settings.setBackspaceKeyNavigationEnabled([preferences backspaceKeyNavigationEnabled]);
</span><span class="cx">     settings.setWantsBalancedSetDefersLoadingBehavior([preferences wantsBalancedSetDefersLoadingBehavior]);
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/ChangeLog        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -1,3 +1,37 @@
</span><ins>+2015-06-18  Jon Lee  &lt;jonlee@apple.com&gt;
+
+        Update AVKit usage of pip
+        https://bugs.webkit.org/show_bug.cgi?id=146095
+        &lt;rdar://problem/21386853&gt;
+
+        Reviewed by Eric Carlson.
+
+        - Rename preference key
+        - Rename shouldAllowAlternateFullscreen to shouldAllowPictureInPictureMediaPlayback
+
+        * Shared/WebPreferencesDefinitions.h:
+        * UIProcess/API/C/WKPreferences.cpp: Remove unused preference calls.
+        (WKPreferencesSetAllowsAlternateFullscreen): Deleted.
+        (WKPreferencesGetAllowsAlternateFullscreen): Deleted.
+        * UIProcess/API/C/WKPreferencesRefPrivate.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _isShowingVideoPictureInPicture]): Renamed.
+        (-[WKWebView _isShowingVideoOptimized]): Deleted.
+        (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): Renamed.
+        (-[WKWebView _mayAutomaticallyShowVideoOptimized]): Deleted.
+        (shouldAllowPictureInPictureMediaPlayback): Renamed.
+        (shouldAllowAlternateFullscreen): Deleted.
+        * UIProcess/API/Cocoa/WKWebViewInternal.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        * UIProcess/ios/WebVideoFullscreenManagerProxy.h: Rename local variables.
+        * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
+        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
+        (WebKit::WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoPictureInPicture): Renamed.
+        (WebKit::WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoOptimized): Deleted.
+        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+        * WebProcess/WebPage/WebPage.cpp:
+        * WebProcess/ios/WebVideoFullscreenManager.mm:
+
</ins><span class="cx"> 2015-06-18  Jeremy Jones  &lt;jeremyj@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix crash when entering fullscreen during exit fullscreen animation.
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPreferencesDefinitionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx">     macro(AVFoundationEnabled, isAVFoundationEnabled, Bool, bool, true) \
</span><span class="cx">     macro(RequiresUserGestureForMediaPlayback, requiresUserGestureForMediaPlayback, Bool, bool, DEFAULT_REQUIRES_USER_GESTURE_FOR_MEDIA_PLAYBACK) \
</span><span class="cx">     macro(AllowsInlineMediaPlayback, allowsInlineMediaPlayback, Bool, bool, DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK) \
</span><del>-    macro(AllowsAlternateFullscreen, allowsAlternateFullscreen, Bool, bool, true) \
</del><ins>+    macro(AllowsPictureInPictureMediaPlayback, allowsPictureInPictureMediaPlayback, Bool, bool, true) \
</ins><span class="cx">     macro(AllowsAirPlayForMediaPlayback, allowsAirPlayForMediaPlayback, Bool, bool, true) \
</span><span class="cx">     macro(InspectorStartsAttached, inspectorStartsAttached, Bool, bool, true) \
</span><span class="cx">     macro(ShowsToolTipOverTruncatedText, showsToolTipOverTruncatedText, Bool, bool, false) \
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPreferencescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -748,16 +748,6 @@
</span><span class="cx">     return toImpl(preferencesRef)-&gt;allowsInlineMediaPlayback();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WKPreferencesSetAllowsAlternateFullscreen(WKPreferencesRef preferencesRef, bool flag)
-{
-    toImpl(preferencesRef)-&gt;setAllowsAlternateFullscreen(flag);
-}
-
-bool WKPreferencesGetAllowsAlternateFullscreen(WKPreferencesRef preferencesRef)
-{
-    return toImpl(preferencesRef)-&gt;allowsAlternateFullscreen();
-}
-
</del><span class="cx"> void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag)
</span><span class="cx"> {
</span><span class="cx">     toImpl(preferencesRef)-&gt;setShowsToolTipOverTruncatedText(flag);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPreferencesRefPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -179,10 +179,6 @@
</span><span class="cx"> WK_EXPORT void WKPreferencesSetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef, bool flag);
</span><span class="cx"> WK_EXPORT bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef);
</span><span class="cx"> 
</span><del>-// Defaults to true.
-WK_EXPORT void WKPreferencesSetAllowsAlternateFullscreen(WKPreferencesRef preferencesRef, bool flag);
-WK_EXPORT bool WKPreferencesGetAllowsAlternateFullscreen(WKPreferencesRef preferencesRef);
-
</del><span class="cx"> // Defaults to false.
</span><span class="cx"> WK_EXPORT void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag);
</span><span class="cx"> WK_EXPORT bool WKPreferencesGetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -242,15 +242,15 @@
</span><span class="cx">     return deviceOrientationForUIInterfaceOrientation([[UIApplication sharedApplication] statusBarOrientation]);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (BOOL)_isShowingVideoOptimized
</del><ins>+- (BOOL)_isShowingVideoPictureInPicture
</ins><span class="cx"> {
</span><span class="cx">     if (!_page || !_page-&gt;videoFullscreenManager())
</span><span class="cx">         return false;
</span><span class="cx">     
</span><del>-    return _page-&gt;videoFullscreenManager()-&gt;hasMode(WebCore::HTMLMediaElementEnums::VideoFullscreenModeOptimized);
</del><ins>+    return _page-&gt;videoFullscreenManager()-&gt;hasMode(WebCore::HTMLMediaElementEnums::VideoFullscreenModePictureInPicture);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (BOOL)_mayAutomaticallyShowVideoOptimized
</del><ins>+- (BOOL)_mayAutomaticallyShowVideoPictureInPicture
</ins><span class="cx"> {
</span><span class="cx"> #if (__IPHONE_OS_VERSION_MIN_REQUIRED &lt;= 80200) || !HAVE(AVKIT)
</span><span class="cx">     return false;
</span><span class="lines">@@ -258,15 +258,15 @@
</span><span class="cx">     if (!_page || !_page-&gt;videoFullscreenManager())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    return _page-&gt;videoFullscreenManager()-&gt;mayAutomaticallyShowVideoOptimized();
</del><ins>+    return _page-&gt;videoFullscreenManager()-&gt;mayAutomaticallyShowVideoPictureInPicture();
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool shouldAllowAlternateFullscreen()
</del><ins>+static bool shouldAllowPictureInPictureMediaPlayback()
</ins><span class="cx"> {
</span><span class="cx"> #if __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 90000
</span><del>-    static bool shouldAllowAlternateFullscreen = iosExecutableWasLinkedOnOrAfterVersion(wkIOSSystemVersion_9_0);
-    return shouldAllowAlternateFullscreen;
</del><ins>+    static bool shouldAllowPictureInPictureMediaPlayback = iosExecutableWasLinkedOnOrAfterVersion(wkIOSSystemVersion_9_0);
+    return shouldAllowPictureInPictureMediaPlayback;
</ins><span class="cx"> #else
</span><span class="cx">     return false;
</span><span class="cx"> #endif
</span><span class="lines">@@ -323,7 +323,7 @@
</span><span class="cx">     webPageConfiguration.alwaysRunsAtForegroundPriority = [_configuration _alwaysRunsAtForegroundPriority];
</span><span class="cx"> 
</span><span class="cx">     webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allowsInlineMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsInlineMediaPlayback]));
</span><del>-    webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allowsAlternateFullscreenKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsPictureInPictureMediaPlayback] &amp;&amp; shouldAllowAlternateFullscreen()));
</del><ins>+    webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsPictureInPictureMediaPlayback] &amp;&amp; shouldAllowPictureInPictureMediaPlayback()));
</ins><span class="cx">     webPageConfiguration.preferenceValues.set(WebKit::WebPreferencesKey::requiresUserGestureForMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration requiresUserActionForMediaPlayback]));
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewInternalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -98,8 +98,8 @@
</span><span class="cx"> - (void)_didFinishLoadForMainFrame;
</span><span class="cx"> - (void)_didSameDocumentNavigationForMainFrame:(WebKit::SameDocumentNavigationType)navigationType;
</span><span class="cx"> 
</span><del>-- (BOOL)_isShowingVideoOptimized;
-- (BOOL)_mayAutomaticallyShowVideoOptimized;
</del><ins>+- (BOOL)_isShowingVideoPictureInPicture;
+- (BOOL)_mayAutomaticallyShowVideoPictureInPicture;
</ins><span class="cx"> 
</span><span class="cx"> - (void)_updateScrollViewBackground;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosPageClientImplIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -185,10 +185,10 @@
</span><span class="cx">     if (isViewInWindow() &amp;&amp; !m_contentView.isBackground)
</span><span class="cx">         return true;
</span><span class="cx">     
</span><del>-    if ([m_webView _isShowingVideoOptimized])
</del><ins>+    if ([m_webView _isShowingVideoPictureInPicture])
</ins><span class="cx">         return true;
</span><span class="cx">     
</span><del>-    if ([m_webView _mayAutomaticallyShowVideoOptimized])
</del><ins>+    if ([m_webView _mayAutomaticallyShowVideoPictureInPicture])
</ins><span class="cx">         return true;
</span><span class="cx">     
</span><span class="cx">     return false;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWebVideoFullscreenManagerProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx"> 
</span><span class="cx">     void requestHideAndExitFullscreen();
</span><span class="cx">     bool hasMode(WebCore::HTMLMediaElementEnums::VideoFullscreenMode) const;
</span><del>-    bool mayAutomaticallyShowVideoOptimized() const;
</del><ins>+    bool mayAutomaticallyShowVideoPictureInPicture() const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     friend class WebVideoFullscreenModelContext;
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx">     WebCore::WebVideoFullscreenInterfaceAVKit&amp; ensureInterface(uint64_t contextId);
</span><span class="cx"> 
</span><span class="cx">     // Messages from WebVideoFullscreenManager
</span><del>-    void setupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, const WebCore::IntRect&amp; initialRect, float hostingScaleFactor, WebCore::HTMLMediaElementEnums::VideoFullscreenMode, bool allowOptimizedFullscreen);
</del><ins>+    void setupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, const WebCore::IntRect&amp; initialRect, float hostingScaleFactor, WebCore::HTMLMediaElementEnums::VideoFullscreenMode, bool allowsPictureInPicture);
</ins><span class="cx">     void resetMediaState(uint64_t contextId);
</span><span class="cx">     void setCurrentTime(uint64_t contextId, double currentTime, double hostTime);
</span><span class="cx">     void setBufferedTime(uint64_t contextId, double bufferedTime);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWebVideoFullscreenManagerProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx">     SetExternalPlaybackProperties(uint64_t contextId, bool enabled, uint32_t targetType, String localizedDeviceName)
</span><span class="cx">     SetDuration(uint64_t contextId, double duration)
</span><span class="cx">     SetRate(uint64_t contextId, bool isPlaying, double rate)
</span><del>-    SetupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, WebCore::IntRect initialRect, float hostingScaleFactor, WebCore::HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode, bool allowOptimizedFullscreen)
</del><ins>+    SetupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, WebCore::IntRect initialRect, float hostingScaleFactor, WebCore::HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode, bool allowsPictureInPicture)
</ins><span class="cx">     EnterFullscreen(uint64_t contextId)
</span><span class="cx">     ExitFullscreen(uint64_t contextId, WebCore::IntRect finalRect)
</span><span class="cx">     CleanupFullscreen(uint64_t contextId)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWebVideoFullscreenManagerProxymm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoOptimized() const
</del><ins>+bool WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoPictureInPicture() const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="lines">@@ -266,10 +266,10 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoOptimized() const
</del><ins>+bool WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoPictureInPicture() const
</ins><span class="cx"> {
</span><span class="cx">     for (auto&amp; tuple : m_contextMap.values()) {
</span><del>-        if (std::get&lt;1&gt;(tuple)-&gt;mayAutomaticallyShowVideoOptimized())
</del><ins>+        if (std::get&lt;1&gt;(tuple)-&gt;mayAutomaticallyShowVideoPictureInPicture())
</ins><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="lines">@@ -306,7 +306,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma mark Messages from WebVideoFullscreenManager
</span><span class="cx"> 
</span><del>-void WebVideoFullscreenManagerProxy::setupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, const WebCore::IntRect&amp; initialRect, float hostingDeviceScaleFactor, HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode, bool allowOptimizedFullscreen)
</del><ins>+void WebVideoFullscreenManagerProxy::setupFullscreenWithID(uint64_t contextId, uint32_t videoLayerID, const WebCore::IntRect&amp; initialRect, float hostingDeviceScaleFactor, HTMLMediaElementEnums::VideoFullscreenMode videoFullscreenMode, bool allowsPictureInPicture)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(videoLayerID);
</span><span class="cx">     RefPtr&lt;WebVideoFullscreenModelContext&gt; model;
</span><span class="lines">@@ -323,7 +323,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     UIView *parentView = downcast&lt;RemoteLayerTreeDrawingAreaProxy&gt;(*m_page-&gt;drawingArea()).remoteLayerTreeHost().rootLayer();
</span><del>-    interface-&gt;setupFullscreen(*model-&gt;layerHost(), initialRect, parentView, videoFullscreenMode, allowOptimizedFullscreen);
</del><ins>+    interface-&gt;setupFullscreen(*model-&gt;layerHost(), initialRect, parentView, videoFullscreenMode, allowsPictureInPicture);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebVideoFullscreenManagerProxy::resetMediaState(uint64_t contextId)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -2799,7 +2799,7 @@
</span><span class="cx">     settings.setAccelerated2dCanvasEnabled(store.getBoolValueForKey(WebPreferencesKey::accelerated2dCanvasEnabledKey()));
</span><span class="cx">     settings.setRequiresUserGestureForMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForMediaPlaybackKey()));
</span><span class="cx">     settings.setAllowsInlineMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsInlineMediaPlaybackKey()));
</span><del>-    settings.setAllowsAlternateFullscreen(store.getBoolValueForKey(WebPreferencesKey::allowsAlternateFullscreenKey()));
</del><ins>+    settings.setAllowsPictureInPictureMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey()));
</ins><span class="cx">     settings.setMockScrollbarsEnabled(store.getBoolValueForKey(WebPreferencesKey::mockScrollbarsEnabledKey()));
</span><span class="cx">     settings.setHyperlinkAuditingEnabled(store.getBoolValueForKey(WebPreferencesKey::hyperlinkAuditingEnabledKey()));
</span><span class="cx">     settings.setRequestAnimationFrameEnabled(store.getBoolValueForKey(WebPreferencesKey::requestAnimationFrameEnabledKey()));
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessiosWebVideoFullscreenManagermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm (185726 => 185727)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm        2015-06-18 23:38:55 UTC (rev 185726)
+++ trunk/Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm        2015-06-18 23:42:22 UTC (rev 185727)
</span><span class="lines">@@ -240,9 +240,9 @@
</span><span class="cx">         return;
</span><span class="cx">     interface-&gt;setIsAnimating(true);
</span><span class="cx"> 
</span><del>-    bool allowOptimizedFullscreen = videoElement.mediaSession().allowsAlternateFullscreen(videoElement);
</del><ins>+    bool allowsPictureInPicture = videoElement.mediaSession().allowsPictureInPicture(videoElement);
</ins><span class="cx">     
</span><del>-    m_page-&gt;send(Messages::WebVideoFullscreenManagerProxy::SetupFullscreenWithID(contextId, interface-&gt;layerHostingContext()-&gt;contextID(), clientRectForElement(&amp;videoElement), m_page-&gt;deviceScaleFactor(), interface-&gt;fullscreenMode(), allowOptimizedFullscreen), m_page-&gt;pageID());
</del><ins>+    m_page-&gt;send(Messages::WebVideoFullscreenManagerProxy::SetupFullscreenWithID(contextId, interface-&gt;layerHostingContext()-&gt;contextID(), clientRectForElement(&amp;videoElement), m_page-&gt;deviceScaleFactor(), interface-&gt;fullscreenMode(), allowsPictureInPicture), m_page-&gt;pageID());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebVideoFullscreenManager::exitVideoFullscreenForVideoElement(WebCore::HTMLVideoElement&amp; videoElement)
</span></span></pre>
</div>
</div>

</body>
</html>