Skip to content

Commit 7c7405e

Browse files
committed
Bug 1912434 - Remove network.websocket.extensions.permessage-deflate pref r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D222901
1 parent c032293 commit 7c7405e

File tree

6 files changed

+10
-68
lines changed

6 files changed

+10
-68
lines changed

dom/websocket/tests/file_websocket_permessage_deflate_disabled_wsh.py

Lines changed: 0 additions & 18 deletions
This file was deleted.

dom/websocket/tests/mochitest.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ support-files = [
99
"file_websocket_hello_wsh.py",
1010
"file_websocket_http_resource.txt",
1111
"file_websocket_permessage_deflate_wsh.py",
12-
"file_websocket_permessage_deflate_disabled_wsh.py",
1312
"file_websocket_permessage_deflate_rejected_wsh.py",
1413
"file_websocket_permessage_deflate_params_wsh.py",
1514
"file_websocket_wsh.py",

dom/websocket/tests/test_websocket_permessage_deflate.html

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<script src="/tests/SimpleTest/SimpleTest.js"></script>
66
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
77
</head>
8-
<body onload="loadDeflate()">
8+
<body onload="testDeflate()">
99
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=792831">Mozilla Bug </a>
1010
<p id="display"></p>
1111
<div id="content" style="display: none">
@@ -21,13 +21,11 @@
2121

2222
let tests = [
2323
// enable PMCE
24-
[ true, true, "ws://mochi.test:8888/tests/dom/websocket/tests/file_websocket_permessage_deflate" ],
25-
// disable PMCE
26-
[ false, false, "ws://mochi.test:8888/tests/dom/websocket/tests/file_websocket_permessage_deflate_disabled" ],
24+
[ true, "ws://mochi.test:8888/tests/dom/websocket/tests/file_websocket_permessage_deflate" ],
2725
// server rejects offered PMCE
28-
[ true, false, "ws://mochi.test:8888/tests/dom/websocket/tests/file_websocket_permessage_deflate_rejected" ],
26+
[ false, "ws://mochi.test:8888/tests/dom/websocket/tests/file_websocket_permessage_deflate_rejected" ],
2927
// server returns parameters in the handshake
30-
[ true, true, "ws://mochi.test:8888/tests/dom/websocket/tests/file_websocket_permessage_deflate_params" ]
28+
[ true, "ws://mochi.test:8888/tests/dom/websocket/tests/file_websocket_permessage_deflate_params" ]
3129
]
3230

3331
function ab2str(buf) {
@@ -53,10 +51,10 @@
5351
}
5452

5553
function testDeflate() {
56-
ws = new WebSocket(tests[testIdx][2]);
54+
ws = new WebSocket(tests[testIdx][1]);
5755

5856
ws.onopen = function() {
59-
if (tests[testIdx][1]) {
57+
if (tests[testIdx][0]) {
6058
is(ws.extensions, "permessage-deflate", "permessage-deflate not negotiated!");
6159
} else {
6260
is(ws.extensions, "", "permessage-deflate should not be negotiated!");
@@ -90,18 +88,14 @@
9088
sendText = true;
9189
testIdx++;
9290
if (testIdx < tests.length) {
93-
loadDeflate();
91+
testDeflate();
9492
} else {
9593
SimpleTest.finish();
9694
}
9795
}
9896
}
9997
}
10098

101-
function loadDeflate() {
102-
SpecialPowers.pushPrefEnv({"set":[['network.websocket.extensions.permessage-deflate', tests[testIdx][0]]]}, testDeflate);
103-
}
104-
10599
SimpleTest.waitForExplicitFinish();
106100

107101
</script>

modules/libpref/init/all.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,10 +1328,6 @@ pref("network.websocket.timeout.ping.request", 0);
13281328
// event is sent to the javascript websockets application
13291329
pref("network.websocket.timeout.ping.response", 10);
13301330

1331-
// Defines whether or not to try to negotiate the permessage compression
1332-
// extension with the websocket server.
1333-
pref("network.websocket.extensions.permessage-deflate", true);
1334-
13351331
// the maximum number of concurrent websocket sessions. By specification there
13361332
// is never more than one handshake oustanding to an individual host at
13371333
// one time.

netwerk/protocol/websocket/WebSocketChannel.cpp

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1185,7 +1185,6 @@ WebSocketChannel::WebSocketChannel()
11851185
mInnerWindowID(0),
11861186
mGotUpgradeOK(0),
11871187
mRecvdHttpUpgradeTransport(0),
1188-
mAllowPMCE(1),
11891188
mPingOutstanding(0),
11901189
mReleaseOnTransmit(0),
11911190
mDataStarted(false),
@@ -2700,14 +2699,6 @@ nsresult WebSocketChannel::HandleExtensions() {
27002699
return rv;
27012700
}
27022701

2703-
if (!mAllowPMCE) {
2704-
LOG(
2705-
("WebSocketChannel::HandleExtensions: "
2706-
"Recvd permessage-deflate which wasn't offered\n"));
2707-
AbortSession(NS_ERROR_ILLEGAL_VALUE);
2708-
return NS_ERROR_ILLEGAL_VALUE;
2709-
}
2710-
27112702
if (clientMaxWindowBits == -1) {
27122703
clientMaxWindowBits = 15;
27132704
}
@@ -2743,17 +2734,6 @@ void ProcessServerWebSocketExtensions(const nsACString& aExtensions,
27432734
nsACString& aNegotiatedExtensions) {
27442735
aNegotiatedExtensions.Truncate();
27452736

2746-
nsCOMPtr<nsIPrefBranch> prefService;
2747-
prefService = mozilla::components::Preferences::Service();
2748-
if (prefService) {
2749-
bool boolpref;
2750-
nsresult rv = prefService->GetBoolPref(
2751-
"network.websocket.extensions.permessage-deflate", &boolpref);
2752-
if (NS_SUCCEEDED(rv) && !boolpref) {
2753-
return;
2754-
}
2755-
}
2756-
27572737
for (const auto& ext :
27582738
nsCCharSeparatedTokenizer(aExtensions, ',').ToRange()) {
27592739
bool clientNoContextTakeover;
@@ -2847,11 +2827,9 @@ nsresult WebSocketChannel::SetupRequest() {
28472827
MOZ_ASSERT(NS_SUCCEEDED(rv));
28482828
}
28492829

2850-
if (mAllowPMCE) {
2851-
rv = mHttpChannel->SetRequestHeader("Sec-WebSocket-Extensions"_ns,
2852-
"permessage-deflate"_ns, false);
2853-
MOZ_ASSERT(NS_SUCCEEDED(rv));
2854-
}
2830+
rv = mHttpChannel->SetRequestHeader("Sec-WebSocket-Extensions"_ns,
2831+
"permessage-deflate"_ns, false);
2832+
MOZ_ASSERT(NS_SUCCEEDED(rv));
28552833

28562834
uint8_t* secKey;
28572835
nsAutoCString secKeyString;
@@ -3462,7 +3440,6 @@ WebSocketChannel::AsyncOpenNative(nsIURI* aURI, const nsACString& aOrigin,
34623440

34633441
if (prefService) {
34643442
int32_t intpref;
3465-
bool boolpref;
34663443
rv =
34673444
prefService->GetIntPref("network.websocket.max-message-size", &intpref);
34683445
if (NS_SUCCEEDED(rv)) {
@@ -3486,11 +3463,6 @@ WebSocketChannel::AsyncOpenNative(nsIURI* aURI, const nsACString& aOrigin,
34863463
if (NS_SUCCEEDED(rv) && !mClientSetPingTimeout) {
34873464
mPingResponseTimeout = clamped(intpref, 1, 3600) * 1000;
34883465
}
3489-
rv = prefService->GetBoolPref(
3490-
"network.websocket.extensions.permessage-deflate", &boolpref);
3491-
if (NS_SUCCEEDED(rv)) {
3492-
mAllowPMCE = boolpref ? 1 : 0;
3493-
}
34943466
rv = prefService->GetIntPref("network.websocket.max-connections", &intpref);
34953467
if (NS_SUCCEEDED(rv)) {
34963468
mMaxConcurrentConnections = clamped(intpref, 1, 0xffff);

netwerk/protocol/websocket/WebSocketChannel.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,6 @@ class WebSocketChannel : public BaseWebSocketChannel,
282282
// following members are accessed only on the main thread
283283
uint32_t mGotUpgradeOK : 1;
284284
uint32_t mRecvdHttpUpgradeTransport : 1;
285-
uint32_t mAllowPMCE : 1;
286285
uint32_t : 0; // ensure these aren't mixed with the next set
287286

288287
// following members are accessed only on the IO thread

0 commit comments

Comments
 (0)