Changeset 246859 in webkit


Ignore:
Timestamp:
Jun 26, 2019 5:18:19 PM (5 years ago)
Author:
Wenson Hsieh
Message:

[iPadOS] Fix another crash in -[UIPreviewTarget initWithContainer:center:transform:] when generating a fallback targeted preview
https://bugs.webkit.org/show_bug.cgi?id=199243
<rdar://problem/51554509>

Reviewed by Tim Horton.

Additionally make createFallbackTargetedPreview robust in the case where the content view is unparented, and
rename _ensureTargetedPreview to _createTargetedPreviewIfPossible, to reflect the fact that it may now return
nil.

  • UIProcess/ios/WKContentViewInteraction.mm:

(createTargetedPreview):
(createFallbackTargetedPreview):
(-[WKContentView _createTargetedPreviewIfPossible]):
(-[WKContentView contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKContentView contextMenuInteraction:previewForDismissingMenuWithConfiguration:]):
(-[WKContentView _ensureTargetedPreview]): Deleted.

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r246856 r246859  
     12019-06-26  Wenson Hsieh  <wenson_hsieh@apple.com>
     2
     3        [iPadOS] Fix another crash in -[UIPreviewTarget initWithContainer:center:transform:] when generating a fallback targeted preview
     4        https://bugs.webkit.org/show_bug.cgi?id=199243
     5        <rdar://problem/51554509>
     6
     7        Reviewed by Tim Horton.
     8
     9        Additionally make createFallbackTargetedPreview robust in the case where the content view is unparented, and
     10        rename _ensureTargetedPreview to _createTargetedPreviewIfPossible, to reflect the fact that it may now return
     11        nil.
     12
     13        * UIProcess/ios/WKContentViewInteraction.mm:
     14        (createTargetedPreview):
     15        (createFallbackTargetedPreview):
     16        (-[WKContentView _createTargetedPreviewIfPossible]):
     17        (-[WKContentView contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
     18        (-[WKContentView contextMenuInteraction:previewForDismissingMenuWithConfiguration:]):
     19        (-[WKContentView _ensureTargetedPreview]): Deleted.
     20
    1212019-06-26  Alex Christensen  <achristensen@webkit.org>
    222
  • trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

    r246817 r246859  
    79227922static RetainPtr<UITargetedPreview> createFallbackTargetedPreview(UIView *rootView, UIView *containerView, const WebCore::FloatRect& frameInRootViewCoordinates)
    79237923{
     7924    if (!containerView.window)
     7925        return nil;
     7926
    79247927    auto parameters = adoptNS([[UIPreviewParameters alloc] init]);
    79257928    UIView *snapshotView = [rootView resizableSnapshotViewFromRect:frameInRootViewCoordinates afterScreenUpdates:NO withCapInsets:UIEdgeInsetsZero];
     
    79347937}
    79357938
    7936 - (UITargetedPreview *)_ensureTargetedPreview
     7939- (UITargetedPreview *)_createTargetedPreviewIfPossible
    79377940{
    79387941    if (_contextMenuInteractionTargetedPreview)
     
    79617964{
    79627965    [self _startSuppressingSelectionAssistantForReason:WebKit::InteractionIsHappening];
    7963     return [self _ensureTargetedPreview];
     7966    return [self _createTargetedPreviewIfPossible];
    79647967}
    79657968
     
    79827985- (UITargetedPreview *)contextMenuInteraction:(UIContextMenuInteraction *)interaction previewForDismissingMenuWithConfiguration:(UIContextMenuConfiguration *)configuration
    79837986{
    7984     return [self _ensureTargetedPreview];
     7987    return [self _createTargetedPreviewIfPossible];
    79857988}
    79867989
Note: See TracChangeset for help on using the changeset viewer.