[webkit-changes] [WebKit/WebKit] 00e440: [Cocoa] Create a platform abstraction for process ...

aestes noreply at github.com
Fri Nov 17 19:39:32 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 00e440a2f6c6fcd6c2729baa70d57a81977ecf28
      https://github.com/WebKit/WebKit/commit/00e440a2f6c6fcd6c2729baa70d57a81977ecf28
  Author: Andy Estes <aestes at apple.com>
  Date:   2023-11-17 (Fri, 17 Nov 2023)

  Changed paths:
    M Source/WTF/wtf/PlatformEnable.h
    M Source/WTF/wtf/PlatformUse.h
    A Source/WebKit/Platform/cocoa/AssertionCapability.h
    A Source/WebKit/Platform/cocoa/AssertionCapability.mm
    A Source/WebKit/Platform/cocoa/ProcessCapability.cpp
    A Source/WebKit/Platform/cocoa/ProcessCapability.h
    M Source/WebKit/Platform/spi/Cocoa/ExtensionKitSPI.h
    A Source/WebKit/Shared/Cocoa/ExtensionKitSoftLink.h
    A Source/WebKit/Shared/Cocoa/ExtensionKitSoftLink.mm
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/UIProcess/Cocoa/ProcessAssertionCocoa.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [Cocoa] Create a platform abstraction for process capabilities
https://bugs.webkit.org/show_bug.cgi?id=264986
rdar://118533701

Reviewed by Per Arne Vollan.

In 269791 at main we adopted _SECapabilities to take process assertions on iOS. In a follow-on change
we will adopt a new kind of process capability, so in preparation this change creates a platform
abstraction around the concept of process capabilities. This will allow us to more easily create new
types of capabilities and write tests.

For now, this change creates an abstract ProcessCapability class that can return a platform
capability (_SECapabilities on iOS), creates an AssertionCapability subclass that vends the type of
platform capability adopted in 269791 at main, and uses it in ProcessAssertionCocoa.

* Source/WTF/wtf/PlatformEnable.h:
* Source/WTF/wtf/PlatformUse.h:
* Source/WebKit/Platform/cocoa/AssertionCapability.h: Added.
* Source/WebKit/Platform/cocoa/AssertionCapability.mm: Added.
(WebKit::AssertionCapability::AssertionCapability):
(WebKit::AssertionCapability::platformCapability const):
* Source/WebKit/Platform/cocoa/ProcessCapability.cpp: Added.
(WebKit::ProcessCapability::ProcessCapability):
* Source/WebKit/Platform/cocoa/ProcessCapability.h: Added.
(WebKit::ProcessCapability::environmentIdentifier const):
* Source/WebKit/Platform/spi/Cocoa/ExtensionKitSPI.h:
* Source/WebKit/Shared/Cocoa/ExtensionKitSoftLink.h: Added.
* Source/WebKit/Shared/Cocoa/ExtensionKitSoftLink.mm: Added.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/Cocoa/ProcessAssertionCocoa.mm:
(WebKit::runningBoardNameForAssertionType):
(WebKit::runningBoardDomainForAssertionType):
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::init):
(WebKit::ProcessAssertion::acquireSync):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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




More information about the webkit-changes mailing list