Changeset 247290 in webkit


Ignore:
Timestamp:
Jul 9, 2019 6:31:03 PM (5 years ago)
Author:
Simon Fraser
Message:

[iOS WK2] Use Optional<> for two data members of WKWebView
https://bugs.webkit.org/show_bug.cgi?id=199637

Reviewed by Tim Horton.

Use Optional<CGSize> to replace _overridesViewLayoutSize/_viewLayoutSizeOverride
and _overridesMaximumUnobscuredSize/_maximumUnobscuredSizeOverride.

No behavior change.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView activeViewLayoutSize:]):
(-[WKWebView _frameOrBoundsChanged]):
(activeMaximumUnobscuredSize):
(-[WKWebView _minimumLayoutSizeOverride]):
(-[WKWebView _setViewLayoutSizeOverride:]):
(-[WKWebView _maximumUnobscuredSizeOverride]):
(-[WKWebView _setMaximumUnobscuredSizeOverride:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _clearOverrideLayoutParameters]):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r247288 r247290  
     12019-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
    1242019-07-09  Chris Dumez  <cdumez@apple.com>
    225
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm

    r247073 r247290  
    284284#endif
    285285
    286     BOOL _overridesViewLayoutSize;
    287     CGSize _viewLayoutSizeOverride;
     286    Optional<CGSize> _viewLayoutSizeOverride;
    288287    Optional<WebCore::FloatSize> _lastSentViewLayoutSize;
    289     BOOL _overridesMaximumUnobscuredSize;
    290     CGSize _maximumUnobscuredSizeOverride;
     288    Optional<CGSize> _maximumUnobscuredSizeOverride;
    291289    Optional<WebCore::FloatSize> _lastSentMaximumUnobscuredSize;
     290
    292291    CGRect _inputViewBounds;
    293292    CGFloat _viewportMetaTagWidth;
     
    28692868- (WebCore::FloatSize)activeViewLayoutSize:(const CGRect&)bounds
    28702869{
    2871     if (_overridesViewLayoutSize)
    2872         return WebCore::FloatSize(_viewLayoutSizeOverride);
     2870    if (_viewLayoutSizeOverride)
     2871        return WebCore::FloatSize(_viewLayoutSizeOverride.value());
    28732872
    28742873#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000
     
    29132912
    29142913    if (_dynamicViewportUpdateMode == WebKit::DynamicViewportUpdateMode::NotResizing) {
    2915         if (!_overridesViewLayoutSize)
     2914        if (!_viewLayoutSizeOverride)
    29162915            [self _dispatchSetViewLayoutSize:[self activeViewLayoutSize:self.bounds]];
    2917         if (!_overridesMaximumUnobscuredSize)
     2916        if (!_maximumUnobscuredSizeOverride)
    29182917            [self _dispatchSetMaximumUnobscuredSize:WebCore::FloatSize(bounds.size)];
    29192918
     
    31783177static WebCore::FloatSize activeMaximumUnobscuredSize(WKWebView *webView, const CGRect& bounds)
    31793178{
    3180     return WebCore::FloatSize(webView->_overridesMaximumUnobscuredSize ? webView->_maximumUnobscuredSizeOverride : bounds.size);
     3179    return WebCore::FloatSize(webView->_maximumUnobscuredSizeOverride.valueOr(bounds.size));
    31813180}
    31823181
     
    59185917#endif
    59195918
     5919// Deprecated SPI.
    59205920- (CGSize)_minimumLayoutSizeOverride
    59215921{
    5922     ASSERT(_overridesViewLayoutSize);
    5923     return _viewLayoutSizeOverride;
     5922    ASSERT(_viewLayoutSizeOverride);
     5923    return _viewLayoutSizeOverride.valueOr(CGSizeZero);
    59245924}
    59255925
    59265926- (void)_setViewLayoutSizeOverride:(CGSize)viewLayoutSizeOverride
    59275927{
    5928     _overridesViewLayoutSize = YES;
    59295928    _viewLayoutSizeOverride = viewLayoutSizeOverride;
    59305929
    59315930    if (_dynamicViewportUpdateMode == WebKit::DynamicViewportUpdateMode::NotResizing)
    59325931        [self _dispatchSetViewLayoutSize:WebCore::FloatSize(viewLayoutSizeOverride)];
    5933 
    59345932}
    59355933
     
    60216019}
    60226020
     6021// Deprecated SPI
    60236022- (CGSize)_maximumUnobscuredSizeOverride
    60246023{
    6025     ASSERT(_overridesMaximumUnobscuredSize);
    6026     return _maximumUnobscuredSizeOverride;
     6024    ASSERT(_maximumUnobscuredSizeOverride);
     6025    return _maximumUnobscuredSizeOverride.valueOr(CGSizeZero);
    60276026}
    60286027
     
    60306029{
    60316030    ASSERT(size.width <= self.bounds.size.width && size.height <= self.bounds.size.height);
    6032     _overridesMaximumUnobscuredSize = YES;
    60336031    _maximumUnobscuredSizeOverride = size;
    60346032
     
    60966094    CGRect contentViewBounds = [_contentView bounds];
    60976095
    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.");
    60996097    if (CGRectIsEmpty(newBounds) || newViewLayoutSize.isEmpty() || CGRectIsEmpty(futureUnobscuredRectInSelfCoordinates) || CGRectIsEmpty(contentViewBounds)) {
    61006098        [self _cancelAnimatedResize];
    61016099        [self _frameOrBoundsChanged];
    6102         if (_overridesViewLayoutSize)
     6100        if (_viewLayoutSizeOverride)
    61036101            [self _dispatchSetViewLayoutSize:newViewLayoutSize];
    6104         if (_overridesMaximumUnobscuredSize)
     6102        if (_maximumUnobscuredSizeOverride)
    61056103            [self _dispatchSetMaximumUnobscuredSize:WebCore::FloatSize(newMaximumUnobscuredSize)];
    61066104        if (_overridesInterfaceOrientation)
     
    63096307- (void)_clearOverrideLayoutParameters
    63106308{
    6311     _overridesViewLayoutSize = NO;
    6312     _viewLayoutSizeOverride = CGSizeZero;
    6313 
    6314     _overridesMaximumUnobscuredSize = NO;
    6315     _maximumUnobscuredSizeOverride = CGSizeZero;
     6309    _viewLayoutSizeOverride = WTF::nullopt;
     6310    _maximumUnobscuredSizeOverride = WTF::nullopt;
    63166311}
    63176312
Note: See TracChangeset for help on using the changeset viewer.