[webkit-changes] [WebKit/WebKit] 8f62a6: Address safer C++ static analysis warnings in WebPage

Chris Dumez noreply at github.com
Mon Feb 17 15:04:15 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f62a68186896830b810974a5c1267ae03127970
      https://github.com/WebKit/WebKit/commit/8f62a68186896830b810974a5c1267ae03127970
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2025-02-17 (Mon, 17 Feb 2025)

  Changed paths:
    M Source/JavaScriptCore/runtime/SamplingProfiler.h
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/bindings/js/DOMWrapperWorld.cpp
    M Source/WebCore/bindings/js/DOMWrapperWorld.h
    M Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
    M Source/WebCore/bindings/js/JSLazyEventListener.cpp
    M Source/WebCore/bindings/js/ScriptController.cpp
    M Source/WebCore/bindings/js/WebCoreJSClientData.cpp
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/ScriptExecutionContext.cpp
    M Source/WebCore/editing/ReplaceSelectionCommand.cpp
    M Source/WebCore/html/HTMLBodyElement.cpp
    M Source/WebCore/html/HTMLFrameSetElement.cpp
    M Source/WebCore/inspector/InspectorController.cpp
    M Source/WebCore/inspector/InspectorFrontendAPIDispatcher.cpp
    M Source/WebCore/inspector/InspectorFrontendHost.cpp
    M Source/WebCore/inspector/PageDebugger.cpp
    M Source/WebCore/inspector/agents/InspectorPageAgent.cpp
    M Source/WebCore/inspector/agents/page/PageDebuggerAgent.cpp
    M Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp
    M Source/WebCore/loader/HistoryController.h
    M Source/WebCore/page/ChromeClient.h
    M Source/WebCore/page/FocusController.h
    M Source/WebCore/page/LocalFrame.h
    M Source/WebCore/platform/MediaStrategy.h
    M Source/WebCore/platform/mediastream/WebRTCProvider.h
    M Source/WebCore/plugins/PluginViewBase.h
    M Source/WebKit/SaferCPPExpectations/MemoryUnsafeCastCheckerExpectations
    M Source/WebKit/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebKit/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations
    M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h
    M Source/WebKit/WebProcess/GPU/media/WebMediaStrategy.h
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp
    M Source/WebKit/WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp
    M Source/WebKit/WebProcess/InjectedBundle/InjectedBundleScriptWorld.h
    M Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.cpp
    M Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h
    M Source/WebKit/WebProcess/Plugins/PluginView.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebUndoStep.h
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKitLegacy/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebKitLegacy/mac/DOM/DOMInternal.mm
    M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
    M Source/WebKitLegacy/mac/WebView/WebFrame.mm
    M Source/WebKitLegacy/mac/WebView/WebScriptWorld.mm
    M Source/WebKitLegacy/mac/WebView/WebView.mm

  Log Message:
  -----------
  Address safer C++ static analysis warnings in WebPage
https://bugs.webkit.org/show_bug.cgi?id=287760

Reviewed by Darin Adler and Per Arne Vollan.

* Source/WebCore/bindings/js/DOMWrapperWorld.cpp:
(WebCore::mainThreadNormalWorldSingleton):
(WebCore::mainThreadNormalWorld): Deleted.
* Source/WebCore/bindings/js/DOMWrapperWorld.h:
(WebCore::protectedMainThreadNormalWorld):
(WebCore::debuggerWorld):
(WebCore::pluginWorld):
* Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:
(WebCore::mainWorldGlobalObject):
* Source/WebCore/bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::JSLazyEventListener):
(WebCore::JSLazyEventListener::create):
* Source/WebCore/bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateIgnoringException):
(WebCore::ScriptController::loadModuleScript):
(WebCore::ScriptController::linkAndEvaluateModuleScript):
(WebCore::ScriptController::evaluateModule):
(WebCore::ScriptController::setEvalEnabled):
(WebCore::ScriptController::setWebAssemblyEnabled):
(WebCore::ScriptController::setRequiresTrustedTypes):
(WebCore::ScriptController::executeScriptIgnoringException):
(WebCore::ScriptController::executeJavaScriptURL):
(WebCore::ScriptController::reportExceptionFromScriptError):
(WebCore::ScriptController::registerImportMap):
* Source/WebCore/bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSVMClientData::getAllWorlds):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::pictureInPictureElement const):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::setAttributeEventListener):
* Source/WebCore/dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::globalObject const):
* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
* Source/WebCore/html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::attributeChanged):
* Source/WebCore/html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::attributeChanged):
* Source/WebCore/inspector/InspectorController.cpp:
(WebCore::InspectorController::didClearWindowObjectInWorld):
* Source/WebCore/inspector/InspectorFrontendAPIDispatcher.cpp:
(WebCore::InspectorFrontendAPIDispatcher::frontendGlobalObject):
(WebCore::InspectorFrontendAPIDispatcher::evaluateExpression):
* Source/WebCore/inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::evaluateScriptInExtensionTab):
* Source/WebCore/inspector/PageDebugger.cpp:
(WebCore::PageDebugger::isContentScript const):
* Source/WebCore/inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
* Source/WebCore/inspector/agents/page/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::didClearWindowObjectInWorld):
* Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::reportExecutionContextCreation):
* Source/WebCore/loader/HistoryController.h:
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::isWebChromeClient const):
* Source/WebCore/page/FocusController.h:
* Source/WebCore/platform/MediaStrategy.h:
* Source/WebCore/platform/mediastream/WebRTCProvider.h:
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h:
(isType):
* Source/WebCore/plugins/PluginViewBase.h:
(WebCore::PluginViewBase::isPluginView const):
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h:
* Source/WebKit/WebProcess/GPU/media/WebMediaStrategy.h:
(isType):
* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
(webkit_dom_dom_window_webkit_message_handlers_post_message):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
(WebKit::InjectedBundleScriptWorld::getOrCreate):
(WebKit::InjectedBundleScriptWorld::normalWorldSingleton):
(WebKit::InjectedBundleScriptWorld::protectedCoreWorld const):
(WebKit::InjectedBundleScriptWorld::protectedCoreWorld):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
* Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::windowObjectCleared):
* Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::windowObjectCleared):
* Source/WebKit/WebProcess/Plugins/PluginView.h:
(isType):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
(isType):
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::requestActiveNowPlayingSessionInfo):
(WebKit::WebPage::performDictionaryLookupAtLocation):
(WebKit::WebPage::dictionaryPopupInfoForRange):
(WebKit::WebPage::insertDictatedTextAsync):
(WebKit::WebPage::addDictationAlternative):
(WebKit::WebPage::dictationAlternativesAtSelection):
(WebKit::WebPage::clearDictationAlternatives):
(WebKit::WebPage::getContentsAsAttributedString):
(WebKit::WebPage::getPlatformEditorStateCommon const):
(WebKit::WebPage::getPDFFirstPageSize):
(WebKit::WebPage::replaceImageForRemoveBackground):
(WebKit::WebPage::readSelectionFromPasteboard):
(WebKit::elementHasHiddenVisibility):
(WebKit::WebPage::createTextIndicatorForElementWithID):
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::protectedLocalFrameLoaderClient const):
(WebKit::WebFrame::jsContext):
* Source/WebKit/WebProcess/WebPage/WebFrame.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::SendStopResponsivenessTimer::~SendStopResponsivenessTimer):
(WebKit::m_textAnimationController):
(WebKit::WebPage::requestMediaPlaybackState):
(WebKit::WebPage::pauseAllMediaPlayback):
(WebKit::WebPage::suspendAllMediaPlayback):
(WebKit::WebPage::resumeAllMediaPlayback):
(WebKit::WebPage::suspendAllMediaBuffering):
(WebKit::WebPage::resumeAllMediaBuffering):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::editorState const):
(WebKit::WebPage::shouldDispatchSyntheticMouseEventsWhenModifyingSelection const):
(WebKit::WebPage::renderTreeExternalRepresentation const):
(WebKit::WebPage::renderTreeExternalRepresentationForPrinting const):
(WebKit::WebPage::renderTreeSize const):
(WebKit::WebPage::pluginViewForFrame):
(WebKit::WebPage::executeEditingCommand):
(WebKit::WebPage::setEditable):
(WebKit::WebPage::setBaseWritingDirection):
(WebKit::WebPage::close):
(WebKit::WebPage::tryClose):
(WebKit::WebPage::suspendForProcessSwap):
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::fromCorePage):
(WebKit::WebPage::setSize):
(WebKit::WebPage::didScalePage):
(WebKit::WebPage::setDeviceScaleFactor):
(WebKit::WebPage::screenPropertiesDidChange):
(WebKit::WebPage::listenForLayoutMilestones):
(WebKit::WebPage::setSuppressScrollbarAnimations):
(WebKit::WebPage::setEnableVerticalRubberBanding):
(WebKit::WebPage::setEnableHorizontalRubberBanding):
(WebKit::WebPage::setPaginationMode):
(WebKit::WebPage::setPaginationBehavesLikeColumns):
(WebKit::WebPage::setPageLength):
(WebKit::WebPage::setGapBetweenPages):
(WebKit::WebPage::postInjectedBundleMessage):
(WebKit::WebPage::setUnderPageBackgroundColorOverride):
(WebKit::WebPage::setHeaderPageBanner):
(WebKit::WebPage::setFooterPageBanner):
(WebKit::WebPage::setHeaderBannerHeight):
(WebKit::WebPage::setFooterBannerHeight):
(WebKit::snapshotColorSpace):
(WebKit::WebPage::pageStoppedScrolling):
(WebKit::WebPage::contextMenuAtPointInWindow):
(WebKit::WebPage::updateDrawingAreaLayerTreeFreezeState):
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::setLastKnownMousePosition):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::keyEvent):
(WebKit::WebPage::validateCommand):
(WebKit::WebPage::requestFontAttributesAtSelectionStart):
(WebKit::WebPage::setObscuredContentInsets):
(WebKit::WebPage::setInitialFocus):
(WebKit::WebPage::setCanStartMediaTimerFired):
(WebKit::WebPage::updateIsInWindow):
(WebKit::WebPage::windowActivityDidChange):
(WebKit::WebPage::setActivityState):
(WebKit::WebPage::setNeedsDOMWindowResizeEvent):
(WebKit::WebPage::setUserAgent):
(WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
(WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
(WebKit::WebPage::suspend):
(WebKit::WebPage::resume):
(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):
(WebKit::frameWithSelection):
(WebKit::WebPage::getMainResourceDataOfFrame):
(WebKit::WebPage::preferencesDidChange):
(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::layoutIfNeeded):
(WebKit::WebPage::updateRendering):
(WebKit::WebPage::shouldTriggerRenderingUpdate const):
(WebKit::WebPage::protectedPlaybackSessionManager):
(WebKit::WebPage::videoPresentationManager):
(WebKit::WebPage::videoControlsManagerDidChange):
(WebKit::WebPage::addConsoleMessage):
(WebKit::WebPage::notifyReportObservers):
(WebKit::WebPage::sendReportToEndpoints):
(WebKit::WebPage::performDragControllerAction):
(WebKit::WebPage::dragEnded):
(WebKit::WebPage::mayPerformUploadDragDestinationAction):
(WebKit::WebPage::unapplyEditCommand):
(WebKit::WebPage::reapplyEditCommand):
(WebKit::WebPage::voiceActivityDetected):
(WebKit::WebPage::changeSpellingToWord):
(WebKit::WebPage::unmarkAllMisspellings):
(WebKit::WebPage::unmarkAllBadGrammar):
(WebKit::WebPage::uppercaseWord):
(WebKit::WebPage::lowercaseWord):
(WebKit::WebPage::setTextForActivePopupMenu):
(WebKit::WebPage::replaceSelectionWithText):
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::dispatchMessage):
(WebKit::WebPage::scrollingCoordinator const):
(WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
(WebKit::WebPage::pdfDocumentForPrintingFrame):
(WebKit::WebPage::setUseColorAppearance):
(WebKit::WebPage::setMediaVolume):
(WebKit::WebPage::setMuted):
(WebKit::WebPage::stopMediaCapture):
(WebKit::pageContainsAnyHorizontalScrollbars):
(WebKit::WebPage::localMainFrame const):
(WebKit::WebPage::localTopDocument const):
(WebKit::WebPage::mainFrameView const):
(WebKit::WebPage::setCompositionAsync):
(WebKit::WebPage::setWritingSuggestion):
(WebKit::WebPage::setAlwaysShowsHorizontalScroller):
(WebKit::WebPage::setAlwaysShowsVerticalScroller):
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::didSameDocumentNavigationForFrame):
(WebKit::WebPage::currentSelectionAsRange):
(WebKit::WebPage::scheduleFullEditorStateUpdate):
(WebKit::WebPage::updateWebsitePolicies):
(WebKit::WebPage::notifyUserScripts):
(WebKit::WebPage::getSamplingProfilerOutput):
(WebKit::WebPage::postMessageWithAsyncReply):
(WebKit::WebPage::postSynchronousMessageForTesting):
(WebKit::WebPage::setUserInterfaceLayoutDirection):
(WebKit::WebPage::registerURLSchemeHandler):
(WebKit::WebPage::setIsSuspended):
(WebKit::WebPage::requestStorageAccess):
(WebKit::WebPage::didLoadFromRegistrableDomain):
(WebKit::WebPage::requestAttachmentIcon):
(WebKit::WebPage::textAutoSizingAdjustmentTimerFired):
(WebKit::WebPage::setOverriddenMediaType):
(WebKit::WebPage::updateCORSDisablingPatterns):
(WebKit::WebPage::requestTextRecognition):
(WebKit::WebPage::startVisualTranslation):
(WebKit::WebPage::requestImageBitmap):
(WebKit::WebPage::setAppHighlightsVisibility):
(WebKit::WebPage::insertTextPlaceholder):
(WebKit::WebPage::removeTextPlaceholder):
(WebKit::WebPage::updateImageAnimationEnabled):
(WebKit::WebPage::pauseAllAnimations):
(WebKit::WebPage::playAllAnimations):
(WebKit::WebPage::useRedirectionForCurrentNavigation):
(WebKit::WebPage::remotePostMessage):
(WebKit::WebPage::updateLastNodeBeforeWritingSuggestions):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebUndoStep.h:
(WebKit::WebUndoStep::protectedStep const):
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::protectedRemoteImageDecoderAVFManager):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKitLegacy/mac/DOM/DOMInternal.mm:
(-[WebScriptObject _initializeScriptDOMNodeImp]):
* Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
* Source/WebKitLegacy/mac/WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
(-[WebFrame globalContext]):
* Source/WebKitLegacy/mac/WebView/WebScriptWorld.mm:
(+[WebScriptWorld standardWorld]):
(+[WebScriptWorld findOrCreateWorld:]):
* Source/WebKitLegacy/mac/WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list