Changeset 247290 in webkit
- Timestamp:
- Jul 9, 2019 6:31:03 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r247288 r247290 1 2019-07-09 Simon Fraser <simon.fraser@apple.com> 2 3 [iOS WK2] Use Optional<> for two data members of WKWebView 4 https://bugs.webkit.org/show_bug.cgi?id=199637 5 6 Reviewed by Tim Horton. 7 8 Use Optional<CGSize> to replace _overridesViewLayoutSize/_viewLayoutSizeOverride 9 and _overridesMaximumUnobscuredSize/_maximumUnobscuredSizeOverride. 10 11 No behavior change. 12 13 * UIProcess/API/Cocoa/WKWebView.mm: 14 (-[WKWebView activeViewLayoutSize:]): 15 (-[WKWebView _frameOrBoundsChanged]): 16 (activeMaximumUnobscuredSize): 17 (-[WKWebView _minimumLayoutSizeOverride]): 18 (-[WKWebView _setViewLayoutSizeOverride:]): 19 (-[WKWebView _maximumUnobscuredSizeOverride]): 20 (-[WKWebView _setMaximumUnobscuredSizeOverride:]): 21 (-[WKWebView _beginAnimatedResizeWithUpdates:]): 22 (-[WKWebView _clearOverrideLayoutParameters]): 23 1 24 2019-07-09 Chris Dumez <cdumez@apple.com> 2 25 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
r247073 r247290 284 284 #endif 285 285 286 BOOL _overridesViewLayoutSize; 287 CGSize _viewLayoutSizeOverride; 286 Optional<CGSize> _viewLayoutSizeOverride; 288 287 Optional<WebCore::FloatSize> _lastSentViewLayoutSize; 289 BOOL _overridesMaximumUnobscuredSize; 290 CGSize _maximumUnobscuredSizeOverride; 288 Optional<CGSize> _maximumUnobscuredSizeOverride; 291 289 Optional<WebCore::FloatSize> _lastSentMaximumUnobscuredSize; 290 292 291 CGRect _inputViewBounds; 293 292 CGFloat _viewportMetaTagWidth; … … 2869 2868 - (WebCore::FloatSize)activeViewLayoutSize:(const CGRect&)bounds 2870 2869 { 2871 if (_ overridesViewLayoutSize)2872 return WebCore::FloatSize(_viewLayoutSizeOverride );2870 if (_viewLayoutSizeOverride) 2871 return WebCore::FloatSize(_viewLayoutSizeOverride.value()); 2873 2872 2874 2873 #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000 … … 2913 2912 2914 2913 if (_dynamicViewportUpdateMode == WebKit::DynamicViewportUpdateMode::NotResizing) { 2915 if (!_ overridesViewLayoutSize)2914 if (!_viewLayoutSizeOverride) 2916 2915 [self _dispatchSetViewLayoutSize:[self activeViewLayoutSize:self.bounds]]; 2917 if (!_ overridesMaximumUnobscuredSize)2916 if (!_maximumUnobscuredSizeOverride) 2918 2917 [self _dispatchSetMaximumUnobscuredSize:WebCore::FloatSize(bounds.size)]; 2919 2918 … … 3178 3177 static WebCore::FloatSize activeMaximumUnobscuredSize(WKWebView *webView, const CGRect& bounds) 3179 3178 { 3180 return WebCore::FloatSize(webView->_ overridesMaximumUnobscuredSize ? webView->_maximumUnobscuredSizeOverride : bounds.size);3179 return WebCore::FloatSize(webView->_maximumUnobscuredSizeOverride.valueOr(bounds.size)); 3181 3180 } 3182 3181 … … 5918 5917 #endif 5919 5918 5919 // Deprecated SPI. 5920 5920 - (CGSize)_minimumLayoutSizeOverride 5921 5921 { 5922 ASSERT(_ overridesViewLayoutSize);5923 return _viewLayoutSizeOverride ;5922 ASSERT(_viewLayoutSizeOverride); 5923 return _viewLayoutSizeOverride.valueOr(CGSizeZero); 5924 5924 } 5925 5925 5926 5926 - (void)_setViewLayoutSizeOverride:(CGSize)viewLayoutSizeOverride 5927 5927 { 5928 _overridesViewLayoutSize = YES;5929 5928 _viewLayoutSizeOverride = viewLayoutSizeOverride; 5930 5929 5931 5930 if (_dynamicViewportUpdateMode == WebKit::DynamicViewportUpdateMode::NotResizing) 5932 5931 [self _dispatchSetViewLayoutSize:WebCore::FloatSize(viewLayoutSizeOverride)]; 5933 5934 5932 } 5935 5933 … … 6021 6019 } 6022 6020 6021 // Deprecated SPI 6023 6022 - (CGSize)_maximumUnobscuredSizeOverride 6024 6023 { 6025 ASSERT(_ overridesMaximumUnobscuredSize);6026 return _maximumUnobscuredSizeOverride ;6024 ASSERT(_maximumUnobscuredSizeOverride); 6025 return _maximumUnobscuredSizeOverride.valueOr(CGSizeZero); 6027 6026 } 6028 6027 … … 6030 6029 { 6031 6030 ASSERT(size.width <= self.bounds.size.width && size.height <= self.bounds.size.height); 6032 _overridesMaximumUnobscuredSize = YES;6033 6031 _maximumUnobscuredSizeOverride = size; 6034 6032 … … 6096 6094 CGRect contentViewBounds = [_contentView bounds]; 6097 6095 6098 ASSERT_WITH_MESSAGE(!(_ overridesViewLayoutSize && newViewLayoutSize.isEmpty()), "Clients controlling the layout size should maintain a valid layout size to minimize layouts.");6096 ASSERT_WITH_MESSAGE(!(_viewLayoutSizeOverride && newViewLayoutSize.isEmpty()), "Clients controlling the layout size should maintain a valid layout size to minimize layouts."); 6099 6097 if (CGRectIsEmpty(newBounds) || newViewLayoutSize.isEmpty() || CGRectIsEmpty(futureUnobscuredRectInSelfCoordinates) || CGRectIsEmpty(contentViewBounds)) { 6100 6098 [self _cancelAnimatedResize]; 6101 6099 [self _frameOrBoundsChanged]; 6102 if (_ overridesViewLayoutSize)6100 if (_viewLayoutSizeOverride) 6103 6101 [self _dispatchSetViewLayoutSize:newViewLayoutSize]; 6104 if (_ overridesMaximumUnobscuredSize)6102 if (_maximumUnobscuredSizeOverride) 6105 6103 [self _dispatchSetMaximumUnobscuredSize:WebCore::FloatSize(newMaximumUnobscuredSize)]; 6106 6104 if (_overridesInterfaceOrientation) … … 6309 6307 - (void)_clearOverrideLayoutParameters 6310 6308 { 6311 _overridesViewLayoutSize = NO; 6312 _viewLayoutSizeOverride = CGSizeZero; 6313 6314 _overridesMaximumUnobscuredSize = NO; 6315 _maximumUnobscuredSizeOverride = CGSizeZero; 6309 _viewLayoutSizeOverride = WTF::nullopt; 6310 _maximumUnobscuredSizeOverride = WTF::nullopt; 6316 6311 } 6317 6312
Note: See TracChangeset
for help on using the changeset viewer.