| 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..288f341079e42b3fb47c379494de7acafb11e286 100644
|
| --- a/net/spdy/chromium/spdy_test_util_common.cc
|
| +++ b/net/spdy/chromium/spdy_test_util_common.cc
|
| @@ -161,24 +161,21 @@ MockRead CreateMockRead(const SpdySerializedFrame& resp, int seq, IoMode mode) {
|
| return MockRead(mode, resp.data(), resp.size(), seq);
|
| }
|
|
|
| -// Combines the given SpdyFrames into the given char array and returns
|
| -// the total length.
|
| -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();
|
| +// Combines the given vector of SpdySerializedFrame into a single frame.
|
| +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 +895,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 +922,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(
|
|
|