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