WebKit Bugzilla
Attachment 338992 Details for
Bug 185050
: [Extra zoom mode] Add a mechanism to override default viewport behaviors in extra zoom mode
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Part 2 (patch for landing)
bug-185050-20180427084016.patch (text/plain), 58.75 KB, created by
Wenson Hsieh
on 2018-04-27 08:40:17 PDT
(
hide
)
Description:
Part 2 (patch for landing)
Filename:
MIME Type:
Creator:
Wenson Hsieh
Created:
2018-04-27 08:40:17 PDT
Size:
58.75 KB
patch
obsolete
>Subversion Revision: 231095 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 1d57f4a6f2fff4b22674d55bb4124de982626a16..e3b3ce1632b0f6fa36b556597735fa353cbe232b 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,28 @@ >+2018-04-26 Wenson Hsieh <wenson_hsieh@apple.com> >+ >+ Rename minimumLayoutSize to viewLayoutSize >+ https://bugs.webkit.org/show_bug.cgi?id=185050 >+ <rdar://problem/39624038> >+ >+ Reviewed by Tim Horton. >+ >+ See WebKit/ChangeLog for more information. No change in behavior. >+ >+ * page/ViewportConfiguration.cpp: >+ (WebCore::ViewportConfiguration::ViewportConfiguration): >+ (WebCore::ViewportConfiguration::setViewLayoutSize): >+ >+ Remove a FIXME comment that is addressed by this refactoring. >+ >+ (WebCore::ViewportConfiguration::shouldOverrideDeviceWidthWithMinDeviceWidth const): >+ (WebCore::ViewportConfiguration::initialScaleFromSize const): >+ (WebCore::ViewportConfiguration::minimumScale const): >+ (WebCore::ViewportConfiguration::updateMinimumLayoutSize): >+ (WebCore::ViewportConfiguration::setMinimumLayoutSize): Deleted. >+ * page/ViewportConfiguration.h: >+ (WebCore::ViewportConfiguration::viewLayoutSize const): >+ (WebCore::ViewportConfiguration::viewSize const): Deleted. >+ > 2018-04-27 Wenson Hsieh <wenson_hsieh@apple.com> > > [Extra zoom mode] Add a mechanism to override default viewport behaviors in extra zoom mode >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 8a721e48f4da902b620629234225ea2506ef3dfc..52379b83a054f4d86f7963f3f7cc8c7d44e0b62e 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,86 @@ >+2018-04-26 Wenson Hsieh <wenson_hsieh@apple.com> >+ >+ Rename minimumLayoutSize to viewLayoutSize >+ https://bugs.webkit.org/show_bug.cgi?id=185050 >+ <rdar://problem/39624038> >+ >+ Reviewed by Tim Horton. >+ >+ Renames minimumLayoutSize to viewLayoutSize, since the minimum layout size in ViewportConfiguration is now >+ different from the minimum layout size that is currently pushed down from the UI process (e.g. WKWebView SPI) in >+ the case where `min-device-width` is used to override the minimum layout size. >+ >+ * Shared/WebPageCreationParameters.cpp: >+ (WebKit::WebPageCreationParameters::encode const): >+ (WebKit::WebPageCreationParameters::decode): >+ * Shared/WebPageCreationParameters.h: >+ * UIProcess/API/Cocoa/WKWebView.mm: >+ (-[WKWebView _processDidExit]): >+ (-[WKWebView activeViewLayoutSize:]): >+ (-[WKWebView _dispatchSetViewLayoutSize:]): >+ (-[WKWebView _frameOrBoundsChanged]): >+ (-[WKWebView _minimumLayoutSizeOverride]): >+ (-[WKWebView _setViewLayoutSizeOverride:]): >+ (-[WKWebView _beginAnimatedResizeWithUpdates:]): >+ (-[WKWebView _endAnimatedResize]): >+ (-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]): >+ (-[WKWebView _clearOverrideLayoutParameters]): >+ (-[WKWebView _minimumLayoutWidth]): >+ (-[WKWebView _setMinimumLayoutWidth:]): >+ (-[WKWebView activeMinimumLayoutSize:]): Deleted. >+ (-[WKWebView _dispatchSetMinimumLayoutSize:]): Deleted. >+ (-[WKWebView _setMinimumLayoutSizeOverride:]): Deleted. >+ (-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:]): Deleted. >+ >+ Remove unused SPI that has been deprecated since iOS 9, has a simple drop-in replacement, and no longer has any >+ internal clients. >+ >+ * UIProcess/API/Cocoa/WKWebViewPrivate.h: >+ * UIProcess/Cocoa/WebViewImpl.mm: >+ (WebKit::WebViewImpl::setMinimumSizeForAutoLayout): >+ (WebKit::WebViewImpl::minimumSizeForAutoLayout const): >+ (WebKit::WebViewImpl::setIntrinsicContentSize): >+ * UIProcess/DrawingAreaProxy.h: >+ (WebKit::DrawingAreaProxy::viewLayoutSizeDidChange): >+ (WebKit::DrawingAreaProxy::minimumLayoutSizeDidChange): Deleted. >+ * UIProcess/WebPageProxy.cpp: >+ (WebKit::WebPageProxy::creationParameters): >+ (WebKit::WebPageProxy::setViewLayoutSize): >+ (WebKit::WebPageProxy::setMinimumLayoutSize): Deleted. >+ * UIProcess/WebPageProxy.h: >+ (WebKit::WebPageProxy::viewLayoutSize const): >+ (WebKit::WebPageProxy::minimumLayoutSize const): Deleted. >+ * UIProcess/ios/WebPageProxyIOS.mm: >+ (WebKit::WebPageProxy::dynamicViewportSizeUpdate): >+ (WebKit::WebPageProxy::setViewportConfigurationViewLayoutSize): >+ (WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize): Deleted. >+ * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: >+ * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::viewLayoutSizeDidChange): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::willSendUpdateGeometry): >+ (WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutSizeDidChange): Deleted. >+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: >+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): >+ * WebProcess/WebPage/ViewGestureGeometryCollector.cpp: >+ (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture): >+ * WebProcess/WebPage/WebPage.cpp: >+ (WebKit::m_credentialsMessenger): >+ (WebKit::WebPage::setViewLayoutSize): >+ (WebKit::WebPage::setMinimumLayoutSize): Deleted. >+ * WebProcess/WebPage/WebPage.h: >+ (WebKit::WebPage::viewLayoutSize const): >+ (WebKit::WebPage::minimumLayoutSize const): Deleted. >+ * WebProcess/WebPage/WebPage.messages.in: >+ * WebProcess/WebPage/ios/WebPageIOS.mm: >+ (WebKit::WebPage::setViewportConfigurationViewLayoutSize): >+ (WebKit::WebPage::dynamicViewportSizeUpdate): >+ (WebKit::WebPage::setViewportConfigurationMinimumLayoutSize): Deleted. >+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: >+ (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeIfNeeded): >+ (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): >+ > 2018-04-27 Wenson Hsieh <wenson_hsieh@apple.com> > > [Extra zoom mode] Add a mechanism to override default viewport behaviors in extra zoom mode >diff --git a/Source/WebCore/page/ViewportConfiguration.cpp b/Source/WebCore/page/ViewportConfiguration.cpp >index adc681d435d0121ff890fefd4d5217ab66e5f33b..648b8d307c7517d601a770905b2f0c8c425840ac 100644 >--- a/Source/WebCore/page/ViewportConfiguration.cpp >+++ b/Source/WebCore/page/ViewportConfiguration.cpp >@@ -59,7 +59,7 @@ static float computedMinDeviceWidth(float minDeviceWidth) > > ViewportConfiguration::ViewportConfiguration() > : m_minimumLayoutSize(1024, 768) >- , m_viewSize(1024, 768) >+ , m_viewLayoutSize(1024, 768) > , m_canIgnoreScalingConstraints(false) > , m_forceAlwaysUserScalable(false) > { >@@ -95,14 +95,12 @@ bool ViewportConfiguration::setContentsSize(const IntSize& contentSize) > return true; > } > >-// FIXME: ViewportConfiguration::setMinimumLayoutSize is no longer an accurate name, since the minimum layout size >-// is not necessarily the size of the view. >-bool ViewportConfiguration::setMinimumLayoutSize(const FloatSize& minimumLayoutSize) >+bool ViewportConfiguration::setViewLayoutSize(const FloatSize& viewLayoutSize) > { >- if (m_viewSize == minimumLayoutSize) >+ if (m_viewLayoutSize == viewLayoutSize) > return false; > >- m_viewSize = minimumLayoutSize; >+ m_viewLayoutSize = viewLayoutSize; > > updateMinimumLayoutSize(); > updateConfiguration(); >@@ -139,7 +137,7 @@ IntSize ViewportConfiguration::layoutSize() const > > bool ViewportConfiguration::shouldOverrideDeviceWidthWithMinDeviceWidth() const > { >- return m_viewSize.width() < computedMinDeviceWidth(m_viewportArguments.minDeviceWidth); >+ return m_viewLayoutSize.width() < computedMinDeviceWidth(m_viewportArguments.minDeviceWidth); > } > > bool ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints() const >@@ -201,11 +199,11 @@ double ViewportConfiguration::initialScaleFromSize(double width, double height, > // We want a scale small enough to fit the document width-wise. > double initialScale = 0; > if (width > 0 && !shouldIgnoreVerticalScalingConstraints()) >- initialScale = m_viewSize.width() / width; >+ initialScale = m_viewLayoutSize.width() / width; > > // Prevent the initial scale from shrinking to a height smaller than our view's minimum height. >- if (height > 0 && height * initialScale < m_viewSize.height() && !shouldIgnoreHorizontalScalingConstraints()) >- initialScale = m_viewSize.height() / height; >+ if (height > 0 && height * initialScale < m_viewLayoutSize.height() && !shouldIgnoreHorizontalScalingConstraints()) >+ initialScale = m_viewLayoutSize.height() / height; > > return std::min(std::max(initialScale, shouldIgnoreScalingConstraints ? m_defaultConfiguration.minimumScale : m_configuration.minimumScale), m_configuration.maximumScale); > } >@@ -233,12 +231,12 @@ double ViewportConfiguration::minimumScale() const > minimumScale = std::min(minimumScale, forceAlwaysUserScalableMinimumScale); > > double contentWidth = m_contentSize.width(); >- if (contentWidth > 0 && contentWidth * minimumScale < m_viewSize.width() && !shouldIgnoreVerticalScalingConstraints()) >- minimumScale = m_viewSize.width() / contentWidth; >+ if (contentWidth > 0 && contentWidth * minimumScale < m_viewLayoutSize.width() && !shouldIgnoreVerticalScalingConstraints()) >+ minimumScale = m_viewLayoutSize.width() / contentWidth; > > double contentHeight = m_contentSize.height(); >- if (contentHeight > 0 && contentHeight * minimumScale < m_viewSize.height() && !shouldIgnoreHorizontalScalingConstraints()) >- minimumScale = m_viewSize.height() / contentHeight; >+ if (contentHeight > 0 && contentHeight * minimumScale < m_viewLayoutSize.height() && !shouldIgnoreHorizontalScalingConstraints()) >+ minimumScale = m_viewLayoutSize.height() / contentHeight; > > minimumScale = std::min(std::max(minimumScale, m_configuration.minimumScale), m_configuration.maximumScale); > >@@ -382,13 +380,13 @@ void ViewportConfiguration::updateConfiguration() > > void ViewportConfiguration::updateMinimumLayoutSize() > { >- if (!m_viewSize.width() || !shouldOverrideDeviceWidthWithMinDeviceWidth()) { >- m_minimumLayoutSize = m_viewSize; >+ if (!m_viewLayoutSize.width() || !shouldOverrideDeviceWidthWithMinDeviceWidth()) { >+ m_minimumLayoutSize = m_viewLayoutSize; > return; > } > > auto minDeviceWidth = computedMinDeviceWidth(m_viewportArguments.minDeviceWidth); >- m_minimumLayoutSize = FloatSize(minDeviceWidth, std::roundf(m_viewSize.height() * (minDeviceWidth / m_viewSize.width()))); >+ m_minimumLayoutSize = FloatSize(minDeviceWidth, std::roundf(m_viewLayoutSize.height() * (minDeviceWidth / m_viewLayoutSize.width()))); > } > > double ViewportConfiguration::viewportArgumentsLength(double length) const >diff --git a/Source/WebCore/page/ViewportConfiguration.h b/Source/WebCore/page/ViewportConfiguration.h >index d6a50ca45c10062997d82f5b77403caee74be94c..bff1007677f2345c9a9517a52765abd370babd1e 100644 >--- a/Source/WebCore/page/ViewportConfiguration.h >+++ b/Source/WebCore/page/ViewportConfiguration.h >@@ -74,10 +74,10 @@ public: > const IntSize& contentsSize() const { return m_contentSize; } > WEBCORE_EXPORT bool setContentsSize(const IntSize&); > >- FloatSize viewSize() const { return m_viewSize; } >+ FloatSize viewLayoutSize() const { return m_viewLayoutSize; } > > const FloatSize& minimumLayoutSize() const { return m_minimumLayoutSize; } >- WEBCORE_EXPORT bool setMinimumLayoutSize(const FloatSize&); >+ WEBCORE_EXPORT bool setViewLayoutSize(const FloatSize&); > > const ViewportArguments& viewportArguments() const { return m_viewportArguments; } > WEBCORE_EXPORT bool setViewportArguments(const ViewportArguments&); >@@ -127,7 +127,7 @@ private: > Parameters m_defaultConfiguration; > IntSize m_contentSize; > FloatSize m_minimumLayoutSize; >- FloatSize m_viewSize; >+ FloatSize m_viewLayoutSize; > ViewportArguments m_viewportArguments; > > bool m_canIgnoreScalingConstraints; >diff --git a/Source/WebKit/Shared/WebPageCreationParameters.cpp b/Source/WebKit/Shared/WebPageCreationParameters.cpp >index 3cfe3b2e5b142591ca66a8228b9229037c0e31dc..3b0b8aa50fada9567d7ace9a2a573a01a325bdc7 100644 >--- a/Source/WebKit/Shared/WebPageCreationParameters.cpp >+++ b/Source/WebKit/Shared/WebPageCreationParameters.cpp >@@ -64,7 +64,7 @@ void WebPageCreationParameters::encode(IPC::Encoder& encoder) const > encoder << mediaVolume; > encoder << muted; > encoder << mayStartMediaWhenInWindow; >- encoder << minimumLayoutSize; >+ encoder << viewLayoutSize; > encoder << autoSizingShouldExpandToViewHeight; > encoder << viewportSizeForCSSViewportUnits; > encoder.encodeEnum(scrollPinningBehavior); >@@ -89,7 +89,7 @@ void WebPageCreationParameters::encode(IPC::Encoder& encoder) const > encoder << overrideScreenSize; > encoder << textAutosizingWidth; > encoder << ignoresViewportScaleLimits; >- encoder << viewportConfigurationMinimumLayoutSize; >+ encoder << viewportConfigurationViewLayoutSize; > encoder << viewportConfigurationViewSize; > encoder << maximumUnobscuredSize; > #endif >@@ -203,7 +203,7 @@ std::optional<WebPageCreationParameters> WebPageCreationParameters::decode(IPC:: > return std::nullopt; > if (!decoder.decode(parameters.mayStartMediaWhenInWindow)) > return std::nullopt; >- if (!decoder.decode(parameters.minimumLayoutSize)) >+ if (!decoder.decode(parameters.viewLayoutSize)) > return std::nullopt; > if (!decoder.decode(parameters.autoSizingShouldExpandToViewHeight)) > return std::nullopt; >@@ -254,7 +254,7 @@ std::optional<WebPageCreationParameters> WebPageCreationParameters::decode(IPC:: > return std::nullopt; > if (!decoder.decode(parameters.ignoresViewportScaleLimits)) > return std::nullopt; >- if (!decoder.decode(parameters.viewportConfigurationMinimumLayoutSize)) >+ if (!decoder.decode(parameters.viewportConfigurationViewLayoutSize)) > return std::nullopt; > if (!decoder.decode(parameters.viewportConfigurationViewSize)) > return std::nullopt; >diff --git a/Source/WebKit/Shared/WebPageCreationParameters.h b/Source/WebKit/Shared/WebPageCreationParameters.h >index 573e17932be2ffb3dc7731e8a1245d1c3c788ccc..06f7ab62088b7b38e85419ec752b76e6a65addab 100644 >--- a/Source/WebKit/Shared/WebPageCreationParameters.h >+++ b/Source/WebKit/Shared/WebPageCreationParameters.h >@@ -112,7 +112,7 @@ struct WebPageCreationParameters { > WebCore::MediaProducer::MutedStateFlags muted; > bool mayStartMediaWhenInWindow; > >- WebCore::IntSize minimumLayoutSize; >+ WebCore::IntSize viewLayoutSize; > bool autoSizingShouldExpandToViewHeight; > std::optional<WebCore::IntSize> viewportSizeForCSSViewportUnits; > >@@ -146,7 +146,7 @@ struct WebPageCreationParameters { > WebCore::FloatSize overrideScreenSize; > float textAutosizingWidth; > bool ignoresViewportScaleLimits; >- WebCore::FloatSize viewportConfigurationMinimumLayoutSize; >+ WebCore::FloatSize viewportConfigurationViewLayoutSize; > WebCore::FloatSize viewportConfigurationViewSize; > WebCore::FloatSize maximumUnobscuredSize; > #endif >diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm b/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >index 4a16e6d3bb7a03545c6ac8dbade947b8ef193fdf..b443524c2dc2b238a9c66f0dbc97ed99b9fed937 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >+++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm >@@ -277,9 +277,9 @@ @implementation WKWebView { > RetainPtr<WKFullScreenWindowController> _fullScreenWindowController; > #endif > >- BOOL _overridesMinimumLayoutSize; >- CGSize _minimumLayoutSizeOverride; >- std::optional<WebCore::FloatSize> _lastSentMinimumLayoutSize; >+ BOOL _overridesViewLayoutSize; >+ CGSize _viewLayoutSizeOverride; >+ std::optional<WebCore::FloatSize> _lastSentViewLayoutSize; > BOOL _overridesMaximumUnobscuredSize; > CGSize _maximumUnobscuredSizeOverride; > std::optional<WebCore::FloatSize> _lastSentMaximumUnobscuredSize; >@@ -1683,7 +1683,7 @@ - (void)_processDidExit > _scrollViewBackgroundColor = WebCore::Color(); > _delayUpdateVisibleContentRects = NO; > _hadDelayedUpdateVisibleContentRects = NO; >- _lastSentMinimumLayoutSize = std::nullopt; >+ _lastSentViewLayoutSize = std::nullopt; > _lastSentMaximumUnobscuredSize = std::nullopt; > _lastSentDeviceOrientation = std::nullopt; > >@@ -2564,10 +2564,10 @@ - (UIEdgeInsets)_scrollViewSystemContentInset > return UIEdgeInsetsAdd([_scrollView _contentScrollInset], self.safeAreaInsets, [_scrollView _edgesApplyingSafeAreaInsetsToContentInset]); > } > >-- (WebCore::FloatSize)activeMinimumLayoutSize:(const CGRect&)bounds >+- (WebCore::FloatSize)activeViewLayoutSize:(const CGRect&)bounds > { >- if (_overridesMinimumLayoutSize) >- return WebCore::FloatSize(_minimumLayoutSizeOverride); >+ if (_overridesViewLayoutSize) >+ return WebCore::FloatSize(_viewLayoutSizeOverride); > > #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000 > return WebCore::FloatSize(UIEdgeInsetsInsetRect(CGRectMake(0, 0, bounds.size.width, bounds.size.height), self._scrollViewSystemContentInset).size); >@@ -2576,14 +2576,14 @@ - (WebCore::FloatSize)activeMinimumLayoutSize:(const CGRect&)bounds > #endif > } > >-- (void)_dispatchSetMinimumLayoutSize:(WebCore::FloatSize)minimumLayoutSize >+- (void)_dispatchSetViewLayoutSize:(WebCore::FloatSize)viewLayoutSize > { >- if (_lastSentMinimumLayoutSize && CGSizeEqualToSize(_lastSentMinimumLayoutSize.value(), minimumLayoutSize)) >+ if (_lastSentViewLayoutSize && CGSizeEqualToSize(_lastSentViewLayoutSize.value(), viewLayoutSize)) > return; > >- LOG_WITH_STREAM(VisibleRects, stream << "-[WKWebView " << _page->pageID() << " _dispatchSetMinimumLayoutSize:] " << minimumLayoutSize << " contentZoomScale " << contentZoomScale(self)); >- _page->setViewportConfigurationMinimumLayoutSize(minimumLayoutSize); >- _lastSentMinimumLayoutSize = minimumLayoutSize; >+ LOG_WITH_STREAM(VisibleRects, stream << "-[WKWebView " << _page->pageID() << " _dispatchSetViewLayoutSize:] " << viewLayoutSize << " contentZoomScale " << contentZoomScale(self)); >+ _page->setViewportConfigurationViewLayoutSize(viewLayoutSize); >+ _lastSentViewLayoutSize = viewLayoutSize; > } > > - (void)_dispatchSetMaximumUnobscuredSize:(WebCore::FloatSize)maximumUnobscuredSize >@@ -2610,8 +2610,8 @@ - (void)_frameOrBoundsChanged > [_scrollView setFrame:bounds]; > > if (_dynamicViewportUpdateMode == DynamicViewportUpdateMode::NotResizing) { >- if (!_overridesMinimumLayoutSize) >- [self _dispatchSetMinimumLayoutSize:[self activeMinimumLayoutSize:self.bounds]]; >+ if (!_overridesViewLayoutSize) >+ [self _dispatchSetViewLayoutSize:[self activeViewLayoutSize:self.bounds]]; > if (!_overridesMaximumUnobscuredSize) > [self _dispatchSetMaximumUnobscuredSize:WebCore::FloatSize(bounds.size)]; > >@@ -4987,17 +4987,17 @@ - (void)removeFromSuperview > > - (CGSize)_minimumLayoutSizeOverride > { >- ASSERT(_overridesMinimumLayoutSize); >- return _minimumLayoutSizeOverride; >+ ASSERT(_overridesViewLayoutSize); >+ return _viewLayoutSizeOverride; > } > >-- (void)_setMinimumLayoutSizeOverride:(CGSize)minimumLayoutSizeOverride >+- (void)_setViewLayoutSizeOverride:(CGSize)viewLayoutSizeOverride > { >- _overridesMinimumLayoutSize = YES; >- _minimumLayoutSizeOverride = minimumLayoutSizeOverride; >+ _overridesViewLayoutSize = YES; >+ _viewLayoutSizeOverride = viewLayoutSizeOverride; > > if (_dynamicViewportUpdateMode == DynamicViewportUpdateMode::NotResizing) >- [self _dispatchSetMinimumLayoutSize:WebCore::FloatSize(minimumLayoutSizeOverride)]; >+ [self _dispatchSetViewLayoutSize:WebCore::FloatSize(viewLayoutSizeOverride)]; > > } > >@@ -5145,7 +5145,7 @@ - (void)_beginAnimatedResizeWithUpdates:(void (^)(void))updateBlock > > _dynamicViewportUpdateMode = DynamicViewportUpdateMode::ResizingWithAnimation; > >- auto oldMinimumLayoutSize = [self activeMinimumLayoutSize:self.bounds]; >+ auto oldViewLayoutSize = [self activeViewLayoutSize:self.bounds]; > auto oldMaximumUnobscuredSize = activeMaximumUnobscuredSize(self, oldBounds); > int32_t oldOrientation = activeOrientation(self); > UIEdgeInsets oldObscuredInsets = _obscuredInsets; >@@ -5153,19 +5153,19 @@ - (void)_beginAnimatedResizeWithUpdates:(void (^)(void))updateBlock > updateBlock(); > > CGRect newBounds = self.bounds; >- auto newMinimumLayoutSize = [self activeMinimumLayoutSize:newBounds]; >+ auto newViewLayoutSize = [self activeViewLayoutSize:newBounds]; > auto newMaximumUnobscuredSize = activeMaximumUnobscuredSize(self, newBounds); > int32_t newOrientation = activeOrientation(self); > UIEdgeInsets newObscuredInsets = _obscuredInsets; > CGRect futureUnobscuredRectInSelfCoordinates = UIEdgeInsetsInsetRect(newBounds, _obscuredInsets); > CGRect contentViewBounds = [_contentView bounds]; > >- ASSERT_WITH_MESSAGE(!(_overridesMinimumLayoutSize && newMinimumLayoutSize.isEmpty()), "Clients controlling the layout size should maintain a valid layout size to minimize layouts."); >- if (CGRectIsEmpty(newBounds) || newMinimumLayoutSize.isEmpty() || CGRectIsEmpty(futureUnobscuredRectInSelfCoordinates) || CGRectIsEmpty(contentViewBounds)) { >+ ASSERT_WITH_MESSAGE(!(_overridesViewLayoutSize && newViewLayoutSize.isEmpty()), "Clients controlling the layout size should maintain a valid layout size to minimize layouts."); >+ if (CGRectIsEmpty(newBounds) || newViewLayoutSize.isEmpty() || CGRectIsEmpty(futureUnobscuredRectInSelfCoordinates) || CGRectIsEmpty(contentViewBounds)) { > _dynamicViewportUpdateMode = DynamicViewportUpdateMode::NotResizing; > [self _frameOrBoundsChanged]; >- if (_overridesMinimumLayoutSize) >- [self _dispatchSetMinimumLayoutSize:newMinimumLayoutSize]; >+ if (_overridesViewLayoutSize) >+ [self _dispatchSetViewLayoutSize:newViewLayoutSize]; > if (_overridesMaximumUnobscuredSize) > [self _dispatchSetMaximumUnobscuredSize:WebCore::FloatSize(newMaximumUnobscuredSize)]; > if (_overridesInterfaceOrientation) >@@ -5176,7 +5176,7 @@ - (void)_beginAnimatedResizeWithUpdates:(void (^)(void))updateBlock > } > > if (CGRectEqualToRect(oldBounds, newBounds) >- && oldMinimumLayoutSize == newMinimumLayoutSize >+ && oldViewLayoutSize == newViewLayoutSize > && oldMaximumUnobscuredSize == newMaximumUnobscuredSize > && oldOrientation == newOrientation > && UIEdgeInsetsEqualToEdgeInsets(oldObscuredInsets, newObscuredInsets)) { >@@ -5196,13 +5196,13 @@ - (void)_beginAnimatedResizeWithUpdates:(void (^)(void))updateBlock > [_resizeAnimationView addSubview:[_contentView unscaledView]]; > > CGSize contentSizeInContentViewCoordinates = contentViewBounds.size; >- [_scrollView setMinimumZoomScale:std::min(newMinimumLayoutSize.width() / contentSizeInContentViewCoordinates.width, [_scrollView minimumZoomScale])]; >- [_scrollView setMaximumZoomScale:std::max(newMinimumLayoutSize.width() / contentSizeInContentViewCoordinates.width, [_scrollView maximumZoomScale])]; >+ [_scrollView setMinimumZoomScale:std::min(newViewLayoutSize.width() / contentSizeInContentViewCoordinates.width, [_scrollView minimumZoomScale])]; >+ [_scrollView setMaximumZoomScale:std::max(newViewLayoutSize.width() / contentSizeInContentViewCoordinates.width, [_scrollView maximumZoomScale])]; > > // Compute the new scale to keep the current content width in the scrollview. > CGFloat oldWebViewWidthInContentViewCoordinates = oldUnobscuredContentRect.width(); > CGFloat visibleContentViewWidthInContentCoordinates = std::min(contentSizeInContentViewCoordinates.width, oldWebViewWidthInContentViewCoordinates); >- CGFloat targetScale = newMinimumLayoutSize.width() / visibleContentViewWidthInContentCoordinates; >+ CGFloat targetScale = newViewLayoutSize.width() / visibleContentViewWidthInContentCoordinates; > CGFloat resizeAnimationViewAnimationScale = targetScale / contentZoomScale(self); > [_resizeAnimationView setTransform:CGAffineTransformMakeScale(resizeAnimationViewAnimationScale, resizeAnimationViewAnimationScale)]; > >@@ -5242,11 +5242,11 @@ - (void)_beginAnimatedResizeWithUpdates:(void (^)(void))updateBlock > UIEdgeInsets unobscuredSafeAreaInsets = [self _computedUnobscuredSafeAreaInset]; > WebCore::FloatBoxExtent unobscuredSafeAreaInsetsExtent(unobscuredSafeAreaInsets.top, unobscuredSafeAreaInsets.right, unobscuredSafeAreaInsets.bottom, unobscuredSafeAreaInsets.left); > >- _lastSentMinimumLayoutSize = newMinimumLayoutSize; >+ _lastSentViewLayoutSize = newViewLayoutSize; > _lastSentMaximumUnobscuredSize = newMaximumUnobscuredSize; > _lastSentDeviceOrientation = newOrientation; > >- _page->dynamicViewportSizeUpdate(newMinimumLayoutSize, newMaximumUnobscuredSize, visibleRectInContentCoordinates, unobscuredRectInContentCoordinates, futureUnobscuredRectInSelfCoordinates, unobscuredSafeAreaInsetsExtent, targetScale, newOrientation); >+ _page->dynamicViewportSizeUpdate(newViewLayoutSize, newMaximumUnobscuredSize, visibleRectInContentCoordinates, unobscuredRectInContentCoordinates, futureUnobscuredRectInSelfCoordinates, unobscuredSafeAreaInsetsExtent, targetScale, newOrientation); > if (WebKit::DrawingAreaProxy* drawingArea = _page->drawingArea()) > drawingArea->setSize(WebCore::IntSize(newBounds.size)); > } >@@ -5311,12 +5311,12 @@ - (void)_endAnimatedResize > [self _scheduleVisibleContentRectUpdate]; > > CGRect newBounds = self.bounds; >- auto newMinimumLayoutSize = [self activeMinimumLayoutSize:newBounds]; >+ auto newViewLayoutSize = [self activeViewLayoutSize:newBounds]; > auto newMaximumUnobscuredSize = activeMaximumUnobscuredSize(self, newBounds); > int32_t newOrientation = activeOrientation(self); > >- if (!_lastSentMinimumLayoutSize || newMinimumLayoutSize != _lastSentMinimumLayoutSize.value()) >- [self _dispatchSetMinimumLayoutSize:newMinimumLayoutSize]; >+ if (!_lastSentViewLayoutSize || newViewLayoutSize != _lastSentViewLayoutSize.value()) >+ [self _dispatchSetViewLayoutSize:newViewLayoutSize]; > if (!_lastSentMaximumUnobscuredSize || newMaximumUnobscuredSize != _lastSentMaximumUnobscuredSize.value()) > [self _dispatchSetMaximumUnobscuredSize:WebCore::FloatSize(newMaximumUnobscuredSize)]; > if (!_lastSentDeviceOrientation || newOrientation != _lastSentDeviceOrientation.value()) >@@ -5417,22 +5417,16 @@ - (void)_snapshotRect:(CGRect)rectInViewCoordinates intoImageOfWidth:(CGFloat)im > }); > } > >-- (void)_overrideLayoutParametersWithMinimumLayoutSize:(CGSize)minimumLayoutSize minimumLayoutSizeForMinimalUI:(CGSize)minimumLayoutSizeForMinimalUI maximumUnobscuredSizeOverride:(CGSize)maximumUnobscuredSizeOverride >-{ >- UNUSED_PARAM(minimumLayoutSizeForMinimalUI); >- [self _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSize maximumUnobscuredSizeOverride:maximumUnobscuredSizeOverride]; >-} >- > - (void)_overrideLayoutParametersWithMinimumLayoutSize:(CGSize)minimumLayoutSize maximumUnobscuredSizeOverride:(CGSize)maximumUnobscuredSizeOverride > { >- [self _setMinimumLayoutSizeOverride:minimumLayoutSize]; >+ [self _setViewLayoutSizeOverride:minimumLayoutSize]; > [self _setMaximumUnobscuredSizeOverride:maximumUnobscuredSizeOverride]; > } > > - (void)_clearOverrideLayoutParameters > { >- _overridesMinimumLayoutSize = NO; >- _minimumLayoutSizeOverride = CGSizeZero; >+ _overridesViewLayoutSize = NO; >+ _viewLayoutSizeOverride = CGSizeZero; > > _overridesMaximumUnobscuredSize = NO; > _maximumUnobscuredSizeOverride = CGSizeZero; >@@ -5622,14 +5616,14 @@ - (BOOL)_automaticallyAdjustsContentInsets > > - (CGFloat)_minimumLayoutWidth > { >- return _page->minimumLayoutSize().width(); >+ return _page->viewLayoutSize().width(); > } > > - (void)_setMinimumLayoutWidth:(CGFloat)width > { > BOOL expandsToFit = width > 0; > >- _page->setMinimumLayoutSize(WebCore::IntSize(width, 0)); >+ _page->setViewLayoutSize(WebCore::IntSize(width, 0)); > _page->setMainFrameIsScrollable(!expandsToFit); > > _impl->setClipsToVisibleRect(expandsToFit); >diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h b/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h >index 707df9217bcdf471b1800ca91ef3ca36267a8080..4dcb5d6c9195306d5021467e4c61604574b954fe 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h >+++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h >@@ -225,10 +225,6 @@ typedef NS_OPTIONS(NSUInteger, _WKRectEdge) { > > - (void)_snapshotRect:(CGRect)rectInViewCoordinates intoImageOfWidth:(CGFloat)imageWidth completionHandler:(void(^)(CGImageRef))completionHandler; > >-// Deprecated: Use [_overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:] instead. >-// This function is kept for binary compatibility with iOS 8.0, it can be removed after the bincompat window. >-- (void)_overrideLayoutParametersWithMinimumLayoutSize:(CGSize)minimumLayoutSize minimumLayoutSizeForMinimalUI:(CGSize)minimumLayoutSizeForMinimalUI maximumUnobscuredSizeOverride:(CGSize)maximumUnobscuredSizeOverride WK_API_DEPRECATED_WITH_REPLACEMENT("-_overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:", ios(8.0, 9.0)); >- > - (void)_overrideLayoutParametersWithMinimumLayoutSize:(CGSize)minimumLayoutSize maximumUnobscuredSizeOverride:(CGSize)maximumUnobscuredSizeOverride WK_API_AVAILABLE(ios(9_0)); > > - (void)_clearOverrideLayoutParameters WK_API_AVAILABLE(ios(11.0)); >diff --git a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm >index 1ab4d2b7e26018513e3af154f135d947e968c856..b3fd3462e3d7dbb4b3b4ec3a18ef86347e686530 100644 >--- a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm >+++ b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm >@@ -1745,7 +1745,7 @@ void WebViewImpl::setMinimumSizeForAutoLayout(CGSize minimumSizeForAutoLayout) > { > bool expandsToFit = minimumSizeForAutoLayout.width > 0; > >- m_page->setMinimumLayoutSize(WebCore::IntSize(minimumSizeForAutoLayout)); >+ m_page->setViewLayoutSize(WebCore::IntSize(minimumSizeForAutoLayout)); > m_page->setMainFrameIsScrollable(!expandsToFit); > > setClipsToVisibleRect(expandsToFit); >@@ -1753,7 +1753,7 @@ void WebViewImpl::setMinimumSizeForAutoLayout(CGSize minimumSizeForAutoLayout) > > CGSize WebViewImpl::minimumSizeForAutoLayout() const > { >- return m_page->minimumLayoutSize(); >+ return m_page->viewLayoutSize(); > } > > void WebViewImpl::setShouldExpandToViewHeightForAutoLayout(bool shouldExpandToViewHeightForAutoLayout) >@@ -1773,7 +1773,7 @@ void WebViewImpl::setIntrinsicContentSize(CGSize intrinsicContentSize) > // so that autolayout will know to provide space for us. > > CGSize intrinsicContentSizeAcknowledgingFlexibleWidth = intrinsicContentSize; >- if (intrinsicContentSize.width < m_page->minimumLayoutSize().width()) >+ if (intrinsicContentSize.width < m_page->viewLayoutSize().width()) > intrinsicContentSizeAcknowledgingFlexibleWidth.width = NSViewNoIntrinsicMetric; > > m_intrinsicContentSize = intrinsicContentSizeAcknowledgingFlexibleWidth; >diff --git a/Source/WebKit/UIProcess/DrawingAreaProxy.h b/Source/WebKit/UIProcess/DrawingAreaProxy.h >index 284c98caba5a34171cf7e3fe20780b0842145ac7..aea94952a80fcb424857037238dd26f3b90c2e1f 100644 >--- a/Source/WebKit/UIProcess/DrawingAreaProxy.h >+++ b/Source/WebKit/UIProcess/DrawingAreaProxy.h >@@ -71,7 +71,7 @@ public: > static constexpr Seconds didUpdateBackingStoreStateTimeout() { return Seconds::fromMilliseconds(500); } > > virtual void colorSpaceDidChange() { } >- virtual void minimumLayoutSizeDidChange() { } >+ virtual void viewLayoutSizeDidChange() { } > > virtual void adjustTransientZoom(double, WebCore::FloatPoint) { } > virtual void commitTransientZoom(double, WebCore::FloatPoint) { } >diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp >index 6accce0f9f20b33435d8cf25717cf1901fe1f97d..c9b48cb8fa9294568aded7be72fc2a3b0d210551 100644 >--- a/Source/WebKit/UIProcess/WebPageProxy.cpp >+++ b/Source/WebKit/UIProcess/WebPageProxy.cpp >@@ -6032,7 +6032,7 @@ WebPageCreationParameters WebPageProxy::creationParameters() > parameters.mediaVolume = m_mediaVolume; > parameters.muted = m_mutedState; > parameters.mayStartMediaWhenInWindow = m_mayStartMediaWhenInWindow; >- parameters.minimumLayoutSize = m_minimumLayoutSize; >+ parameters.viewLayoutSize = m_viewLayoutSize; > parameters.autoSizingShouldExpandToViewHeight = m_autoSizingShouldExpandToViewHeight; > parameters.viewportSizeForCSSViewportUnits = m_viewportSizeForCSSViewportUnits; > parameters.scrollPinningBehavior = m_scrollPinningBehavior; >@@ -6059,7 +6059,7 @@ WebPageCreationParameters WebPageProxy::creationParameters() > parameters.textAutosizingWidth = textAutosizingWidth(); > parameters.mimeTypesWithCustomContentProviders = m_pageClient.mimeTypesWithCustomContentProviders(); > parameters.ignoresViewportScaleLimits = m_forceAlwaysUserScalable; >- parameters.viewportConfigurationMinimumLayoutSize = m_viewportConfigurationMinimumLayoutSize; >+ parameters.viewportConfigurationViewLayoutSize = m_viewportConfigurationViewLayoutSize; > parameters.maximumUnobscuredSize = m_maximumUnobscuredSize; > #endif > >@@ -6549,21 +6549,21 @@ void WebPageProxy::savePDFToFileInDownloadsFolder(String&& suggestedFilename, UR > API::Data::create(dataReference.data(), dataReference.size()).get()); > } > >-void WebPageProxy::setMinimumLayoutSize(const IntSize& minimumLayoutSize) >+void WebPageProxy::setViewLayoutSize(const IntSize& viewLayoutSize) > { >- if (m_minimumLayoutSize == minimumLayoutSize) >+ if (m_viewLayoutSize == viewLayoutSize) > return; > >- m_minimumLayoutSize = minimumLayoutSize; >+ m_viewLayoutSize = viewLayoutSize; > > if (!isValid()) > return; > >- m_process->send(Messages::WebPage::SetMinimumLayoutSize(minimumLayoutSize), m_pageID); >- m_drawingArea->minimumLayoutSizeDidChange(); >+ m_process->send(Messages::WebPage::SetViewLayoutSize(viewLayoutSize), m_pageID); >+ m_drawingArea->viewLayoutSizeDidChange(); > > #if USE(APPKIT) >- if (m_minimumLayoutSize.width() <= 0) >+ if (m_viewLayoutSize.width() <= 0) > intrinsicContentSizeDidChange(IntSize(-1, -1)); > #endif > } >diff --git a/Source/WebKit/UIProcess/WebPageProxy.h b/Source/WebKit/UIProcess/WebPageProxy.h >index 911210ea10b0bc0d78eb24dcb349595913a9a8d8..9c9442909ebbe069ed043dd71ed464cc56cb45c3 100644 >--- a/Source/WebKit/UIProcess/WebPageProxy.h >+++ b/Source/WebKit/UIProcess/WebPageProxy.h >@@ -545,10 +545,10 @@ public: > void overflowScrollWillStartScroll(); > void overflowScrollDidEndScroll(); > >- void dynamicViewportSizeUpdate(const WebCore::FloatSize& minimumLayoutSize, const WebCore::FloatSize& maximumUnobscuredSize, const WebCore::FloatRect& targetExposedContentRect, const WebCore::FloatRect& targetUnobscuredRect, const WebCore::FloatRect& targetUnobscuredRectInScrollViewCoordinates, const WebCore::FloatBoxExtent& unobscuredSafeAreaInsets, double targetScale, int32_t deviceOrientation); >+ void dynamicViewportSizeUpdate(const WebCore::FloatSize& viewLayoutSize, const WebCore::FloatSize& maximumUnobscuredSize, const WebCore::FloatRect& targetExposedContentRect, const WebCore::FloatRect& targetUnobscuredRect, const WebCore::FloatRect& targetUnobscuredRectInScrollViewCoordinates, const WebCore::FloatBoxExtent& unobscuredSafeAreaInsets, double targetScale, int32_t deviceOrientation); > void synchronizeDynamicViewportUpdate(); > >- void setViewportConfigurationMinimumLayoutSize(const WebCore::FloatSize&); >+ void setViewportConfigurationViewLayoutSize(const WebCore::FloatSize&); > void setMaximumUnobscuredSize(const WebCore::FloatSize&); > void setDeviceOrientation(int32_t); > int32_t deviceOrientation() const { return m_deviceOrientation; } >@@ -1076,8 +1076,8 @@ public: > void endColorPicker(); > #endif > >- WebCore::IntSize minimumLayoutSize() const { return m_minimumLayoutSize; } >- void setMinimumLayoutSize(const WebCore::IntSize&); >+ WebCore::IntSize viewLayoutSize() const { return m_viewLayoutSize; } >+ void setViewLayoutSize(const WebCore::IntSize&); > > bool autoSizingShouldExpandToViewHeight() const { return m_autoSizingShouldExpandToViewHeight; } > void setAutoSizingShouldExpandToViewHeight(bool); >@@ -2075,7 +2075,7 @@ private: > > bool m_suppressVisibilityUpdates { false }; > bool m_autoSizingShouldExpandToViewHeight { false }; >- WebCore::IntSize m_minimumLayoutSize; >+ WebCore::IntSize m_viewLayoutSize; > std::optional<WebCore::IntSize> m_viewportSizeForCSSViewportUnits; > > // Visual viewports >@@ -2134,7 +2134,7 @@ private: > #if PLATFORM(IOS) > std::unique_ptr<NodeAssistanceArguments> m_deferredNodeAssistanceArguments; > bool m_forceAlwaysUserScalable { false }; >- WebCore::FloatSize m_viewportConfigurationMinimumLayoutSize; >+ WebCore::FloatSize m_viewportConfigurationViewLayoutSize; > WebCore::FloatSize m_maximumUnobscuredSize; > #endif > >diff --git a/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm b/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm >index f50ab2c2625ec865ffbc91df81777e68481e8206..713b2f85e38773afad8ffa515738328ecd461626 100644 >--- a/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm >+++ b/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm >@@ -305,7 +305,7 @@ void WebPageProxy::overflowScrollDidEndScroll() > m_pageClient.overflowScrollDidEndScroll(); > } > >-void WebPageProxy::dynamicViewportSizeUpdate(const FloatSize& minimumLayoutSize, const WebCore::FloatSize& maximumUnobscuredSize, const FloatRect& targetExposedContentRect, const FloatRect& targetUnobscuredRect, const FloatRect& targetUnobscuredRectInScrollViewCoordinates, const WebCore::FloatBoxExtent& unobscuredSafeAreaInsets, double targetScale, int32_t deviceOrientation) >+void WebPageProxy::dynamicViewportSizeUpdate(const FloatSize& viewLayoutSize, const WebCore::FloatSize& maximumUnobscuredSize, const FloatRect& targetExposedContentRect, const FloatRect& targetUnobscuredRect, const FloatRect& targetUnobscuredRectInScrollViewCoordinates, const WebCore::FloatBoxExtent& unobscuredSafeAreaInsets, double targetScale, int32_t deviceOrientation) > { > if (!isValid()) > return; >@@ -314,7 +314,7 @@ void WebPageProxy::dynamicViewportSizeUpdate(const FloatSize& minimumLayoutSize, > > m_dynamicViewportSizeUpdateWaitingForTarget = true; > m_dynamicViewportSizeUpdateWaitingForLayerTreeCommit = true; >- m_process->send(Messages::WebPage::DynamicViewportSizeUpdate(minimumLayoutSize, maximumUnobscuredSize, targetExposedContentRect, targetUnobscuredRect, targetUnobscuredRectInScrollViewCoordinates, unobscuredSafeAreaInsets, targetScale, deviceOrientation, ++m_currentDynamicViewportSizeUpdateID), m_pageID); >+ m_process->send(Messages::WebPage::DynamicViewportSizeUpdate(viewLayoutSize, maximumUnobscuredSize, targetExposedContentRect, targetUnobscuredRect, targetUnobscuredRectInScrollViewCoordinates, unobscuredSafeAreaInsets, targetScale, deviceOrientation, ++m_currentDynamicViewportSizeUpdateID), m_pageID); > } > > void WebPageProxy::synchronizeDynamicViewportUpdate() >@@ -354,12 +354,12 @@ void WebPageProxy::synchronizeDynamicViewportUpdate() > m_dynamicViewportSizeUpdateWaitingForLayerTreeCommit = false; > } > >-void WebPageProxy::setViewportConfigurationMinimumLayoutSize(const WebCore::FloatSize& size) >+void WebPageProxy::setViewportConfigurationViewLayoutSize(const WebCore::FloatSize& size) > { >- m_viewportConfigurationMinimumLayoutSize = size; >+ m_viewportConfigurationViewLayoutSize = size; > > if (isValid()) >- m_process->send(Messages::WebPage::SetViewportConfigurationMinimumLayoutSize(size), m_pageID); >+ m_process->send(Messages::WebPage::SetViewportConfigurationViewLayoutSize(size), m_pageID); > } > > void WebPageProxy::setForceAlwaysUserScalable(bool userScalable) >diff --git a/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h b/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h >index 40b1c9cb201c2c55cb4b7639c2769b24feab28c2..3c97c0c02c6e086e054b997118ff6852b7d2e508 100644 >--- a/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h >+++ b/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h >@@ -41,7 +41,7 @@ private: > void deviceScaleFactorDidChange() override; > void sizeDidChange() override; > void colorSpaceDidChange() override; >- void minimumLayoutSizeDidChange() override; >+ void viewLayoutSizeDidChange() override; > > void enterAcceleratedCompositingMode(uint64_t backingStoreStateID, const LayerTreeContext&) override; > void exitAcceleratedCompositingMode(uint64_t backingStoreStateID, const UpdateInfo&) override; >@@ -71,7 +71,7 @@ private: > WebCore::IntSize m_lastSentSize; > > // The last minimum layout size we sent to the web process. >- WebCore::IntSize m_lastSentMinimumLayoutSize; >+ WebCore::IntSize m_lastSentViewLayoutSize; > > CallbackMap m_callbacks; > }; >diff --git a/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm b/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm >index 323b5dcca4211fdc8440e17234f821a0372141d5..25df64e4d8e9266d8aea8e7f617c4c0fc81c00f1 100644 >--- a/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm >+++ b/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm >@@ -77,7 +77,7 @@ void TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange() > m_webPageProxy.process().send(Messages::DrawingArea::SetColorSpace(m_webPageProxy.colorSpace()), m_webPageProxy.pageID()); > } > >-void TiledCoreAnimationDrawingAreaProxy::minimumLayoutSizeDidChange() >+void TiledCoreAnimationDrawingAreaProxy::viewLayoutSizeDidChange() > { > if (!m_webPageProxy.isValid()) > return; >@@ -112,11 +112,11 @@ void TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry() > > m_isWaitingForDidUpdateGeometry = false; > >- IntSize minimumLayoutSize = m_webPageProxy.minimumLayoutSize(); >+ IntSize viewLayoutSize = m_webPageProxy.viewLayoutSize(); > > // If the WKView was resized while we were waiting for a DidUpdateGeometry reply from the web process, > // we need to resend the new size here. >- if (m_lastSentSize != m_size || m_lastSentMinimumLayoutSize != minimumLayoutSize) >+ if (m_lastSentSize != m_size || m_lastSentViewLayoutSize != viewLayoutSize) > sendUpdateGeometry(); > } > >@@ -128,13 +128,13 @@ void TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateActivityState() > > void TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange(const IntSize& newIntrinsicContentSize) > { >- if (m_webPageProxy.minimumLayoutSize().width() > 0) >+ if (m_webPageProxy.viewLayoutSize().width() > 0) > m_webPageProxy.intrinsicContentSizeDidChange(newIntrinsicContentSize); > } > > void TiledCoreAnimationDrawingAreaProxy::willSendUpdateGeometry() > { >- m_lastSentMinimumLayoutSize = m_webPageProxy.minimumLayoutSize(); >+ m_lastSentViewLayoutSize = m_webPageProxy.viewLayoutSize(); > m_lastSentSize = m_size; > m_isWaitingForDidUpdateGeometry = true; > } >diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp >index 755807367eeafc1d0c197e1b14770aed673c057e..338b69914a8451bc84bda76a2ee9f0ec34ce228a 100644 >--- a/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp >+++ b/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp >@@ -1420,10 +1420,10 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage() > webPage->fixedLayoutSize(), fixedVisibleContentRect, shouldUseFixedLayout, > horizontalScrollbarMode, horizontalLock, verticalScrollbarMode, verticalLock); > >- if (int minimumLayoutWidth = webPage->minimumLayoutSize().width()) { >- int minimumLayoutHeight = std::max(webPage->minimumLayoutSize().height(), 1); >+ if (int viewLayoutWidth = webPage->viewLayoutSize().width()) { >+ int viewLayoutHeight = std::max(webPage->viewLayoutSize().height(), 1); > int maximumSize = std::numeric_limits<int>::max(); >- m_frame->coreFrame()->view()->enableAutoSizeMode(true, IntSize(minimumLayoutWidth, minimumLayoutHeight), IntSize(maximumSize, maximumSize)); >+ m_frame->coreFrame()->view()->enableAutoSizeMode(true, IntSize(viewLayoutWidth, viewLayoutHeight), IntSize(maximumSize, maximumSize)); > > if (webPage->autoSizingShouldExpandToViewHeight()) > m_frame->coreFrame()->view()->setAutoSizeFixedMinimumHeight(webPage->size().height()); >diff --git a/Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp b/Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp >index a6db0e5b274cbd5e936b7452e0d18b2a1e3c890d..4e17a8f2bae278960e4e72ed1d20015003d62a4a 100644 >--- a/Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp >+++ b/Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp >@@ -106,7 +106,7 @@ void ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture(F > targetScale = textLegibilityScales->second; > > FloatRect targetRectInContentCoordinates { origin, FloatSize() }; >- targetRectInContentCoordinates.inflate(m_webPage.viewportConfiguration().viewSize() / (2 * targetScale)); >+ targetRectInContentCoordinates.inflate(m_webPage.viewportConfiguration().viewLayoutSize() / (2 * targetScale)); > > dispatchDidCollectGeometryForSmartMagnificationGesture(origin, targetRectInContentCoordinates, visibleContentRect, true, viewportMinimumScale, viewportMaximumScale); > return; >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp >index 0ebc2158727b5da7f1aa379228a88fbd740d9d0d..6699df06af7fd91083fe9eed362c92b6ad139957 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp >@@ -510,7 +510,7 @@ WebPage::WebPage(uint64_t pageID, WebPageCreationParameters&& parameters) > > updateIsInWindow(true); > >- setMinimumLayoutSize(parameters.minimumLayoutSize); >+ setViewLayoutSize(parameters.viewLayoutSize); > setAutoSizingShouldExpandToViewHeight(parameters.autoSizingShouldExpandToViewHeight); > setViewportSizeForCSSViewportUnits(parameters.viewportSizeForCSSViewportUnits); > >@@ -612,7 +612,7 @@ WebPage::WebPage(uint64_t pageID, WebPageCreationParameters&& parameters) > #endif > > #if PLATFORM(IOS) >- setViewportConfigurationMinimumLayoutSize(parameters.viewportConfigurationMinimumLayoutSize); >+ setViewportConfigurationViewLayoutSize(parameters.viewportConfigurationViewLayoutSize); > setMaximumUnobscuredSize(parameters.maximumUnobscuredSize); > #endif > } >@@ -4997,23 +4997,23 @@ void WebPage::setAlwaysShowsVerticalScroller(bool alwaysShowsVerticalScroller) > view->setVerticalScrollbarMode(alwaysShowsVerticalScroller ? ScrollbarAlwaysOn : m_mainFrameIsScrollable ? ScrollbarAuto : ScrollbarAlwaysOff, alwaysShowsVerticalScroller || !m_mainFrameIsScrollable); > } > >-void WebPage::setMinimumLayoutSize(const IntSize& minimumLayoutSize) >+void WebPage::setViewLayoutSize(const IntSize& viewLayoutSize) > { >- if (m_minimumLayoutSize == minimumLayoutSize) >+ if (m_viewLayoutSize == viewLayoutSize) > return; > >- m_minimumLayoutSize = minimumLayoutSize; >- if (minimumLayoutSize.width() <= 0) { >+ m_viewLayoutSize = viewLayoutSize; >+ if (viewLayoutSize.width() <= 0) { > corePage()->mainFrame().view()->enableAutoSizeMode(false, IntSize(), IntSize()); > return; > } > >- int minimumLayoutWidth = minimumLayoutSize.width(); >- int minimumLayoutHeight = std::max(minimumLayoutSize.height(), 1); >+ int viewLayoutWidth = viewLayoutSize.width(); >+ int viewLayoutHeight = std::max(viewLayoutSize.height(), 1); > > int maximumSize = std::numeric_limits<int>::max(); > >- corePage()->mainFrame().view()->enableAutoSizeMode(true, IntSize(minimumLayoutWidth, minimumLayoutHeight), IntSize(maximumSize, maximumSize)); >+ corePage()->mainFrame().view()->enableAutoSizeMode(true, IntSize(viewLayoutWidth, viewLayoutHeight), IntSize(maximumSize, maximumSize)); > } > > void WebPage::setAutoSizingShouldExpandToViewHeight(bool shouldExpand) >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h >index ea652ff5f32a7be8e71d162e5e4e57aa17df88ef..9780cfc6c5af840cbdafb1d093eca8e4e2eef2f1 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.h >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.h >@@ -875,10 +875,10 @@ public: > void updateVisibilityState(bool isInitialState = false); > > #if PLATFORM(IOS) >- void setViewportConfigurationMinimumLayoutSize(const WebCore::FloatSize&); >+ void setViewportConfigurationViewLayoutSize(const WebCore::FloatSize&); > void setMaximumUnobscuredSize(const WebCore::FloatSize&); > void setDeviceOrientation(int32_t); >- void dynamicViewportSizeUpdate(const WebCore::FloatSize& minimumLayoutSize, const WebCore::FloatSize& maximumUnobscuredSize, const WebCore::FloatRect& targetExposedContentRect, const WebCore::FloatRect& targetUnobscuredRect, const WebCore::FloatRect& targetUnobscuredRectInScrollViewCoordinates, const WebCore::FloatBoxExtent& targetUnobscuredSafeAreaInsets, double scale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID); >+ void dynamicViewportSizeUpdate(const WebCore::FloatSize& viewLayoutSize, const WebCore::FloatSize& maximumUnobscuredSize, const WebCore::FloatRect& targetExposedContentRect, const WebCore::FloatRect& targetUnobscuredRect, const WebCore::FloatRect& targetUnobscuredRectInScrollViewCoordinates, const WebCore::FloatBoxExtent& targetUnobscuredSafeAreaInsets, double scale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID); > void synchronizeDynamicViewportUpdate(double& newTargetScale, WebCore::FloatPoint& newScrollPosition, uint64_t& nextValidLayerTreeTransactionID); > std::optional<float> scaleFromUIProcess(const VisibleContentRectUpdateInfo&) const; > void updateVisibleContentRects(const VisibleContentRectUpdateInfo&, MonotonicTime oldestTimestamp); >@@ -939,8 +939,8 @@ public: > bool alwaysShowsHorizontalScroller() const { return m_alwaysShowsHorizontalScroller; }; > bool alwaysShowsVerticalScroller() const { return m_alwaysShowsVerticalScroller; }; > >- void setMinimumLayoutSize(const WebCore::IntSize&); >- WebCore::IntSize minimumLayoutSize() const { return m_minimumLayoutSize; } >+ void setViewLayoutSize(const WebCore::IntSize&); >+ WebCore::IntSize viewLayoutSize() const { return m_viewLayoutSize; } > > void setAutoSizingShouldExpandToViewHeight(bool shouldExpand); > bool autoSizingShouldExpandToViewHeight() { return m_autoSizingShouldExpandToViewHeight; } >@@ -1592,7 +1592,7 @@ private: > > HashSet<unsigned long> m_trackedNetworkResourceRequestIdentifiers; > >- WebCore::IntSize m_minimumLayoutSize; >+ WebCore::IntSize m_viewLayoutSize; > bool m_autoSizingShouldExpandToViewHeight { false }; > std::optional<WebCore::IntSize> m_viewportSizeForCSSViewportUnits; > >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in >index d2c684d7f2f0f97a7b41e983d5b2f45cd0f8bdcd..5d1cf6f14227d3179861d6fdd4297c8d7d0b77b3 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in >@@ -41,10 +41,10 @@ messages -> WebPage LegacyReceiver { > KeyEvent(WebKit::WebKeyboardEvent event) > MouseEvent(WebKit::WebMouseEvent event) > #if PLATFORM(IOS) >- SetViewportConfigurationMinimumLayoutSize(WebCore::FloatSize size) >+ SetViewportConfigurationViewLayoutSize(WebCore::FloatSize size) > SetMaximumUnobscuredSize(WebCore::FloatSize size) > SetDeviceOrientation(int32_t deviceOrientation) >- DynamicViewportSizeUpdate(WebCore::FloatSize minimumLayoutSize, WebCore::FloatSize maximumUnobscuredSize, WebCore::FloatRect targetExposedContentRect, WebCore::FloatRect targetUnobscuredRect, WebCore::FloatRect targetUnobscuredRectInScrollViewCoordinates, WebCore::RectEdges<float> targetUnobscuredSafeAreaInsets, double scale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID) >+ DynamicViewportSizeUpdate(WebCore::FloatSize viewLayoutSize, WebCore::FloatSize maximumUnobscuredSize, WebCore::FloatRect targetExposedContentRect, WebCore::FloatRect targetUnobscuredRect, WebCore::FloatRect targetUnobscuredRectInScrollViewCoordinates, WebCore::RectEdges<float> targetUnobscuredSafeAreaInsets, double scale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID) > SynchronizeDynamicViewportUpdate() -> (double newTargetScale, WebCore::FloatPoint newScrollPosition, uint64_t nextValidLayerTreeTransactionID) > > HandleTap(WebCore::IntPoint point, uint64_t lastLayerTreeTransactionId) >@@ -408,7 +408,7 @@ messages -> WebPage LegacyReceiver { > SetAlwaysShowsHorizontalScroller(bool alwaysShowsHorizontalScroller) > SetAlwaysShowsVerticalScroller(bool alwaysShowsVerticalScroller) > >- SetMinimumLayoutSize(WebCore::IntSize minimumLayoutSize) >+ SetViewLayoutSize(WebCore::IntSize viewLayoutSize) > SetAutoSizingShouldExpandToViewHeight(bool shouldExpand) > > SetViewportSizeForCSSViewportUnits(std::optional<WebCore::IntSize> viewportSize) >diff --git a/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm b/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm >index e47584d579d31e0848d6367322e7c772474dcc21..ff770d667850ad0c44294c745aa73c2ca4fb37f3 100644 >--- a/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm >+++ b/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm >@@ -2454,10 +2454,10 @@ void WebPage::autofillLoginCredentials(const String& username, const String& pas > } > } > >-void WebPage::setViewportConfigurationMinimumLayoutSize(const FloatSize& size) >+void WebPage::setViewportConfigurationViewLayoutSize(const FloatSize& size) > { >- LOG_WITH_STREAM(VisibleRects, stream << "WebPage " << m_pageID << " setViewportConfigurationMinimumLayoutSize " << size); >- if (m_viewportConfiguration.setMinimumLayoutSize(size)) >+ LOG_WITH_STREAM(VisibleRects, stream << "WebPage " << m_pageID << " setViewportConfigurationViewLayoutSize " << size); >+ if (m_viewportConfiguration.setViewLayoutSize(size)) > viewportConfigurationChanged(); > } > >@@ -2492,12 +2492,12 @@ void WebPage::resetTextAutosizing() > } > } > >-void WebPage::dynamicViewportSizeUpdate(const FloatSize& minimumLayoutSize, const WebCore::FloatSize& maximumUnobscuredSize, const FloatRect& targetExposedContentRect, const FloatRect& targetUnobscuredRect, const WebCore::FloatRect& targetUnobscuredRectInScrollViewCoordinates, const WebCore::FloatBoxExtent& targetUnobscuredSafeAreaInsets, double targetScale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID) >+void WebPage::dynamicViewportSizeUpdate(const FloatSize& viewLayoutSize, const WebCore::FloatSize& maximumUnobscuredSize, const FloatRect& targetExposedContentRect, const FloatRect& targetUnobscuredRect, const WebCore::FloatRect& targetUnobscuredRectInScrollViewCoordinates, const WebCore::FloatBoxExtent& targetUnobscuredSafeAreaInsets, double targetScale, int32_t deviceOrientation, uint64_t dynamicViewportSizeUpdateID) > { > SetForScope<bool> dynamicSizeUpdateGuard(m_inDynamicSizeUpdate, true); > // FIXME: this does not handle the cases where the content would change the content size or scroll position from JavaScript. > // To handle those cases, we would need to redo this computation on every change until the next visible content rect update. >- LOG_WITH_STREAM(VisibleRects, stream << "\nWebPage::dynamicViewportSizeUpdate - minimumLayoutSize " << minimumLayoutSize << " targetUnobscuredRect " << targetUnobscuredRect << " targetExposedContentRect " << targetExposedContentRect << " targetScale " << targetScale); >+ LOG_WITH_STREAM(VisibleRects, stream << "\nWebPage::dynamicViewportSizeUpdate - viewLayoutSize " << viewLayoutSize << " targetUnobscuredRect " << targetUnobscuredRect << " targetExposedContentRect " << targetExposedContentRect << " targetScale " << targetScale); > > FrameView& frameView = *m_page->mainFrame().view(); > IntSize oldContentSize = frameView.contentsSize(); >@@ -2529,8 +2529,8 @@ void WebPage::dynamicViewportSizeUpdate(const FloatSize& minimumLayoutSize, cons > } > } > >- LOG_WITH_STREAM(VisibleRects, stream << "WebPage::dynamicViewportSizeUpdate setting minimum layout size to " << minimumLayoutSize); >- m_viewportConfiguration.setMinimumLayoutSize(minimumLayoutSize); >+ LOG_WITH_STREAM(VisibleRects, stream << "WebPage::dynamicViewportSizeUpdate setting view layout size to " << viewLayoutSize); >+ m_viewportConfiguration.setViewLayoutSize(viewLayoutSize); > IntSize newLayoutSize = m_viewportConfiguration.layoutSize(); > > if (setFixedLayoutSize(newLayoutSize)) >@@ -2612,7 +2612,7 @@ void WebPage::dynamicViewportSizeUpdate(const FloatSize& minimumLayoutSize, cons > newExposedContentRect.setY(0); > } > >- bool likelyResponsiveDesignViewport = newLayoutSize.width() == minimumLayoutSize.width() && areEssentiallyEqualAsFloat(scale, 1); >+ bool likelyResponsiveDesignViewport = newLayoutSize.width() == viewLayoutSize.width() && areEssentiallyEqualAsFloat(scale, 1); > bool contentBleedsOutsideLayoutWidth = newContentSize.width() > newLayoutSize.width(); > bool originalScrollPositionWasOnTheLeftEdge = targetUnobscuredRect.x() <= 0; > if (likelyResponsiveDesignViewport && contentBleedsOutsideLayoutWidth && originalScrollPositionWasOnTheLeftEdge) { >diff --git a/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm b/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm >index f211efdcc0940509cf240378e8528b6680a7e2f7..d02ed721a7b0aa2c9f00dd8d1b6995573dbc2d83 100644 >--- a/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm >+++ b/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm >@@ -249,7 +249,7 @@ void TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged(const IntSize& s > > void TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeIfNeeded() > { >- if (!m_webPage.minimumLayoutSize().width()) >+ if (!m_webPage.viewLayoutSize().width()) > return; > > FrameView* frameView = m_webPage.mainFrameView(); >@@ -552,7 +552,7 @@ void TiledCoreAnimationDrawingArea::updateGeometry(const IntSize& viewSize, bool > IntSize size = viewSize; > IntSize contentSize = IntSize(-1, -1); > >- if (!m_webPage.minimumLayoutSize().width() || m_webPage.autoSizingShouldExpandToViewHeight()) >+ if (!m_webPage.viewLayoutSize().width() || m_webPage.autoSizingShouldExpandToViewHeight()) > m_webPage.setSize(size); > > FrameView* frameView = m_webPage.mainFrameView(); >@@ -562,7 +562,7 @@ void TiledCoreAnimationDrawingArea::updateGeometry(const IntSize& viewSize, bool > > m_webPage.layoutIfNeeded(); > >- if (m_webPage.minimumLayoutSize().width() && frameView) { >+ if (m_webPage.viewLayoutSize().width() && frameView) { > contentSize = frameView->autoSizingIntrinsicContentSize(); > size = contentSize; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185050
:
338953
|
338962
|
338964
|
338975
|
338987
| 338992 |
338994