Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion resources/testdriver.js
Original file line number Diff line number Diff line change
Expand Up @@ -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.
*/
Expand Down
4 changes: 3 additions & 1 deletion tools/wptrunner/wptrunner/executors/asyncactions.py
Original file line number Diff line number Diff line change
Expand Up @@ -292,9 +292,11 @@ async def __call__(self, payload):
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 = [
Expand Down
15 changes: 12 additions & 3 deletions tools/wptrunner/wptrunner/executors/executorwebdriver.py
Original file line number Diff line number Diff line change
Expand Up @@ -398,9 +398,18 @@ def __init__(self, parent):
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):
Expand Down
8 changes: 7 additions & 1 deletion tools/wptrunner/wptrunner/executors/protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
Loading