commit f2dfa30d5990f9482e837da6357f2f6af7f77ffc parent bccd86ae369c1c1c22ffe897596d8182e33b990e Author: jalonthomas <64996364+jalonthomas@users.noreply.github.com> Date: Tue, 21 Oct 2025 10:38:18 +0000 Bug 1994437 [wpt PR 55452] - Update testdriver's set_permission methods to accept optional `embeddedOrigin`, a=testonly Automatic update from web-platform-tests Update testdriver's set_permission methods to accept optional `embeddedOrigin` (#55452) * Add embedded_origin to testdriver * Add param to WebDriverBidiPermissionsProtocolPart * Finish updating to embeddedOrigin * Add param types and return types * Return awaitable instead of None * Use Any return type -- wpt-commits: c182610a274381f58ec5ad69bd4e885e7ba0bca6 wpt-pr: 55452 Diffstat:
4 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/testing/web-platform/tests/resources/testdriver.js b/testing/web-platform/tests/resources/testdriver.js @@ -973,9 +973,12 @@ * @param {PermissionState} params.state - a `PermissionState * <https://w3c.github.io/permissions/#dom-permissionstate>`_ * value. - * @param {string} [params.origin] - an optional `origin` string to set the + * @param {string} [params.origin] - an optional top-level `origin` string to set the * permission for. If omitted, the permission is set for the * current window's origin. + * @param {string} [params.embeddedOrigin] - an optional embedded `origin` string to set the + * permission for. If omitted, the top-level `origin` is used as the + * embedded origin. * @returns {Promise} fulfilled after the permission is set, or rejected if setting * the permission fails. */ diff --git a/testing/web-platform/tests/tools/wptrunner/wptrunner/executors/asyncactions.py b/testing/web-platform/tests/tools/wptrunner/wptrunner/executors/asyncactions.py @@ -292,9 +292,11 @@ class BidiPermissionsSetPermissionAction: descriptor = payload['descriptor'] state = payload['state'] origin = payload['origin'] + embedded_origin = payload.get('embeddedOrigin') return await self.protocol.bidi_permissions.set_permission(descriptor, state, - origin) + origin, + embedded_origin) async_actions = [ diff --git a/testing/web-platform/tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py b/testing/web-platform/tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py @@ -398,9 +398,18 @@ class WebDriverBidiPermissionsProtocolPart(BidiPermissionsProtocolPart): def setup(self): self.webdriver = self.parent.webdriver - async def set_permission(self, descriptor, state, origin): - return await self.webdriver.bidi_session.permissions.set_permission( - descriptor=descriptor, state=state, origin=origin) + async def set_permission( + self, + descriptor: Dict[str, Any], + state: str, + origin: str, + embedded_origin: Optional[str] = None, + ) -> Any: + params = {"descriptor": descriptor, "state": state, "origin": origin} + if embedded_origin is not None: + params["embeddedOrigin"] = embedded_origin + + return await self.webdriver.bidi_session.permissions.set_permission(**params) class WebDriverBidiWebExtensionsProtocolPart(WebExtensionsProtocolPart): def __init__(self, parent): diff --git a/testing/web-platform/tests/tools/wptrunner/wptrunner/executors/protocol.py b/testing/web-platform/tests/tools/wptrunner/wptrunner/executors/protocol.py @@ -598,7 +598,13 @@ class BidiPermissionsProtocolPart(ProtocolPart): name = "bidi_permissions" @abstractmethod - async def set_permission(self, descriptor, state, origin): + async def set_permission( + self, + descriptor: Dict[str, Any], + state: str, + origin: str, + embedded_origin: Optional[str] = None, + ) -> Any: pass