| Index: net/spdy/spdy_framer_test.cc
 | 
| diff --git a/net/spdy/spdy_framer_test.cc b/net/spdy/spdy_framer_test.cc
 | 
| index 707059f1e3ca84c58bedf20fcf84660babbe73a5..96f179979a5c6f7bf9cb099e7d022558b6f0cc97 100644
 | 
| --- a/net/spdy/spdy_framer_test.cc
 | 
| +++ b/net/spdy/spdy_framer_test.cc
 | 
| @@ -67,7 +67,7 @@ class SpdyFramerTestUtil {
 | 
|      CHECK_EQ(frame.size(), framer->ProcessInput(frame.data(), frame.size()));
 | 
|      CHECK_EQ(SpdyFramer::SPDY_READY_FOR_FRAME, framer->state());
 | 
|      framer->set_visitor(nullptr);
 | 
| -    SpdyFramer serializer(framer->protocol_version());
 | 
| +    SpdyFramer serializer;
 | 
|      serializer.set_enable_compression(false);
 | 
|      return serializer.SerializeFrame(visitor.GetFrame());
 | 
|    }
 | 
| @@ -270,9 +270,8 @@ class TestSpdyVisitor : public SpdyFramerVisitorInterface,
 | 
|    // are too long can spill over into CONTINUATION frames.
 | 
|    static const size_t kDefaultHeaderBufferSize = 16 * 1024 * 1024;
 | 
|  
 | 
| -  explicit TestSpdyVisitor(SpdyMajorVersion version)
 | 
| -      : framer_(version),
 | 
| -        use_compression_(false),
 | 
| +  TestSpdyVisitor()
 | 
| +      : use_compression_(false),
 | 
|          error_count_(0),
 | 
|          headers_frame_count_(0),
 | 
|          push_promise_frame_count_(0),
 | 
| @@ -514,9 +513,7 @@ class TestSpdyVisitor : public SpdyFramerVisitorInterface,
 | 
|    void InitHeaderStreaming(SpdyFrameType header_control_type,
 | 
|                             SpdyStreamId stream_id) {
 | 
|      if (!SpdyConstants::IsValidFrameType(
 | 
| -            framer_.protocol_version(),
 | 
| -            SpdyConstants::SerializeFrameType(framer_.protocol_version(),
 | 
| -                                              header_control_type))) {
 | 
| +            SpdyConstants::SerializeFrameType(header_control_type))) {
 | 
|        DLOG(FATAL) << "Attempted to init header streaming with "
 | 
|                    << "invalid control frame type: " << header_control_type;
 | 
|      }
 | 
| @@ -605,8 +602,7 @@ StringPiece GetSerializedHeaders(const SpdySerializedFrame& frame,
 | 
|  
 | 
|    uint8_t serialized_type;
 | 
|    reader.ReadUInt8(&serialized_type);
 | 
| -  SpdyFrameType type =
 | 
| -      SpdyConstants::ParseFrameType(framer.protocol_version(), serialized_type);
 | 
| +  SpdyFrameType type = SpdyConstants::ParseFrameType(serialized_type);
 | 
|    DCHECK_EQ(HEADERS, type);
 | 
|    uint8_t flags;
 | 
|    reader.ReadUInt8(&flags);
 | 
| @@ -637,14 +633,11 @@ class SpdyFramerTest : public ::testing::Test {
 | 
|          reinterpret_cast<const unsigned char*>(actual_frame.data()),
 | 
|          actual_frame.size());
 | 
|    }
 | 
| -
 | 
| -  // Version of SPDY protocol to be used.
 | 
| -  SpdyMajorVersion spdy_version_ = HTTP2;
 | 
|  };
 | 
|  
 | 
|  // Test that we can encode and decode a SpdyHeaderBlock in serialized form.
 | 
|  TEST_F(SpdyFramerTest, HeaderBlockInBuffer) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|  
 | 
|    // Encode the header block into a Headers frame.
 | 
| @@ -654,7 +647,7 @@ TEST_F(SpdyFramerTest, HeaderBlockInBuffer) {
 | 
|    headers.SetHeader("cookie", "key1=value1; key2=value2");
 | 
|    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(&framer, headers));
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(reinterpret_cast<unsigned char*>(frame.data()),
 | 
|                             frame.size());
 | 
| @@ -665,7 +658,7 @@ TEST_F(SpdyFramerTest, HeaderBlockInBuffer) {
 | 
|  
 | 
|  // Test that if there's not a full frame, we fail to parse it.
 | 
|  TEST_F(SpdyFramerTest, UndersizedHeaderBlockInBuffer) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|  
 | 
|    // Encode the header block into a Headers frame.
 | 
| @@ -674,7 +667,7 @@ TEST_F(SpdyFramerTest, UndersizedHeaderBlockInBuffer) {
 | 
|    headers.SetHeader("gamma", "charlie");
 | 
|    SpdySerializedFrame frame(SpdyFramerPeer::SerializeHeaders(&framer, headers));
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(reinterpret_cast<unsigned char*>(frame.data()),
 | 
|                             frame.size() - 2);
 | 
| @@ -686,17 +679,17 @@ TEST_F(SpdyFramerTest, UndersizedHeaderBlockInBuffer) {
 | 
|  // Test that we treat incoming upper-case or mixed-case header values as
 | 
|  // malformed.
 | 
|  TEST_F(SpdyFramerTest, RejectUpperCaseHeaderBlockValue) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|  
 | 
| -  SpdyFrameBuilder frame(1024, spdy_version_);
 | 
| +  SpdyFrameBuilder frame(1024);
 | 
|    frame.BeginNewFrame(framer, HEADERS, 0, 1);
 | 
|    frame.WriteUInt32(1);
 | 
|    frame.WriteStringPiece32("Name1");
 | 
|    frame.WriteStringPiece32("value1");
 | 
|    frame.RewriteLength(framer);
 | 
|  
 | 
| -  SpdyFrameBuilder frame2(1024, spdy_version_);
 | 
| +  SpdyFrameBuilder frame2(1024);
 | 
|    frame2.BeginNewFrame(framer, HEADERS, 0, 1);
 | 
|    frame2.WriteUInt32(2);
 | 
|    frame2.WriteStringPiece32("name1");
 | 
| @@ -721,7 +714,7 @@ TEST_F(SpdyFramerTest, RejectUpperCaseHeaderBlockValue) {
 | 
|  // Test that we can encode and decode stream dependency values in a header
 | 
|  // frame.
 | 
|  TEST_F(SpdyFramerTest, HeaderStreamDependencyValues) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|  
 | 
|    const SpdyStreamId parent_stream_id_test_array[] = {0, 3};
 | 
| @@ -735,7 +728,7 @@ TEST_F(SpdyFramerTest, HeaderStreamDependencyValues) {
 | 
|        SpdySerializedFrame frame(
 | 
|            SpdyFramerPeer::SerializeHeaders(&framer, headers));
 | 
|  
 | 
| -      TestSpdyVisitor visitor(spdy_version_);
 | 
| +      TestSpdyVisitor visitor;
 | 
|        visitor.use_compression_ = false;
 | 
|        visitor.SimulateInFramer(reinterpret_cast<unsigned char*>(frame.data()),
 | 
|                                 frame.size());
 | 
| @@ -751,7 +744,7 @@ TEST_F(SpdyFramerTest, HeaderStreamDependencyValues) {
 | 
|  // advertised max size, we do not set an error in ProcessInput.
 | 
|  TEST_F(SpdyFramerTest, AcceptMaxFrameSizeSetting) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // DATA frame with maximum allowed payload length.
 | 
| @@ -776,7 +769,7 @@ TEST_F(SpdyFramerTest, AcceptMaxFrameSizeSetting) {
 | 
|  // advertised max size, we set an error of SPDY_INVALID_CONTROL_FRAME_SIZE.
 | 
|  TEST_F(SpdyFramerTest, ExceedMaxFrameSizeSetting) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // DATA frame with too large payload length.
 | 
| @@ -802,7 +795,7 @@ TEST_F(SpdyFramerTest, ExceedMaxFrameSizeSetting) {
 | 
|  // payload length, we set an error of SPDY_INVALID_PADDING
 | 
|  TEST_F(SpdyFramerTest, OversizedDataPaddingError) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // DATA frame with invalid padding length.
 | 
| @@ -837,7 +830,7 @@ TEST_F(SpdyFramerTest, OversizedDataPaddingError) {
 | 
|  // payload length, we do not set an error of SPDY_INVALID_PADDING
 | 
|  TEST_F(SpdyFramerTest, CorrectlySizedDataPaddingNoError) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // DATA frame with valid Padding length
 | 
| @@ -872,7 +865,7 @@ TEST_F(SpdyFramerTest, CorrectlySizedDataPaddingNoError) {
 | 
|  // payload length, we set an error of SPDY_INVALID_PADDING
 | 
|  TEST_F(SpdyFramerTest, OversizedHeadersPaddingError) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // HEADERS frame with invalid padding length.
 | 
| @@ -904,7 +897,7 @@ TEST_F(SpdyFramerTest, OversizedHeadersPaddingError) {
 | 
|  // than the payload length, we do not set an error of SPDY_INVALID_PADDING
 | 
|  TEST_F(SpdyFramerTest, CorrectlySizedHeadersPaddingNoError) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // HEADERS frame with invalid Padding length
 | 
| @@ -931,7 +924,7 @@ TEST_F(SpdyFramerTest, CorrectlySizedHeadersPaddingNoError) {
 | 
|  // (but don't crash).
 | 
|  TEST_F(SpdyFramerTest, DataWithStreamIdZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    const char bytes[] = "hello";
 | 
| @@ -950,7 +943,7 @@ TEST_F(SpdyFramerTest, DataWithStreamIdZero) {
 | 
|  // (but don't crash).
 | 
|  TEST_F(SpdyFramerTest, HeadersWithStreamIdZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyHeadersIR headers(0);
 | 
| @@ -969,7 +962,7 @@ TEST_F(SpdyFramerTest, HeadersWithStreamIdZero) {
 | 
|  // (but don't crash).
 | 
|  TEST_F(SpdyFramerTest, PriorityWithStreamIdZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyPriorityIR priority_ir(0, 1, 16, true);
 | 
| @@ -987,7 +980,7 @@ TEST_F(SpdyFramerTest, PriorityWithStreamIdZero) {
 | 
|  // (but don't crash).
 | 
|  TEST_F(SpdyFramerTest, RstStreamWithStreamIdZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyRstStreamIR rst_stream_ir(0, RST_STREAM_PROTOCOL_ERROR);
 | 
| @@ -1005,7 +998,7 @@ TEST_F(SpdyFramerTest, RstStreamWithStreamIdZero) {
 | 
|  // we signal an error (but don't crash).
 | 
|  TEST_F(SpdyFramerTest, SettingsWithStreamIdNotZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // Settings frame with invalid StreamID of 0x01
 | 
| @@ -1032,7 +1025,7 @@ TEST_F(SpdyFramerTest, SettingsWithStreamIdNotZero) {
 | 
|  // we signal an error (but don't crash).
 | 
|  TEST_F(SpdyFramerTest, GoawayWithStreamIdNotZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // GOAWAY frame with invalid StreamID of 0x01
 | 
| @@ -1060,7 +1053,7 @@ TEST_F(SpdyFramerTest, GoawayWithStreamIdNotZero) {
 | 
|  // SPDY_INVALID_STREAM_ID.
 | 
|  TEST_F(SpdyFramerTest, ContinuationWithStreamIdZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyContinuationIR continuation(0);
 | 
| @@ -1082,7 +1075,7 @@ TEST_F(SpdyFramerTest, ContinuationWithStreamIdZero) {
 | 
|  // SPDY_INVALID_STREAM_ID.
 | 
|  TEST_F(SpdyFramerTest, PushPromiseWithStreamIdZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyPushPromiseIR push_promise(0, 4);
 | 
| @@ -1101,7 +1094,7 @@ TEST_F(SpdyFramerTest, PushPromiseWithStreamIdZero) {
 | 
|  // signal SPDY_INVALID_STREAM_ID.
 | 
|  TEST_F(SpdyFramerTest, PushPromiseWithPromisedStreamIdZero) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyPushPromiseIR push_promise(3, 0);
 | 
| @@ -1117,9 +1110,9 @@ TEST_F(SpdyFramerTest, PushPromiseWithPromisedStreamIdZero) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, DuplicateHeader) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    // Frame builder with plentiful buffer size.
 | 
| -  SpdyFrameBuilder frame(1024, spdy_version_);
 | 
| +  SpdyFrameBuilder frame(1024);
 | 
|    frame.BeginNewFrame(framer, HEADERS, 0, 3);
 | 
|  
 | 
|    frame.WriteUInt32(2);  // Number of headers.
 | 
| @@ -1140,9 +1133,9 @@ TEST_F(SpdyFramerTest, DuplicateHeader) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, MultiValueHeader) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    // Frame builder with plentiful buffer size.
 | 
| -  SpdyFrameBuilder frame(1024, spdy_version_);
 | 
| +  SpdyFrameBuilder frame(1024);
 | 
|    frame.BeginNewFrame(framer, HEADERS,
 | 
|                        HEADERS_FLAG_PRIORITY | HEADERS_FLAG_END_HEADERS, 3);
 | 
|    frame.WriteUInt32(0);   // Priority exclusivity and dependent stream.
 | 
| @@ -1162,7 +1155,7 @@ TEST_F(SpdyFramerTest, MultiValueHeader) {
 | 
|    framer.set_enable_compression(false);
 | 
|    SpdySerializedFrame control_frame(frame.take());
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(control_frame.data()),
 | 
| @@ -1183,7 +1176,7 @@ TEST_F(SpdyFramerTest, CompressEmptyHeaders) {
 | 
|    headers.SetHeader("content-length", "12");
 | 
|    headers.SetHeader("x-empty-header", "");
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(true);
 | 
|    SpdySerializedFrame frame1(
 | 
|        SpdyFramerPeer::SerializeHeaders(&framer, headers));
 | 
| @@ -1253,7 +1246,7 @@ TEST_F(SpdyFramerTest, Basic) {
 | 
|    };
 | 
|    // frame-format on
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kH2Input, sizeof(kH2Input));
 | 
|  
 | 
|    EXPECT_EQ(24, visitor.data_bytes_);
 | 
| @@ -1303,7 +1296,7 @@ TEST_F(SpdyFramerTest, FinOnDataFrame) {
 | 
|    };
 | 
|    // frame-format on
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kH2Input, sizeof(kH2Input));
 | 
|  
 | 
|    EXPECT_EQ(0, visitor.error_count_);
 | 
| @@ -1334,7 +1327,7 @@ TEST_F(SpdyFramerTest, FinOnHeadersFrame) {
 | 
|    };
 | 
|    // frame-format on
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kH2Input, sizeof(kH2Input));
 | 
|  
 | 
|    EXPECT_EQ(0, visitor.error_count_);
 | 
| @@ -1349,7 +1342,7 @@ TEST_F(SpdyFramerTest, FinOnHeadersFrame) {
 | 
|  // Verify we can decompress the stream even if handed over to the
 | 
|  // framer 1 byte at a time.
 | 
|  TEST_F(SpdyFramerTest, UnclosedStreamDataCompressorsOneByteAtATime) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    framer.set_enable_compression(true);
 | 
|  
 | 
| @@ -1370,7 +1363,7 @@ TEST_F(SpdyFramerTest, UnclosedStreamDataCompressorsOneByteAtATime) {
 | 
|    SpdySerializedFrame send_frame(framer.SerializeData(data_ir));
 | 
|  
 | 
|    // Run the inputs through the framer.
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = true;
 | 
|    const unsigned char* data;
 | 
|    data = reinterpret_cast<const unsigned char*>(headers_frame.data());
 | 
| @@ -1394,7 +1387,7 @@ TEST_F(SpdyFramerTest, UnclosedStreamDataCompressorsOneByteAtATime) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, WindowUpdateFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdySerializedFrame frame(
 | 
|        framer.SerializeWindowUpdate(SpdyWindowUpdateIR(1, 0x12345678)));
 | 
|  
 | 
| @@ -1411,7 +1404,7 @@ TEST_F(SpdyFramerTest, WindowUpdateFrame) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateDataFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    {
 | 
|      const char kDescription[] = "'hello' data frame, no FIN";
 | 
| @@ -1613,7 +1606,7 @@ TEST_F(SpdyFramerTest, CreateDataFrame) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateRstStream) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    {
 | 
|      const char kDescription[] = "RST_STREAM frame";
 | 
| @@ -1659,7 +1652,7 @@ TEST_F(SpdyFramerTest, CreateRstStream) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateSettings) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    {
 | 
|      const char kDescription[] = "Network byte order SETTINGS frame";
 | 
| @@ -1706,19 +1699,19 @@ TEST_F(SpdyFramerTest, CreateSettings) {
 | 
|      };
 | 
|  
 | 
|      SpdySettingsIR settings_ir;
 | 
| -    settings_ir.AddSetting(SpdyConstants::ParseSettingId(spdy_version_, 1),
 | 
| +    settings_ir.AddSetting(SpdyConstants::ParseSettingId(1),
 | 
|                             false,  // persist
 | 
|                             false,  // persisted
 | 
|                             5);
 | 
| -    settings_ir.AddSetting(SpdyConstants::ParseSettingId(spdy_version_, 2),
 | 
| +    settings_ir.AddSetting(SpdyConstants::ParseSettingId(2),
 | 
|                             false,  // persist
 | 
|                             false,  // persisted
 | 
|                             6);
 | 
| -    settings_ir.AddSetting(SpdyConstants::ParseSettingId(spdy_version_, 3),
 | 
| +    settings_ir.AddSetting(SpdyConstants::ParseSettingId(3),
 | 
|                             false,  // persist
 | 
|                             false,  // persisted
 | 
|                             7);
 | 
| -    settings_ir.AddSetting(SpdyConstants::ParseSettingId(spdy_version_, 4),
 | 
| +    settings_ir.AddSetting(SpdyConstants::ParseSettingId(4),
 | 
|                             false,  // persist
 | 
|                             false,  // persisted
 | 
|                             8);
 | 
| @@ -1743,7 +1736,7 @@ TEST_F(SpdyFramerTest, CreateSettings) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreatePingFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    {
 | 
|      const char kDescription[] = "PING frame";
 | 
| @@ -1780,7 +1773,7 @@ TEST_F(SpdyFramerTest, CreatePingFrame) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateGoAway) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    {
 | 
|      const char kDescription[] = "GOAWAY frame";
 | 
| @@ -1816,7 +1809,7 @@ TEST_F(SpdyFramerTest, CreateGoAway) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateHeadersUncompressed) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|  
 | 
|    {
 | 
| @@ -2068,7 +2061,7 @@ TEST_F(SpdyFramerTest, CreateHeadersUncompressed) {
 | 
|  // to workaround http://crbug.com/139744.
 | 
|  #if !defined(USE_SYSTEM_ZLIB)
 | 
|  TEST_F(SpdyFramerTest, CreateHeadersCompressed) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(true);
 | 
|  
 | 
|    {
 | 
| @@ -2083,7 +2076,7 @@ TEST_F(SpdyFramerTest, CreateHeadersCompressed) {
 | 
|  #endif  // !defined(USE_SYSTEM_ZLIB)
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateWindowUpdate) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    {
 | 
|      const char kDescription[] = "WINDOW_UPDATE frame";
 | 
| @@ -2129,11 +2122,11 @@ TEST_F(SpdyFramerTest, CreateWindowUpdate) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, SerializeBlocked) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    const char kDescription[] = "BLOCKED frame";
 | 
| -  const unsigned char kType = static_cast<unsigned char>(
 | 
| -      SpdyConstants::SerializeFrameType(spdy_version_, BLOCKED));
 | 
| +  const unsigned char kType =
 | 
| +      static_cast<unsigned char>(SpdyConstants::SerializeFrameType(BLOCKED));
 | 
|    const unsigned char kFrameData[] = {
 | 
|        0x00,  0x00, 0x00,        // Length: 0
 | 
|        kType,                    //   Type: BLOCKED
 | 
| @@ -2146,7 +2139,7 @@ TEST_F(SpdyFramerTest, SerializeBlocked) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateBlocked) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    const char kDescription[] = "BLOCKED frame";
 | 
|    const SpdyStreamId kStreamId = 3;
 | 
| @@ -2162,7 +2155,7 @@ TEST_F(SpdyFramerTest, CreateBlocked) {
 | 
|  TEST_F(SpdyFramerTest, CreatePushPromiseUncompressed) {
 | 
|    {
 | 
|      // Test framing PUSH_PROMISE without padding.
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_enable_compression(false);
 | 
|      const char kDescription[] = "PUSH_PROMISE frame without padding";
 | 
|  
 | 
| @@ -2197,7 +2190,7 @@ TEST_F(SpdyFramerTest, CreatePushPromiseUncompressed) {
 | 
|  
 | 
|    {
 | 
|      // Test framing PUSH_PROMISE with one byte of padding.
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_enable_compression(false);
 | 
|      const char kDescription[] = "PUSH_PROMISE frame with one byte of padding";
 | 
|  
 | 
| @@ -2234,7 +2227,7 @@ TEST_F(SpdyFramerTest, CreatePushPromiseUncompressed) {
 | 
|  
 | 
|    {
 | 
|      // Test framing PUSH_PROMISE with 177 bytes of padding.
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_enable_compression(false);
 | 
|      const char kDescription[] = "PUSH_PROMISE frame with 177 bytes of padding";
 | 
|  
 | 
| @@ -2292,7 +2285,7 @@ TEST_F(SpdyFramerTest, CreatePushPromiseUncompressed) {
 | 
|  
 | 
|  // Regression test for https://crbug.com/464748.
 | 
|  TEST_F(SpdyFramerTest, GetNumberRequiredContinuationFrames) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    EXPECT_EQ(1u, SpdyFramerPeer::GetNumberRequiredContinuationFrames(
 | 
|                      &framer, 16383 + 16374));
 | 
|    EXPECT_EQ(2u, SpdyFramerPeer::GetNumberRequiredContinuationFrames(
 | 
| @@ -2304,7 +2297,7 @@ TEST_F(SpdyFramerTest, GetNumberRequiredContinuationFrames) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateContinuationUncompressed) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|    const char kDescription[] = "CONTINUATION frame";
 | 
|  
 | 
| @@ -2348,7 +2341,7 @@ TEST_F(SpdyFramerTest, CreateContinuationUncompressed) {
 | 
|  // we signal an error (but don't crash).
 | 
|  TEST_F(SpdyFramerTest, SendUnexpectedContinuation) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    // frame-format off
 | 
| @@ -2387,7 +2380,7 @@ TEST_F(SpdyFramerTest, CreatePushPromiseThenContinuationUncompressed) {
 | 
|      // Test framing in a case such that a PUSH_PROMISE frame, with one byte of
 | 
|      // padding, cannot hold all the data payload, which is overflowed to the
 | 
|      // consecutive CONTINUATION frame.
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_enable_compression(false);
 | 
|      const char kDescription[] =
 | 
|          "PUSH_PROMISE and CONTINUATION frames with one byte of padding";
 | 
| @@ -2484,11 +2477,11 @@ TEST_F(SpdyFramerTest, CreatePushPromiseThenContinuationUncompressed) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreateAltSvc) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    const char kDescription[] = "ALTSVC frame";
 | 
| -  const char kType = static_cast<unsigned char>(
 | 
| -      SpdyConstants::SerializeFrameType(spdy_version_, ALTSVC));
 | 
| +  const char kType =
 | 
| +      static_cast<unsigned char>(SpdyConstants::SerializeFrameType(ALTSVC));
 | 
|    const unsigned char kFrameData[] = {
 | 
|        0x00, 0x00, 0x49, kType, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 'o',
 | 
|        'r',  'i',  'g',  'i',   'n',  'p',  'i',  'd',  '1',  '=',  '"',  'h',
 | 
| @@ -2509,7 +2502,7 @@ TEST_F(SpdyFramerTest, CreateAltSvc) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, CreatePriority) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    const char kDescription[] = "PRIORITY frame";
 | 
|    const unsigned char kFrameData[] = {
 | 
| @@ -2532,13 +2525,13 @@ TEST_F(SpdyFramerTest, CreatePriority) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ReadCompressedHeadersHeaderBlock) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdyHeadersIR headers_ir(1);
 | 
|    headers_ir.SetHeader("alpha", "beta");
 | 
|    headers_ir.SetHeader("gamma", "delta");
 | 
|    SpdySerializedFrame control_frame(
 | 
|        SpdyFramerPeer::SerializeHeaders(&framer, headers_ir));
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = true;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(control_frame.data()),
 | 
| @@ -2551,14 +2544,14 @@ TEST_F(SpdyFramerTest, ReadCompressedHeadersHeaderBlock) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ReadCompressedHeadersHeaderBlockWithHalfClose) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdyHeadersIR headers_ir(1);
 | 
|    headers_ir.set_fin(true);
 | 
|    headers_ir.SetHeader("alpha", "beta");
 | 
|    headers_ir.SetHeader("gamma", "delta");
 | 
|    SpdySerializedFrame control_frame(
 | 
|        SpdyFramerPeer::SerializeHeaders(&framer, headers_ir));
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = true;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(control_frame.data()),
 | 
| @@ -2571,7 +2564,7 @@ TEST_F(SpdyFramerTest, ReadCompressedHeadersHeaderBlockWithHalfClose) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, TooLargeHeadersFrameUsesContinuation) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|    SpdyHeadersIR headers(1);
 | 
|    headers.set_padding_len(256);
 | 
| @@ -2586,7 +2579,7 @@ TEST_F(SpdyFramerTest, TooLargeHeadersFrameUsesContinuation) {
 | 
|    EXPECT_GT(control_frame.size(),
 | 
|              TestSpdyVisitor::sent_control_frame_max_size());
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(control_frame.data()),
 | 
|        control_frame.size());
 | 
| @@ -2598,7 +2591,7 @@ TEST_F(SpdyFramerTest, TooLargeHeadersFrameUsesContinuation) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, MultipleContinuationFramesWithIterator) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|    auto headers = base::MakeUnique<SpdyHeadersIR>(1);
 | 
|    headers->set_padding_len(256);
 | 
| @@ -2618,7 +2611,7 @@ TEST_F(SpdyFramerTest, MultipleContinuationFramesWithIterator) {
 | 
|    EXPECT_EQ(headers_frame.size(),
 | 
|              TestSpdyVisitor::sent_control_frame_max_size());
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(headers_frame.data()),
 | 
|        headers_frame.size());
 | 
| @@ -2660,7 +2653,7 @@ TEST_F(SpdyFramerTest, MultipleContinuationFramesWithIterator) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, TooLargePushPromiseFrameUsesContinuation) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_enable_compression(false);
 | 
|    SpdyPushPromiseIR push_promise(1, 2);
 | 
|    push_promise.set_padding_len(256);
 | 
| @@ -2674,7 +2667,7 @@ TEST_F(SpdyFramerTest, TooLargePushPromiseFrameUsesContinuation) {
 | 
|    EXPECT_GT(control_frame.size(),
 | 
|              TestSpdyVisitor::sent_control_frame_max_size());
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(control_frame.data()),
 | 
|        control_frame.size());
 | 
| @@ -2694,13 +2687,13 @@ TEST_F(SpdyFramerTest, ControlFrameMuchTooLarge) {
 | 
|        TestSpdyVisitor::header_data_chunk_max_size() * kHeaderBufferChunks;
 | 
|    const size_t kBigValueSize = kHeaderBufferSize * 2;
 | 
|    string big_value(kBigValueSize, 'x');
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdyHeadersIR headers(1);
 | 
|    headers.set_fin(true);
 | 
|    headers.SetHeader("aa", big_value);
 | 
|    SpdySerializedFrame control_frame(
 | 
|        SpdyFramerPeer::SerializeHeaders(&framer, headers));
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.set_header_buffer_size(kHeaderBufferSize);
 | 
|    visitor.use_compression_ = true;
 | 
|    visitor.SimulateInFramer(
 | 
| @@ -2713,7 +2706,7 @@ TEST_F(SpdyFramerTest, ControlFrameMuchTooLarge) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ControlFrameSizesAreValidated) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    // Create a GoAway frame that has a few extra bytes at the end.
 | 
|    // We create enough overhead to overflow the framer's control frame buffer.
 | 
|    ASSERT_LE(SpdyFramerPeer::ControlFrameBufferSize(), 250u);
 | 
| @@ -2721,9 +2714,9 @@ TEST_F(SpdyFramerTest, ControlFrameSizesAreValidated) {
 | 
|  
 | 
|    // HTTP/2 GOAWAY frames are only bound by a minimal length, since they may
 | 
|    // carry opaque data. Verify that minimal length is tested.
 | 
| -  ASSERT_GT(framer.GetGoAwayMinimumSize(), framer.GetFrameHeaderSize());
 | 
| +  ASSERT_GT(framer.GetGoAwayMinimumSize(), SpdyConstants::kFrameHeaderSize);
 | 
|    const size_t less_than_min_length =
 | 
| -      framer.GetGoAwayMinimumSize() - framer.GetFrameHeaderSize() - 1;
 | 
| +      framer.GetGoAwayMinimumSize() - SpdyConstants::kFrameHeaderSize - 1;
 | 
|    ASSERT_LE(less_than_min_length, std::numeric_limits<unsigned char>::max());
 | 
|    const unsigned char kH2Len = static_cast<unsigned char>(less_than_min_length);
 | 
|    const unsigned char kH2FrameData[] = {
 | 
| @@ -2735,9 +2728,9 @@ TEST_F(SpdyFramerTest, ControlFrameSizesAreValidated) {
 | 
|        0x00, 0x00, 0x00,          // Truncated Status Field
 | 
|    };
 | 
|    const size_t pad_length =
 | 
| -      length + framer.GetFrameHeaderSize() - sizeof(kH2FrameData);
 | 
| +      length + SpdyConstants::kFrameHeaderSize - sizeof(kH2FrameData);
 | 
|    string pad(pad_length, 'A');
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|  
 | 
|    visitor.SimulateInFramer(kH2FrameData, sizeof(kH2FrameData));
 | 
|    visitor.SimulateInFramer(reinterpret_cast<const unsigned char*>(pad.c_str()),
 | 
| @@ -2751,11 +2744,11 @@ TEST_F(SpdyFramerTest, ControlFrameSizesAreValidated) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ReadZeroLenSettingsFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdySettingsIR settings_ir;
 | 
|    SpdySerializedFrame control_frame(framer.SerializeSettings(settings_ir));
 | 
| -  SetFrameLength(&control_frame, 0, spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SetFrameLength(&control_frame, 0);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(control_frame.data()),
 | 
| @@ -2766,7 +2759,7 @@ TEST_F(SpdyFramerTest, ReadZeroLenSettingsFrame) {
 | 
|  
 | 
|  // Tests handling of SETTINGS frames with invalid length.
 | 
|  TEST_F(SpdyFramerTest, ReadBogusLenSettingsFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdySettingsIR settings_ir;
 | 
|  
 | 
|    // Add a setting to pad the frame so that we don't get a buffer overflow when
 | 
| @@ -2775,8 +2768,8 @@ TEST_F(SpdyFramerTest, ReadBogusLenSettingsFrame) {
 | 
|                           0x00000002);
 | 
|    SpdySerializedFrame control_frame(framer.SerializeSettings(settings_ir));
 | 
|    const size_t kNewLength = 14;
 | 
| -  SetFrameLength(&control_frame, kNewLength, spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SetFrameLength(&control_frame, kNewLength);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(control_frame.data()),
 | 
| @@ -2791,24 +2784,24 @@ TEST_F(SpdyFramerTest, ReadBogusLenSettingsFrame) {
 | 
|  
 | 
|  // Tests handling of SETTINGS frames larger than the frame buffer size.
 | 
|  TEST_F(SpdyFramerTest, ReadLargeSettingsFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdySettingsIR settings_ir;
 | 
| -  settings_ir.AddSetting(SpdyConstants::ParseSettingId(spdy_version_, 1),
 | 
| +  settings_ir.AddSetting(SpdyConstants::ParseSettingId(1),
 | 
|                           false,  // persist
 | 
|                           false,  // persisted
 | 
|                           5);
 | 
| -  settings_ir.AddSetting(SpdyConstants::ParseSettingId(spdy_version_, 2),
 | 
| +  settings_ir.AddSetting(SpdyConstants::ParseSettingId(2),
 | 
|                           false,  // persist
 | 
|                           false,  // persisted
 | 
|                           6);
 | 
| -  settings_ir.AddSetting(SpdyConstants::ParseSettingId(spdy_version_, 3),
 | 
| +  settings_ir.AddSetting(SpdyConstants::ParseSettingId(3),
 | 
|                           false,  // persist
 | 
|                           false,  // persisted
 | 
|                           7);
 | 
|  
 | 
|    SpdySerializedFrame control_frame(framer.SerializeSettings(settings_ir));
 | 
|    EXPECT_LT(SpdyFramerPeer::ControlFrameBufferSize(), control_frame.size());
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|  
 | 
|    // Read all at once.
 | 
| @@ -2838,7 +2831,7 @@ TEST_F(SpdyFramerTest, ReadLargeSettingsFrame) {
 | 
|  
 | 
|  // Tests handling of SETTINGS frame with duplicate entries.
 | 
|  TEST_F(SpdyFramerTest, ReadDuplicateSettings) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    const unsigned char kH2FrameData[] = {
 | 
|        0x00, 0x00, 0x12,        // Length: 18
 | 
| @@ -2853,7 +2846,7 @@ TEST_F(SpdyFramerTest, ReadDuplicateSettings) {
 | 
|        0x00, 0x00, 0x00, 0x03,  //  Value: 3
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(kH2FrameData, sizeof(kH2FrameData));
 | 
|  
 | 
| @@ -2866,7 +2859,7 @@ TEST_F(SpdyFramerTest, ReadDuplicateSettings) {
 | 
|  
 | 
|  // Tests handling of SETTINGS frame with a setting we don't recognize.
 | 
|  TEST_F(SpdyFramerTest, ReadUnknownSettingsId) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    const unsigned char kH2FrameData[] = {
 | 
|        0x00, 0x00, 0x06,        // Length: 6
 | 
|        0x04,                    //   Type: SETTINGS
 | 
| @@ -2876,7 +2869,7 @@ TEST_F(SpdyFramerTest, ReadUnknownSettingsId) {
 | 
|        0x00, 0x00, 0x00, 0x02,  //  Value: 2
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(kH2FrameData, sizeof(kH2FrameData));
 | 
|  
 | 
| @@ -2887,7 +2880,7 @@ TEST_F(SpdyFramerTest, ReadUnknownSettingsId) {
 | 
|  
 | 
|  // Tests handling of SETTINGS frame with entries out of order.
 | 
|  TEST_F(SpdyFramerTest, ReadOutOfOrderSettings) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    const unsigned char kH2FrameData[] = {
 | 
|        0x00, 0x00, 0x12,        // Length: 18
 | 
|        0x04,                    //   Type: SETTINGS
 | 
| @@ -2901,7 +2894,7 @@ TEST_F(SpdyFramerTest, ReadOutOfOrderSettings) {
 | 
|        0x00, 0x00, 0x00, 0x03,  //  Value: 3
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(kH2FrameData, sizeof(kH2FrameData));
 | 
|  
 | 
| @@ -2911,7 +2904,7 @@ TEST_F(SpdyFramerTest, ReadOutOfOrderSettings) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ProcessSettingsAckFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    const unsigned char kFrameData[] = {
 | 
|        0x00, 0x00, 0x00,        // Length: 0
 | 
| @@ -2920,7 +2913,7 @@ TEST_F(SpdyFramerTest, ProcessSettingsAckFrame) {
 | 
|        0x00, 0x00, 0x00, 0x00,  // Stream: 0
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(kFrameData, sizeof(kFrameData));
 | 
|  
 | 
| @@ -2934,7 +2927,7 @@ TEST_F(SpdyFramerTest, ProcessDataFrameWithPadding) {
 | 
|    const char data_payload[] = "hello";
 | 
|  
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyDataIR data_ir(1, data_payload);
 | 
| @@ -2988,10 +2981,10 @@ TEST_F(SpdyFramerTest, ProcessDataFrameWithPadding) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ReadWindowUpdate) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdySerializedFrame control_frame(
 | 
|        framer.SerializeWindowUpdate(SpdyWindowUpdateIR(1, 2)));
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(
 | 
|        reinterpret_cast<unsigned char*>(control_frame.data()),
 | 
|        control_frame.size());
 | 
| @@ -3000,12 +2993,12 @@ TEST_F(SpdyFramerTest, ReadWindowUpdate) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ReadCompressedPushPromise) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdyPushPromiseIR push_promise(42, 57);
 | 
|    push_promise.SetHeader("foo", "bar");
 | 
|    push_promise.SetHeader("bar", "foofoo");
 | 
|    SpdySerializedFrame frame(framer.SerializePushPromise(push_promise));
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = true;
 | 
|    visitor.SimulateInFramer(reinterpret_cast<unsigned char*>(frame.data()),
 | 
|                             frame.size());
 | 
| @@ -3056,8 +3049,8 @@ TEST_F(SpdyFramerTest, ReadHeadersWithContinuation) {
 | 
|    };
 | 
|    // frame-format on
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kInput, sizeof(kInput));
 | 
|  
 | 
|    EXPECT_EQ(0, visitor.error_count_);
 | 
| @@ -3112,8 +3105,8 @@ TEST_F(SpdyFramerTest, ReadHeadersWithContinuationAndFin) {
 | 
|    };
 | 
|    // frame-format on
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kInput, sizeof(kInput));
 | 
|  
 | 
|    EXPECT_EQ(0, visitor.error_count_);
 | 
| @@ -3160,8 +3153,8 @@ TEST_F(SpdyFramerTest, ReadPushPromiseWithContinuation) {
 | 
|    };
 | 
|    // frame-format on
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kInput, sizeof(kInput));
 | 
|  
 | 
|    EXPECT_EQ(0, visitor.error_count_);
 | 
| @@ -3201,8 +3194,8 @@ TEST_F(SpdyFramerTest, ReceiveUnknownMidContinuation) {
 | 
|        0x67, 0x00, 0x06, 0x63,  //
 | 
|    };
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
| +  TestSpdyVisitor visitor;
 | 
|    // Assume the unknown frame is allowed
 | 
|    visitor.on_unknown_frame_result_ = true;
 | 
|    framer.set_visitor(&visitor);
 | 
| @@ -3238,8 +3231,8 @@ TEST_F(SpdyFramerTest, ReceiveContinuationOnWrongStream) {
 | 
|        0x67, 0x00, 0x06, 0x63,  //
 | 
|    };
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
| +  TestSpdyVisitor visitor;
 | 
|    framer.set_visitor(&visitor);
 | 
|    visitor.SimulateInFramer(kInput, sizeof(kInput));
 | 
|  
 | 
| @@ -3263,8 +3256,8 @@ TEST_F(SpdyFramerTest, ReadContinuationOutOfOrder) {
 | 
|        0x3d, 0x62, 0x61, 0x72,  //
 | 
|    };
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
| +  TestSpdyVisitor visitor;
 | 
|    framer.set_visitor(&visitor);
 | 
|    visitor.SimulateInFramer(kInput, sizeof(kInput));
 | 
|  
 | 
| @@ -3294,8 +3287,8 @@ TEST_F(SpdyFramerTest, ExpectContinuationReceiveData) {
 | 
|        0xde, 0xad, 0xbe, 0xef,  // Truncated Frame Header
 | 
|    };
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
| +  TestSpdyVisitor visitor;
 | 
|    framer.set_visitor(&visitor);
 | 
|    visitor.SimulateInFramer(kInput, sizeof(kInput));
 | 
|  
 | 
| @@ -3329,8 +3322,8 @@ TEST_F(SpdyFramerTest, ExpectContinuationReceiveControlFrame) {
 | 
|        0x3d, 0x62, 0x61, 0x72,  //
 | 
|    };
 | 
|  
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
| +  TestSpdyVisitor visitor;
 | 
|    framer.set_visitor(&visitor);
 | 
|    visitor.SimulateInFramer(kInput, sizeof(kInput));
 | 
|  
 | 
| @@ -3344,17 +3337,17 @@ TEST_F(SpdyFramerTest, ExpectContinuationReceiveControlFrame) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ReadGarbage) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    unsigned char garbage_frame[256];
 | 
|    memset(garbage_frame, ~0, sizeof(garbage_frame));
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(garbage_frame, sizeof(garbage_frame));
 | 
|    EXPECT_EQ(1, visitor.error_count_);
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ReadUnknownExtensionFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|  
 | 
|    // The unrecognized frame type should still have a valid length.
 | 
|    const unsigned char unknown_frame[] = {
 | 
| @@ -3365,7 +3358,7 @@ TEST_F(SpdyFramerTest, ReadUnknownExtensionFrame) {
 | 
|        0xff, 0xff, 0xff, 0xff,  // Payload
 | 
|        0xff, 0xff, 0xff, 0xff,  //
 | 
|    };
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|  
 | 
|    // Simulate the case where the stream id validation checks out.
 | 
|    visitor.on_unknown_frame_result_ = true;
 | 
| @@ -3376,7 +3369,7 @@ TEST_F(SpdyFramerTest, ReadUnknownExtensionFrame) {
 | 
|    // Follow it up with a valid control frame to make sure we handle
 | 
|    // subsequent frames correctly.
 | 
|    SpdySettingsIR settings_ir;
 | 
| -  settings_ir.AddSetting(SpdyConstants::ParseSettingId(spdy_version_, 1),
 | 
| +  settings_ir.AddSetting(SpdyConstants::ParseSettingId(1),
 | 
|                           false,  // persist
 | 
|                           false,  // persisted
 | 
|                           10);
 | 
| @@ -3390,7 +3383,7 @@ TEST_F(SpdyFramerTest, ReadUnknownExtensionFrame) {
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, ReadGarbageWithValidLength) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    const unsigned char kFrameData[] = {
 | 
|        0x00, 0x00, 0x08,        // Length: 8
 | 
|        0xff,                    //   Type: UnknownFrameType(255)
 | 
| @@ -3399,7 +3392,7 @@ TEST_F(SpdyFramerTest, ReadGarbageWithValidLength) {
 | 
|        0xff, 0xff, 0xff, 0xff,  // Payload
 | 
|        0xff, 0xff, 0xff, 0xff,  //
 | 
|    };
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|    visitor.SimulateInFramer(kFrameData, arraysize(kFrameData));
 | 
|    EXPECT_EQ(1, visitor.error_count_);
 | 
| @@ -3419,13 +3412,13 @@ TEST_F(SpdyFramerTest, ReadGarbageHPACKEncoding) {
 | 
|        0xff,                    //
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kInput, arraysize(kInput));
 | 
|    EXPECT_EQ(1, visitor.error_count_);
 | 
|  }
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, SizesTest) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    EXPECT_EQ(9u, framer.GetDataFrameMinimumSize());
 | 
|    EXPECT_EQ(9u, framer.GetFrameHeaderSize());
 | 
|    EXPECT_EQ(13u, framer.GetRstStreamMinimumSize());
 | 
| @@ -3550,12 +3543,12 @@ TEST_F(SpdyFramerTest, DataFrameFlagsV4) {
 | 
|                                      << static_cast<int>(flags));
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|  
 | 
|      SpdyDataIR data_ir(1, "hello");
 | 
|      SpdySerializedFrame frame(framer.SerializeData(data_ir));
 | 
| -    SetFrameFlags(&frame, flags, spdy_version_);
 | 
| +    SetFrameFlags(&frame, flags);
 | 
|  
 | 
|      if (flags & ~valid_data_flags) {
 | 
|        EXPECT_CALL(visitor, OnError(_));
 | 
| @@ -3599,12 +3592,12 @@ TEST_F(SpdyFramerTest, RstStreamFrameFlags) {
 | 
|                                      << static_cast<int>(flags));
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|  
 | 
|      SpdyRstStreamIR rst_stream(13, RST_STREAM_CANCEL);
 | 
|      SpdySerializedFrame frame(framer.SerializeRstStream(rst_stream));
 | 
| -    SetFrameFlags(&frame, flags, spdy_version_);
 | 
| +    SetFrameFlags(&frame, flags);
 | 
|  
 | 
|      EXPECT_CALL(visitor, OnRstStream(13, RST_STREAM_CANCEL));
 | 
|  
 | 
| @@ -3623,13 +3616,13 @@ TEST_F(SpdyFramerTest, SettingsFrameFlags) {
 | 
|                                      << static_cast<int>(flags));
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|  
 | 
|      SpdySettingsIR settings_ir;
 | 
|      settings_ir.AddSetting(SETTINGS_INITIAL_WINDOW_SIZE, 0, 0, 16);
 | 
|      SpdySerializedFrame frame(framer.SerializeSettings(settings_ir));
 | 
| -    SetFrameFlags(&frame, flags, spdy_version_);
 | 
| +    SetFrameFlags(&frame, flags);
 | 
|  
 | 
|      if (flags & SETTINGS_FLAG_ACK) {
 | 
|        EXPECT_CALL(visitor, OnError(_));
 | 
| @@ -3661,12 +3654,12 @@ TEST_F(SpdyFramerTest, GoawayFrameFlags) {
 | 
|                                      << static_cast<int>(flags));
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|  
 | 
|      SpdyGoAwayIR goaway_ir(97, GOAWAY_OK, "test");
 | 
|      SpdySerializedFrame frame(framer.SerializeGoAway(goaway_ir));
 | 
| -    SetFrameFlags(&frame, flags, spdy_version_);
 | 
| +    SetFrameFlags(&frame, flags);
 | 
|  
 | 
|      EXPECT_CALL(visitor, OnGoAway(97, GOAWAY_OK));
 | 
|  
 | 
| @@ -3684,7 +3677,7 @@ TEST_F(SpdyFramerTest, HeadersFrameFlags) {
 | 
|                                      << static_cast<int>(flags));
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|  
 | 
|      SpdyHeadersIR headers_ir(57);
 | 
| @@ -3698,7 +3691,7 @@ TEST_F(SpdyFramerTest, HeadersFrameFlags) {
 | 
|      SpdySerializedFrame frame(
 | 
|          SpdyFramerPeer::SerializeHeaders(&framer, headers_ir));
 | 
|      uint8_t set_flags = flags & ~HEADERS_FLAG_PADDED;
 | 
| -    SetFrameFlags(&frame, set_flags, spdy_version_);
 | 
| +    SetFrameFlags(&frame, set_flags);
 | 
|  
 | 
|      // Expected callback values
 | 
|      SpdyStreamId stream_id = 57;
 | 
| @@ -3741,11 +3734,11 @@ TEST_F(SpdyFramerTest, PingFrameFlags) {
 | 
|                                      << static_cast<int>(flags));
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|  
 | 
|      SpdySerializedFrame frame(framer.SerializePing(SpdyPingIR(42)));
 | 
| -    SetFrameFlags(&frame, flags, spdy_version_);
 | 
| +    SetFrameFlags(&frame, flags);
 | 
|  
 | 
|      if (flags & PING_FLAG_ACK) {
 | 
|        EXPECT_CALL(visitor, OnPing(42, true));
 | 
| @@ -3767,12 +3760,12 @@ TEST_F(SpdyFramerTest, WindowUpdateFrameFlags) {
 | 
|                                      << static_cast<int>(flags));
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|  
 | 
|      SpdySerializedFrame frame(
 | 
|          framer.SerializeWindowUpdate(SpdyWindowUpdateIR(4, 1024)));
 | 
| -    SetFrameFlags(&frame, flags, spdy_version_);
 | 
| +    SetFrameFlags(&frame, flags);
 | 
|  
 | 
|      EXPECT_CALL(visitor, OnWindowUpdate(4, 1024));
 | 
|  
 | 
| @@ -3793,7 +3786,7 @@ TEST_F(SpdyFramerTest, PushPromiseFrameFlags) {
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
|      testing::StrictMock<test::MockDebugVisitor> debug_visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|      framer.set_debug_visitor(&debug_visitor);
 | 
|  
 | 
| @@ -3805,7 +3798,7 @@ TEST_F(SpdyFramerTest, PushPromiseFrameFlags) {
 | 
|      SpdySerializedFrame frame(framer.SerializePushPromise(push_promise));
 | 
|      // TODO(jgraettinger): Add padding to SpdyPushPromiseIR,
 | 
|      // and implement framing.
 | 
| -    SetFrameFlags(&frame, flags & ~HEADERS_FLAG_PADDED, spdy_version_);
 | 
| +    SetFrameFlags(&frame, flags & ~HEADERS_FLAG_PADDED);
 | 
|  
 | 
|      bool end = flags & PUSH_PROMISE_FLAG_END_PUSH_PROMISE;
 | 
|      EXPECT_CALL(debug_visitor,
 | 
| @@ -3831,7 +3824,7 @@ TEST_F(SpdyFramerTest, ContinuationFrameFlags) {
 | 
|  
 | 
|      testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
|      testing::StrictMock<test::MockDebugVisitor> debug_visitor;
 | 
| -    SpdyFramer framer(spdy_version_);
 | 
| +    SpdyFramer framer;
 | 
|      framer.set_visitor(&visitor);
 | 
|      framer.set_debug_visitor(&debug_visitor);
 | 
|  
 | 
| @@ -3844,11 +3837,11 @@ TEST_F(SpdyFramerTest, ContinuationFrameFlags) {
 | 
|      headers_ir.SetHeader("foo", "bar");
 | 
|      SpdySerializedFrame frame0(
 | 
|          SpdyFramerPeer::SerializeHeaders(&framer, headers_ir));
 | 
| -    SetFrameFlags(&frame0, 0, spdy_version_);
 | 
| +    SetFrameFlags(&frame0, 0);
 | 
|  
 | 
|      SpdyContinuationIR continuation(42);
 | 
|      SpdySerializedFrame frame(framer.SerializeContinuation(continuation));
 | 
| -    SetFrameFlags(&frame, flags, spdy_version_);
 | 
| +    SetFrameFlags(&frame, flags);
 | 
|  
 | 
|      EXPECT_CALL(debug_visitor, OnReceiveCompressedFrame(42, CONTINUATION, _));
 | 
|      EXPECT_CALL(visitor, OnContinuation(42, flags & HEADERS_FLAG_END_HEADERS));
 | 
| @@ -3875,10 +3868,10 @@ TEST_F(SpdyFramerTest, SettingsFlagsAndId) {
 | 
|    const uint32_t kWireFormat = base::HostToNet32(0x01020304);
 | 
|  
 | 
|    SettingsFlagsAndId id_and_flags =
 | 
| -      SettingsFlagsAndId::FromWireFormat(spdy_version_, kWireFormat);
 | 
| +      SettingsFlagsAndId::FromWireFormat(kWireFormat);
 | 
|    EXPECT_EQ(kId, id_and_flags.id());
 | 
|    EXPECT_EQ(kFlags, id_and_flags.flags());
 | 
| -  EXPECT_EQ(kWireFormat, id_and_flags.GetWireFormat(spdy_version_));
 | 
| +  EXPECT_EQ(kWireFormat, id_and_flags.GetWireFormat());
 | 
|  }
 | 
|  
 | 
|  // Test handling of a RST_STREAM with out-of-bounds status codes.
 | 
| @@ -3899,7 +3892,7 @@ TEST_F(SpdyFramerTest, RstStreamStatusBounds) {
 | 
|    };
 | 
|  
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    EXPECT_CALL(visitor, OnRstStream(1, RST_STREAM_NO_ERROR));
 | 
| @@ -3921,7 +3914,7 @@ TEST_F(SpdyFramerTest, RstStreamStatusBounds) {
 | 
|  
 | 
|  // Test handling of GOAWAY frames with out-of-bounds status code.
 | 
|  TEST_F(SpdyFramerTest, GoAwayStatusBounds) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    const unsigned char kH2FrameData[] = {
 | 
|        0x00, 0x00, 0x0a,        // Length: 10
 | 
|        0x07,                    //   Type: GOAWAY
 | 
| @@ -3954,7 +3947,7 @@ TEST_F(SpdyFramerTest, GoAwayStreamIdBounds) {
 | 
|    };
 | 
|  
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    EXPECT_CALL(visitor, OnGoAway(0x7fffffff, GOAWAY_OK));
 | 
| @@ -3969,7 +3962,7 @@ TEST_F(SpdyFramerTest, OnBlocked) {
 | 
|    const SpdyStreamId kStreamId = 0;
 | 
|  
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    EXPECT_CALL(visitor, OnBlocked(kStreamId));
 | 
| @@ -3987,7 +3980,7 @@ TEST_F(SpdyFramerTest, OnAltSvc) {
 | 
|    const SpdyStreamId kStreamId = 1;
 | 
|  
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyAltSvcWireFormat::AlternativeService altsvc1(
 | 
| @@ -4016,7 +4009,7 @@ TEST_F(SpdyFramerTest, OnAltSvcNoOrigin) {
 | 
|    const SpdyStreamId kStreamId = 1;
 | 
|  
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyAltSvcWireFormat::AlternativeService altsvc1(
 | 
| @@ -4041,7 +4034,7 @@ TEST_F(SpdyFramerTest, OnAltSvcNoOrigin) {
 | 
|  
 | 
|  TEST_F(SpdyFramerTest, OnAltSvcEmptyProtocolId) {
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    EXPECT_CALL(visitor, OnError(testing::Eq(&framer)));
 | 
| @@ -4064,7 +4057,7 @@ TEST_F(SpdyFramerTest, OnAltSvcBadLengths) {
 | 
|    const SpdyStreamId kStreamId = 1;
 | 
|  
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_visitor(&visitor);
 | 
|  
 | 
|    SpdyAltSvcWireFormat::AlternativeService altsvc(
 | 
| @@ -4086,7 +4079,7 @@ TEST_F(SpdyFramerTest, OnAltSvcBadLengths) {
 | 
|  
 | 
|  // Tests handling of ALTSVC frames delivered in small chunks.
 | 
|  TEST_F(SpdyFramerTest, ReadChunkedAltSvcFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdyAltSvcIR altsvc_ir(1);
 | 
|    SpdyAltSvcWireFormat::AlternativeService altsvc1(
 | 
|        "pid1", "host", 443, 5, SpdyAltSvcWireFormat::VersionVector());
 | 
| @@ -4096,7 +4089,7 @@ TEST_F(SpdyFramerTest, ReadChunkedAltSvcFrame) {
 | 
|    altsvc_ir.add_altsvc(altsvc2);
 | 
|  
 | 
|    SpdySerializedFrame control_frame(framer.SerializeAltSvc(altsvc_ir));
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.use_compression_ = false;
 | 
|  
 | 
|    // Read data in small chunks.
 | 
| @@ -4120,7 +4113,7 @@ TEST_F(SpdyFramerTest, ReadChunkedAltSvcFrame) {
 | 
|  
 | 
|  // Tests handling of PRIORITY frames.
 | 
|  TEST_F(SpdyFramerTest, ReadPriority) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    SpdyPriorityIR priority(3, 1, 256, false);
 | 
|    SpdySerializedFrame frame(framer.SerializePriority(priority));
 | 
|    testing::StrictMock<test::MockSpdyFramerVisitor> visitor;
 | 
| @@ -4146,7 +4139,7 @@ TEST_F(SpdyFramerTest, ReadIncorrectlySizedPriority) {
 | 
|        0x00, 0x00, 0x00, 0x01,  // Priority (Truncated)
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kFrameData, sizeof(kFrameData));
 | 
|  
 | 
|    EXPECT_EQ(SpdyFramer::SPDY_ERROR, visitor.framer_.state());
 | 
| @@ -4166,7 +4159,7 @@ TEST_F(SpdyFramerTest, ReadIncorrectlySizedPing) {
 | 
|        0x00, 0x00, 0x00, 0x01,  // Ping (Truncated)
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kFrameData, sizeof(kFrameData));
 | 
|  
 | 
|    EXPECT_EQ(SpdyFramer::SPDY_ERROR, visitor.framer_.state());
 | 
| @@ -4186,7 +4179,7 @@ TEST_F(SpdyFramerTest, ReadIncorrectlySizedWindowUpdate) {
 | 
|        0x00, 0x00, 0x01,        // WindowUpdate (Truncated)
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kFrameData, sizeof(kFrameData));
 | 
|  
 | 
|    EXPECT_EQ(SpdyFramer::SPDY_ERROR, visitor.framer_.state());
 | 
| @@ -4206,7 +4199,7 @@ TEST_F(SpdyFramerTest, ReadIncorrectlySizedRstStream) {
 | 
|        0x00, 0x00, 0x01,        // RstStream (Truncated)
 | 
|    };
 | 
|  
 | 
| -  TestSpdyVisitor visitor(spdy_version_);
 | 
| +  TestSpdyVisitor visitor;
 | 
|    visitor.SimulateInFramer(kFrameData, sizeof(kFrameData));
 | 
|  
 | 
|    EXPECT_EQ(SpdyFramer::SPDY_ERROR, visitor.framer_.state());
 | 
| @@ -4218,8 +4211,8 @@ TEST_F(SpdyFramerTest, ReadIncorrectlySizedRstStream) {
 | 
|  // Test that SpdyFramer processes, by default, all passed input in one call
 | 
|  // to ProcessInput (i.e. will not be calling set_process_single_input_frame()).
 | 
|  TEST_F(SpdyFramerTest, ProcessAllInput) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| -  std::unique_ptr<TestSpdyVisitor> visitor(new TestSpdyVisitor(spdy_version_));
 | 
| +  SpdyFramer framer;
 | 
| +  std::unique_ptr<TestSpdyVisitor> visitor(new TestSpdyVisitor);
 | 
|    framer.set_visitor(visitor.get());
 | 
|  
 | 
|    // Create two input frames.
 | 
| @@ -4267,7 +4260,7 @@ TEST_F(SpdyFramerTest, ProcessAllInput) {
 | 
|  // only processes the first when we give it the first frame split at any point,
 | 
|  // or give it more than one frame in the input buffer.
 | 
|  TEST_F(SpdyFramerTest, ProcessAtMostOneFrame) {
 | 
| -  SpdyFramer framer(spdy_version_);
 | 
| +  SpdyFramer framer;
 | 
|    framer.set_process_single_input_frame(true);
 | 
|    std::unique_ptr<TestSpdyVisitor> visitor;
 | 
|  
 | 
| @@ -4305,7 +4298,7 @@ TEST_F(SpdyFramerTest, ProcessAtMostOneFrame) {
 | 
|  
 | 
|    for (size_t first_size = 0; first_size <= buf_size; ++first_size) {
 | 
|      VLOG(1) << "first_size = " << first_size;
 | 
| -    visitor.reset(new TestSpdyVisitor(spdy_version_));
 | 
| +    visitor.reset(new TestSpdyVisitor);
 | 
|      framer.set_visitor(visitor.get());
 | 
|  
 | 
|      EXPECT_EQ(SpdyFramer::SPDY_READY_FOR_FRAME, framer.state());
 | 
| 
 |