Title: [203295] trunk/Source/WebKit2
Revision
203295
Author
[email protected]
Date
2016-07-15 13:42:22 -0700 (Fri, 15 Jul 2016)

Log Message

Full screen ePub embedded video is playing on 1/4 screen, cut off
https://bugs.webkit.org/show_bug.cgi?id=159737
<rdar://problem/26259404>

Patch by Jer Noble <[email protected]> on 2016-07-15
Reviewed by Tim Horton.

Set the fixedLayoutSize to CGSizeZero when disabling fixed layout due to the
WebView not supporting arbitrary layout modes, and reset to the saved value
when the view does begin supporting arbitrary layout modes.

* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setFixedLayoutSize):
(WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (203294 => 203295)


--- trunk/Source/WebKit2/ChangeLog	2016-07-15 20:19:29 UTC (rev 203294)
+++ trunk/Source/WebKit2/ChangeLog	2016-07-15 20:42:22 UTC (rev 203295)
@@ -1,3 +1,20 @@
+2016-07-15  Jer Noble  <[email protected]>
+
+        Full screen ePub embedded video is playing on 1/4 screen, cut off
+        https://bugs.webkit.org/show_bug.cgi?id=159737
+        <rdar://problem/26259404>
+
+        Reviewed by Tim Horton.
+
+        Set the fixedLayoutSize to CGSizeZero when disabling fixed layout due to the 
+        WebView not supporting arbitrary layout modes, and reset to the saved value
+        when the view does begin supporting arbitrary layout modes.
+
+        * UIProcess/Cocoa/WebViewImpl.h:
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::setFixedLayoutSize):
+        (WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
+
 2016-07-14  Ryan Haddad  <[email protected]>
 
         Unreviewed, rolling out r203248.

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h (203294 => 203295)


--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h	2016-07-15 20:19:29 UTC (rev 203294)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h	2016-07-15 20:42:22 UTC (rev 203295)
@@ -559,6 +559,7 @@
     RetainPtr<WKViewLayoutStrategy> m_layoutStrategy;
     WKLayoutMode m_lastRequestedLayoutMode { kWKLayoutModeViewSize };
     CGFloat m_lastRequestedViewScale { 1 };
+    CGSize m_lastRequestedFixedLayoutSize { 0, 0 };
 
     bool m_inSecureInputState { false };
     RetainPtr<WKEditorUndoTargetObjC> m_undoTarget;

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm (203294 => 203295)


--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm	2016-07-15 20:19:29 UTC (rev 203294)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm	2016-07-15 20:42:22 UTC (rev 203295)
@@ -750,7 +750,10 @@
 
 void WebViewImpl::setFixedLayoutSize(CGSize fixedLayoutSize)
 {
-    m_page->setFixedLayoutSize(WebCore::expandedIntSize(WebCore::FloatSize(fixedLayoutSize)));
+    m_lastRequestedFixedLayoutSize = fixedLayoutSize;
+
+    if (supportsArbitraryLayoutModes())
+        m_page->setFixedLayoutSize(WebCore::expandedIntSize(WebCore::FloatSize(fixedLayoutSize)));
 }
 
 CGSize WebViewImpl::fixedLayoutSize() const
@@ -1001,16 +1004,20 @@
     if (!supportsArbitraryLayoutModes()) {
         WKLayoutMode oldRequestedLayoutMode = m_lastRequestedLayoutMode;
         CGFloat oldRequestedViewScale = m_lastRequestedViewScale;
+        CGSize oldRequestedFixedLayoutSize = m_lastRequestedFixedLayoutSize;
         setViewScale(1);
         setLayoutMode(kWKLayoutModeViewSize);
+        setFixedLayoutSize(CGSizeZero);
 
         // The 'last requested' parameters will have been overwritten by setting them above, but we don't
         // want this to count as a request (only changes from the client count), so reset them.
         m_lastRequestedLayoutMode = oldRequestedLayoutMode;
         m_lastRequestedViewScale = oldRequestedViewScale;
+        m_lastRequestedFixedLayoutSize = oldRequestedFixedLayoutSize;
     } else if (m_lastRequestedLayoutMode != [m_layoutStrategy layoutMode]) {
         setViewScale(m_lastRequestedViewScale);
         setLayoutMode(m_lastRequestedLayoutMode);
+        setFixedLayoutSize(m_lastRequestedFixedLayoutSize);
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to