[webkit-changes] [WebKit/WebKit] cbab3e: Resolved the remaining uses of WTF_ALLOW_UNSAFE_BU...

geoffreygaren noreply at github.com
Thu Nov 7 07:25:58 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cbab3e78a6a1b42a42b5d1a1560b97b11286e7a3
      https://github.com/WebKit/WebKit/commit/cbab3e78a6a1b42a42b5d1a1560b97b11286e7a3
  Author: Geoffrey Garen <ggaren at apple.com>
  Date:   2024-11-07 (Thu, 07 Nov 2024)

  Changed paths:
    M Source/WTF/wtf/Compiler.h
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm
    M Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp
    M Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp
    M Source/WebKit/NetworkProcess/webrtc/LibWebRTCSocketClient.h
    M Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp
    M Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.h
    M Source/WebKit/NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm
    M Source/WebKit/Platform/IPC/JSIPCBinding.h
    M Source/WebKit/Platform/IPC/StreamConnectionEncoder.h
    M Source/WebKit/Platform/IPC/glib/ArgumentCodersGlib.h
    M Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
    M Source/WebKit/Platform/IPC/unix/UnixMessage.h
    M Source/WebKit/Shared/API/c/skia/WKImageSkia.h
    M Source/WebKit/Shared/API/glib/WebKitURIRequest.cpp
    M Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h
    M Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm
    M Source/WebKit/Shared/RTCNetwork.h
    M Source/WebKit/Shared/RTCPacketOptions.h
    M Source/WebKit/Shared/RTCWebKitEncodedFrameInfo.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.h
    M Source/WebKit/Shared/libwpe/NativeWebTouchEventLibWPE.cpp
    M Source/WebKit/Shared/libwpe/WebEventFactory.cpp
    M Source/WebKit/Shared/linux/WebMemorySamplerLinux.cpp
    M Source/WebKit/Shared/skia/CoreIPCSkColorSpace.h
    M Source/WebKit/Shared/skia/CoreIPCSkData.h
    M Source/WebKit/Shared/unix/AuxiliaryProcessMain.cpp
    M Source/WebKit/UIProcess/API/C/glib/WKTextCheckerGLib.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitContextMenuClient.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitFileChooserRequest.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitInitialize.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitUserContent.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitUserContentFilterStore.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebViewSessionState.cpp
    M Source/WebKit/UIProcess/API/gtk/DropTargetGtk4.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitInputMethodContextImplGtk.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
    M Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp
    M Source/WebKit/UIProcess/Automation/skia/WebAutomationSessionSkia.cpp
    M Source/WebKit/UIProcess/Inspector/glib/RemoteInspectorClient.cpp
    M Source/WebKit/UIProcess/Inspector/gtk/WebKitInspectorWindow.cpp
    M Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
    M Source/WebKit/UIProcess/Launcher/glib/FlatpakLauncher.cpp
    M Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp
    M Source/WebKit/UIProcess/Launcher/glib/XDGDBusProxy.cpp
    M Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp
    M Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp
    M Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
    M Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp
    M Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebProcessExtensionManager.cpp
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCDnsResolverFactory.h
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocket.h
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.h
    M Source/WebKit/WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp
    M Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp
    M Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.h

  Log Message:
  -----------
  Resolved the remaining uses of WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN in /WebKit/ in Apple ports
https://bugs.webkit.org/show_bug.cgi?id=282730
rdar://139395062

Reviewed by Chris Dumez.

You can now audit WebKit by searching for the regex

    WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN(?! //.*port)

and it should turn up no results.

Fixed one or two remaining unsafe buffer uses.

Added a WTF_IGNORE_WARNINGS_IN_THIRD_PARTY_CODE_BEGIN/_END to distinguish code
that we're skipping because it's not a part of WebKit. (Clang treats system
headers similarly.)

Added comments to annotate port-specific uses of
WTF_ALLOW_UNSAFE_BUFFER_USAGE_BEGIN to facilitate regex audit.

Removed some markers that skipped constructs that are now demonstrably safe.

* Source/WTF/wtf/Compiler.h:
* Source/WebKit/GPUProcess/EntryPoint/Cocoa/XPCService/GPUServiceEntryPoint.mm:
(GPU_SERVICE_INITIALIZER):
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
* Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp:
(WebKit::NetworkCache::concatenate):
* Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp:
(WebKit::WebSocketTask::WebSocketTask):
* Source/WebKit/NetworkProcess/webrtc/LibWebRTCSocketClient.h:
* Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp:
* Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.h:
* Source/WebKit/NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:
* Source/WebKit/Platform/IPC/JSIPCBinding.h:
* Source/WebKit/Platform/IPC/StreamConnectionEncoder.h:
* Source/WebKit/Platform/IPC/glib/ArgumentCodersGlib.h:
* Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:
* Source/WebKit/Platform/IPC/unix/UnixMessage.h:
(IPC::UnixMessage::UnixMessage):
* Source/WebKit/Shared/API/c/skia/WKImageSkia.h:
* Source/WebKit/Shared/API/glib/WebKitURIRequest.cpp:
(webkit_uri_request_set_uri):
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:
(WebKit::setJSCOptions):
* Source/WebKit/Shared/RTCNetwork.h:
* Source/WebKit/Shared/RTCPacketOptions.h:
* Source/WebKit/Shared/RTCWebKitEncodedFrameInfo.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.h:
* Source/WebKit/Shared/libwpe/NativeWebTouchEventLibWPE.cpp:
* Source/WebKit/Shared/libwpe/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebTouchEvent):
* Source/WebKit/Shared/linux/WebMemorySamplerLinux.cpp:
(WebKit::nextToken):
* Source/WebKit/Shared/skia/CoreIPCSkColorSpace.h:
(WebKit::CoreIPCSkColorSpace::dataReference const):
* Source/WebKit/Shared/skia/CoreIPCSkData.h:
(WebKit::CoreIPCSkData::dataReference const):
* Source/WebKit/Shared/unix/AuxiliaryProcessMain.cpp:
* Source/WebKit/UIProcess/API/C/glib/WKTextCheckerGLib.cpp:
(WKTextCheckerSetSpellCheckingLanguages):
* Source/WebKit/UIProcess/API/glib/WebKitContextMenuClient.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp:
(webkitFaviconDatabaseGetFaviconInternal):
* Source/WebKit/UIProcess/API/glib/WebKitFileChooserRequest.cpp:
(webkit_file_chooser_request_select_files):
* Source/WebKit/UIProcess/API/glib/WebKitInitialize.cpp:
(WebKit::initializeRemoteInspectorServer):
* Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):
* Source/WebKit/UIProcess/API/glib/WebKitUserContent.cpp:
(toStringVector):
* Source/WebKit/UIProcess/API/glib/WebKitUserContentFilterStore.cpp:
(webkit_user_content_filter_store_fetch_identifiers):
* Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_load_html):
(webkit_web_view_load_alternate_html):
(webkitWebViewEvaluateJavascriptInternal):
(webkitWebViewCallAsyncJavascriptFunctionInternal):
* Source/WebKit/UIProcess/API/glib/WebKitWebViewSessionState.cpp:
(decodeSessionState):
* Source/WebKit/UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::accept):
* Source/WebKit/UIProcess/API/gtk/WebKitInputMethodContextImplGtk.cpp:
(webkitInputMethodContextImplGtkNotifySurrounding):
* Source/WebKit/UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
(WebKit::RemoteInspectorProtocolHandler::updateTargetList):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(shouldForwardWheelEvent):
* Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:
* Source/WebKit/UIProcess/Automation/skia/WebAutomationSessionSkia.cpp:
(WebKit::base64EncodedPNGData):
* Source/WebKit/UIProcess/Inspector/glib/RemoteInspectorClient.cpp:
* Source/WebKit/UIProcess/Inspector/gtk/WebKitInspectorWindow.cpp:
* Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
* Source/WebKit/UIProcess/Launcher/glib/FlatpakLauncher.cpp:
* Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
(WebKit::ProcessLauncher::launchProcess):
* Source/WebKit/UIProcess/Launcher/glib/XDGDBusProxy.cpp:
(WebKit::XDGDBusProxy::launch):
* Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp:
* Source/WebKit/UIProcess/glib/DisplayVBlankMonitorDRM.cpp:
* Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::setSandboxEnabled):
* Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:
(WebKit::Clipboard::formats):
* Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp:
(WebKit::WebPageProxy::preferredBufferFormats const):
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
* Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
* Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.cpp:
* Source/WebKit/WebProcess/InjectedBundle/API/glib/WebProcessExtensionManager.cpp:
(WebKit::parseUserData):
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCDnsResolverFactory.h:
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h:
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocket.h:
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:
* Source/WebKit/WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp:
* Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::PrintPagesData::PrintPagesData):
* Source/WebKit/WebProcess/WebPage/gtk/WebPrintOperationGtk.h:

Canonical link: https://commits.webkit.org/286279@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