[webkit-changes] [WebKit/WebKit] 82ca22: Group preferences shared by the WebProcess to the ...

Chris Dumez noreply at github.com
Fri Sep 8 12:28:58 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 82ca220bc8d5e3a65847bde2cee7639c29a33992
      https://github.com/WebKit/WebKit/commit/82ca220bc8d5e3a65847bde2cee7639c29a33992
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources.make
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
    M Source/WebKit/GPUProcess/GPUProcess.cpp
    M Source/WebKit/GPUProcess/GPUProcess.h
    M Source/WebKit/GPUProcess/GPUProcess.messages.in
    M Source/WebKit/Shared/GPUProcessConnectionParameters.h
    M Source/WebKit/Shared/GPUProcessConnectionParameters.serialization.in
    A Source/WebKit/Shared/GPUProcessPreferencesForWebProcess.h
    A Source/WebKit/Shared/GPUProcessPreferencesForWebProcess.serialization.in
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Group preferences shared by the WebProcess to the GPUProcess into a new structure
https://bugs.webkit.org/show_bug.cgi?id=261337
rdar://114245301

Reviewed by Simon Fraser.

Group preferences shared by the WebProcess to the GPUProcess into a new structure.
We currently have 3 preferences (WebGPU, WebGL, DOMRendering) which are dealt with
individually. We now have a new GPUProcessPreferencesForWebProcess structure with
a single code path to communicate those to the GPUProcess.

This reduces the amount of IPC between the UIProcess and the GPUProcess and will
make it easier to do synchronization (wait until the GPUProcess has updated its
preferences before proceeding), in order to fix <rdar://114245301>.

* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::m_preferences):
(WebKit::GPUConnectionToWebProcess::allowsExitUnderMemoryPressure const):
(WebKit::GPUConnectionToWebProcess::createRemoteGPU):
(WebKit::m_webGLEnabled): Deleted.
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h:
(WebKit::GPUConnectionToWebProcess::isWebGPUEnabled const):
(WebKit::GPUConnectionToWebProcess::isWebGLEnabled const):
(WebKit::GPUConnectionToWebProcess::updatePreferences):
(WebKit::GPUConnectionToWebProcess::isWebGPUEnabled): Deleted.
(WebKit::GPUConnectionToWebProcess::updateWebGPUEnabled): Deleted.
(WebKit::GPUConnectionToWebProcess::isWebGLEnabled): Deleted.
(WebKit::GPUConnectionToWebProcess::updateWebGLEnabled): Deleted.
(WebKit::GPUConnectionToWebProcess::updateDOMRenderingEnabled): Deleted.
* Source/WebKit/GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::updatePreferencesForWebProcess):
(WebKit::GPUProcess::updateWebGPUEnabled): Deleted.
(WebKit::GPUProcess::updateWebGLEnabled): Deleted.
(WebKit::GPUProcess::updateDOMRenderingEnabled): Deleted.
* Source/WebKit/GPUProcess/GPUProcess.h:
* Source/WebKit/GPUProcess/GPUProcess.messages.in:
* Source/WebKit/Shared/GPUProcessConnectionParameters.h:
* Source/WebKit/Shared/GPUProcessConnectionParameters.serialization.in:
* Source/WebKit/Shared/GPUProcessPreferencesForWebProcess.h: Copied from Source/WebKit/Shared/GPUProcessConnectionParameters.h.
* Source/WebKit/Shared/GPUProcessPreferencesForWebProcess.serialization.in: Copied from Source/WebKit/Shared/GPUProcessConnectionParameters.serialization.in.
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::updatePreferencesForWebProcess):
(WebKit::GPUProcessProxy::updateWebGPUEnabled): Deleted.
(WebKit::GPUProcessProxy::updateWebGLEnabled): Deleted.
(WebKit::GPUProcessProxy::updateDOMRenderingEnabled): Deleted.
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createGPUProcessConnection):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::createGPUProcessConnection):
(WebKit::WebProcessProxy::computePreferencesForGPUProcess const):
(WebKit::WebProcessProxy::updatePreferencesForGPUProcess):
(WebKit::WebProcessProxy::updateDOMRenderingStateInGPUProcess): Deleted.
(WebKit::WebProcessProxy::updatePreferencesEnabledStateInGPUProcess): Deleted.
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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




More information about the webkit-changes mailing list