summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py')
-rw-r--r--testing/web-platform/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py54
1 files changed, 46 insertions, 8 deletions
diff --git a/testing/web-platform/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py b/testing/web-platform/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py
index 92ebed1e63..45c50dbf88 100644
--- a/testing/web-platform/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py
+++ b/testing/web-platform/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py
@@ -16,7 +16,7 @@ async def test_set_permission(bidi_session, new_tab, url):
origin = await get_context_origin(bidi_session, new_tab)
- assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
await bidi_session.permissions.set_permission(
descriptor={"name": "geolocation"},
@@ -24,7 +24,7 @@ async def test_set_permission(bidi_session, new_tab, url):
origin=origin,
)
- assert await get_permission_state(bidi_session, new_tab, "geolocation") == "granted"
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "granted"
await bidi_session.permissions.set_permission(
descriptor={"name": "geolocation"},
@@ -32,7 +32,7 @@ async def test_set_permission(bidi_session, new_tab, url):
origin=origin,
)
- assert await get_permission_state(bidi_session, new_tab, "geolocation") == "denied"
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "denied"
await bidi_session.permissions.set_permission(
descriptor={"name": "geolocation"},
@@ -40,7 +40,7 @@ async def test_set_permission(bidi_session, new_tab, url):
origin=origin,
)
- assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
@pytest.mark.asyncio
@@ -73,7 +73,7 @@ async def test_set_permission_new_context(bidi_session, new_tab, url):
origin = await get_context_origin(bidi_session, new_tab)
- assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
await bidi_session.permissions.set_permission(
descriptor={"name": "geolocation"},
@@ -81,7 +81,7 @@ async def test_set_permission_new_context(bidi_session, new_tab, url):
origin=origin,
)
- assert await get_permission_state(bidi_session, new_tab, "geolocation") == "granted"
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "granted"
new_context = await bidi_session.browsing_context.create(type_hint="tab")
assert new_tab["context"] != new_context["context"]
@@ -92,7 +92,7 @@ async def test_set_permission_new_context(bidi_session, new_tab, url):
)
# See https://github.com/w3c/permissions/issues/437.
- assert await get_permission_state(bidi_session, new_context, "geolocation") == "granted"
+ assert await get_permission_state(bidi_session, new_context, "geolocation") == "granted"
@pytest.mark.parametrize("origin", ['UNKNOWN', ''])
@@ -117,4 +117,42 @@ async def test_set_permission_origin_unknown(bidi_session, new_tab, origin, url)
state="granted",
origin=origin,
)
- assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
+
+
+@pytest.mark.asyncio
+async def test_set_permission_user_context(bidi_session, new_tab, url, create_user_context):
+ test_url = url("/common/blank.html", protocol="https")
+
+ user_context = await create_user_context()
+ # new_tab is in the default user context. new_tab2 is in the non-default user context.
+ new_tab2 = await bidi_session.browsing_context.create(type_hint="tab", user_context=user_context)
+
+ # Navigate a context in the default user context.
+ await bidi_session.browsing_context.navigate(
+ context=new_tab["context"],
+ url=test_url,
+ wait="complete",
+ )
+
+ # Navigate a context in the non-default user context.
+ await bidi_session.browsing_context.navigate(
+ context=new_tab2["context"],
+ url=test_url,
+ wait="complete",
+ )
+
+ origin = await get_context_origin(bidi_session, new_tab)
+
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
+ assert await get_permission_state(bidi_session, new_tab2, "geolocation") == "prompt"
+
+ await bidi_session.permissions.set_permission(
+ descriptor={"name": "geolocation"},
+ state="granted",
+ origin=origin,
+ user_context=user_context,
+ )
+
+ assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt"
+ assert await get_permission_state(bidi_session, new_tab2, "geolocation") == "granted"