[webkit-changes] [WebKit/WebKit] 3fe8f3: Stop autoreleasing WKWebView and WKContentView in ...

Commit Queue noreply at github.com
Wed Jun 14 11:24:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3fe8f3b95be547534fd945e5b0a9786f09ef237a
      https://github.com/WebKit/WebKit/commit/3fe8f3b95be547534fd945e5b0a9786f09ef237a
  Author: David Kilzer <ddkilzer at apple.com>
  Date:   2023-06-14 (Wed, 14 Jun 2023)

  Changed paths:
    M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
    M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm

  Log Message:
  -----------
  Stop autoreleasing WKWebView and WKContentView in WebKit::PageClientImplIOS
https://bugs.webkit.org/show_bug.cgi?id=258051
<rdar://110740310>

Reviewed by Alex Christensen.

Replace m_contentView with contentView() (and m_webView with webView())
in PageClientImplIOS.mm to prevent those objects from being
autoreleased.

* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
(WebKit::PageClientImpl::contentView): Add.
- Add convenience method to call WeakObjCPtr<WKContentView>::get() to
  return a RetainPtr<WKContentView>, which avoids autoreleasing the
  object.

* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::createDrawingAreaProxy):
(WebKit::PageClientImpl::requestScroll):
(WebKit::PageClientImpl::viewScrollPosition):
(WebKit::PageClientImpl::viewSize):
(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::isViewInWindow):
(WebKit::PageClientImpl::processDidExit):
(WebKit::PageClientImpl::processWillSwap):
(WebKit::PageClientImpl::didRelaunchProcess):
(WebKit::PageClientImpl::didCreateContextInWebProcessForVisibilityPropagation):
(WebKit::PageClientImpl::didCreateContextInGPUProcessForVisibilityPropagation):
(WebKit::PageClientImpl::gpuProcessDidExit):
(WebKit::PageClientImpl::didNotHandleTapAsClick):
(WebKit::PageClientImpl::didHandleTapAsHover):
(WebKit::PageClientImpl::didCompleteSyntheticClick):
(WebKit::PageClientImpl::didStartProvisionalLoadForMainFrame):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary):
(WebKit::PageClientImpl::handleSmartMagnificationInformationForPotentialTap):
(WebKit::PageClientImpl::documentRect const):
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::clearAllEditCommands):
(WebKit::PageClientImpl::canUndoRedo):
(WebKit::PageClientImpl::executeUndoRedo):
(WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
(WebKit::PageClientImpl::interpretKeyEvent):
(WebKit::PageClientImpl::positionInformationDidChange):
(WebKit::PageClientImpl::selectionDidChange):
(WebKit::PageClientImpl::assistiveTechnologyMakeFirstResponder):
(WebKit::PageClientImpl::screenToRootView):
(WebKit::PageClientImpl::rootViewToScreen):
(WebKit::PageClientImpl::accessibilityScreenToRootView):
(WebKit::PageClientImpl::rootViewToAccessibilityScreen):
(WebKit::PageClientImpl::doneWithKeyEvent):
(WebKit::PageClientImpl::doneWithTouchEvent):
(WebKit::PageClientImpl::doneDeferringTouchStart):
(WebKit::PageClientImpl::doneDeferringTouchMove):
(WebKit::PageClientImpl::doneDeferringTouchEnd):
(WebKit::PageClientImpl::requestTextRecognition):
(WebKit::PageClientImpl::dataOwnerForPasteboard const):
(WebKit::PageClientImpl::setTextIndicator):
(WebKit::PageClientImpl::clearTextIndicator):
(WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
(WebKit::PageClientImpl::makeViewBlank):
(WebKit::PageClientImpl::setRemoteLayerTreeRootNode):
(WebKit::PageClientImpl::commitPotentialTapFailed):
(WebKit::PageClientImpl::didGetTapHighlightGeometries):
(WebKit::PageClientImpl::didCommitLayerTree):
(WebKit::PageClientImpl::layerTreeCommitComplete):
(WebKit::PageClientImpl::elementDidFocus):
(WebKit::PageClientImpl::updateInputContextAfterBlurringAndRefocusingElement):
(WebKit::PageClientImpl::isFocusingElement):
(WebKit::PageClientImpl::elementDidBlur):
(WebKit::PageClientImpl::focusedElementDidChangeInputMode):
(WebKit::PageClientImpl::didUpdateEditorState):
(WebKit::PageClientImpl::showPlaybackTargetPicker):
(WebKit::PageClientImpl::handleRunOpenPanel):
(WebKit::PageClientImpl::showShareSheet):
(WebKit::PageClientImpl::showContactPicker):
(WebKit::PageClientImpl::showInspectorHighlight):
(WebKit::PageClientImpl::hideInspectorHighlight):
(WebKit::PageClientImpl::showInspectorIndication):
(WebKit::PageClientImpl::hideInspectorIndication):
(WebKit::PageClientImpl::enableInspectorNodeSearch):
(WebKit::PageClientImpl::disableInspectorNodeSearch):
(WebKit::PageClientImpl::scrollingNodeScrollViewWillStartPanGesture):
(WebKit::PageClientImpl::scrollingNodeScrollViewDidScroll):
(WebKit::PageClientImpl::scrollingNodeScrollWillStartScroll):
(WebKit::PageClientImpl::scrollingNodeScrollDidEndScroll):
(WebKit::PageClientImpl::navigationGestureDidEnd):
(WebKit::PageClientImpl::userInterfaceLayoutDirection):
(WebKit::PageClientImpl::didPerformDragOperation):
(WebKit::PageClientImpl::didHandleDragStartRequest):
(WebKit::PageClientImpl::didHandleAdditionalDragItemsRequest):
(WebKit::PageClientImpl::startDrag):
(WebKit::PageClientImpl::willReceiveEditDragSnapshot):
(WebKit::PageClientImpl::didReceiveEditDragSnapshot):
(WebKit::PageClientImpl::didChangeDragCaretRect):
(WebKit::PageClientImpl::requestPasswordForQuickLookDocument):
(WebKit::PageClientImpl::requestDOMPasteAccess):
(WebKit::PageClientImpl::cancelPointersForGestureRecognizer):
(WebKit::PageClientImpl::activeTouchIdentifierForGestureRecognizer):
(WebKit::PageClientImpl::handleAutocorrectionContext):
(WebKit::PageClientImpl::showDataDetectorsUIForPositionInformation):
(WebKit::PageClientImpl::didEnterFullscreen):
(WebKit::PageClientImpl::didExitFullscreen):
(WebKit::PageClientImpl::writePromisedAttachmentToPasteboard):
(WebKit::PageClientImpl::setMouseEventPolicy):
(WebKit::PageClientImpl::showMediaControlsContextMenu):
(WebKit::PageClientImpl::handleAsynchronousCancelableScrollEvent):
(WebKit::PageClientImpl::runModalJavaScriptDialog):
(WebKit::PageClientImpl::contentViewBackgroundColor):
(WebKit::PageClientImpl::insertionPointColor):
(WebKit::PageClientImpl::requestScrollToRect):
(WebKit::PageClientImpl::sceneID):
(WebKit::PageClientImpl::beginTextRecognitionForFullscreenVideo):
(WebKit::PageClientImpl::cancelTextRecognitionForFullscreenVideo):
(WebKit::PageClientImpl::isTextRecognitionInFullscreenVideoEnabled const):
(WebKit::PageClientImpl::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::hasResizableWindows const):

Canonical link: https://commits.webkit.org/265157@main




More information about the webkit-changes mailing list