<!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>[160296] trunk/Source/WebKit2</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/160296">160296</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2013-12-08 20:11:00 -0800 (Sun, 08 Dec 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>[Cocoa] Remove knowledge of the WKView from the WebFullScreenManagerProxy by adding a proper client
https://bugs.webkit.org/show_bug.cgi?id=125427

Reviewed by Dan Bernstein.

* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
Implement the new client.

* UIProcess/API/mac/WKView.mm:
Remove call to setWebView() and do some cleanup.

* UIProcess/API/mac/WKViewInternal.h:
Convert to property syntax and re-arrange.

* UIProcess/PageClient.h:
Expose access to the new client.

* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::create):
(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
(WebKit::WebFullScreenManagerProxy::invalidate):
(WebKit::WebFullScreenManagerProxy::close):
(WebKit::WebFullScreenManagerProxy::isFullScreen):
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
(WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
(WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
* UIProcess/WebFullScreenManagerProxy.h:
Use the new client.

* UIProcess/WebPageProxy.cpp:
Pass the new client.

* UIProcess/mac/WebFullScreenManagerProxyMac.mm:
Removed. Now goes through the client.

* WebKit2.xcodeproj/project.pbxproj:
Remove WebFullScreenManagerProxyMac.mm.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacPageClientImplh">trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacPageClientImplmm">trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKViewmm">trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKViewInternalh">trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessPageClienth">trunk/Source/WebKit2/UIProcess/PageClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebFullScreenManagerProxycpp">trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebFullScreenManagerProxyh">trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacWKFullScreenWindowControllermm">trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessmacWebFullScreenManagerProxyMacmm">trunk/Source/WebKit2/UIProcess/mac/WebFullScreenManagerProxyMac.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/ChangeLog        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -1,3 +1,52 @@
</span><ins>+2013-12-08  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        [Cocoa] Remove knowledge of the WKView from the WebFullScreenManagerProxy by adding a proper client
+        https://bugs.webkit.org/show_bug.cgi?id=125427
+
+        Reviewed by Dan Bernstein.
+
+        * UIProcess/API/mac/PageClientImpl.h:
+        * UIProcess/API/mac/PageClientImpl.mm:
+        (WebKit::PageClientImpl::fullScreenManagerProxyClient):
+        (WebKit::PageClientImpl::closeFullScreenManager):
+        (WebKit::PageClientImpl::isFullScreen):
+        (WebKit::PageClientImpl::enterFullScreen):
+        (WebKit::PageClientImpl::exitFullScreen):
+        (WebKit::PageClientImpl::beganEnterFullScreen):
+        (WebKit::PageClientImpl::beganExitFullScreen):
+        Implement the new client.
+
+        * UIProcess/API/mac/WKView.mm:
+        Remove call to setWebView() and do some cleanup.
+
+        * UIProcess/API/mac/WKViewInternal.h:
+        Convert to property syntax and re-arrange.
+
+        * UIProcess/PageClient.h:
+        Expose access to the new client.
+
+        * UIProcess/WebFullScreenManagerProxy.cpp:
+        (WebKit::WebFullScreenManagerProxy::create):
+        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
+        (WebKit::WebFullScreenManagerProxy::invalidate):
+        (WebKit::WebFullScreenManagerProxy::close):
+        (WebKit::WebFullScreenManagerProxy::isFullScreen):
+        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
+        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
+        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
+        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
+        * UIProcess/WebFullScreenManagerProxy.h:
+        Use the new client.
+
+        * UIProcess/WebPageProxy.cpp:
+        Pass the new client.
+
+        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
+        Removed. Now goes through the client.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+        Remove WebFullScreenManagerProxyMac.mm.
+
</ins><span class="cx"> 2013-12-07  Sam Weinig  &lt;sam@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         [Cocoa] Remove webProcessPlugInInitialize: from the WKWebProcessPlugIn protocol
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacPageClientImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CorrectionPanel.h&quot;
</span><span class="cx"> #include &quot;PageClient.h&quot;
</span><ins>+#include &quot;WebFullScreenManagerProxy.h&quot;
</ins><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @class WKEditorUndoTargetObjC;
</span><span class="lines">@@ -40,14 +41,19 @@
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> class FindIndicatorWindow;
</span><span class="cx"> 
</span><del>-class PageClientImpl FINAL : public PageClient {
</del><ins>+class PageClientImpl FINAL : public PageClient
+#if ENABLE(FULLSCREEN_API)
+    , public WebFullScreenManagerProxyClient
+#endif
+    {
</ins><span class="cx"> public:
</span><del>-    explicit PageClientImpl(WKView*);
</del><ins>+    explicit PageClientImpl(WKView *);
</ins><span class="cx">     virtual ~PageClientImpl();
</span><span class="cx">     
</span><span class="cx">     void viewWillMoveToAnotherWindow();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    // PageClient
</ins><span class="cx">     virtual std::unique_ptr&lt;DrawingAreaProxy&gt; createDrawingAreaProxy();
</span><span class="cx">     virtual void setViewNeedsDisplay(const WebCore::IntRect&amp;);
</span><span class="cx">     virtual void displayView();
</span><span class="lines">@@ -134,6 +140,21 @@
</span><span class="cx">     virtual Vector&lt;String&gt; dictationAlternatives(uint64_t dictationContext);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    // Auxiliary Client Creation
+#if ENABLE(FULLSCREEN_API)
+    WebFullScreenManagerProxyClient&amp; fullScreenManagerProxyClient() OVERRIDE;
+#endif
+
+#if ENABLE(FULLSCREEN_API)
+    // WebFullScreenManagerProxyClient
+    virtual void closeFullScreenManager() OVERRIDE;
+    virtual bool isFullScreen() OVERRIDE;
+    virtual void enterFullScreen() OVERRIDE;
+    virtual void exitFullScreen() OVERRIDE;
+    virtual void beganEnterFullScreen(const WebCore::IntRect&amp; initialFrame, const WebCore::IntRect&amp; finalFrame) OVERRIDE;
+    virtual void beganExitFullScreen(const WebCore::IntRect&amp; initialFrame, const WebCore::IntRect&amp; finalFrame) OVERRIDE;
+#endif
+
</ins><span class="cx">     WKView* m_wkView;
</span><span class="cx">     RetainPtr&lt;WKEditorUndoTargetObjC&gt; m_undoTarget;
</span><span class="cx"> #if USE(AUTOCORRECTION_PANEL)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacPageClientImplmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -26,20 +26,17 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;PageClientImpl.h&quot;
</span><span class="cx"> 
</span><del>-#if USE(DICTATION_ALTERNATIVES)
-#import &lt;AppKit/NSTextAlternatives.h&gt;
-#endif
</del><span class="cx"> #import &quot;AttributedString.h&quot;
</span><span class="cx"> #import &quot;ColorSpaceData.h&quot;
</span><span class="cx"> #import &quot;DataReference.h&quot;
</span><span class="cx"> #import &quot;DictionaryPopupInfo.h&quot;
</span><span class="cx"> #import &quot;FindIndicator.h&quot;
</span><span class="cx"> #import &quot;NativeWebKeyboardEvent.h&quot;
</span><ins>+#import &quot;StringUtilities.h&quot;
</ins><span class="cx"> #import &quot;WKAPICast.h&quot;
</span><ins>+#import &quot;WKFullScreenWindowController.h&quot;
</ins><span class="cx"> #import &quot;WKStringCF.h&quot;
</span><span class="cx"> #import &quot;WKViewInternal.h&quot;
</span><del>-#import &quot;WKViewPrivate.h&quot;
-#import &quot;StringUtilities.h&quot;
</del><span class="cx"> #import &quot;WebColorPickerMac.h&quot;
</span><span class="cx"> #import &quot;WebContextMenuProxyMac.h&quot;
</span><span class="cx"> #import &quot;WebEditCommandProxy.h&quot;
</span><span class="lines">@@ -53,10 +50,14 @@
</span><span class="cx"> #import &lt;WebCore/KeyboardEvent.h&gt;
</span><span class="cx"> #import &lt;WebCore/NotImplemented.h&gt;
</span><span class="cx"> #import &lt;WebCore/SharedBuffer.h&gt;
</span><ins>+#import &lt;WebKitSystemInterface.h&gt;
</ins><span class="cx"> #import &lt;wtf/text/CString.h&gt;
</span><span class="cx"> #import &lt;wtf/text/WTFString.h&gt;
</span><del>-#import &lt;WebKitSystemInterface.h&gt;
</del><span class="cx"> 
</span><ins>+#if USE(DICTATION_ALTERNATIVES)
+#import &lt;AppKit/NSTextAlternatives.h&gt;
+#endif
+
</ins><span class="cx"> @interface NSApplication (WebNSApplicationDetails)
</span><span class="cx"> - (NSCursor *)_cursorRectCursor;
</span><span class="cx"> @end
</span><span class="lines">@@ -554,4 +555,48 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(FULLSCREEN_API)
+
+WebFullScreenManagerProxyClient&amp; PageClientImpl::fullScreenManagerProxyClient()
+{
+    return *this;
+}
+
+// WebFullScreenManagerProxyClient
+
+void PageClientImpl::closeFullScreenManager()
+{
+    [m_wkView _closeFullScreenWindowController];
+}
+
+bool PageClientImpl::isFullScreen()
+{
+    if (!m_wkView._hasFullScreenWindowController)
+        return false;
+
+    return m_wkView._fullScreenWindowController.isFullScreen;
+}
+
+void PageClientImpl::enterFullScreen()
+{
+    [m_wkView._fullScreenWindowController enterFullScreen:nil];
+}
+
+void PageClientImpl::exitFullScreen()
+{
+    [m_wkView._fullScreenWindowController exitFullScreen];
+}
+
+void PageClientImpl::beganEnterFullScreen(const IntRect&amp; initialFrame, const IntRect&amp; finalFrame)
+{
+    [m_wkView._fullScreenWindowController beganEnterFullScreenWithInitialFrame:initialFrame finalFrame:finalFrame];
+}
+
+void PageClientImpl::beganExitFullScreen(const IntRect&amp; initialFrame, const IntRect&amp; finalFrame)
+{
+    [m_wkView._fullScreenWindowController beganExitFullScreenWithInitialFrame:initialFrame finalFrame:finalFrame];
+}
+
+#endif // ENABLE(FULLSCREEN_API)
+
</ins><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -58,7 +58,6 @@
</span><span class="cx"> #import &quot;WKViewPrivate.h&quot;
</span><span class="cx"> #import &quot;WebContext.h&quot;
</span><span class="cx"> #import &quot;WebEventFactory.h&quot;
</span><del>-#import &quot;WebFullScreenManagerProxy.h&quot;
</del><span class="cx"> #import &quot;WebKit2Initialize.h&quot;
</span><span class="cx"> #import &quot;WebPage.h&quot;
</span><span class="cx"> #import &quot;WebPageGroup.h&quot;
</span><span class="lines">@@ -75,6 +74,7 @@
</span><span class="cx"> #import &lt;WebCore/FloatRect.h&gt;
</span><span class="cx"> #import &lt;WebCore/Image.h&gt;
</span><span class="cx"> #import &lt;WebCore/IntRect.h&gt;
</span><ins>+#import &lt;WebCore/FileSystem.h&gt;
</ins><span class="cx"> #import &lt;WebCore/KeyboardEvent.h&gt;
</span><span class="cx"> #import &lt;WebCore/LocalizedStrings.h&gt;
</span><span class="cx"> #import &lt;WebCore/PlatformEventFactoryMac.h&gt;
</span><span class="lines">@@ -82,10 +82,9 @@
</span><span class="cx"> #import &lt;WebCore/Region.h&gt;
</span><span class="cx"> #import &lt;WebCore/SharedBuffer.h&gt;
</span><span class="cx"> #import &lt;WebCore/TextAlternativeWithRange.h&gt;
</span><del>-#import &lt;WebCore/WebCoreNSStringExtras.h&gt;
</del><span class="cx"> #import &lt;WebCore/WebCoreFullScreenPlaceholderView.h&gt;
</span><span class="cx"> #import &lt;WebCore/WebCoreFullScreenWindow.h&gt;
</span><del>-#import &lt;WebCore/FileSystem.h&gt;
</del><ins>+#import &lt;WebCore/WebCoreNSStringExtras.h&gt;
</ins><span class="cx"> #import &lt;WebKitSystemInterface.h&gt;
</span><span class="cx"> #import &lt;sys/stat.h&gt;
</span><span class="cx"> #import &lt;wtf/RefPtr.h&gt;
</span><span class="lines">@@ -2782,12 +2781,12 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><del>-- (BOOL)hasFullScreenWindowController
</del><ins>+- (BOOL)_hasFullScreenWindowController
</ins><span class="cx"> {
</span><span class="cx">     return (bool)_data-&gt;_fullScreenWindowController;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (WKFullScreenWindowController*)fullScreenWindowController
</del><ins>+- (WKFullScreenWindowController *)_fullScreenWindowController
</ins><span class="cx"> {
</span><span class="cx">     if (!_data-&gt;_fullScreenWindowController)
</span><span class="cx">         _data-&gt;_fullScreenWindowController = adoptNS([[WKFullScreenWindowController alloc] initWithWindow:[self createFullScreenWindow] webView:self]);
</span><span class="lines">@@ -2795,11 +2794,12 @@
</span><span class="cx">     return _data-&gt;_fullScreenWindowController.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)closeFullScreenWindowController
</del><ins>+- (void)_closeFullScreenWindowController
</ins><span class="cx"> {
</span><span class="cx">     if (!_data-&gt;_fullScreenWindowController)
</span><span class="cx">         return;
</span><del>-    [_data-&gt;_fullScreenWindowController.get() close];
</del><ins>+
+    [_data-&gt;_fullScreenWindowController close];
</ins><span class="cx">     _data-&gt;_fullScreenWindowController = nullptr;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="lines">@@ -2911,9 +2911,7 @@
</span><span class="cx">     _data-&gt;_page = toImpl(contextRef)-&gt;createWebPage(*_data-&gt;_pageClient, toImpl(pageGroupRef), toImpl(relatedPage));
</span><span class="cx">     _data-&gt;_page-&gt;setIntrinsicDeviceScaleFactor([self _intrinsicDeviceScaleFactor]);
</span><span class="cx">     _data-&gt;_page-&gt;initializeWebPage();
</span><del>-#if ENABLE(FULLSCREEN_API)
-    _data-&gt;_page-&gt;fullScreenManager()-&gt;setWebView(self);
-#endif
</del><ins>+
</ins><span class="cx">     _data-&gt;_mouseDownEvent = nil;
</span><span class="cx">     _data-&gt;_ignoringMouseDraggedEvents = NO;
</span><span class="cx">     _data-&gt;_clipsToVisibleRect = NO;
</span><span class="lines">@@ -3122,7 +3120,7 @@
</span><span class="cx">     _data-&gt;_page-&gt;setUnderlayColor(colorFromNSColor(underlayColor));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (NSView*)fullScreenPlaceholderView
</del><ins>+- (NSView *)fullScreenPlaceholderView
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><span class="cx">     if (_data-&gt;_fullScreenWindowController &amp;&amp; [_data-&gt;_fullScreenWindowController isFullScreen])
</span><span class="lines">@@ -3131,6 +3129,20 @@
</span><span class="cx">     return nil;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (NSWindow *)createFullScreenWindow
+{
+#if ENABLE(FULLSCREEN_API)
+#if __MAC_OS_X_VERSION_MIN_REQUIRED &lt;= 1080
+    NSRect contentRect = NSZeroRect;
+#else
+    NSRect contentRect = [[NSScreen mainScreen] frame];
+#endif
+    return [[[WebCoreFullScreenWindow alloc] initWithContentRect:contentRect styleMask:(NSBorderlessWindowMask | NSResizableWindowMask) backing:NSBackingStoreBuffered defer:NO] autorelease];
+#else
+    return nil;
+#endif
+}
+
</ins><span class="cx"> - (void)beginDeferringViewInWindowChanges
</span><span class="cx"> {
</span><span class="cx">     if (_data-&gt;_shouldDeferViewInWindowChanges) {
</span><span class="lines">@@ -3230,20 +3242,6 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (NSWindow*)createFullScreenWindow
-{
-#if ENABLE(FULLSCREEN_API)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED &lt;= 1080
-    NSRect contentRect = NSZeroRect;
-#else
-    NSRect contentRect = [[NSScreen mainScreen] frame];
-#endif
-    return [[[WebCoreFullScreenWindow alloc] initWithContentRect:contentRect styleMask:(NSBorderlessWindowMask | NSResizableWindowMask) backing:NSBackingStoreBuffered defer:NO] autorelease];
-#else
-    return nil;
-#endif
-}
-
</del><span class="cx"> - (BOOL)isUsingUISideCompositing
</span><span class="cx"> {
</span><span class="cx">     if (DrawingAreaProxy* drawingArea = _data-&gt;_page-&gt;drawingArea())
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewInternalh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#import &quot;WKView.h&quot;
</del><ins>+#import &quot;WKViewPrivate.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #import &quot;PluginComplexTextInputState.h&quot;
</span><span class="cx"> #import &quot;WebFindOptions.h&quot;
</span><span class="lines">@@ -83,12 +83,6 @@
</span><span class="cx"> 
</span><span class="cx"> - (WebKit::ColorSpaceData)_colorSpace;
</span><span class="cx"> 
</span><del>-#if ENABLE(FULLSCREEN_API)
-- (BOOL)hasFullScreenWindowController;
-- (WKFullScreenWindowController*)fullScreenWindowController;
-- (void)closeFullScreenWindowController;
-#endif
-
</del><span class="cx"> - (void)_cacheWindowBottomCornerRect;
</span><span class="cx"> 
</span><span class="cx"> - (NSInteger)spellCheckerDocumentTag;
</span><span class="lines">@@ -97,4 +91,10 @@
</span><span class="cx"> - (void)_setSuppressVisibilityUpdates:(BOOL)suppressVisibilityUpdates;
</span><span class="cx"> - (BOOL)_suppressVisibilityUpdates;
</span><span class="cx"> 
</span><ins>+// FullScreen
+
+@property (readonly) BOOL _hasFullScreenWindowController;
+@property (readonly) WKFullScreenWindowController *_fullScreenWindowController;
+- (void)_closeFullScreenWindowController;
+
</ins><span class="cx"> @end
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessPageClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/PageClient.h (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/PageClient.h        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/PageClient.h        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -43,11 +43,7 @@
</span><span class="cx"> OBJC_CLASS WKView;
</span><span class="cx"> OBJC_CLASS NSTextAlternatives;
</span><span class="cx"> #endif
</span><del>-
-#if PLATFORM(IOS)
-OBJC_CLASS UIWKView;
</del><span class="cx"> #endif
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx">     class Cursor;
</span><span class="lines">@@ -59,16 +55,22 @@
</span><span class="cx"> class DrawingAreaProxy;
</span><span class="cx"> class FindIndicator;
</span><span class="cx"> class NativeWebKeyboardEvent;
</span><ins>+class WebContextMenuProxy;
+class WebEditCommandProxy;
+class WebPopupMenuProxy;
+
</ins><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx"> class NativeWebTouchEvent;
</span><span class="cx"> #endif
</span><del>-class WebContextMenuProxy;
-class WebEditCommandProxy;
-class WebPopupMenuProxy;
</del><ins>+
</ins><span class="cx"> #if ENABLE(INPUT_TYPE_COLOR)
</span><span class="cx"> class WebColorPicker;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(FULLSCREEN_API)
+class WebFullScreenManagerProxyClient;
+#endif
+
</ins><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> struct ColorSpaceData;
</span><span class="cx"> #endif
</span><span class="lines">@@ -242,6 +244,11 @@
</span><span class="cx">     virtual void selectionDidChange() = 0;
</span><span class="cx">     virtual bool interpretKeyEvent(const NativeWebKeyboardEvent&amp;, bool isCharEvent) = 0;
</span><span class="cx"> #endif
</span><ins>+
+    // Auxiliary Client Creation
+#if ENABLE(FULLSCREEN_API)
+    virtual WebFullScreenManagerProxyClient&amp; fullScreenManagerProxyClient() = 0;
+#endif
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebFullScreenManagerProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.cpp        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -28,20 +28,24 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><span class="cx"> 
</span><del>-#include &quot;WebContext.h&quot;
</del><span class="cx"> #include &quot;WebFullScreenManagerMessages.h&quot;
</span><span class="cx"> #include &quot;WebFullScreenManagerProxyMessages.h&quot;
</span><ins>+#include &quot;WebPageProxy.h&quot;
+#include &quot;WebProcessProxy.h&quot;
+#include &lt;WebCore/IntRect.h&gt;
</ins><span class="cx"> 
</span><ins>+using namespace WebCore;
+
</ins><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;WebFullScreenManagerProxy&gt; WebFullScreenManagerProxy::create(WebPageProxy* page)
</del><ins>+PassRefPtr&lt;WebFullScreenManagerProxy&gt; WebFullScreenManagerProxy::create(WebPageProxy&amp; page, WebFullScreenManagerProxyClient&amp; client)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new WebFullScreenManagerProxy(page));
</del><ins>+    return adoptRef(new WebFullScreenManagerProxy(page, client));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebFullScreenManagerProxy::WebFullScreenManagerProxy(WebPageProxy* page)
-    : m_page(page)
-    , m_webView(0)
</del><ins>+WebFullScreenManagerProxy::WebFullScreenManagerProxy(WebPageProxy&amp; page, WebFullScreenManagerProxyClient&amp; client)
+    : m_page(&amp;page)
+    , m_client(&amp;client)
</ins><span class="cx"> #if PLATFORM(EFL)
</span><span class="cx">     , m_hasRequestedFullScreen(false)
</span><span class="cx"> #endif
</span><span class="lines">@@ -53,11 +57,6 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFullScreenManagerProxy::setWebView(PlatformWebView* webView)
-{
-    m_webView = webView;
-}
-
</del><span class="cx"> void WebFullScreenManagerProxy::willEnterFullScreen()
</span><span class="cx"> {
</span><span class="cx">     m_page-&gt;process().send(Messages::WebFullScreenManager::WillEnterFullScreen(), m_page-&gt;pageID());
</span><span class="lines">@@ -103,6 +102,59 @@
</span><span class="cx">     m_page-&gt;process().send(Messages::WebFullScreenManager::RestoreScrollPosition(), m_page-&gt;pageID());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void WebFullScreenManagerProxy::invalidate()
+{
+    m_page-&gt;process().removeMessageReceiver(Messages::WebFullScreenManagerProxy::messageReceiverName(), m_page-&gt;pageID());
+
+    if (!m_client)
+        return;
+
+    m_client-&gt;closeFullScreenManager();
+    m_client = nullptr;
+}
+
+void WebFullScreenManagerProxy::close()
+{
+    if (!m_client)
+        return;
+    m_client-&gt;closeFullScreenManager();
+}
+
+bool WebFullScreenManagerProxy::isFullScreen()
+{
+    if (!m_client)
+        return false;
+    return m_client-&gt;isFullScreen();
+}
+
+void WebFullScreenManagerProxy::enterFullScreen()
+{
+    if (!m_client)
+        return;
+    m_client-&gt;enterFullScreen();
+}
+
+void WebFullScreenManagerProxy::exitFullScreen()
+{
+    if (!m_client)
+        return;
+    m_client-&gt;exitFullScreen();
+}
+    
+void WebFullScreenManagerProxy::beganEnterFullScreen(const IntRect&amp; initialFrame, const IntRect&amp; finalFrame)
+{
+    if (!m_client)
+        return;
+    m_client-&gt;beganEnterFullScreen(initialFrame, finalFrame);
+}
+
+void WebFullScreenManagerProxy::beganExitFullScreen(const IntRect&amp; initialFrame, const IntRect&amp; finalFrame)
+{
+    if (!m_client)
+        return;
+    m_client-&gt;beganExitFullScreen(initialFrame, finalFrame);
+}
+
</ins><span class="cx"> } // namespace WebKit
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(FULLSCREEN_API)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebFullScreenManagerProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -37,33 +37,29 @@
</span><span class="cx"> class IntRect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
-OBJC_CLASS WKView;
-#elif PLATFORM(GTK)
-typedef struct _WebKitWebViewBase WebKitWebViewBase;
-#endif
-
</del><span class="cx"> namespace WebKit {
</span><del>-    
-#if PLATFORM(MAC)
-typedef WKView PlatformWebView;
-#elif PLATFORM(GTK)
-typedef WebKitWebViewBase PlatformWebView;
-#elif PLATFORM(EFL)
-typedef Evas_Object PlatformWebView;
-#endif
</del><span class="cx"> 
</span><span class="cx"> class WebPageProxy;
</span><del>-class LayerTreeContext;
</del><span class="cx"> 
</span><ins>+class WebFullScreenManagerProxyClient {
+public:
+    virtual ~WebFullScreenManagerProxyClient() { }
+
+    virtual void closeFullScreenManager() = 0;
+    virtual bool isFullScreen() = 0;
+    virtual void enterFullScreen() = 0;
+    virtual void exitFullScreen() = 0;
+    virtual void beganEnterFullScreen(const WebCore::IntRect&amp; initialFrame, const WebCore::IntRect&amp; finalFrame) = 0;
+    virtual void beganExitFullScreen(const WebCore::IntRect&amp; initialFrame, const WebCore::IntRect&amp; finalFrame) = 0;
+};
+
</ins><span class="cx"> class WebFullScreenManagerProxy : public RefCounted&lt;WebFullScreenManagerProxy&gt;, public CoreIPC::MessageReceiver {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;WebFullScreenManagerProxy&gt; create(WebPageProxy*);
</del><ins>+    static PassRefPtr&lt;WebFullScreenManagerProxy&gt; create(WebPageProxy&amp;, WebFullScreenManagerProxyClient&amp;);
</ins><span class="cx">     virtual ~WebFullScreenManagerProxy();
</span><span class="cx"> 
</span><span class="cx">     void invalidate();
</span><span class="cx"> 
</span><del>-    void setWebView(PlatformWebView*);
</del><span class="cx">     bool isFullScreen();
</span><span class="cx">     void close();
</span><span class="cx"> 
</span><span class="lines">@@ -77,7 +73,7 @@
</span><span class="cx">     void restoreScrollPosition();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    explicit WebFullScreenManagerProxy(WebPageProxy*);
</del><ins>+    explicit WebFullScreenManagerProxy(WebPageProxy&amp;, WebFullScreenManagerProxyClient&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void supportsFullScreen(bool withKeyboard, bool&amp;);
</span><span class="cx">     void enterFullScreen();
</span><span class="lines">@@ -89,7 +85,7 @@
</span><span class="cx">     virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;, std::unique_ptr&lt;CoreIPC::MessageEncoder&gt;&amp;) OVERRIDE;
</span><span class="cx"> 
</span><span class="cx">     WebPageProxy* m_page;
</span><del>-    PlatformWebView* m_webView;
</del><ins>+    WebFullScreenManagerProxyClient* m_client;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(EFL)
</span><span class="cx">     bool m_hasRequestedFullScreen;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -335,7 +335,7 @@
</span><span class="cx">     m_inspector = WebInspectorProxy::create(this);
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><del>-    m_fullScreenManager = WebFullScreenManagerProxy::create(this);
</del><ins>+    m_fullScreenManager = WebFullScreenManagerProxy::create(*this, m_pageClient.fullScreenManagerProxyClient());
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(VIBRATION)
</span><span class="cx">     m_vibration = WebVibrationProxy::create(this);
</span><span class="lines">@@ -478,7 +478,7 @@
</span><span class="cx">     m_inspector = WebInspectorProxy::create(this);
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><del>-    m_fullScreenManager = WebFullScreenManagerProxy::create(this);
</del><ins>+    m_fullScreenManager = WebFullScreenManagerProxy::create(*this, m_pageClient.fullScreenManagerProxyClient());
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     initializeWebPage();
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWKFullScreenWindowControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -349,7 +349,6 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)beganExitFullScreenWithInitialFrame:(const WebCore::IntRect&amp;)initialFrame finalFrame:(const WebCore::IntRect&amp;)finalFrame
</span><span class="cx"> {
</span><del>-
</del><span class="cx">     if (_fullScreenState != WaitingToExitFullScreen)
</span><span class="cx">         return;
</span><span class="cx">     _fullScreenState = ExitingFullScreen;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacWebFullScreenManagerProxyMacmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/mac/WebFullScreenManagerProxyMac.mm (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/WebFullScreenManagerProxyMac.mm        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/UIProcess/mac/WebFullScreenManagerProxyMac.mm        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -1,99 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import &quot;config.h&quot;
-#import &quot;WebFullScreenManagerProxy.h&quot;
-
-#if ENABLE(FULLSCREEN_API) &amp;&amp; !PLATFORM(IOS)
-
-#import &quot;LayerTreeContext.h&quot;
-#import &quot;WKFullScreenWindowController.h&quot;
-#import &quot;WKViewInternal.h&quot;
-#import &quot;WebFullScreenManagerProxyMessages.h&quot;
-#import &quot;WebPageProxy.h&quot;
-#import &quot;WebProcessProxy.h&quot;
-#import &lt;WebCore/IntRect.h&gt;
-
-using namespace WebCore;
-
-namespace WebKit {
-
-void WebFullScreenManagerProxy::invalidate()
-{
-    m_page-&gt;process().removeMessageReceiver(Messages::WebFullScreenManagerProxy::messageReceiverName(), m_page-&gt;pageID());
-
-    if (!m_webView)
-        return;
-    
-    [m_webView closeFullScreenWindowController];
-    m_webView = 0;
-}
-
-void WebFullScreenManagerProxy::close()
-{
-    if (!m_webView)
-        return;
-    [[m_webView fullScreenWindowController] close];
-}
-
-bool WebFullScreenManagerProxy::isFullScreen()
-{
-    if (!m_webView)
-        return false;
-    if (![m_webView hasFullScreenWindowController])
-        return false;
-
-    return [[m_webView fullScreenWindowController] isFullScreen];
-}
-
-void WebFullScreenManagerProxy::enterFullScreen()
-{
-    if (!m_webView)
-        return;
-    [[m_webView fullScreenWindowController] enterFullScreen:nil];
-}
-
-void WebFullScreenManagerProxy::exitFullScreen()
-{
-    if (!m_webView)
-        return;
-    [[m_webView fullScreenWindowController] exitFullScreen];
-}
-    
-void WebFullScreenManagerProxy::beganEnterFullScreen(const IntRect&amp; initialFrame, const IntRect&amp; finalFrame)
-{
-    if (m_webView)
-        [[m_webView fullScreenWindowController] beganEnterFullScreenWithInitialFrame:initialFrame finalFrame:finalFrame];
-}
-
-void WebFullScreenManagerProxy::beganExitFullScreen(const IntRect&amp; initialFrame, const IntRect&amp; finalFrame)
-{
-    if (m_webView)
-        [[m_webView fullScreenWindowController] beganExitFullScreenWithInitialFrame:initialFrame finalFrame:finalFrame];
-}
-
-} // namespace WebKit
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (160295 => 160296)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2013-12-09 01:08:53 UTC (rev 160295)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2013-12-09 04:11:00 UTC (rev 160296)
</span><span class="lines">@@ -1228,7 +1228,6 @@
</span><span class="cx">                 CDC3831017212440008A2FC3 /* CookieStorageShim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CDC3830D1721242D008A2FC3 /* CookieStorageShim.cpp */; };
</span><span class="cx">                 CDCA85C8132ABA4E00E961DF /* WKFullScreenWindowController.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDCA85C6132ABA4E00E961DF /* WKFullScreenWindowController.mm */; };
</span><span class="cx">                 CDCA85C9132ABA4E00E961DF /* WKFullScreenWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = CDCA85C7132ABA4E00E961DF /* WKFullScreenWindowController.h */; };
</span><del>-                CDCA85EE132AD70100E961DF /* WebFullScreenManagerProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDCA85DE132AD05300E961DF /* WebFullScreenManagerProxyMac.mm */; };
</del><span class="cx">                 CDDF622F1728A20D001EC01F /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCD0042C110C1E27003B8A67 /* CoreServices.framework */; };
</span><span class="cx">                 CEDA12E2152CD1AE00D9E08D /* WebAlternativeTextClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEDA12DF152CCAE800D9E08D /* WebAlternativeTextClient.cpp */; };
</span><span class="cx">                 CEDA12E3152CD1B300D9E08D /* WebAlternativeTextClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA12DE152CCAE800D9E08D /* WebAlternativeTextClient.h */; };
</span><span class="lines">@@ -2843,7 +2842,6 @@
</span><span class="cx">                 CDCA85C6132ABA4E00E961DF /* WKFullScreenWindowController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKFullScreenWindowController.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CDCA85C7132ABA4E00E961DF /* WKFullScreenWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFullScreenWindowController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CDCA85D4132AC2B300E961DF /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = &quot;&lt;absolute&gt;&quot;; };
</span><del>-                CDCA85DE132AD05300E961DF /* WebFullScreenManagerProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFullScreenManagerProxyMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 CEDA12DE152CCAE800D9E08D /* WebAlternativeTextClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebAlternativeTextClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CEDA12DF152CCAE800D9E08D /* WebAlternativeTextClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebAlternativeTextClient.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 D3B9484211FF4B6500032B39 /* WebPopupMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPopupMenu.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -5244,7 +5242,6 @@
</span><span class="cx">                                 51ACBB9E127A8F2C00D203B9 /* WebContextMenuProxyMac.h */,
</span><span class="cx">                                 51ACBB9F127A8F2C00D203B9 /* WebContextMenuProxyMac.mm */,
</span><span class="cx">                                 F6D632BA133D181B00743D77 /* WebCookieManagerProxyMac.mm */,
</span><del>-                                CDCA85DE132AD05300E961DF /* WebFullScreenManagerProxyMac.mm */,
</del><span class="cx">                                 1CA8B935127C774E00576C2B /* WebInspectorProxyMac.mm */,
</span><span class="cx">                                 BC857E8512B71EBB00EDEB2E /* WebPageProxyMac.mm */,
</span><span class="cx">                                 BC5750951268F3C6006F0F12 /* WebPopupMenuProxyMac.h */,
</span><span class="lines">@@ -7267,7 +7264,6 @@
</span><span class="cx">                                 755422BD18062BB20046F6A8 /* WKOriginDataManager.cpp in Sources */,
</span><span class="cx">                                 CD73BA4E131ACDB700EEDED2 /* WebFullScreenManagerMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 CD6F75F4131B66D000D6B21E /* WebFullScreenManagerProxy.cpp in Sources */,
</span><del>-                                CDCA85EE132AD70100E961DF /* WebFullScreenManagerProxyMac.mm in Sources */,
</del><span class="cx">                                 CD73BA47131ACC9A00EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 BC1BE1E112D54A410004A228 /* WebGeolocationClient.cpp in Sources */,
</span><span class="cx">                                 BC0E5FE612D697160012A72A /* WebGeolocationManager.cpp in Sources */,
</span></span></pre>
</div>
</div>

</body>
</html>