[webkit-changes] [WebKit/WebKit] d021fa: `WebProcessProxy::didDestroyUserGestureToken` does...

Charlie Wolfe noreply at github.com
Wed Oct 9 13:36:25 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d021fa1324d3e186bbbd3cc9fbe6cf63816c3152
      https://github.com/WebKit/WebKit/commit/d021fa1324d3e186bbbd3cc9fbe6cf63816c3152
  Author: Charlie Wolfe <charliew at apple.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    A LayoutTests/ipc/did-destroy-user-gesture-token-invalid-identifier-expected.txt
    A LayoutTests/ipc/did-destroy-user-gesture-token-invalid-identifier.html
    M Source/WebCore/Headers.cmake
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/page/UserGestureTokenIdentifier.h
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
    M Source/WebKit/Shared/NavigationActionData.h
    M Source/WebKit/Shared/NavigationActionData.serialization.in
    M Source/WebKit/Shared/ProcessQualified.serialization.in
    M Source/WebKit/Shared/WTFArgumentCoders.serialization.in
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/UIProcess/WebProcessProxy.messages.in
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/WebProcess.h

  Log Message:
  -----------
  `WebProcessProxy::didDestroyUserGestureToken` doesn't check whether `identifier` is valid
https://bugs.webkit.org/show_bug.cgi?id=276982
rdar://132297411

Reviewed by Chris Dumez.

Change user gesture token identifiers from a `uint64_t` to an `ObjectIdentifier` to get IPC validation.

Also use `ProcessQualified` so that these tokens do not collide with site isolation enabled.

* LayoutTests/ipc/did-destroy-user-gesture-token-invalid-identifier-expected.txt: Added.
* LayoutTests/ipc/did-destroy-user-gesture-token-invalid-identifier.html: Added.
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/page/UserGestureTokenIdentifier.h: Added.
* Source/WebKit/Scripts/webkit/messages.py:
(serialized_identifiers):
(types_that_cannot_be_forward_declared):
(headers_for_type):
* Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::serializedIdentifiers):
* Source/WebKit/Shared/NavigationActionData.h:
* Source/WebKit/Shared/NavigationActionData.serialization.in:
* Source/WebKit/Shared/ProcessQualified.serialization.in:
* Source/WebKit/Shared/WTFArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::userInitiatedActivity):
(WebKit::WebProcessProxy::didDestroyUserGestureToken):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.messages.in:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::userGestureTokenIdentifier):
(WebKit::nextUserGestureTokenIdentifier): Deleted.
* Source/WebKit/WebProcess/WebProcess.h:

Originally-landed-as: 280938.111 at safari-7619-branch (5036f12ecddb). rdar://136109303
Canonical link: https://commits.webkit.org/284919@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