tor-browser

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

commit 12762429a28b7faac12e783c3c7b8330ceec3f13
parent 10d9b0bae303474b8afd08741ef21387518d7bda
Author: Julian Descottes <jdescottes@mozilla.com>
Date:   Tue, 14 Oct 2025 13:18:55 +0000

Bug 1992214 - [bidi] Update network.getData to always throw NoSuchNetworkData for unhandled requests r=webdriver-reviewers,Sasha

Differential Revision: https://phabricator.services.mozilla.com/D267379

Diffstat:
Mremote/webdriver-bidi/modules/root/network.sys.mjs | 4++++
Mtesting/web-platform/mozilla/tests/webdriver/bidi/network/get_data/cached_request.py | 20+++++++++++++++-----
2 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/remote/webdriver-bidi/modules/root/network.sys.mjs b/remote/webdriver-bidi/modules/root/network.sys.mjs @@ -2191,7 +2191,11 @@ class NetworkModule extends RootBiDiModule { ); // Cached stencils do not return any response body. // TODO: Handle response body for data URLs. + collectedData.pending = false; collectedData.networkDataCollected.resolve(); + this.#collectedNetworkData.delete( + `${collectedData.request}-${collectedData.type}` + ); return; } diff --git a/testing/web-platform/mozilla/tests/webdriver/bidi/network/get_data/cached_request.py b/testing/web-platform/mozilla/tests/webdriver/bidi/network/get_data/cached_request.py @@ -9,6 +9,10 @@ from tests.bidi.network import ( from webdriver.bidi import error +@pytest.mark.parametrize( + "use_collector", + [True, False], +) @pytest.mark.asyncio async def test_cached_stylesheet( bidi_session, @@ -17,6 +21,7 @@ async def test_cached_stylesheet( setup_network_test, top_context, add_data_collector, + use_collector, ): network_events = await setup_network_test( events=[ @@ -63,8 +68,13 @@ async def test_cached_stylesheet( # Based on the current spec Firefox behavior is correct, but we didn't # discuss the behavior for cached responses previously. with pytest.raises(error.NoSuchNetworkDataException): - await bidi_session.network.get_data( - request=cached_css_event["request"]["request"], - data_type="response", - collector=collector, - ) + if use_collector: + await bidi_session.network.get_data( + request=cached_css_event["request"]["request"], + data_type="response", + collector=collector, + ) + else: + await bidi_session.network.get_data( + request=cached_css_event["request"]["request"], data_type="response" + )