tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 12674bc15aa105e4fdd83b0657c5cc76e57ecb3d
parent eaecf64c53d0afe7b9c208ea3ea583f07bc58115
Author: Maksim Sadym <69349599+sadym-chromium@users.noreply.github.com>
Date:   Wed, 15 Oct 2025 08:24:58 +0000

Bug 1993671 [wpt PR 55350] - [wdspec] assert `network.getData` is persistent, a=testonly

Automatic update from web-platform-tests
[wdspec] assert `network.getData` is persistent (#55350)

--

wpt-commits: a79c38e4bda13c7d8d03b94f8425925590c1d790
wpt-pr: 55350

Diffstat:
Atesting/web-platform/tests/webdriver/tests/bidi/network/get_data/persistence.py | 93+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+), 0 deletions(-)

diff --git a/testing/web-platform/tests/webdriver/tests/bidi/network/get_data/persistence.py b/testing/web-platform/tests/webdriver/tests/bidi/network/get_data/persistence.py @@ -0,0 +1,93 @@ +import pytest + +pytestmark = pytest.mark.asyncio + + +@pytest.mark.parametrize("domain", ["", "alt"], + ids=["same_origin", "cross_origin"]) +@pytest.mark.asyncio +async def test_data_persists_after_navigation(bidi_session, top_context, + setup_network_test, add_data_collector, url, test_page, domain): + network_events = await setup_network_test( + events=["network.responseCompleted"]) + events = network_events["network.responseCompleted"] + + # Setup data collector. + collector = await add_data_collector( + collector_type="blob", + data_types=["response"], + max_encoded_data_size=10_000, + ) + + # Init first navigation. + await bidi_session.browsing_context.navigate( + context=top_context["context"], + url=test_page, + wait="complete", + ) + + # Get request ID. + request = events[-1]['request']['request'] + + # Assert data is available. + data = await bidi_session.network.get_data(request=request, + collector=collector, + data_type="response") + assert data["type"] == "string" + assert "<div>foo</div>" in data["value"] + + # Navigate away from the page. + await bidi_session.browsing_context.navigate( + context=top_context["context"], + url=url('/', domain=domain), + wait="complete", + ) + + # Assert data is still available. + data = await bidi_session.network.get_data(request=request, + collector=collector, + data_type="response") + assert data["type"] == "string" + assert "<div>foo</div>" in data["value"] + + +@pytest.mark.asyncio +async def test_data_persists_after_closing(bidi_session, top_context, + setup_network_test, add_data_collector, test_page): + network_events = await setup_network_test( + events=["network.responseCompleted"]) + events = network_events["network.responseCompleted"] + + # Setup data collector. + collector = await add_data_collector( + collector_type="blob", + data_types=["response"], + max_encoded_data_size=10_000, + ) + + # Init first navigation. + await bidi_session.browsing_context.navigate( + context=top_context["context"], + url=test_page, + wait="complete", + ) + + # Get request ID. + request = events[-1]['request']['request'] + + # Assert data is available. + data = await bidi_session.network.get_data(request=request, + collector=collector, + data_type="response") + assert data["type"] == "string" + assert "<div>foo</div>" in data["value"] + + # Close the page. + await bidi_session.browsing_context.close(context=top_context["context"]) + + # Assert data is still available. + data = await bidi_session.network.get_data(request=request, + collector=collector, + data_type="response") + assert data["type"] == "string" + assert "<div>foo</div>" in data["value"]