| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include <cmath> | 5 #include <cmath> | 
| 6 #include <memory> | 6 #include <memory> | 
| 7 #include <utility> | 7 #include <utility> | 
| 8 #include <vector> | 8 #include <vector> | 
| 9 | 9 | 
| 10 #include "base/bind.h" | 10 #include "base/bind.h" | 
| (...skipping 3588 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3599 TEST_F(SpdyNetworkTransactionTest, BufferFull) { | 3599 TEST_F(SpdyNetworkTransactionTest, BufferFull) { | 
| 3600   SpdySerializedFrame req( | 3600   SpdySerializedFrame req( | 
| 3601       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 3601       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 
| 3602   MockWrite writes[] = {CreateMockWrite(req, 0)}; | 3602   MockWrite writes[] = {CreateMockWrite(req, 0)}; | 
| 3603 | 3603 | 
| 3604   // 2 data frames in a single read. | 3604   // 2 data frames in a single read. | 
| 3605   SpdySerializedFrame data_frame_1( | 3605   SpdySerializedFrame data_frame_1( | 
| 3606       spdy_util_.ConstructSpdyDataFrame(1, "goodby", 6, /*fin=*/false)); | 3606       spdy_util_.ConstructSpdyDataFrame(1, "goodby", 6, /*fin=*/false)); | 
| 3607   SpdySerializedFrame data_frame_2( | 3607   SpdySerializedFrame data_frame_2( | 
| 3608       spdy_util_.ConstructSpdyDataFrame(1, "e worl", 6, /*fin=*/false)); | 3608       spdy_util_.ConstructSpdyDataFrame(1, "e worl", 6, /*fin=*/false)); | 
| 3609   const SpdySerializedFrame* data_frames[2] = { | 3609   SpdySerializedFrame combined_data_frames = | 
| 3610       &data_frame_1, &data_frame_2, | 3610       CombineFrames({&data_frame_1, &data_frame_2}); | 
| 3611   }; | 3611 | 
| 3612   char combined_data_frames[100]; |  | 
| 3613   int combined_data_frames_len = |  | 
| 3614       CombineFrames(data_frames, arraysize(data_frames), |  | 
| 3615                     combined_data_frames, arraysize(combined_data_frames)); |  | 
| 3616   SpdySerializedFrame last_frame( | 3612   SpdySerializedFrame last_frame( | 
| 3617       spdy_util_.ConstructSpdyDataFrame(1, "d", 1, /*fin=*/true)); | 3613       spdy_util_.ConstructSpdyDataFrame(1, "d", 1, /*fin=*/true)); | 
| 3618 | 3614 | 
| 3619   SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 3615   SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 
| 3620   MockRead reads[] = { | 3616   MockRead reads[] = { | 
| 3621       CreateMockRead(resp, 1), | 3617       CreateMockRead(resp, 1), | 
| 3622       MockRead(ASYNC, ERR_IO_PENDING, 2),  // Force a pause | 3618       MockRead(ASYNC, ERR_IO_PENDING, 2),  // Force a pause | 
| 3623       MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), | 3619       CreateMockRead(combined_data_frames, 3), | 
| 3624       MockRead(ASYNC, ERR_IO_PENDING, 4),  // Force a pause | 3620       MockRead(ASYNC, ERR_IO_PENDING, 4),  // Force a pause | 
| 3625       CreateMockRead(last_frame, 5), | 3621       CreateMockRead(last_frame, 5), | 
| 3626       MockRead(ASYNC, 0, 6)  // EOF | 3622       MockRead(ASYNC, 0, 6)  // EOF | 
| 3627   }; | 3623   }; | 
| 3628 | 3624 | 
| 3629   SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 3625   SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 
| 3630 | 3626 | 
| 3631   TestCompletionCallback callback; | 3627   TestCompletionCallback callback; | 
| 3632 | 3628 | 
| 3633   NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, | 3629   NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, | 
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3689 TEST_F(SpdyNetworkTransactionTest, Buffering) { | 3685 TEST_F(SpdyNetworkTransactionTest, Buffering) { | 
| 3690   SpdySerializedFrame req( | 3686   SpdySerializedFrame req( | 
| 3691       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 3687       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 
| 3692   MockWrite writes[] = {CreateMockWrite(req, 0)}; | 3688   MockWrite writes[] = {CreateMockWrite(req, 0)}; | 
| 3693 | 3689 | 
| 3694   // 4 data frames in a single read. | 3690   // 4 data frames in a single read. | 
| 3695   SpdySerializedFrame data_frame( | 3691   SpdySerializedFrame data_frame( | 
| 3696       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); | 3692       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); | 
| 3697   SpdySerializedFrame data_frame_fin( | 3693   SpdySerializedFrame data_frame_fin( | 
| 3698       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/true)); | 3694       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/true)); | 
| 3699   const SpdySerializedFrame* data_frames[4] = {&data_frame, &data_frame, | 3695   SpdySerializedFrame combined_data_frames = | 
| 3700                                                &data_frame, &data_frame_fin}; | 3696       CombineFrames({&data_frame, &data_frame, &data_frame, &data_frame_fin}); | 
| 3701   char combined_data_frames[100]; |  | 
| 3702   int combined_data_frames_len = |  | 
| 3703       CombineFrames(data_frames, arraysize(data_frames), |  | 
| 3704                     combined_data_frames, arraysize(combined_data_frames)); |  | 
| 3705 | 3697 | 
| 3706   SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 3698   SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 
| 3707   MockRead reads[] = { | 3699   MockRead reads[] = { | 
| 3708       CreateMockRead(resp, 1), | 3700       CreateMockRead(resp, 1), | 
| 3709       MockRead(ASYNC, ERR_IO_PENDING, 2),  // Force a pause | 3701       MockRead(ASYNC, ERR_IO_PENDING, 2),  // Force a pause | 
| 3710       MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), | 3702       CreateMockRead(combined_data_frames, 3), MockRead(ASYNC, 0, 4)  // EOF | 
| 3711       MockRead(ASYNC, 0, 4)  // EOF |  | 
| 3712   }; | 3703   }; | 
| 3713 | 3704 | 
| 3714   SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 3705   SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 
| 3715 | 3706 | 
| 3716   NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, | 3707   NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, | 
| 3717                                      NetLogWithSource(), nullptr); | 3708                                      NetLogWithSource(), nullptr); | 
| 3718   helper.RunPreTestSetup(); | 3709   helper.RunPreTestSetup(); | 
| 3719   helper.AddData(&data); | 3710   helper.AddData(&data); | 
| 3720   HttpNetworkTransaction* trans = helper.trans(); | 3711   HttpNetworkTransaction* trans = helper.trans(); | 
| 3721 | 3712 | 
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3778   SpdySerializedFrame req( | 3769   SpdySerializedFrame req( | 
| 3779       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 3770       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 
| 3780   MockWrite writes[] = {CreateMockWrite(req, 0)}; | 3771   MockWrite writes[] = {CreateMockWrite(req, 0)}; | 
| 3781 | 3772 | 
| 3782   // 5 data frames in a single read. | 3773   // 5 data frames in a single read. | 
| 3783   SpdySerializedFrame reply(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 3774   SpdySerializedFrame reply(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 
| 3784   SpdySerializedFrame data_frame( | 3775   SpdySerializedFrame data_frame( | 
| 3785       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); | 3776       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); | 
| 3786   SpdySerializedFrame data_frame_fin( | 3777   SpdySerializedFrame data_frame_fin( | 
| 3787       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/true)); | 3778       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/true)); | 
| 3788   const SpdySerializedFrame* frames[5] = {&reply, &data_frame, &data_frame, | 3779   SpdySerializedFrame combined_frames = CombineFrames( | 
| 3789                                           &data_frame, &data_frame_fin}; | 3780       {&reply, &data_frame, &data_frame, &data_frame, &data_frame_fin}); | 
| 3790   char combined_frames[200]; |  | 
| 3791   int combined_frames_len = |  | 
| 3792       CombineFrames(frames, arraysize(frames), |  | 
| 3793                     combined_frames, arraysize(combined_frames)); |  | 
| 3794 | 3781 | 
| 3795   MockRead reads[] = { | 3782   MockRead reads[] = { | 
| 3796       MockRead(ASYNC, combined_frames, combined_frames_len, 1), | 3783       CreateMockRead(combined_frames, 1), MockRead(ASYNC, 0, 2)  // EOF | 
| 3797       MockRead(ASYNC, 0, 2)  // EOF |  | 
| 3798   }; | 3784   }; | 
| 3799 | 3785 | 
| 3800   SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 3786   SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 
| 3801 | 3787 | 
| 3802   NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, | 3788   NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, | 
| 3803                                      NetLogWithSource(), nullptr); | 3789                                      NetLogWithSource(), nullptr); | 
| 3804   helper.RunPreTestSetup(); | 3790   helper.RunPreTestSetup(); | 
| 3805   helper.AddData(&data); | 3791   helper.AddData(&data); | 
| 3806   HttpNetworkTransaction* trans = helper.trans(); | 3792   HttpNetworkTransaction* trans = helper.trans(); | 
| 3807 | 3793 | 
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3858 // Verify the case where we buffer data and close the connection. | 3844 // Verify the case where we buffer data and close the connection. | 
| 3859 TEST_F(SpdyNetworkTransactionTest, BufferedClosed) { | 3845 TEST_F(SpdyNetworkTransactionTest, BufferedClosed) { | 
| 3860   SpdySerializedFrame req( | 3846   SpdySerializedFrame req( | 
| 3861       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 3847       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 
| 3862   MockWrite writes[] = {CreateMockWrite(req, 0)}; | 3848   MockWrite writes[] = {CreateMockWrite(req, 0)}; | 
| 3863 | 3849 | 
| 3864   // All data frames in a single read. | 3850   // All data frames in a single read. | 
| 3865   // NOTE: We don't FIN the stream. | 3851   // NOTE: We don't FIN the stream. | 
| 3866   SpdySerializedFrame data_frame( | 3852   SpdySerializedFrame data_frame( | 
| 3867       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); | 3853       spdy_util_.ConstructSpdyDataFrame(1, "message", 7, /*fin=*/false)); | 
| 3868   const SpdySerializedFrame* data_frames[4] = {&data_frame, &data_frame, | 3854   SpdySerializedFrame combined_data_frames = | 
| 3869                                                &data_frame, &data_frame}; | 3855       CombineFrames({&data_frame, &data_frame, &data_frame, &data_frame}); | 
| 3870   char combined_data_frames[100]; |  | 
| 3871   int combined_data_frames_len = |  | 
| 3872       CombineFrames(data_frames, arraysize(data_frames), |  | 
| 3873                     combined_data_frames, arraysize(combined_data_frames)); |  | 
| 3874   SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 3856   SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 
| 3875   MockRead reads[] = { | 3857   MockRead reads[] = { | 
| 3876       CreateMockRead(resp, 1), | 3858       CreateMockRead(resp, 1), | 
| 3877       MockRead(ASYNC, ERR_IO_PENDING, 2),  // Force a wait | 3859       MockRead(ASYNC, ERR_IO_PENDING, 2),  // Force a wait | 
| 3878       MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), | 3860       CreateMockRead(combined_data_frames, 3), MockRead(ASYNC, 0, 4)  // EOF | 
| 3879       MockRead(ASYNC, 0, 4)  // EOF |  | 
| 3880   }; | 3861   }; | 
| 3881 | 3862 | 
| 3882   SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 3863   SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 
| 3883 | 3864 | 
| 3884   NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, | 3865   NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, | 
| 3885                                      NetLogWithSource(), nullptr); | 3866                                      NetLogWithSource(), nullptr); | 
| 3886   helper.RunPreTestSetup(); | 3867   helper.RunPreTestSetup(); | 
| 3887   helper.AddData(&data); | 3868   helper.AddData(&data); | 
| 3888   HttpNetworkTransaction* trans = helper.trans(); | 3869   HttpNetworkTransaction* trans = helper.trans(); | 
| 3889 | 3870 | 
| (...skipping 1744 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5634       kSpdyMaxConcurrentPushedStreams; | 5615       kSpdyMaxConcurrentPushedStreams; | 
| 5635   initial_settings[SETTINGS_INITIAL_WINDOW_SIZE] = stream_max_recv_window_size; | 5616   initial_settings[SETTINGS_INITIAL_WINDOW_SIZE] = stream_max_recv_window_size; | 
| 5636   SpdySerializedFrame initial_settings_frame( | 5617   SpdySerializedFrame initial_settings_frame( | 
| 5637       spdy_util_.ConstructSpdySettings(initial_settings)); | 5618       spdy_util_.ConstructSpdySettings(initial_settings)); | 
| 5638 | 5619 | 
| 5639   SpdySerializedFrame initial_window_update( | 5620   SpdySerializedFrame initial_window_update( | 
| 5640       spdy_util_.ConstructSpdyWindowUpdate( | 5621       spdy_util_.ConstructSpdyWindowUpdate( | 
| 5641           kSessionFlowControlStreamId, | 5622           kSessionFlowControlStreamId, | 
| 5642           session_max_recv_window_size - kDefaultInitialWindowSize)); | 5623           session_max_recv_window_size - kDefaultInitialWindowSize)); | 
| 5643 | 5624 | 
| 5644   const SpdySerializedFrame* frames[3] = {&preface, &initial_settings_frame, | 5625   SpdySerializedFrame combined_frames = CombineFrames( | 
| 5645                                           &initial_window_update}; | 5626       {&preface, &initial_settings_frame, &initial_window_update}); | 
| 5646   char combined_frames[100]; |  | 
| 5647   int combined_frames_len = CombineFrames( |  | 
| 5648       frames, arraysize(frames), combined_frames, arraysize(combined_frames)); |  | 
| 5649 | 5627 | 
| 5650   std::vector<MockWrite> writes; | 5628   std::vector<MockWrite> writes; | 
| 5651   writes.push_back(MockWrite(ASYNC, combined_frames, combined_frames_len)); | 5629   writes.push_back(CreateMockWrite(combined_frames)); | 
| 5652 | 5630 | 
| 5653   SpdySerializedFrame req( | 5631   SpdySerializedFrame req( | 
| 5654       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 5632       spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true)); | 
| 5655   writes.push_back(CreateMockWrite(req, writes.size())); | 5633   writes.push_back(CreateMockWrite(req, writes.size())); | 
| 5656 | 5634 | 
| 5657   std::vector<MockRead> reads; | 5635   std::vector<MockRead> reads; | 
| 5658   SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 5636   SpdySerializedFrame resp(spdy_util_.ConstructSpdyGetReply(nullptr, 0, 1)); | 
| 5659   reads.push_back(CreateMockRead(resp, writes.size() + reads.size())); | 5637   reads.push_back(CreateMockRead(resp, writes.size() + reads.size())); | 
| 5660 | 5638 | 
| 5661   std::vector<SpdySerializedFrame> body_frames; | 5639   std::vector<SpdySerializedFrame> body_frames; | 
| (...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 6641 | 6619 | 
| 6642 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { | 6620 TEST_F(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { | 
| 6643   auto ssl_provider = base::MakeUnique<SSLSocketDataProvider>(ASYNC, OK); | 6621   auto ssl_provider = base::MakeUnique<SSLSocketDataProvider>(ASYNC, OK); | 
| 6644   // Set to TLS_RSA_WITH_NULL_MD5 | 6622   // Set to TLS_RSA_WITH_NULL_MD5 | 
| 6645   SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); | 6623   SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); | 
| 6646 | 6624 | 
| 6647   RunTLSUsageCheckTest(std::move(ssl_provider)); | 6625   RunTLSUsageCheckTest(std::move(ssl_provider)); | 
| 6648 } | 6626 } | 
| 6649 | 6627 | 
| 6650 }  // namespace net | 6628 }  // namespace net | 
| OLD | NEW | 
|---|