| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "net/spdy/spdy_stream.h" | 5 #include "net/spdy/spdy_stream.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <cstddef> | 9 #include <cstddef> |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 MockConnect connect_data(SYNCHRONOUS, OK); | 185 MockConnect connect_data(SYNCHRONOUS, OK); |
| 186 data.set_connect_data(connect_data); | 186 data.set_connect_data(connect_data); |
| 187 | 187 |
| 188 session_deps_.socket_factory->AddSocketDataProvider(&data); | 188 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 189 | 189 |
| 190 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 190 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 191 | 191 |
| 192 base::WeakPtr<SpdyStream> stream = | 192 base::WeakPtr<SpdyStream> stream = |
| 193 CreateStreamSynchronously( | 193 CreateStreamSynchronously( |
| 194 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); | 194 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); |
| 195 ASSERT_TRUE(stream.get() != NULL); | 195 ASSERT_TRUE(stream); |
| 196 | 196 |
| 197 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); | 197 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); |
| 198 stream->SetDelegate(&delegate); | 198 stream->SetDelegate(&delegate); |
| 199 | 199 |
| 200 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 200 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 201 | 201 |
| 202 std::unique_ptr<SpdyHeaderBlock> headers( | 202 std::unique_ptr<SpdyHeaderBlock> headers( |
| 203 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 203 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
| 204 EXPECT_EQ(ERR_IO_PENDING, | 204 EXPECT_EQ(ERR_IO_PENDING, |
| 205 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 205 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 GetNumWrites()); | 266 GetNumWrites()); |
| 267 MockConnect connect_data(SYNCHRONOUS, OK); | 267 MockConnect connect_data(SYNCHRONOUS, OK); |
| 268 data.set_connect_data(connect_data); | 268 data.set_connect_data(connect_data); |
| 269 | 269 |
| 270 session_deps_.socket_factory->AddSocketDataProvider(&data); | 270 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 271 | 271 |
| 272 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 272 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 273 | 273 |
| 274 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 274 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 275 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); | 275 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
| 276 ASSERT_TRUE(stream.get() != NULL); | 276 ASSERT_TRUE(stream); |
| 277 | 277 |
| 278 StreamDelegateWithTrailers delegate(stream, kPostBodyStringPiece); | 278 StreamDelegateWithTrailers delegate(stream, kPostBodyStringPiece); |
| 279 stream->SetDelegate(&delegate); | 279 stream->SetDelegate(&delegate); |
| 280 | 280 |
| 281 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 281 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 282 | 282 |
| 283 std::unique_ptr<SpdyHeaderBlock> headers( | 283 std::unique_ptr<SpdyHeaderBlock> headers( |
| 284 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 284 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
| 285 EXPECT_EQ(ERR_IO_PENDING, | 285 EXPECT_EQ(ERR_IO_PENDING, |
| 286 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 286 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 stream->OnDataReceived(nullptr); | 356 stream->OnDataReceived(nullptr); |
| 357 LoadTimingInfo load_timing_info2; | 357 LoadTimingInfo load_timing_info2; |
| 358 EXPECT_TRUE(stream->GetLoadTimingInfo(&load_timing_info2)); | 358 EXPECT_TRUE(stream->GetLoadTimingInfo(&load_timing_info2)); |
| 359 EXPECT_FALSE(load_timing_info2.push_end.is_null()); | 359 EXPECT_FALSE(load_timing_info2.push_end.is_null()); |
| 360 | 360 |
| 361 base::RunLoop().RunUntilIdle(); | 361 base::RunLoop().RunUntilIdle(); |
| 362 | 362 |
| 363 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); | 363 EXPECT_EQ("200", delegate.GetResponseHeaderValue(spdy_util_.GetStatusKey())); |
| 364 EXPECT_EQ("beta", delegate.GetResponseHeaderValue("alpha")); | 364 EXPECT_EQ("beta", delegate.GetResponseHeaderValue("alpha")); |
| 365 | 365 |
| 366 EXPECT_TRUE(spdy_session == NULL); | 366 EXPECT_FALSE(spdy_session); |
| 367 } | 367 } |
| 368 | 368 |
| 369 TEST_P(SpdyStreamTest, StreamError) { | 369 TEST_P(SpdyStreamTest, StreamError) { |
| 370 GURL url(kStreamUrl); | 370 GURL url(kStreamUrl); |
| 371 | 371 |
| 372 std::unique_ptr<SpdySerializedFrame> req(spdy_util_.ConstructSpdyPost( | 372 std::unique_ptr<SpdySerializedFrame> req(spdy_util_.ConstructSpdyPost( |
| 373 kStreamUrl, 1, kPostBodyLength, LOWEST, NULL, 0)); | 373 kStreamUrl, 1, kPostBodyLength, LOWEST, NULL, 0)); |
| 374 AddWrite(*req); | 374 AddWrite(*req); |
| 375 | 375 |
| 376 std::unique_ptr<SpdySerializedFrame> resp( | 376 std::unique_ptr<SpdySerializedFrame> resp( |
| (...skipping 17 matching lines...) Expand all Loading... |
| 394 MockConnect connect_data(SYNCHRONOUS, OK); | 394 MockConnect connect_data(SYNCHRONOUS, OK); |
| 395 data.set_connect_data(connect_data); | 395 data.set_connect_data(connect_data); |
| 396 | 396 |
| 397 session_deps_.socket_factory->AddSocketDataProvider(&data); | 397 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 398 | 398 |
| 399 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 399 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 400 | 400 |
| 401 base::WeakPtr<SpdyStream> stream = | 401 base::WeakPtr<SpdyStream> stream = |
| 402 CreateStreamSynchronously( | 402 CreateStreamSynchronously( |
| 403 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); | 403 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); |
| 404 ASSERT_TRUE(stream.get() != NULL); | 404 ASSERT_TRUE(stream); |
| 405 | 405 |
| 406 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); | 406 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); |
| 407 stream->SetDelegate(&delegate); | 407 stream->SetDelegate(&delegate); |
| 408 | 408 |
| 409 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 409 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 410 | 410 |
| 411 std::unique_ptr<SpdyHeaderBlock> headers( | 411 std::unique_ptr<SpdyHeaderBlock> headers( |
| 412 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 412 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
| 413 EXPECT_EQ(ERR_IO_PENDING, | 413 EXPECT_EQ(ERR_IO_PENDING, |
| 414 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 414 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 MockConnect connect_data(SYNCHRONOUS, OK); | 471 MockConnect connect_data(SYNCHRONOUS, OK); |
| 472 data.set_connect_data(connect_data); | 472 data.set_connect_data(connect_data); |
| 473 | 473 |
| 474 session_deps_.socket_factory->AddSocketDataProvider(&data); | 474 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 475 | 475 |
| 476 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 476 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 477 | 477 |
| 478 base::WeakPtr<SpdyStream> stream = | 478 base::WeakPtr<SpdyStream> stream = |
| 479 CreateStreamSynchronously( | 479 CreateStreamSynchronously( |
| 480 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); | 480 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
| 481 ASSERT_TRUE(stream.get() != NULL); | 481 ASSERT_TRUE(stream); |
| 482 | 482 |
| 483 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); | 483 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); |
| 484 StreamDelegateWithBody delegate(stream, body_data); | 484 StreamDelegateWithBody delegate(stream, body_data); |
| 485 stream->SetDelegate(&delegate); | 485 stream->SetDelegate(&delegate); |
| 486 | 486 |
| 487 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 487 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 488 | 488 |
| 489 std::unique_ptr<SpdyHeaderBlock> headers( | 489 std::unique_ptr<SpdyHeaderBlock> headers( |
| 490 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 490 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
| 491 EXPECT_EQ(ERR_IO_PENDING, | 491 EXPECT_EQ(ERR_IO_PENDING, |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 MockConnect connect_data(SYNCHRONOUS, OK); | 529 MockConnect connect_data(SYNCHRONOUS, OK); |
| 530 data.set_connect_data(connect_data); | 530 data.set_connect_data(connect_data); |
| 531 | 531 |
| 532 session_deps_.socket_factory->AddSocketDataProvider(&data); | 532 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 533 | 533 |
| 534 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 534 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 535 | 535 |
| 536 base::WeakPtr<SpdyStream> stream = | 536 base::WeakPtr<SpdyStream> stream = |
| 537 CreateStreamSynchronously( | 537 CreateStreamSynchronously( |
| 538 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); | 538 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); |
| 539 ASSERT_TRUE(stream.get() != NULL); | 539 ASSERT_TRUE(stream); |
| 540 | 540 |
| 541 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); | 541 std::string body_data(3 * kMaxSpdyFrameChunkSize, 'x'); |
| 542 StreamDelegateSendImmediate delegate(stream, body_data); | 542 StreamDelegateSendImmediate delegate(stream, body_data); |
| 543 stream->SetDelegate(&delegate); | 543 stream->SetDelegate(&delegate); |
| 544 | 544 |
| 545 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 545 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 546 | 546 |
| 547 std::unique_ptr<SpdyHeaderBlock> headers( | 547 std::unique_ptr<SpdyHeaderBlock> headers( |
| 548 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 548 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
| 549 EXPECT_EQ(ERR_IO_PENDING, | 549 EXPECT_EQ(ERR_IO_PENDING, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 584 MockConnect connect_data(SYNCHRONOUS, OK); | 584 MockConnect connect_data(SYNCHRONOUS, OK); |
| 585 data.set_connect_data(connect_data); | 585 data.set_connect_data(connect_data); |
| 586 | 586 |
| 587 session_deps_.socket_factory->AddSocketDataProvider(&data); | 587 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 588 | 588 |
| 589 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 589 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 590 | 590 |
| 591 base::WeakPtr<SpdyStream> stream = | 591 base::WeakPtr<SpdyStream> stream = |
| 592 CreateStreamSynchronously( | 592 CreateStreamSynchronously( |
| 593 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); | 593 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
| 594 ASSERT_TRUE(stream.get() != NULL); | 594 ASSERT_TRUE(stream); |
| 595 | 595 |
| 596 StreamDelegateDoNothing delegate(stream); | 596 StreamDelegateDoNothing delegate(stream); |
| 597 stream->SetDelegate(&delegate); | 597 stream->SetDelegate(&delegate); |
| 598 | 598 |
| 599 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 599 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 600 | 600 |
| 601 std::unique_ptr<SpdyHeaderBlock> headers( | 601 std::unique_ptr<SpdyHeaderBlock> headers( |
| 602 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); | 602 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); |
| 603 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), | 603 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), |
| 604 NO_MORE_DATA_TO_SEND)); | 604 NO_MORE_DATA_TO_SEND)); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 MockConnect connect_data(SYNCHRONOUS, OK); | 639 MockConnect connect_data(SYNCHRONOUS, OK); |
| 640 data.set_connect_data(connect_data); | 640 data.set_connect_data(connect_data); |
| 641 | 641 |
| 642 session_deps_.socket_factory->AddSocketDataProvider(&data); | 642 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 643 | 643 |
| 644 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 644 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 645 | 645 |
| 646 base::WeakPtr<SpdyStream> stream = | 646 base::WeakPtr<SpdyStream> stream = |
| 647 CreateStreamSynchronously( | 647 CreateStreamSynchronously( |
| 648 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); | 648 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
| 649 ASSERT_TRUE(stream.get() != NULL); | 649 ASSERT_TRUE(stream); |
| 650 | 650 |
| 651 StreamDelegateDoNothing delegate(stream); | 651 StreamDelegateDoNothing delegate(stream); |
| 652 stream->SetDelegate(&delegate); | 652 stream->SetDelegate(&delegate); |
| 653 | 653 |
| 654 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 654 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 655 | 655 |
| 656 std::unique_ptr<SpdyHeaderBlock> headers( | 656 std::unique_ptr<SpdyHeaderBlock> headers( |
| 657 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); | 657 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); |
| 658 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), | 658 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), |
| 659 NO_MORE_DATA_TO_SEND)); | 659 NO_MORE_DATA_TO_SEND)); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 MockConnect connect_data(SYNCHRONOUS, OK); | 709 MockConnect connect_data(SYNCHRONOUS, OK); |
| 710 data.set_connect_data(connect_data); | 710 data.set_connect_data(connect_data); |
| 711 | 711 |
| 712 session_deps_.socket_factory->AddSocketDataProvider(&data); | 712 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 713 | 713 |
| 714 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 714 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 715 | 715 |
| 716 base::WeakPtr<SpdyStream> stream = | 716 base::WeakPtr<SpdyStream> stream = |
| 717 CreateStreamSynchronously( | 717 CreateStreamSynchronously( |
| 718 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); | 718 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
| 719 ASSERT_TRUE(stream.get() != NULL); | 719 ASSERT_TRUE(stream); |
| 720 | 720 |
| 721 StreamDelegateDoNothing delegate(stream); | 721 StreamDelegateDoNothing delegate(stream); |
| 722 stream->SetDelegate(&delegate); | 722 stream->SetDelegate(&delegate); |
| 723 | 723 |
| 724 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 724 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 725 | 725 |
| 726 std::unique_ptr<SpdyHeaderBlock> headers( | 726 std::unique_ptr<SpdyHeaderBlock> headers( |
| 727 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); | 727 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); |
| 728 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), | 728 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), |
| 729 NO_MORE_DATA_TO_SEND)); | 729 NO_MORE_DATA_TO_SEND)); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 785 MockConnect connect_data(SYNCHRONOUS, OK); | 785 MockConnect connect_data(SYNCHRONOUS, OK); |
| 786 data.set_connect_data(connect_data); | 786 data.set_connect_data(connect_data); |
| 787 | 787 |
| 788 session_deps_.socket_factory->AddSocketDataProvider(&data); | 788 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 789 | 789 |
| 790 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 790 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 791 | 791 |
| 792 base::WeakPtr<SpdyStream> stream = | 792 base::WeakPtr<SpdyStream> stream = |
| 793 CreateStreamSynchronously( | 793 CreateStreamSynchronously( |
| 794 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); | 794 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
| 795 ASSERT_TRUE(stream.get() != NULL); | 795 ASSERT_TRUE(stream); |
| 796 | 796 |
| 797 StreamDelegateDoNothing delegate(stream); | 797 StreamDelegateDoNothing delegate(stream); |
| 798 stream->SetDelegate(&delegate); | 798 stream->SetDelegate(&delegate); |
| 799 | 799 |
| 800 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 800 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 801 | 801 |
| 802 std::unique_ptr<SpdyHeaderBlock> headers( | 802 std::unique_ptr<SpdyHeaderBlock> headers( |
| 803 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); | 803 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); |
| 804 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), | 804 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), |
| 805 NO_MORE_DATA_TO_SEND)); | 805 NO_MORE_DATA_TO_SEND)); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 849 data.set_connect_data(connect_data); | 849 data.set_connect_data(connect_data); |
| 850 | 850 |
| 851 session_deps_.socket_factory->AddSocketDataProvider(&data); | 851 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 852 | 852 |
| 853 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 853 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 854 GURL url(kStreamUrl); | 854 GURL url(kStreamUrl); |
| 855 | 855 |
| 856 base::WeakPtr<SpdyStream> stream = | 856 base::WeakPtr<SpdyStream> stream = |
| 857 CreateStreamSynchronously( | 857 CreateStreamSynchronously( |
| 858 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); | 858 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, log.bound()); |
| 859 ASSERT_TRUE(stream.get() != NULL); | 859 ASSERT_TRUE(stream); |
| 860 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); | 860 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); |
| 861 stream->SetDelegate(&delegate); | 861 stream->SetDelegate(&delegate); |
| 862 | 862 |
| 863 std::unique_ptr<SpdyHeaderBlock> headers( | 863 std::unique_ptr<SpdyHeaderBlock> headers( |
| 864 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 864 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
| 865 EXPECT_EQ(ERR_IO_PENDING, | 865 EXPECT_EQ(ERR_IO_PENDING, |
| 866 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 866 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 867 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 867 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 868 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); | 868 EXPECT_EQ(kStreamUrl, stream->GetUrlFromHeaders().spec()); |
| 869 | 869 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 938 MockConnect connect_data(SYNCHRONOUS, OK); | 938 MockConnect connect_data(SYNCHRONOUS, OK); |
| 939 data.set_connect_data(connect_data); | 939 data.set_connect_data(connect_data); |
| 940 | 940 |
| 941 session_deps_.socket_factory->AddSocketDataProvider(&data); | 941 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 942 | 942 |
| 943 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 943 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 944 | 944 |
| 945 base::WeakPtr<SpdyStream> stream = | 945 base::WeakPtr<SpdyStream> stream = |
| 946 CreateStreamSynchronously( | 946 CreateStreamSynchronously( |
| 947 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); | 947 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
| 948 ASSERT_TRUE(stream.get() != NULL); | 948 ASSERT_TRUE(stream); |
| 949 | 949 |
| 950 StreamDelegateWithBody delegate(stream, kPostBodyStringPiece); | 950 StreamDelegateWithBody delegate(stream, kPostBodyStringPiece); |
| 951 stream->SetDelegate(&delegate); | 951 stream->SetDelegate(&delegate); |
| 952 | 952 |
| 953 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 953 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 954 EXPECT_FALSE(stream->send_stalled_by_flow_control()); | 954 EXPECT_FALSE(stream->send_stalled_by_flow_control()); |
| 955 | 955 |
| 956 std::unique_ptr<SpdyHeaderBlock> headers( | 956 std::unique_ptr<SpdyHeaderBlock> headers( |
| 957 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 957 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
| 958 EXPECT_EQ(ERR_IO_PENDING, | 958 EXPECT_EQ(ERR_IO_PENDING, |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1020 MockConnect connect_data(SYNCHRONOUS, OK); | 1020 MockConnect connect_data(SYNCHRONOUS, OK); |
| 1021 data.set_connect_data(connect_data); | 1021 data.set_connect_data(connect_data); |
| 1022 | 1022 |
| 1023 session_deps_.socket_factory->AddSocketDataProvider(&data); | 1023 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 1024 | 1024 |
| 1025 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 1025 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 1026 | 1026 |
| 1027 base::WeakPtr<SpdyStream> stream = | 1027 base::WeakPtr<SpdyStream> stream = |
| 1028 CreateStreamSynchronously( | 1028 CreateStreamSynchronously( |
| 1029 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); | 1029 SPDY_BIDIRECTIONAL_STREAM, session, url, LOWEST, BoundNetLog()); |
| 1030 ASSERT_TRUE(stream.get() != NULL); | 1030 ASSERT_TRUE(stream); |
| 1031 | 1031 |
| 1032 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); | 1032 StreamDelegateSendImmediate delegate(stream, kPostBodyStringPiece); |
| 1033 stream->SetDelegate(&delegate); | 1033 stream->SetDelegate(&delegate); |
| 1034 | 1034 |
| 1035 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 1035 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 1036 | 1036 |
| 1037 std::unique_ptr<SpdyHeaderBlock> headers( | 1037 std::unique_ptr<SpdyHeaderBlock> headers( |
| 1038 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); | 1038 spdy_util_.ConstructPostHeaderBlock(kStreamUrl, kPostBodyLength)); |
| 1039 EXPECT_EQ(ERR_IO_PENDING, | 1039 EXPECT_EQ(ERR_IO_PENDING, |
| 1040 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 1040 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1104 MockConnect connect_data(SYNCHRONOUS, OK); | 1104 MockConnect connect_data(SYNCHRONOUS, OK); |
| 1105 data.set_connect_data(connect_data); | 1105 data.set_connect_data(connect_data); |
| 1106 | 1106 |
| 1107 session_deps_.socket_factory->AddSocketDataProvider(&data); | 1107 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 1108 | 1108 |
| 1109 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); | 1109 base::WeakPtr<SpdySession> session(CreateDefaultSpdySession()); |
| 1110 | 1110 |
| 1111 base::WeakPtr<SpdyStream> stream = | 1111 base::WeakPtr<SpdyStream> stream = |
| 1112 CreateStreamSynchronously( | 1112 CreateStreamSynchronously( |
| 1113 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); | 1113 SPDY_REQUEST_RESPONSE_STREAM, session, url, LOWEST, BoundNetLog()); |
| 1114 ASSERT_TRUE(stream.get() != NULL); | 1114 ASSERT_TRUE(stream); |
| 1115 | 1115 |
| 1116 StreamDelegateDoNothing delegate(stream); | 1116 StreamDelegateDoNothing delegate(stream); |
| 1117 stream->SetDelegate(&delegate); | 1117 stream->SetDelegate(&delegate); |
| 1118 | 1118 |
| 1119 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 1119 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 1120 | 1120 |
| 1121 std::unique_ptr<SpdyHeaderBlock> headers( | 1121 std::unique_ptr<SpdyHeaderBlock> headers( |
| 1122 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); | 1122 spdy_util_.ConstructGetHeaderBlock(kStreamUrl)); |
| 1123 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), | 1123 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequestHeaders(std::move(headers), |
| 1124 NO_MORE_DATA_TO_SEND)); | 1124 NO_MORE_DATA_TO_SEND)); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1148 EXPECT_EQ(response_len, stream->raw_received_bytes()); | 1148 EXPECT_EQ(response_len, stream->raw_received_bytes()); |
| 1149 | 1149 |
| 1150 // FIN | 1150 // FIN |
| 1151 data.Resume(); | 1151 data.Resume(); |
| 1152 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); | 1152 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); |
| 1153 } | 1153 } |
| 1154 | 1154 |
| 1155 } // namespace test | 1155 } // namespace test |
| 1156 | 1156 |
| 1157 } // namespace net | 1157 } // namespace net |
| OLD | NEW |