Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 00e440a2f6c6fcd6c2729baa70d57a81977ecf28
      
https://github.com/WebKit/WebKit/commit/00e440a2f6c6fcd6c2729baa70d57a81977ecf28
  Author: Andy Estes <aes...@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@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@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to