summaryrefslogtreecommitdiffstats
path: root/net/websockets
diff options
context:
space:
mode:
authoryhirano@chromium.org <yhirano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-24 15:31:34 +0000
committeryhirano@chromium.org <yhirano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-24 15:31:34 +0000
commit5316ba087ded51a3d4ee016d0bff25be26d5fbf7 (patch)
treeeae29aa9591ebd533882a57221cd05569f901d9a /net/websockets
parenteda79edcb13a56625b66c891d66fe534253964c7 (diff)
downloadchromium_src-5316ba087ded51a3d4ee016d0bff25be26d5fbf7.zip
chromium_src-5316ba087ded51a3d4ee016d0bff25be26d5fbf7.tar.gz
chromium_src-5316ba087ded51a3d4ee016d0bff25be26d5fbf7.tar.bz2
[WebSocket] Compress an empty string to one byte.
Currently permessage-deflate deflater compresses an empty string to a two-byte string "\x02\x00". It should be "\x00" to save space. BUG=337781 R=tyoshino Review URL: https://codereview.chromium.org/146643002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246898 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/websockets')
-rw-r--r--net/websockets/websocket_deflate_stream_test.cc2
-rw-r--r--net/websockets/websocket_deflater.cc1
-rw-r--r--net/websockets/websocket_deflater_test.cc6
3 files changed, 4 insertions, 5 deletions
diff --git a/net/websockets/websocket_deflate_stream_test.cc b/net/websockets/websocket_deflate_stream_test.cc
index 5e4fad7..05e400f 100644
--- a/net/websockets/websocket_deflate_stream_test.cc
+++ b/net/websockets/websocket_deflate_stream_test.cc
@@ -1032,7 +1032,7 @@ TEST_F(WebSocketDeflateStreamTest, WriteEmptyMessage) {
EXPECT_EQ(WebSocketFrameHeader::kOpCodeText, frames_passed[0]->header.opcode);
EXPECT_TRUE(frames_passed[0]->header.final);
EXPECT_TRUE(frames_passed[0]->header.reserved1);
- EXPECT_EQ(std::string("\x02\x00", 2), ToString(frames_passed[0]));
+ EXPECT_EQ(std::string("\x00", 1), ToString(frames_passed[0]));
}
TEST_F(WebSocketDeflateStreamTest, WriteUncompressedMessage) {
diff --git a/net/websockets/websocket_deflater.cc b/net/websockets/websocket_deflater.cc
index 41d13e8..a4c56bc 100644
--- a/net/websockets/websocket_deflater.cc
+++ b/net/websockets/websocket_deflater.cc
@@ -66,7 +66,6 @@ bool WebSocketDeflater::Finish() {
// Since consecutive calls of deflate with Z_SYNC_FLUSH and no input
// lead to an error, we create and return the output for the empty input
// manually.
- buffer_.push_back('\x02');
buffer_.push_back('\x00');
ResetContext();
return true;
diff --git a/net/websockets/websocket_deflater_test.cc b/net/websockets/websocket_deflater_test.cc
index 03b8a3d..ae0133c 100644
--- a/net/websockets/websocket_deflater_test.cc
+++ b/net/websockets/websocket_deflater_test.cc
@@ -25,7 +25,7 @@ TEST(WebSocketDeflaterTest, Construct) {
ASSERT_TRUE(deflater.Finish());
scoped_refptr<IOBufferWithSize> actual =
deflater.GetOutput(deflater.CurrentOutputSize());
- EXPECT_EQ(std::string("\x02\00", 2), ToString(actual.get()));
+ EXPECT_EQ(std::string("\00", 1), ToString(actual.get()));
ASSERT_EQ(0u, deflater.CurrentOutputSize());
}
@@ -93,8 +93,8 @@ TEST(WebSocketDeflaterTest, GetMultipleDeflatedOutput) {
actual = deflater.GetOutput(deflater.CurrentOutputSize());
EXPECT_EQ(std::string("\xf2\x48\xcd\xc9\xc9\x07\x00\x00\x00\xff\xff"
- "\x02\x00\x00\x00\xff\xff"
- "\xf2\x00\x11\x00\x00", 22),
+ "\x00\x00\x00\xff\xff"
+ "\xf2\x00\x11\x00\x00", 21),
ToString(actual.get()));
ASSERT_EQ(0u, deflater.CurrentOutputSize());
}