[webkit-changes] [WebKit/WebKit] 20d3e8: [Cocoa] Extend access to the 'com.apple.gputools.s...

Brent Fulgham noreply at github.com
Fri May 12 15:15:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 20d3e87d72695d65ea71a557c33ba0f5148a2267
      https://github.com/WebKit/WebKit/commit/20d3e87d72695d65ea71a557c33ba0f5148a2267
  Author: Brent Fulgham <bfulgham at apple.com>
  Date:   2023-05-12 (Fri, 12 May 2023)

  Changed paths:
    M Source/WebKit/GPUProcess/GPUProcess.cpp
    M Source/WebKit/GPUProcess/GPUProcess.h
    M Source/WebKit/GPUProcess/GPUProcess.messages.in
    M Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp
    M Source/WebKit/GPUProcess/GPUProcessCreationParameters.h
    M Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm
    M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h

  Log Message:
  -----------
  [Cocoa] Extend access to the 'com.apple.gputools.service' mach service if Web Inspector is enabled
https://bugs.webkit.org/show_bug.cgi?id=256673
<rdar://107631614>

Reviewed by Per Arne Vollan.

Access to the `com.apple.gputools.service` mach service is denied to the GPU Process.
Unfortunately, some developer diagnostic tools for graphics investigation need this
access to work.

We should have the UI Process extend permission for the GPU Process to talk to relevant
services when the Web Inspector has been enabled.

* Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess): Consume the GPU tools extensions if present.
(WebKit::GPUProcess::updateSandboxAccess): Move outside the MEDIA_SESSION enablement macro
so we can use it for WebInspector purposes.
* Source/WebKit/GPUProcess/GPUProcess.h:
* Source/WebKit/GPUProcess/GPUProcess.messages.in: Ditto.
* Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp:
(WebKit::GPUProcessCreationParameters::encode const): Update for additional sandbox extensions.
(WebKit::GPUProcessCreationParameters::decode): Ditto.
* Source/WebKit/GPUProcess/GPUProcessCreationParameters.h:
* Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm:
(WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters): Add GPU tools extensions to
process launch parameters if needed.
(WebKit::GPUProcessProxy::createGPUToolsSandboxExtensionHandlesIfNeeded): Added.
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess): Extend GPU tools extensions to the GPU
process if they haven't been sent before, but the WebInspector is now enabled.
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::GPUProcessProxy):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:

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




More information about the webkit-changes mailing list