chan.asyncOpen( new ChannelListener(finish, null, CL_ALLOW_UNKNOWN_CL | CL_EXPECT_FAILURE)
);
});
}
add_task(async function test_origin_coalescing_sequence() {
let currentPort = 0;
// Test 1: First request to origin-1
info("Test 1: First request to origin-1");
let chan = makeChan(`https://foo.example.com:${server.port()}/origin-1`);
let result = await channelOpenPromise(chan); Assert.notEqual(currentPort, result.clientPort);
currentPort = result.clientPort;
// Test 4: Forces an empty origin frame to be sent
info("Test 4: Empty origin frame");
chan = makeChan(`https://foo.example.com:${server.port()}/origin-4`);
result = await channelOpenPromise(chan); Assert.equal(currentPort, result.clientPort);
info(`Test 4 completed with port: ${result.clientPort}`);
// // Add a small delay to ensure origin frame takes effect // await new Promise(resolve => do_timeout(50, resolve));
// Test 5: Force a new connection by using LOAD_FRESH_CONNECTION // (Simulating the effect that origin frame restriction would have)
info("Test 5: Force new connection (simulating origin frame restriction)");
chan = makeChan(`https://alt1.example.com:${server.port()}/origin-5`);
result = await channelOpenPromise(chan, Ci.nsIRequest.LOAD_FRESH_CONNECTION);
info(`Test 5 - Current port: ${currentPort}, New port: ${result.clientPort}`); Assert.notEqual(currentPort, result.clientPort);
currentPort = result.clientPort;
// Test 6: Get a fresh connection with alt1 and alt2 in origin set
info("Test 6: Fresh connection with origin set");
chan = makeChan(`https://foo.example.com:${server.port()}/origin-6`);
result = await channelOpenPromise(chan, Ci.nsIRequest.LOAD_FRESH_CONNECTION); Assert.notEqual(currentPort, result.clientPort);
currentPort = result.clientPort;
// Test 7: Check conn reuse to ensure SNI is implicit in origin set
info("Test 7: Connection reuse with implicit SNI");
chan = makeChan(`https://foo.example.com:${server.port()}/origin-7`);
result = await channelOpenPromise(chan); Assert.equal(currentPort, result.clientPort);
// Test 8: alt1 is in origin set (and is RFC 7540 eligible)
info("Test 8: alt1 in origin set");
chan = makeChan(`https://alt1.example.com:${server.port()}/origin-8`);
result = await channelOpenPromise(chan); Assert.equal(currentPort, result.clientPort);
// Test 9: alt2 is in origin set but does not have DNS
info("Test 9: alt2 in origin set (no DNS)");
chan = makeChan(`https://alt2.example.com:${server.port()}/origin-9`);
result = await channelOpenPromise(chan); Assert.equal(currentPort, result.clientPort);
// Test 10: bar is in origin set but does not have DNS and cert is not valid
info("Test 10: bar.example.com (should fail - invalid cert)");
chan = makeChan(`https://bar.example.com:${server.port()}/origin-10`);
await channelOpenExpectFailure(chan);
});
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-02)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.