[webkit-changes] [WebKit/WebKit] 476ad6: Add _WKWebExtensionContext and WebKit::WebExtensio...
Timothy Hatcher
noreply at github.com
Mon Oct 10 20:23:19 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 476ad6dbea8e2e3d0fe1f72e4c9de6bfcc73189a
https://github.com/WebKit/WebKit/commit/476ad6dbea8e2e3d0fe1f72e4c9de6bfcc73189a
Author: Timothy Hatcher <timothy at apple.com>
Date: 2022-10-10 (Mon, 10 Oct 2022)
Changed paths:
M Source/WebKit/DerivedSources-input.xcfilelist
M Source/WebKit/DerivedSources-output.xcfilelist
M Source/WebKit/DerivedSources.make
M Source/WebKit/Platform/cocoa/CocoaHelpers.h
M Source/WebKit/Platform/cocoa/CocoaHelpers.mm
M Source/WebKit/Shared/API/APIObject.h
M Source/WebKit/Shared/Cocoa/APIObject.mm
A Source/WebKit/Shared/WebExtensionContextIdentifier.h
A Source/WebKit/Shared/WebExtensionContextParameters.h
A Source/WebKit/Shared/WebExtensionContextParameters.serialization.in
M Source/WebKit/Sources.txt
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtension.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtension.mm
A Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.h
A Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm
A Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContextInternal.h
A Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContextPrivate.h
A Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionTab.h
A Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionWindow.h
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm
A Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionMatchPatternCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtension.h
A Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp
A Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
A Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
M Source/WebKit/UIProcess/Extensions/WebExtensionController.cpp
M Source/WebKit/UIProcess/Extensions/WebExtensionController.h
M Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
A Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.cpp
A Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h
A Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in
M Source/WebKit/WebProcess/Extensions/WebExtensionControllerProxy.cpp
M Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.h
M Tools/TestWebKitAPI/SourcesCocoa.txt
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtension.mm
A Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionContext.mm
Log Message:
-----------
Add _WKWebExtensionContext and WebKit::WebExtensionContext.
https://bugs.webkit.org/show_bug.cgi?id=246255
Reviewed by Brian Weinstein.
This class represents the runtime environment for an extension, which tracks permission access,
and will eventually handle things like background page loading, injecting content, storage access, etc.
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources-output.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Platform/cocoa/CocoaHelpers.h:
* Source/WebKit/Platform/cocoa/CocoaHelpers.mm:
(WebKit::toAPI):
(WebKit::toImpl):
* Source/WebKit/Shared/API/APIObject.h:
* Source/WebKit/Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* Source/WebKit/Shared/WebExtensionContextIdentifier.h: Added.
* Source/WebKit/Shared/WebExtensionContextParameters.h: Added.
* Source/WebKit/Shared/WebExtensionContextParameters.serialization.in: Added.
* Source/WebKit/Sources.txt:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtension.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtension.mm:
(-[_WKWebExtension requestedPermissions]):
(-[_WKWebExtension optionalPermissions]):
(-[_WKWebExtension requestedPermissionMatchPatterns]):
(-[_WKWebExtension optionalPermissionMatchPatterns]):
(-[_WKWebExtension allRequestedMatchPatterns]):
(-[_WKWebExtension requestedPermissionOrigins]): Deleted.
(-[_WKWebExtension optionalPermissionOrigins]): Deleted.
(-[_WKWebExtension allRequestedOrigins]): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.h: Added.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm: Added.
(+[_WKWebExtensionContext contextWithExtension:]):
(-[_WKWebExtensionContext initWithExtension:]):
(-[_WKWebExtensionContext dealloc]):
(-[_WKWebExtensionContext extension]):
(-[_WKWebExtensionContext extensionController]):
(-[_WKWebExtensionContext baseURL]):
(-[_WKWebExtensionContext setBaseURL:]):
(-[_WKWebExtensionContext uniqueIdentifier]):
(-[_WKWebExtensionContext setUniqueIdentifier:]):
(toImpl):
(-[_WKWebExtensionContext grantedPermissions]):
(-[_WKWebExtensionContext setGrantedPermissions:]):
(-[_WKWebExtensionContext grantedPermissionMatchPatterns]):
(-[_WKWebExtensionContext setGrantedPermissionMatchPatterns:]):
(-[_WKWebExtensionContext deniedPermissions]):
(-[_WKWebExtensionContext setDeniedPermissions:]):
(-[_WKWebExtensionContext deniedPermissionMatchPatterns]):
(-[_WKWebExtensionContext setDeniedPermissionMatchPatterns:]):
(-[_WKWebExtensionContext requestedOptionalAccessToAllHosts]):
(-[_WKWebExtensionContext setRequestedOptionalAccessToAllHosts:]):
(toAPI):
(-[_WKWebExtensionContext currentPermissions]):
(-[_WKWebExtensionContext currentPermissionMatchPatterns]):
(-[_WKWebExtensionContext hasPermission:]):
(-[_WKWebExtensionContext hasPermission:inTab:]):
(-[_WKWebExtensionContext hasAccessToURL:]):
(-[_WKWebExtensionContext hasAccessToURL:inTab:]):
(-[_WKWebExtensionContext permissionStateForPermission:]):
(-[_WKWebExtensionContext permissionStateForPermission:inTab:]):
(-[_WKWebExtensionContext setPermissionState:forPermission:]):
(-[_WKWebExtensionContext setPermissionState:forPermission:expirationDate:]):
(-[_WKWebExtensionContext permissionStateForURL:]):
(-[_WKWebExtensionContext permissionStateForURL:inTab:]):
(-[_WKWebExtensionContext setPermissionState:forURL:]):
(-[_WKWebExtensionContext setPermissionState:forURL:expirationDate:]):
(-[_WKWebExtensionContext permissionStateForMatchPattern:]):
(-[_WKWebExtensionContext permissionStateForMatchPattern:inTab:]):
(-[_WKWebExtensionContext setPermissionState:forMatchPattern:]):
(-[_WKWebExtensionContext setPermissionState:forMatchPattern:expirationDate:]):
(-[_WKWebExtensionContext hasAccessToAllURLs]):
(-[_WKWebExtensionContext hasAccessToAllHosts]):
(-[_WKWebExtensionContext userGesturePerformedInTab:]):
(-[_WKWebExtensionContext hasActiveUserGestureInTab:]):
(-[_WKWebExtensionContext cancelUserGestureForTab:]):
(-[_WKWebExtensionContext _apiObject]):
(-[_WKWebExtensionContext _webExtensionContext]):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContextInternal.h: Added.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContextPrivate.h: Added.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionTab.h: Added.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionWindow.h: Added.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm:
(WebKit::WebExtension::hasRequestedPermission const):
(WebKit::WebExtension::supportedPermissions):
(WebKit::WebExtension::requestedPermissions):
(WebKit::WebExtension::optionalPermissions):
(WebKit::WebExtension::requestedPermissionMatchPatterns):
(WebKit::WebExtension::optionalPermissionMatchPatterns):
(WebKit::WebExtension::allRequestedMatchPatterns):
(WebKit::WebExtension::populatePermissionsPropertiesIfNeeded):
(WebKit::toAPI):
(WebKit::WebExtension::requestedPermissionOrigins): Deleted.
(WebKit::WebExtension::optionalPermissionOrigins): Deleted.
(WebKit::WebExtension::allRequestedOrigins): Deleted.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm: Added.
(WebKit::WebExtensionContext::WebExtensionContext):
(WebKit::WebExtensionContext::setBaseURL):
(WebKit::WebExtensionContext::isURLForThisExtension):
(WebKit::WebExtensionContext::setUniqueIdentifier):
(WebKit::WebExtensionContext::grantedPermissions):
(WebKit::WebExtensionContext::setGrantedPermissions):
(WebKit::WebExtensionContext::deniedPermissions):
(WebKit::WebExtensionContext::setDeniedPermissions):
(WebKit::WebExtensionContext::grantedPermissionMatchPatterns):
(WebKit::WebExtensionContext::setGrantedPermissionMatchPatterns):
(WebKit::WebExtensionContext::deniedPermissionMatchPatterns):
(WebKit::WebExtensionContext::setDeniedPermissionMatchPatterns):
(WebKit::WebExtensionContext::postAsyncNotification):
(WebKit::WebExtensionContext::grantPermissions):
(WebKit::WebExtensionContext::denyPermissions):
(WebKit::WebExtensionContext::grantPermissionMatchPatterns):
(WebKit::WebExtensionContext::denyPermissionMatchPatterns):
(WebKit::WebExtensionContext::removeGrantedPermissions):
(WebKit::WebExtensionContext::removeGrantedPermissionMatchPatterns):
(WebKit::WebExtensionContext::removeDeniedPermissions):
(WebKit::WebExtensionContext::removeDeniedPermissionMatchPatterns):
(WebKit::WebExtensionContext::removePermissions):
(WebKit::WebExtensionContext::removePermissionMatchPatterns):
(WebKit::WebExtensionContext::removeExpired):
(WebKit::WebExtensionContext::hasPermission):
(WebKit::WebExtensionContext::permissionState):
(WebKit::WebExtensionContext::setPermissionState):
(WebKit::WebExtensionContext::clearCachedPermissionStates):
(WebKit::WebExtensionContext::hasAccessToAllURLs):
(WebKit::WebExtensionContext::hasAccessToAllHosts):
(WebKit::WebExtensionContext::userGesturePerformed):
(WebKit::WebExtensionContext::hasActiveUserGesture const):
(WebKit::WebExtensionContext::cancelUserGesture):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionMatchPatternCocoa.mm:
(WebKit::WebExtensionMatchPattern::validSchemes):
(WebKit::WebExtensionMatchPattern::supportedSchemes):
(WebKit::patternCache):
(WebKit::WebExtensionMatchPattern::isSupported const):
(WebKit::WebExtensionMatchPattern::expandedStrings const):
(WebKit::WebExtensionMatchPattern::isValidScheme):
(WebKit::WebExtensionMatchPattern::matchesURL):
(WebKit::WebExtensionMatchPattern::matchesPattern):
* Source/WebKit/UIProcess/Extensions/WebExtension.h:
(WebKit::WebExtension::wrapper const):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp: Added.
(WebKit::WebExtensionContext::get):
(WebKit::WebExtensionContext::WebExtensionContext):
(WebKit::WebExtensionContext::~WebExtensionContext):
(WebKit::WebExtensionContext::parameters const):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h: Added.
(WebKit::WebExtensionContext::create):
(WebKit::WebExtensionContext::identifier const):
(WebKit::WebExtensionContext::isLoaded const):
(WebKit::WebExtensionContext::extension const):
(WebKit::WebExtensionContext::extensionController const):
(WebKit::WebExtensionContext::baseURL const):
(WebKit::WebExtensionContext::uniqueIdentifier const):
(WebKit::WebExtensionContext::requestedOptionalAccessToAllHosts const):
(WebKit::WebExtensionContext::setRequestedOptionalAccessToAllHosts):
(WebKit::WebExtensionContext::currentPermissions):
(WebKit::WebExtensionContext::currentPermissionMatchPatterns):
(WebKit::WebExtensionContext::hasPermission):
(WebKit::WebExtensionContext::permissionState):
(WebKit::WebExtensionContext::wrapper const):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in: Added.
* Source/WebKit/UIProcess/Extensions/WebExtensionController.cpp:
* Source/WebKit/UIProcess/Extensions/WebExtensionController.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.h:
(WebKit::WebExtensionMatchPattern::wrapper const):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.cpp: Added.
(WebKit::WebExtensionContextProxy::getOrCreate):
(WebKit::WebExtensionContextProxy::WebExtensionContextProxy):
(WebKit::WebExtensionContextProxy::~WebExtensionContextProxy):
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h: Added.
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in: Added.
* Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.h: Include header to fix build.
* Source/WebKit/WebProcess/WebCoreSupport/WebScreenOrientationManager.cpp: Ditto.
* Tools/TestWebKitAPI/SourcesCocoa.txt:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtension.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionContext.mm: Added.
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/255374@main
More information about the webkit-changes
mailing list