diff options
author | yhirano@chromium.org <yhirano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-24 15:31:34 +0000 |
---|---|---|
committer | yhirano@chromium.org <yhirano@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-24 15:31:34 +0000 |
commit | 5316ba087ded51a3d4ee016d0bff25be26d5fbf7 (patch) | |
tree | eae29aa9591ebd533882a57221cd05569f901d9a /net/websockets | |
parent | eda79edcb13a56625b66c891d66fe534253964c7 (diff) | |
download | chromium_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.cc | 2 | ||||
-rw-r--r-- | net/websockets/websocket_deflater.cc | 1 | ||||
-rw-r--r-- | net/websockets/websocket_deflater_test.cc | 6 |
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()); } |