[webkit-changes] [WebKit/WebKit] 2d7df0: [GTK][WPE] Enable -Wunsafe-buffer-usage for the We...

Adrian Perez noreply at github.com
Thu Oct 17 05:10:15 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2d7df09cf3f08a332003e47dd0664f4c3423604a
      https://github.com/WebKit/WebKit/commit/2d7df09cf3f08a332003e47dd0664f4c3423604a
  Author: Adrian Perez de Castro <aperez at igalia.com>
  Date:   2024-10-17 (Thu, 17 Oct 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/Color.h
    M Source/WebCore/platform/graphics/FontPlatformData.h
    M Source/WebCore/platform/graphics/FontRenderOptions.h
    M Source/WebCore/platform/graphics/PlatformColorSpace.h
    M Source/WebCore/platform/graphics/PlatformDisplay.h
    M Source/WebCore/platform/graphics/PlatformImage.h
    M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTileBuffer.h
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp
    M Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp
    M Source/WebKit/Platform/IPC/glib/ArgumentCodersGlib.h
    M Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
    M Source/WebKit/Shared/API/c/skia/WKImageSkia.h
    M Source/WebKit/Shared/API/glib/WebKitURIRequest.cpp
    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/unix/AuxiliaryProcessMain.cpp
    M Source/WebKit/UIProcess/API/C/glib/WKTextCheckerGLib.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitAuthenticationRequest.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitBackForwardList.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitContextMenuClient.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitDownload.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitEditorState.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/WebKitInputMethodContext.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitNotification.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitOptionMenu.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitUserContent.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitUserContentFilterStore.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitUserContentManager.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWebViewSessionState.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitWindowProperties.cpp
    M Source/WebKit/UIProcess/API/gtk/DropTargetGtk4.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitColorChooserRequest.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitPrintOperation.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebInspector.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/InjectedBundle/API/glib/WebKitScriptWorld.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebProcessExtensionManager.cpp
    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:
  -----------
  [GTK][WPE] Enable -Wunsafe-buffer-usage for the WebKit target
https://bugs.webkit.org/show_bug.cgi?id=281571

Reviewed by Carlos Garcia Campos.

Enable additional bounds safety checks from -Wunsafe-buffer-usage for
the WebKit target in the GTK and WPE ports, similarly to how it has been
done for the Apple ports in 285046 at main.

Some files, or parts of them, are annotated to opt-out of the checks
by means of the WTF_ALLOW_UNSAFE_BUFFER_{BEGIN,END} macros. Follow-up
patches will take care of reducing the list of opt-outs.

Certain headers that trigger many warnings receive an opt-out for the
whole header at the inclusion point. While there is an attempt to keep
those at a minimum, the Skia headers in particular contain many inlines
that may not be possible to remove the opt-out for.

* Source/WebCore/platform/graphics/Color.h:
* Source/WebCore/platform/graphics/FontPlatformData.h:
* Source/WebCore/platform/graphics/FontRenderOptions.h:
* Source/WebCore/platform/graphics/PlatformColorSpace.h:
* Source/WebCore/platform/graphics/PlatformDisplay.h:
* Source/WebCore/platform/graphics/PlatformImage.h:
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTileBuffer.h:
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp:
(WebKit::NetworkCache::concatenate):
* Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp:
(WebKit::WebSocketTask::WebSocketTask):
* Source/WebKit/Platform/IPC/glib/ArgumentCodersGlib.h:
* Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:
* Source/WebKit/Shared/API/c/skia/WKImageSkia.h:
* Source/WebKit/Shared/API/glib/WebKitURIRequest.cpp:
(webkit_uri_request_set_uri):
* 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:
* Source/WebKit/Shared/unix/AuxiliaryProcessMain.cpp:
(WebKit::AuxiliaryProcessMainCommon::parseCommandLine): Deleted.
* Source/WebKit/UIProcess/API/C/glib/WKTextCheckerGLib.cpp:
(WKTextCheckerSetSpellCheckingLanguages):
* Source/WebKit/UIProcess/API/glib/WebKitAuthenticationRequest.cpp:
(webkit_authentication_request_cancel):
* Source/WebKit/UIProcess/API/glib/WebKitBackForwardList.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitContextMenuClient.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitDownload.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitEditorState.cpp:
(webkitEditorStateSetTypingAttributes):
* Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp:
* 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/WebKitInputMethodContext.cpp:
(webkit_input_method_context_set_input_purpose):
(webkit_input_method_context_set_input_hints):
* Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.cpp:
(webkitNetworkSessionDownloadStarted):
* Source/WebKit/UIProcess/API/glib/WebKitNotification.cpp:
(webkit_notification_close):
(webkit_notification_clicked):
* Source/WebKit/UIProcess/API/glib/WebKitOptionMenu.cpp:
(webkit_option_menu_close):
* Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitURISchemeResponse.cpp:
* 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/WebKitUserContentManager.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitWebViewSessionState.cpp:
(decodeSessionState):
* Source/WebKit/UIProcess/API/glib/WebKitWindowProperties.cpp:
* Source/WebKit/UIProcess/API/gtk/DropTargetGtk4.cpp:
(WebKit::DropTarget::accept):
* Source/WebKit/UIProcess/API/gtk/WebKitColorChooserRequest.cpp:
(webkit_color_chooser_request_set_rgba):
(webkit_color_chooser_request_finish):
(webkit_color_chooser_request_cancel):
* Source/WebKit/UIProcess/API/gtk/WebKitPrintOperation.cpp:
(webkit_print_operation_set_print_settings):
(webkit_print_operation_set_page_setup):
* Source/WebKit/UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
(WebKit::RemoteInspectorProtocolHandler::updateTargetList):
* Source/WebKit/UIProcess/API/gtk/WebKitWebInspector.cpp:
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(shouldForwardWheelEvent):
* Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:
* Source/WebKit/UIProcess/Automation/skia/WebAutomationSessionSkia.cpp:
* 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/InjectedBundle/API/glib/WebKitScriptWorld.cpp:
* Source/WebKit/WebProcess/InjectedBundle/API/glib/WebProcessExtensionManager.cpp:
(WebKit::parseUserData):
* 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/285328@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