Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7ca90596c77dced8aea82d0505f8dae31811404b
      
https://github.com/WebKit/WebKit/commit/7ca90596c77dced8aea82d0505f8dae31811404b
  Author: Richard Robinson <[email protected]>
  Date:   2026-10-01 (Thu, 01 Oct 2026)

  Changed paths:
    M 
Source/WebKit/UIProcess/Extensions/Cocoa/_WKWebExtensionDeclarativeNetRequestRule.h
    M TestExpectations/apitests
    M Tools/Scripts/webkitpy/api_tests/allowlist.txt
    M Tools/TestWebKitAPI/Helpers/cocoa/WKWebView+Extras.swift
    M Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.h
    M Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.mm
    M Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.swift
    M Tools/TestWebKitAPI/PlatformCocoa.cmake
    M Tools/TestWebKitAPI/SourcesCocoa.txt
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    R Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDOM.mm
    A Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDOM.swift
    R 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDeclarativeNetRequest.mm
    A 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDeclarativeNetRequest.swift
    R Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIExtension.mm
    A 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIExtension.swift
    R Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPINamespace.mm
    A 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPINamespace.swift
    R Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIPermissions.mm
    A 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIPermissions.swift

  Log Message:
  -----------
  [Swift Testing] Convert more WKWebExtension* tests to use Swift Testing (part 
3)
https://bugs.webkit.org/show_bug.cgi?id=325889
rdar://188872467

Reviewed by Timothy Hatcher.

Also fix a mis-annotated SPI nullability.

Tests: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDOM.swift
       
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDeclarativeNetRequest.swift
       
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIExtension.swift
       
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPINamespace.swift
       
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIPermissions.swift

* 
Source/WebKit/UIProcess/Extensions/Cocoa/_WKWebExtensionDeclarativeNetRequestRule.h:
* TestExpectations/apitests:
* Tools/Scripts/webkitpy/api_tests/allowlist.txt:
* Tools/TestWebKitAPI/Helpers/cocoa/WKWebView+Extras.swift:
(TestNavigationDelegate.nextContentRuleListAction(triggeredBy:)):
* Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.h:
* Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.mm:
(-[TestWebExtensionManager initWithManifest:resources:]):
(-[TestWebExtensionManager 
initWithManifest:resources:extensionControllerConfiguration:usesEnhancedSecurity:]):
(-[TestWebExtensionManager 
initWithManifest:resources:extensionControllerConfiguration:]): Deleted.
* Tools/TestWebKitAPI/Helpers/cocoa/WebExtensionUtilities.swift:
* Tools/TestWebKitAPI/PlatformCocoa.cmake:
* Tools/TestWebKitAPI/SourcesCocoa.txt:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDOM.mm: Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDOM.swift: Added.
(WKWebExtensionAPIDOMTests.openOrClosedShadowRoot):
(WKWebExtensionAPIDOMTests.openOrClosedShadowRootViaElement):
* 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDeclarativeNetRequest.mm:
 Removed.
* 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIDeclarativeNetRequest.swift:
 Added.
(WKWebExtensionAPIDeclarativeNetRequestTests.blockedLoadTest):
(WKWebExtensionAPIDeclarativeNetRequestTests.blockedLoadInPrivateBrowsingTest):
(WKWebExtensionAPIDeclarativeNetRequestTests.getEnabledRulesets):
(WKWebExtensionAPIDeclarativeNetRequestTests.updateEnabledRulesets):
(WKWebExtensionAPIDeclarativeNetRequestTests.updateEnabledRulesetsPerformsCompilation):
(WKWebExtensionAPIDeclarativeNetRequestTests.isRegexSupported):
(WKWebExtensionAPIDeclarativeNetRequestTests.setExtensionActionOptions):
(WKWebExtensionAPIDeclarativeNetRequestTests.getMatchedRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.sessionRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.getSessionRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.removeSessionRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.dynamicRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.getDynamicRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.removeDynamicRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.runRedirectRule(_:)):
(WKWebExtensionAPIDeclarativeNetRequestTests.redirectRule):
(WKWebExtensionAPIDeclarativeNetRequestTests.redirectRuleWithEnhancedSecurity):
(WKWebExtensionAPIDeclarativeNetRequestTests.highPriorityStaticRedirectFavoredOverLowPrioritySessionRedirect):
(WKWebExtensionAPIDeclarativeNetRequestTests.highestPriorityRedirectWinsRegardlessOfDeclarationOrder):
(WKWebExtensionAPIDeclarativeNetRequestTests.higherPriorityNoOpRedirectSuppressesLowerPriorityRedirect):
(WKWebExtensionAPIDeclarativeNetRequestTests.lowerPriorityRedirectDoesNotComposeOntoWinner):
(WKWebExtensionAPIDeclarativeNetRequestTests.lastDeclaredRedirectWinsAmongEqualPriority):
(WKWebExtensionAPIDeclarativeNetRequestTests.redirectRuleWithoutHostAccessPermission):
(WKWebExtensionAPIDeclarativeNetRequestTests.redirectRuleWithoutHostPermission):
(WKWebExtensionAPIDeclarativeNetRequestTests.modifyHeadersRule):
(WKWebExtensionAPIDeclarativeNetRequestTests.modifyHeadersRuleWithoutHostAccessPermission):
(WKWebExtensionAPIDeclarativeNetRequestTests.modifyHeadersRuleWithoutHostPermission):
(WKWebExtensionAPIDeclarativeNetRequestTests.mainFrameAllowAllRequests):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugWithoutPermission):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebug):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugSessionRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugDynamicRules):
(WKWebExtensionAPIDeclarativeNetRequestTests.duplicatedRuleIDs):
(WKWebExtensionAPIDeclarativeNetRequestTests.duplicatedRuleIDsInDifferentRulesets):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugExcludedRequestDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugExcludedRequestMethods):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugExcludedRequestDomainsAndExcludedRequestMethods):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugRequestDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugRequestMethods):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugRequestDomainsAndRequestMethods):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugRequestInitiatorDomainsAndExcludedInitiatorDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.onRuleMatchedDebugRequestUpgradeScheme):
(WKWebExtensionAPIDeclarativeNetRequestTests.withDebugIdentifiers(_:ruleID:)):
(WKWebExtensionAPIDeclarativeNetRequestTests.resourceTypes(of:)):
(WKWebExtensionAPIDeclarativeNetRequestTests.removingResourceTypes(from:)):
(WKWebExtensionAPIDeclarativeNetRequestTests.actionType(of:)):
(WKWebExtensionAPIDeclarativeNetRequestTests.requiredAndOptionalKeys):
(WKWebExtensionAPIDeclarativeNetRequestTests.propertiesHaveCorrectType):
(WKWebExtensionAPIDeclarativeNetRequestTests.numbersArePositiveIntegers):
(WKWebExtensionAPIDeclarativeNetRequestTests.onlyOneOfResourceTypesAndExcludedResourceTypesIsSpecified):
(WKWebExtensionAPIDeclarativeNetRequestTests.regexRuleConversion):
(WKWebExtensionAPIDeclarativeNetRequestTests.basicValidRuleParsing):
(WKWebExtensionAPIDeclarativeNetRequestTests.basicRuleConversion):
(WKWebExtensionAPIDeclarativeNetRequestTests.mainFrameResourceRuleConversion):
(WKWebExtensionAPIDeclarativeNetRequestTests.subFrameResourceRuleConversion):
(WKWebExtensionAPIDeclarativeNetRequestTests.repeatedMainFrameResourceRuleConversion):
(WKWebExtensionAPIDeclarativeNetRequestTests.caseSensitiveConversion):
(WKWebExtensionAPIDeclarativeNetRequestTests.convertingMultipleResourceTypes):
(WKWebExtensionAPIDeclarativeNetRequestTests.convertingXHRWebSocketAndOtherTypes):
(WKWebExtensionAPIDeclarativeNetRequestTests.upgradeSchemeRuleConversion):
(WKWebExtensionAPIDeclarativeNetRequestTests.upgradeSchemeForMainFrameRuleConversion):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleWithoutAPriority):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleWithInvalidDomainType):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithDomainType):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithNoSpecifiedResourceTypes):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithUnsupportedResourceTypes):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithExactlyOneUnsupportedResourceType):
(WKWebExtensionAPIDeclarativeNetRequestTests.emptyResourceTypes):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithExcludedResourceTypes):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithUnsupportedExcludedResourceTypes):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithEmptyExcludedResourceTypes):
(WKWebExtensionAPIDeclarativeNetRequestTests.emptyDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.nonASCIIDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithURLFilterAndRequestDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithRequestDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithInitiatorDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithExcludedInitiatorDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithExcludedInitiatorDomainsAndInitiatorDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithEmptyExcludedDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.nonASCIIExcludedDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithExcludedDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithExcludedRequestDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithInvalidRequestMethods):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithInvalidExcludedRequestMethods):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithRequestMethods):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithExcludedRequestMethods):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithRequestMethodsAndExcludedRequestMethodsAndRequestDomainsAndExcludedRequestDomains):
(WKWebExtensionAPIDeclarativeNetRequestTests.nonASCIIURLFilter):
(WKWebExtensionAPIDeclarativeNetRequestTests.nonASCIIRegexFilter):
(WKWebExtensionAPIDeclarativeNetRequestTests.urlFilterSpecialCharacters):
(WKWebExtensionAPIDeclarativeNetRequestTests.unacceptableResourceTypeForAllowAllRequests):
(WKWebExtensionAPIDeclarativeNetRequestTests.excludedResourceTypeForAllowAllRequests):
(WKWebExtensionAPIDeclarativeNetRequestTests.noResourceTypeForAllowAllRequests):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithMainFrameAllowAllRequests):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithRedirect):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithModifyHeaders):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithModifyHeadersWithBothResponseAndRequestHeaders):
(WKWebExtensionAPIDeclarativeNetRequestTests.ruleConversionWithModifyHeadersWithoutAnyHeadersSpecified):
(WKWebExtensionAPIDeclarativeNetRequestTests.rulesSortByPriorityFromDifferentRulesets):
(WKWebExtensionAPIDeclarativeNetRequestTests.rulesSortWithoutExplicitPriority):
(WKWebExtensionAPIDeclarativeNetRequestTests.rulesSortByActionType):
(WKWebExtensionAPIDeclarativeNetRequestTests.removeAllContentRuleListsDoesNotRemoveWebExtensionRuleLists):
(WKWebExtensionAPIDeclarativeNetRequestTests.migrateDeclarativeNetRequestDataToNewFormat):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIExtension.mm: 
Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIExtension.swift: 
Added.
(WKWebExtensionAPIExtensionTests.getURL):
(WKWebExtensionAPIExtensionTests.getBackgroundPageFromBackground):
(WKWebExtensionAPIExtensionTests.getBackgroundPageFromTab):
(WKWebExtensionAPIExtensionTests.getBackgroundPageFromPopup):
(WKWebExtensionAPIExtensionTests.getBackgroundPageForServiceWorker):
(WKWebExtensionAPIExtensionTests.getViewsFromBackgroundPage):
(WKWebExtensionAPIExtensionTests.getViewsForBackground):
(WKWebExtensionAPIExtensionTests.getViewsForTab):
(WKWebExtensionAPIExtensionTests.getViewsForMultipleTabs):
(WKWebExtensionAPIExtensionTests.getViewsForPopup):
(WKWebExtensionAPIExtensionTests.getViewsExcludesServiceWorkerBackground):
(WKWebExtensionAPIExtensionTests.handlePendingExtensionTasksWhileStopped):
(WKWebExtensionAPIExtensionTests.inIncognitoContext):
(WKWebExtensionAPIExtensionTests.inIncognitoContextWithoutPrivateAccess):
(WKWebExtensionAPIExtensionTests.isAllowedIncognitoAccess):
(WKWebExtensionAPIExtensionTests.isAllowedIncognitoAccessWithoutPrivateAccess):
(WKWebExtensionAPIExtensionTests.isAllowedFileSchemeAccess):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPINamespace.mm: 
Removed.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPINamespace.swift: 
Added.
(WKWebExtensionAPINamespaceTests.noWebNavigationObjectWithoutPermission):
(WKWebExtensionAPINamespaceTests.webNavigationObjectWithPermission):
(WKWebExtensionAPINamespaceTests.noNotificationsObjectWithoutPermission):
(WKWebExtensionAPINamespaceTests.notificationsObjectWithPermission):
(WKWebExtensionAPINamespaceTests.notificationsUnsupported):
(WKWebExtensionAPINamespaceTests.objectEquality):
(WKWebExtensionAPINamespaceTests.browserNamespaceIsAvailableInContentScripts):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIPermissions.mm: 
Removed.
* 
Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIPermissions.swift: 
Added.
(WKWebExtensionAPIPermissionsTests.errors):
(WKWebExtensionAPIPermissionsTests.basics):
(WKWebExtensionAPIPermissionsTests.acceptPermissionsRequest):
(WKWebExtensionAPIPermissionsTests.denyPermissionsRequest):
(WKWebExtensionAPIPermissionsTests.acceptPermissionsDenyMatchPatternsRequest):
(WKWebExtensionAPIPermissionsTests.requestPermissionsOnly):
(WKWebExtensionAPIPermissionsTests.requestMatchPatternsOnly):
(WKWebExtensionAPIPermissionsTests.requestAllURLsMatchPattern):
(WKWebExtensionAPIPermissionsTests.implicitAllHostsAndURLsPermissions):
(WKWebExtensionAPIPermissionsTests.allHostsHostPermissions):
(WKWebExtensionAPIPermissionsTests.allURLsHostPermissions):
(WKWebExtensionAPIPermissionsTests.allHostsOptionalHostPermissions):
(WKWebExtensionAPIPermissionsTests.allURLsOptionalHostPermissions):
(WKWebExtensionAPIPermissionsTests.allHostsAndURLsHostPermissions):
(WKWebExtensionAPIPermissionsTests.allHostsAndURLsOptionalHostPermissions):
(WKWebExtensionAPIPermissionsTests.allHostsAndURLsOptionalAndHostPermissions):
(WKWebExtensionAPIPermissionsTests.grantOnlySomePermissions):
(WKWebExtensionAPIPermissionsTests.grantOnlySomeMatchPatterns):
(WKWebExtensionAPIPermissionsTests.validMatchPatterns):
(WKWebExtensionAPIPermissionsTests.clipboardWrite):
(WKWebExtensionAPIPermissionsTests.clipboardWriteWithoutPermission):
(WKWebExtensionAPIPermissionsTests.clipboardWriteWithRequest):
(WKWebExtensionAPIPermissionsTests.corsUsingFetchWithPermissions):
(WKWebExtensionAPIPermissionsTests.corsUsingFetchWithoutPermissions):
(WKWebExtensionAPIPermissionsTests.corsUsingFetchWithoutGrantingPermission):
(WKWebExtensionAPIPermissionsTests.corsUsingXHRWithPermissions):
(WKWebExtensionAPIPermissionsTests.corsUsingXHRWithoutPermissions):
(WKWebExtensionAPIPermissionsTests.corsUsingXHRWithoutGrantingPermission):
(WKWebExtensionAPIPermissionsTests.corsFailureFromPageDoesNotPromptExtension):
(WKWebExtensionAPIPermissionsTests.hasAccessToFileURLsDefaultsToNo):
(WKWebExtensionAPIPermissionsTests.fileURLPermissionGatedByFlag):
(WKWebExtensionAPIPermissionsTests.filePatternPermissionGatedByFlag):
(WKWebExtensionAPIPermissionsTests.grantingFilePatternRequiresFlag):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to