Title: [141173] trunk/Source
Revision
141173
Author
[email protected]
Date
2013-01-29 15:54:46 -0800 (Tue, 29 Jan 2013)

Log Message

Allow clients to ask for the WebView/WKView placeholder view when in full screen mode.
https://bugs.webkit.org/show_bug.cgi?id=103558
<rdar://problem/12763112>

Reviewed by Benjamin Poulain.

Source/WebKit/mac:

Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
view when in full screen mode.  Add a simple accessor for the existing placeholder view to
WebFullScreenController and WebView.

* WebView/WebFullScreenController.h:
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController webViewPlaceholder]): Added simple accessor.
* WebView/WebView.mm:
(-[WebView fullScreenPlaceholderView]): Added simple accessor.

Source/WebKit2:

Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
view when in full screen mode.  Add a simple accessor for the existing placeholder view to
WKFullScreenWindowController and WKView.

* UIProcess/API/mac/WKView.mm:
(-[WKView fullScreenPlaceholderView]): Added simple accessor.
* UIProcess/API/mac/WKViewPrivate.h:
* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController webViewPlaceholder]): Added simple accessor.

Modified Paths

Diff

Modified: trunk/Source/WebKit/mac/ChangeLog (141172 => 141173)


--- trunk/Source/WebKit/mac/ChangeLog	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit/mac/ChangeLog	2013-01-29 23:54:46 UTC (rev 141173)
@@ -1,3 +1,21 @@
+2012-11-28  Jer Noble  <[email protected]>
+
+        Allow clients to ask for the WebView/WKView placeholder view when in full screen mode.
+        https://bugs.webkit.org/show_bug.cgi?id=103558
+        <rdar://problem/12763112>
+
+        Reviewed by Benjamin Poulain.
+
+        Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
+        view when in full screen mode.  Add a simple accessor for the existing placeholder view to
+        WebFullScreenController and WebView.
+
+        * WebView/WebFullScreenController.h:
+        * WebView/WebFullScreenController.mm:
+        (-[WebFullScreenController webViewPlaceholder]): Added simple accessor.
+        * WebView/WebView.mm:
+        (-[WebView fullScreenPlaceholderView]): Added simple accessor.
+
 2013-01-28  Pratik Solanki  <[email protected]>
 
         PLATFORM(IOS) should come before __MAC_OS_X_VERSION_MIN_REQUIRED

Modified: trunk/Source/WebKit/mac/WebView/WebFullScreenController.h (141172 => 141173)


--- trunk/Source/WebKit/mac/WebView/WebFullScreenController.h	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit/mac/WebView/WebFullScreenController.h	2013-01-29 23:54:46 UTC (rev 141173)
@@ -59,6 +59,8 @@
 - (WebView*)webView;
 - (void)setWebView:(WebView*)webView;
 
+- (NSView*)webViewPlaceholder;
+
 - (BOOL)isFullScreen;
 
 - (void)setElement:(PassRefPtr<WebCore::Element>)element;

Modified: trunk/Source/WebKit/mac/WebView/WebFullScreenController.mm (141172 => 141173)


--- trunk/Source/WebKit/mac/WebView/WebFullScreenController.mm	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit/mac/WebView/WebFullScreenController.mm	2013-01-29 23:54:46 UTC (rev 141173)
@@ -139,6 +139,11 @@
     _webView = webView;
 }
 
+- (NSView*)webViewPlaceholder
+{
+    return _webViewPlaceholder.get();
+}
+
 - (Element*)element
 {
     return _element.get();

Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (141172 => 141173)


--- trunk/Source/WebKit/mac/WebView/WebView.mm	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm	2013-01-29 23:54:46 UTC (rev 141173)
@@ -6719,6 +6719,19 @@
 
 @end
 
+@implementation WebView (WebViewFullScreen)
+
+- (NSView*)fullScreenPlaceholderView
+{
+#if ENABLE(FULLSCREEN_API)
+    if (_private->newFullscreenController && [_private->newFullscreenController isFullScreen])
+        return [_private->newFullscreenController webViewPlaceholder];
+#endif
+    return nil;
+}
+
+@end
+
 void WebInstallMemoryPressureHandler(void)
 {
     memoryPressureHandler().install();

Modified: trunk/Source/WebKit2/ChangeLog (141172 => 141173)


--- trunk/Source/WebKit2/ChangeLog	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit2/ChangeLog	2013-01-29 23:54:46 UTC (rev 141173)
@@ -1,3 +1,22 @@
+2012-11-28  Jer Noble  <[email protected]>
+
+        Allow clients to ask for the WebView/WKView placeholder view when in full screen mode.
+        https://bugs.webkit.org/show_bug.cgi?id=103558
+        <rdar://problem/12763112>
+
+        Reviewed by Benjamin Poulain.
+
+        Clients may want to behave differently when their WebView/WKView has been swapped out by a placeholder
+        view when in full screen mode.  Add a simple accessor for the existing placeholder view to
+        WKFullScreenWindowController and WKView.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView fullScreenPlaceholderView]): Added simple accessor.
+        * UIProcess/API/mac/WKViewPrivate.h:
+        * UIProcess/mac/WKFullScreenWindowController.h:
+        * UIProcess/mac/WKFullScreenWindowController.mm:
+        (-[WKFullScreenWindowController webViewPlaceholder]): Added simple accessor.
+
 2013-01-29  Huang Dongsung  <[email protected]>
 
         [WK2] Call LayerTreeHost::deviceOrPageScaleFactorChanged() when a device or page scale factor is changed.

Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (141172 => 141173)


--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2013-01-29 23:54:46 UTC (rev 141173)
@@ -82,6 +82,7 @@
 #import <WebCore/SharedBuffer.h>
 #import <WebCore/TextAlternativeWithRange.h>
 #import <WebCore/WebCoreNSStringExtras.h>
+#import <WebCore/WebCoreFullScreenPlaceholderView.h>
 #import <WebCore/FileSystem.h>
 #import <WebKitSystemInterface.h>
 #import <sys/stat.h>
@@ -3267,6 +3268,15 @@
     _data->_page->setMainFrameIsScrollable(!expandsToFit);
 }
 
+- (NSView*)fullScreenPlaceholderView
+{
+#if ENABLE(FULLSCREEN_API)
+    if (_data->_fullScreenWindowController && [_data->_fullScreenWindowController isFullScreen])
+        return [_data->_fullScreenWindowController webViewPlaceholder];
+#endif
+    return nil;
+}
+
 @end
 
 @implementation WKResponderChainSink

Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h (141172 => 141173)


--- trunk/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h	2013-01-29 23:54:46 UTC (rev 141173)
@@ -53,4 +53,6 @@
 @property (readwrite) CGFloat minimumLayoutWidth;
 @property (readwrite) CGFloat minimumWidthForAutoLayout;
 
+- (NSView*)fullScreenPlaceholderView;
+
 @end

Modified: trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.h (141172 => 141173)


--- trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.h	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.h	2013-01-29 23:54:46 UTC (rev 141173)
@@ -62,6 +62,8 @@
 - (WKView*)webView;
 - (void)setWebView:(WKView*)webView;
 
+- (WebCoreFullScreenPlaceholderView*)webViewPlaceholder;
+
 - (BOOL)isFullScreen;
 
 - (void)enterFullScreen:(NSScreen *)screen;

Modified: trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm (141172 => 141173)


--- trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm	2013-01-29 23:35:54 UTC (rev 141172)
+++ trunk/Source/WebKit2/UIProcess/mac/WKFullScreenWindowController.mm	2013-01-29 23:54:46 UTC (rev 141173)
@@ -133,6 +133,11 @@
     return _isFullScreen;
 }
 
+- (WebCoreFullScreenPlaceholderView*)webViewPlaceholder
+{
+    return _webViewPlaceholder.get();
+}
+
 #pragma mark -
 #pragma mark NSWindowController overrides
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to