Chromium Code Reviews| Index: net/spdy/chromium/spdy_test_util_common.cc |
| diff --git a/net/spdy/chromium/spdy_test_util_common.cc b/net/spdy/chromium/spdy_test_util_common.cc |
| index 28c42764ed1edab136d361b7cf6e31e66bf58996..766af213f8c6a0682bdc3963bb9e87d909fd4721 100644 |
| --- a/net/spdy/chromium/spdy_test_util_common.cc |
| +++ b/net/spdy/chromium/spdy_test_util_common.cc |
| @@ -163,22 +163,20 @@ MockRead CreateMockRead(const SpdySerializedFrame& resp, int seq, IoMode mode) { |
| // Combines the given SpdyFrames into the given char array and returns |
| // the total length. |
|
Zhongyi Shi
2017/06/12 19:34:12
ditto.
Bence
2017/06/12 19:49:13
Done.
|
| -int CombineFrames(const SpdySerializedFrame** frames, |
| - int num_frames, |
| - char* buf, |
| - int buf_len) { |
| - int total_len = 0; |
| - for (int i = 0; i < num_frames; ++i) { |
| - total_len += frames[i]->size(); |
| +SpdySerializedFrame CombineFrames( |
| + std::vector<const SpdySerializedFrame*> frames) { |
| + int total_size = 0; |
| + for (const auto* frame : frames) { |
| + total_size += frame->size(); |
| } |
| - DCHECK_LE(total_len, buf_len); |
| - char* ptr = buf; |
| - for (int i = 0; i < num_frames; ++i) { |
| - int len = frames[i]->size(); |
| - memcpy(ptr, frames[i]->data(), len); |
| - ptr += len; |
| + auto data = base::MakeUnique<char[]>(total_size); |
| + char* ptr = data.get(); |
| + for (const auto* frame : frames) { |
| + memcpy(ptr, frame->data(), frame->size()); |
| + ptr += frame->size(); |
| } |
| - return total_len; |
| + return SpdySerializedFrame(data.release(), total_size, |
| + /* owns_buffer = */ true); |
| } |
| namespace { |
| @@ -898,15 +896,7 @@ SpdySerializedFrame SpdyTestUtil::ConstructSpdyPush( |
| SpdySerializedFrame headers_frame( |
| response_spdy_framer_.SerializeFrame(headers)); |
| - int joint_data_size = push_promise_frame.size() + headers_frame.size(); |
| - auto data = base::MakeUnique<char[]>(joint_data_size); |
| - const SpdySerializedFrame* frames[2] = { |
| - &push_promise_frame, &headers_frame, |
| - }; |
| - int combined_size = |
| - CombineFrames(frames, arraysize(frames), data.get(), joint_data_size); |
| - DCHECK_EQ(combined_size, joint_data_size); |
| - return SpdySerializedFrame(data.release(), joint_data_size, true); |
| + return CombineFrames({&push_promise_frame, &headers_frame}); |
| } |
| SpdySerializedFrame SpdyTestUtil::ConstructSpdyPush( |
| @@ -933,15 +923,7 @@ SpdySerializedFrame SpdyTestUtil::ConstructSpdyPush( |
| SpdySerializedFrame headers_frame( |
| response_spdy_framer_.SerializeFrame(headers)); |
| - int joint_data_size = push_promise_frame.size() + headers_frame.size(); |
| - auto data = base::MakeUnique<char[]>(joint_data_size); |
| - const SpdySerializedFrame* frames[2] = { |
| - &push_promise_frame, &headers_frame, |
| - }; |
| - int combined_size = |
| - CombineFrames(frames, arraysize(frames), data.get(), joint_data_size); |
| - DCHECK_EQ(combined_size, joint_data_size); |
| - return SpdySerializedFrame(data.release(), joint_data_size, true); |
| + return CombineFrames({&push_promise_frame, &headers_frame}); |
| } |
| SpdySerializedFrame SpdyTestUtil::ConstructInitialSpdyPushFrame( |