RESOLVED FIXED295689
Suppress NoUncheckedPtrMemberChecker/UncheckedCallArgsChecker warnings for WebPageMessages.h
https://bugs.webkit.org/show_bug.cgi?id=295689
Summary Suppress NoUncheckedPtrMemberChecker/UncheckedCallArgsChecker warnings for We...
Frédéric Wang (:fredw)
Reported 2025-07-09 23:13:40 PDT
> IPC message types are temporal objects used to serialize arguments. Using & and && is safe for member variables in these types since they're always short lived. In bug 295621, we suppress ForwardDeclChecker for members for headers generated by Scripts/webkit/messages.py ; this has the side effect of suppressing NoUncheckedPtrMemberCheckerExpectations, NoUncountedMemberCheckerExpectations, UncheckedCallArgsCheckerExpectations, UncountedCallArgsCheckerExpectations warnings too, just because at the end all of the macros are just adding [[clang::suppress]] There are two remaining cases in *Messages.h (more precisely WebPageMessages.h): > SUPPRESS_FORWARD_DECL_MEMBER const WebCore::FrameIdentifier& m_frameID; > const WebKit::WebKeyboardEvent& m_event; > ^ Member variable 'm_event' in 'Messages::WebPage::KeyEvent' is a reference to CheckedPtr capable type 'WebKit::WebKeyboardEvent'; member variables must be a CheckedPtr, CheckedRef, WeakRef, or WeakPtr > SUPPRESS_FORWARD_DECL_ARG encoder << m_frameID; > encoder << m_event; > ^ Call argument for parameter 't' is unchecked and unsafe This is because because types_that_cannot_be_forward_declared() returns true for 'WebKit::WebKeyboardEvent, so function_parameter_requires_suppress_forward_decl() returns false for that type.
Attachments
Frédéric Wang (:fredw)
Comment 1 2025-07-10 00:24:20 PDT
EWS
Comment 2 2025-07-10 07:56:38 PDT
Committed 297200@main (9770837d4912): <https://commits.webkit.org/297200@main> Reviewed commits have been landed. Closing PR #47811 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2025-07-10 12:52:51 PDT
Note You need to log in before you can comment on or make changes to this bug.