| 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 "net/spdy/spdy_session.h" | 5 #include "net/spdy/spdy_session.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/base64.h" | 10 #include "base/base64.h" |
| (...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 391 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 392 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 392 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 393 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 393 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 394 spdy_stream1->SetDelegate(&delegate1); | 394 spdy_stream1->SetDelegate(&delegate1); |
| 395 | 395 |
| 396 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 396 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 397 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 397 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 398 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 398 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 399 spdy_stream2->SetDelegate(&delegate2); | 399 spdy_stream2->SetDelegate(&delegate2); |
| 400 | 400 |
| 401 std::unique_ptr<SpdyHeaderBlock> headers( | 401 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 402 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | 402 SpdyHeaderBlock headers2(headers.Clone()); |
| 403 std::unique_ptr<SpdyHeaderBlock> headers2( | |
| 404 new SpdyHeaderBlock(headers->Clone())); | |
| 405 | 403 |
| 406 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 404 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 407 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 405 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 408 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 406 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 409 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 407 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 410 | 408 |
| 411 base::RunLoop().RunUntilIdle(); | 409 base::RunLoop().RunUntilIdle(); |
| 412 | 410 |
| 413 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 411 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 414 EXPECT_EQ(3u, spdy_stream2->stream_id()); | 412 EXPECT_EQ(3u, spdy_stream2->stream_id()); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); | 454 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
| 457 session_deps_.socket_factory->AddSocketDataProvider(&data); | 455 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 458 | 456 |
| 459 CreateNetworkSession(); | 457 CreateNetworkSession(); |
| 460 CreateInsecureSpdySession(); | 458 CreateInsecureSpdySession(); |
| 461 | 459 |
| 462 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 460 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 463 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 461 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 464 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 462 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 465 spdy_stream1->SetDelegate(&delegate1); | 463 spdy_stream1->SetDelegate(&delegate1); |
| 466 std::unique_ptr<SpdyHeaderBlock> headers1( | 464 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 467 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 468 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 465 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 469 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 466 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 470 | 467 |
| 471 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 468 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 472 | 469 |
| 473 // Active stream 1. | 470 // Active stream 1. |
| 474 base::RunLoop().RunUntilIdle(); | 471 base::RunLoop().RunUntilIdle(); |
| 475 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 472 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 476 EXPECT_TRUE(session_->IsStreamActive(1)); | 473 EXPECT_TRUE(session_->IsStreamActive(1)); |
| 477 | 474 |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 524 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 528 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 525 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 529 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 526 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 530 spdy_stream1->SetDelegate(&delegate1); | 527 spdy_stream1->SetDelegate(&delegate1); |
| 531 | 528 |
| 532 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 529 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 533 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 530 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 534 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 531 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 535 spdy_stream2->SetDelegate(&delegate2); | 532 spdy_stream2->SetDelegate(&delegate2); |
| 536 | 533 |
| 537 std::unique_ptr<SpdyHeaderBlock> headers( | 534 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 538 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | 535 SpdyHeaderBlock headers2(headers.Clone()); |
| 539 std::unique_ptr<SpdyHeaderBlock> headers2( | |
| 540 new SpdyHeaderBlock(headers->Clone())); | |
| 541 | 536 |
| 542 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 537 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 543 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 538 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 544 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 539 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 545 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 540 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 546 | 541 |
| 547 base::RunLoop().RunUntilIdle(); | 542 base::RunLoop().RunUntilIdle(); |
| 548 | 543 |
| 549 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 544 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 550 EXPECT_EQ(3u, spdy_stream2->stream_id()); | 545 EXPECT_EQ(3u, spdy_stream2->stream_id()); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 600 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 595 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 601 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 596 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 602 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 597 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 603 spdy_stream1->SetDelegate(&delegate1); | 598 spdy_stream1->SetDelegate(&delegate1); |
| 604 | 599 |
| 605 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 600 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 606 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 601 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 607 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 602 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 608 spdy_stream2->SetDelegate(&delegate2); | 603 spdy_stream2->SetDelegate(&delegate2); |
| 609 | 604 |
| 610 std::unique_ptr<SpdyHeaderBlock> headers( | 605 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 611 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | 606 SpdyHeaderBlock headers2(headers.Clone()); |
| 612 std::unique_ptr<SpdyHeaderBlock> headers2( | |
| 613 new SpdyHeaderBlock(headers->Clone())); | |
| 614 | 607 |
| 615 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 608 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 616 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 609 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 617 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 610 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 618 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 611 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 619 | 612 |
| 620 base::RunLoop().RunUntilIdle(); | 613 base::RunLoop().RunUntilIdle(); |
| 621 | 614 |
| 622 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 615 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 623 EXPECT_EQ(3u, spdy_stream2->stream_id()); | 616 EXPECT_EQ(3u, spdy_stream2->stream_id()); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 686 session_deps_.socket_factory->AddSocketDataProvider(&data); | 679 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 687 | 680 |
| 688 CreateNetworkSession(); | 681 CreateNetworkSession(); |
| 689 CreateInsecureSpdySession(); | 682 CreateInsecureSpdySession(); |
| 690 | 683 |
| 691 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 684 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 692 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 685 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 693 test::StreamDelegateDoNothing delegate(spdy_stream); | 686 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 694 spdy_stream->SetDelegate(&delegate); | 687 spdy_stream->SetDelegate(&delegate); |
| 695 | 688 |
| 696 std::unique_ptr<SpdyHeaderBlock> headers( | 689 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 697 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 698 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 690 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 699 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 691 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 700 | 692 |
| 701 base::RunLoop().RunUntilIdle(); | 693 base::RunLoop().RunUntilIdle(); |
| 702 | 694 |
| 703 // Stream and session closed gracefully. | 695 // Stream and session closed gracefully. |
| 704 EXPECT_TRUE(delegate.StreamIsClosed()); | 696 EXPECT_TRUE(delegate.StreamIsClosed()); |
| 705 EXPECT_THAT(delegate.WaitForClose(), IsOk()); | 697 EXPECT_THAT(delegate.WaitForClose(), IsOk()); |
| 706 EXPECT_EQ(kUploadData, delegate.TakeReceivedData()); | 698 EXPECT_EQ(kUploadData, delegate.TakeReceivedData()); |
| 707 EXPECT_FALSE(session_); | 699 EXPECT_FALSE(session_); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 729 session_deps_.socket_factory->AddSocketDataProvider(&data); | 721 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 730 | 722 |
| 731 CreateNetworkSession(); | 723 CreateNetworkSession(); |
| 732 CreateInsecureSpdySession(); | 724 CreateInsecureSpdySession(); |
| 733 | 725 |
| 734 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 726 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 735 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 727 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 736 test::StreamDelegateDoNothing delegate(spdy_stream); | 728 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 737 spdy_stream->SetDelegate(&delegate); | 729 spdy_stream->SetDelegate(&delegate); |
| 738 | 730 |
| 739 std::unique_ptr<SpdyHeaderBlock> headers( | 731 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 740 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 741 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 732 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 742 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 733 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 743 | 734 |
| 744 base::RunLoop().RunUntilIdle(); | 735 base::RunLoop().RunUntilIdle(); |
| 745 | 736 |
| 746 EXPECT_EQ(1u, spdy_stream->stream_id()); | 737 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 747 | 738 |
| 748 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 739 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 749 | 740 |
| 750 // Read and process the GOAWAY frame. | 741 // Read and process the GOAWAY frame. |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 791 session_deps_.socket_factory->AddSocketDataProvider(&data); | 782 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 792 | 783 |
| 793 CreateNetworkSession(); | 784 CreateNetworkSession(); |
| 794 CreateInsecureSpdySession(); | 785 CreateInsecureSpdySession(); |
| 795 | 786 |
| 796 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 787 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 797 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 788 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 798 test::StreamDelegateDoNothing delegate(spdy_stream); | 789 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 799 spdy_stream->SetDelegate(&delegate); | 790 spdy_stream->SetDelegate(&delegate); |
| 800 | 791 |
| 801 std::unique_ptr<SpdyHeaderBlock> headers( | 792 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 802 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 803 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 793 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 804 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 794 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 805 | 795 |
| 806 base::RunLoop().RunUntilIdle(); | 796 base::RunLoop().RunUntilIdle(); |
| 807 | 797 |
| 808 EXPECT_EQ(1u, spdy_stream->stream_id()); | 798 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 809 | 799 |
| 810 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 800 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 811 | 801 |
| 812 // Read and process the GOAWAY frame. | 802 // Read and process the GOAWAY frame. |
| (...skipping 27 matching lines...) Expand all Loading... |
| 840 session_deps_.socket_factory->AddSocketDataProvider(&data); | 830 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 841 | 831 |
| 842 CreateNetworkSession(); | 832 CreateNetworkSession(); |
| 843 CreateInsecureSpdySession(); | 833 CreateInsecureSpdySession(); |
| 844 | 834 |
| 845 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 835 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 846 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 836 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 847 test::StreamDelegateDoNothing delegate(spdy_stream); | 837 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 848 spdy_stream->SetDelegate(&delegate); | 838 spdy_stream->SetDelegate(&delegate); |
| 849 | 839 |
| 850 std::unique_ptr<SpdyHeaderBlock> headers( | 840 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 851 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 852 | 841 |
| 853 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 842 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 854 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 843 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 855 | 844 |
| 856 base::RunLoop().RunUntilIdle(); | 845 base::RunLoop().RunUntilIdle(); |
| 857 | 846 |
| 858 EXPECT_EQ(1u, spdy_stream->stream_id()); | 847 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 859 | 848 |
| 860 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 849 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 861 | 850 |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1001 session_deps_.socket_factory->AddSocketDataProvider(&data); | 990 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 1002 | 991 |
| 1003 CreateNetworkSession(); | 992 CreateNetworkSession(); |
| 1004 CreateInsecureSpdySession(); | 993 CreateInsecureSpdySession(); |
| 1005 | 994 |
| 1006 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 995 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 1007 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 996 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 1008 test::StreamDelegateDoNothing delegate(spdy_stream); | 997 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 1009 spdy_stream->SetDelegate(&delegate); | 998 spdy_stream->SetDelegate(&delegate); |
| 1010 | 999 |
| 1011 std::unique_ptr<SpdyHeaderBlock> headers( | 1000 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1012 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 1013 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1001 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1014 | 1002 |
| 1015 // Shift time so that a ping will be sent out. | 1003 // Shift time so that a ping will be sent out. |
| 1016 g_time_delta = base::TimeDelta::FromSeconds(11); | 1004 g_time_delta = base::TimeDelta::FromSeconds(11); |
| 1017 | 1005 |
| 1018 base::RunLoop().RunUntilIdle(); | 1006 base::RunLoop().RunUntilIdle(); |
| 1019 session_->CloseSessionOnError(ERR_ABORTED, "Aborting"); | 1007 session_->CloseSessionOnError(ERR_ABORTED, "Aborting"); |
| 1020 | 1008 |
| 1021 data.Resume(); | 1009 data.Resume(); |
| 1022 base::RunLoop().RunUntilIdle(); | 1010 base::RunLoop().RunUntilIdle(); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1095 ERR_IO_PENDING, | 1083 ERR_IO_PENDING, |
| 1096 request4.StartRequest(SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, | 1084 request4.StartRequest(SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, |
| 1097 MEDIUM, BoundNetLog(), callback4.callback())); | 1085 MEDIUM, BoundNetLog(), callback4.callback())); |
| 1098 | 1086 |
| 1099 // Streams 1-3 were created. 4th is stalled. No streams are active yet. | 1087 // Streams 1-3 were created. 4th is stalled. No streams are active yet. |
| 1100 EXPECT_EQ(0u, session_->num_active_streams()); | 1088 EXPECT_EQ(0u, session_->num_active_streams()); |
| 1101 EXPECT_EQ(3u, session_->num_created_streams()); | 1089 EXPECT_EQ(3u, session_->num_created_streams()); |
| 1102 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(MEDIUM)); | 1090 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(MEDIUM)); |
| 1103 | 1091 |
| 1104 // Activate stream 1. One ID remains available. | 1092 // Activate stream 1. One ID remains available. |
| 1105 stream1->SendRequestHeaders( | 1093 stream1->SendRequestHeaders(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl), |
| 1106 std::unique_ptr<SpdyHeaderBlock>( | 1094 NO_MORE_DATA_TO_SEND); |
| 1107 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))), | |
| 1108 NO_MORE_DATA_TO_SEND); | |
| 1109 base::RunLoop().RunUntilIdle(); | 1095 base::RunLoop().RunUntilIdle(); |
| 1110 | 1096 |
| 1111 EXPECT_EQ(kLastStreamId - 2u, stream1->stream_id()); | 1097 EXPECT_EQ(kLastStreamId - 2u, stream1->stream_id()); |
| 1112 EXPECT_EQ(1u, session_->num_active_streams()); | 1098 EXPECT_EQ(1u, session_->num_active_streams()); |
| 1113 EXPECT_EQ(2u, session_->num_created_streams()); | 1099 EXPECT_EQ(2u, session_->num_created_streams()); |
| 1114 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(MEDIUM)); | 1100 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(MEDIUM)); |
| 1115 | 1101 |
| 1116 // Activate stream 2. ID space is exhausted. | 1102 // Activate stream 2. ID space is exhausted. |
| 1117 stream2->SendRequestHeaders( | 1103 stream2->SendRequestHeaders(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl), |
| 1118 std::unique_ptr<SpdyHeaderBlock>( | 1104 NO_MORE_DATA_TO_SEND); |
| 1119 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))), | |
| 1120 NO_MORE_DATA_TO_SEND); | |
| 1121 base::RunLoop().RunUntilIdle(); | 1105 base::RunLoop().RunUntilIdle(); |
| 1122 | 1106 |
| 1123 // Active streams remain active. | 1107 // Active streams remain active. |
| 1124 EXPECT_EQ(kLastStreamId, stream2->stream_id()); | 1108 EXPECT_EQ(kLastStreamId, stream2->stream_id()); |
| 1125 EXPECT_EQ(2u, session_->num_active_streams()); | 1109 EXPECT_EQ(2u, session_->num_active_streams()); |
| 1126 | 1110 |
| 1127 // Session is going away. Created and stalled streams were aborted. | 1111 // Session is going away. Created and stalled streams were aborted. |
| 1128 EXPECT_EQ(SpdySession::STATE_GOING_AWAY, session_->availability_state_); | 1112 EXPECT_EQ(SpdySession::STATE_GOING_AWAY, session_->availability_state_); |
| 1129 EXPECT_THAT(delegate3.WaitForClose(), IsError(ERR_ABORTED)); | 1113 EXPECT_THAT(delegate3.WaitForClose(), IsError(ERR_ABORTED)); |
| 1130 EXPECT_THAT(callback4.WaitForResult(), IsError(ERR_ABORTED)); | 1114 EXPECT_THAT(callback4.WaitForResult(), IsError(ERR_ABORTED)); |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1221 // Stream is created. | 1205 // Stream is created. |
| 1222 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(MEDIUM)); | 1206 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(MEDIUM)); |
| 1223 EXPECT_EQ(1u, session_->num_created_streams()); | 1207 EXPECT_EQ(1u, session_->num_created_streams()); |
| 1224 | 1208 |
| 1225 EXPECT_THAT(callback.WaitForResult(), IsOk()); | 1209 EXPECT_THAT(callback.WaitForResult(), IsOk()); |
| 1226 | 1210 |
| 1227 // Send request. | 1211 // Send request. |
| 1228 base::WeakPtr<SpdyStream> stream = request.ReleaseStream(); | 1212 base::WeakPtr<SpdyStream> stream = request.ReleaseStream(); |
| 1229 test::StreamDelegateDoNothing delegate(stream); | 1213 test::StreamDelegateDoNothing delegate(stream); |
| 1230 stream->SetDelegate(&delegate); | 1214 stream->SetDelegate(&delegate); |
| 1231 std::unique_ptr<SpdyHeaderBlock> headers( | 1215 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1232 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 1233 stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1216 stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1234 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 1217 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 1235 | 1218 |
| 1236 EXPECT_THAT(delegate.WaitForClose(), IsOk()); | 1219 EXPECT_THAT(delegate.WaitForClose(), IsOk()); |
| 1237 EXPECT_EQ("hello!", delegate.TakeReceivedData()); | 1220 EXPECT_EQ("hello!", delegate.TakeReceivedData()); |
| 1238 | 1221 |
| 1239 // Session is destroyed. | 1222 // Session is destroyed. |
| 1240 EXPECT_FALSE(session_); | 1223 EXPECT_FALSE(session_); |
| 1241 } | 1224 } |
| 1242 | 1225 |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1334 | 1317 |
| 1335 CreateNetworkSession(); | 1318 CreateNetworkSession(); |
| 1336 CreateInsecureSpdySession(); | 1319 CreateInsecureSpdySession(); |
| 1337 | 1320 |
| 1338 // Process the principal request, and the first push stream request & body. | 1321 // Process the principal request, and the first push stream request & body. |
| 1339 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 1322 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 1340 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 1323 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 1341 test::StreamDelegateDoNothing delegate(spdy_stream); | 1324 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 1342 spdy_stream->SetDelegate(&delegate); | 1325 spdy_stream->SetDelegate(&delegate); |
| 1343 | 1326 |
| 1344 std::unique_ptr<SpdyHeaderBlock> headers( | 1327 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1345 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 1346 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1328 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1347 | 1329 |
| 1348 base::RunLoop().RunUntilIdle(); | 1330 base::RunLoop().RunUntilIdle(); |
| 1349 | 1331 |
| 1350 // Verify that there is one unclaimed push stream. | 1332 // Verify that there is one unclaimed push stream. |
| 1351 EXPECT_EQ(1u, session_->num_unclaimed_pushed_streams()); | 1333 EXPECT_EQ(1u, session_->num_unclaimed_pushed_streams()); |
| 1352 EXPECT_EQ(1u, session_->count_unclaimed_pushed_streams_for_url( | 1334 EXPECT_EQ(1u, session_->count_unclaimed_pushed_streams_for_url( |
| 1353 GURL("https://www.example.org/a.dat"))); | 1335 GURL("https://www.example.org/a.dat"))); |
| 1354 | 1336 |
| 1355 // Unclaimed push body consumed bytes from the session window. | 1337 // Unclaimed push body consumed bytes from the session window. |
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1752 session_deps_.socket_factory->AddSocketDataProvider(&data); | 1734 session_deps_.socket_factory->AddSocketDataProvider(&data); |
| 1753 | 1735 |
| 1754 CreateNetworkSession(); | 1736 CreateNetworkSession(); |
| 1755 CreateInsecureSpdySession(); | 1737 CreateInsecureSpdySession(); |
| 1756 | 1738 |
| 1757 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 1739 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 1758 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 1740 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 1759 test::StreamDelegateDoNothing delegate(spdy_stream); | 1741 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 1760 spdy_stream->SetDelegate(&delegate); | 1742 spdy_stream->SetDelegate(&delegate); |
| 1761 | 1743 |
| 1762 std::unique_ptr<SpdyHeaderBlock> headers( | 1744 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1763 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 1764 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1745 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1765 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 1746 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 1766 | 1747 |
| 1767 // Write request headers & capture resulting histogram update. | 1748 // Write request headers & capture resulting histogram update. |
| 1768 base::HistogramTester histogram_tester; | 1749 base::HistogramTester histogram_tester; |
| 1769 | 1750 |
| 1770 base::RunLoop().RunUntilIdle(); | 1751 base::RunLoop().RunUntilIdle(); |
| 1771 // Regression test of compression performance under the request fixture. | 1752 // Regression test of compression performance under the request fixture. |
| 1772 histogram_tester.ExpectBucketCount( | 1753 histogram_tester.ExpectBucketCount( |
| 1773 "Net.SpdySynStreamCompressionPercentage", 81, 1); | 1754 "Net.SpdySynStreamCompressionPercentage", 81, 1); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1827 base::WeakPtr<SpdyStream> spdy_stream_highest = | 1808 base::WeakPtr<SpdyStream> spdy_stream_highest = |
| 1828 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 1809 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 1829 test_url_, HIGHEST, BoundNetLog()); | 1810 test_url_, HIGHEST, BoundNetLog()); |
| 1830 ASSERT_TRUE(spdy_stream_highest); | 1811 ASSERT_TRUE(spdy_stream_highest); |
| 1831 EXPECT_EQ(0u, spdy_stream_highest->stream_id()); | 1812 EXPECT_EQ(0u, spdy_stream_highest->stream_id()); |
| 1832 test::StreamDelegateDoNothing delegate_highest(spdy_stream_highest); | 1813 test::StreamDelegateDoNothing delegate_highest(spdy_stream_highest); |
| 1833 spdy_stream_highest->SetDelegate(&delegate_highest); | 1814 spdy_stream_highest->SetDelegate(&delegate_highest); |
| 1834 | 1815 |
| 1835 // Queue the lower priority one first. | 1816 // Queue the lower priority one first. |
| 1836 | 1817 |
| 1837 std::unique_ptr<SpdyHeaderBlock> headers_lowest( | 1818 SpdyHeaderBlock headers_lowest( |
| 1838 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | 1819 spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1839 spdy_stream_lowest->SendRequestHeaders(std::move(headers_lowest), | 1820 spdy_stream_lowest->SendRequestHeaders(std::move(headers_lowest), |
| 1840 NO_MORE_DATA_TO_SEND); | 1821 NO_MORE_DATA_TO_SEND); |
| 1841 EXPECT_TRUE(spdy_stream_lowest->HasUrlFromHeaders()); | 1822 EXPECT_TRUE(spdy_stream_lowest->HasUrlFromHeaders()); |
| 1842 | 1823 |
| 1843 std::unique_ptr<SpdyHeaderBlock> headers_highest( | 1824 SpdyHeaderBlock headers_highest( |
| 1844 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | 1825 spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1845 spdy_stream_highest->SendRequestHeaders(std::move(headers_highest), | 1826 spdy_stream_highest->SendRequestHeaders(std::move(headers_highest), |
| 1846 NO_MORE_DATA_TO_SEND); | 1827 NO_MORE_DATA_TO_SEND); |
| 1847 EXPECT_TRUE(spdy_stream_highest->HasUrlFromHeaders()); | 1828 EXPECT_TRUE(spdy_stream_highest->HasUrlFromHeaders()); |
| 1848 | 1829 |
| 1849 base::RunLoop().RunUntilIdle(); | 1830 base::RunLoop().RunUntilIdle(); |
| 1850 | 1831 |
| 1851 EXPECT_FALSE(spdy_stream_lowest); | 1832 EXPECT_FALSE(spdy_stream_lowest); |
| 1852 EXPECT_FALSE(spdy_stream_highest); | 1833 EXPECT_FALSE(spdy_stream_highest); |
| 1853 EXPECT_EQ(3u, delegate_lowest.stream_id()); | 1834 EXPECT_EQ(3u, delegate_lowest.stream_id()); |
| 1854 EXPECT_EQ(1u, delegate_highest.stream_id()); | 1835 EXPECT_EQ(1u, delegate_highest.stream_id()); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1890 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 1871 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 1891 spdy_stream1->SetDelegate(&delegate1); | 1872 spdy_stream1->SetDelegate(&delegate1); |
| 1892 | 1873 |
| 1893 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 1874 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 1894 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 1875 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 1895 ASSERT_TRUE(spdy_stream2); | 1876 ASSERT_TRUE(spdy_stream2); |
| 1896 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1877 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1897 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 1878 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 1898 spdy_stream2->SetDelegate(&delegate2); | 1879 spdy_stream2->SetDelegate(&delegate2); |
| 1899 | 1880 |
| 1900 std::unique_ptr<SpdyHeaderBlock> headers( | 1881 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1901 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 1902 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1882 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1903 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 1883 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 1904 | 1884 |
| 1905 std::unique_ptr<SpdyHeaderBlock> headers2( | 1885 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1906 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 1907 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 1886 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 1908 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 1887 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 1909 | 1888 |
| 1910 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 1889 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 1911 | 1890 |
| 1912 spdy_stream1->Cancel(); | 1891 spdy_stream1->Cancel(); |
| 1913 EXPECT_FALSE(spdy_stream1); | 1892 EXPECT_FALSE(spdy_stream1); |
| 1914 | 1893 |
| 1915 EXPECT_EQ(0u, delegate1.stream_id()); | 1894 EXPECT_EQ(0u, delegate1.stream_id()); |
| 1916 | 1895 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1953 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 1932 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 1954 ASSERT_TRUE(spdy_stream2); | 1933 ASSERT_TRUE(spdy_stream2); |
| 1955 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1934 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1956 | 1935 |
| 1957 test::ClosingDelegate delegate1(spdy_stream1); | 1936 test::ClosingDelegate delegate1(spdy_stream1); |
| 1958 spdy_stream1->SetDelegate(&delegate1); | 1937 spdy_stream1->SetDelegate(&delegate1); |
| 1959 | 1938 |
| 1960 test::ClosingDelegate delegate2(spdy_stream2); | 1939 test::ClosingDelegate delegate2(spdy_stream2); |
| 1961 spdy_stream2->SetDelegate(&delegate2); | 1940 spdy_stream2->SetDelegate(&delegate2); |
| 1962 | 1941 |
| 1963 std::unique_ptr<SpdyHeaderBlock> headers( | 1942 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1964 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 1965 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1943 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1966 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 1944 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 1967 | 1945 |
| 1968 std::unique_ptr<SpdyHeaderBlock> headers2( | 1946 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1969 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 1970 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 1947 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 1971 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 1948 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 1972 | 1949 |
| 1973 // Ensure that the streams have not yet been activated and assigned an id. | 1950 // Ensure that the streams have not yet been activated and assigned an id. |
| 1974 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 1951 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 1975 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1952 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1976 | 1953 |
| 1977 // Ensure we don't crash while closing the session. | 1954 // Ensure we don't crash while closing the session. |
| 1978 session_->CloseSessionOnError(ERR_ABORTED, std::string()); | 1955 session_->CloseSessionOnError(ERR_ABORTED, std::string()); |
| 1979 | 1956 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 2009 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1986 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2010 | 1987 |
| 2011 // Make |spdy_stream1| close |spdy_stream2|. | 1988 // Make |spdy_stream1| close |spdy_stream2|. |
| 2012 test::ClosingDelegate delegate1(spdy_stream2); | 1989 test::ClosingDelegate delegate1(spdy_stream2); |
| 2013 spdy_stream1->SetDelegate(&delegate1); | 1990 spdy_stream1->SetDelegate(&delegate1); |
| 2014 | 1991 |
| 2015 // Make |spdy_stream2| close |spdy_stream1|. | 1992 // Make |spdy_stream2| close |spdy_stream1|. |
| 2016 test::ClosingDelegate delegate2(spdy_stream1); | 1993 test::ClosingDelegate delegate2(spdy_stream1); |
| 2017 spdy_stream2->SetDelegate(&delegate2); | 1994 spdy_stream2->SetDelegate(&delegate2); |
| 2018 | 1995 |
| 2019 std::unique_ptr<SpdyHeaderBlock> headers( | 1996 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2020 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2021 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1997 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2022 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 1998 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2023 | 1999 |
| 2024 std::unique_ptr<SpdyHeaderBlock> headers2( | 2000 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2025 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2026 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2001 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2027 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 2002 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 2028 | 2003 |
| 2029 // Ensure that the streams have not yet been activated and assigned an id. | 2004 // Ensure that the streams have not yet been activated and assigned an id. |
| 2030 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2005 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2031 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2006 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2032 | 2007 |
| 2033 // Ensure we don't crash while closing the session. | 2008 // Ensure we don't crash while closing the session. |
| 2034 session_->CloseSessionOnError(ERR_ABORTED, std::string()); | 2009 session_->CloseSessionOnError(ERR_ABORTED, std::string()); |
| 2035 | 2010 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2076 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2051 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2077 ASSERT_TRUE(spdy_stream2); | 2052 ASSERT_TRUE(spdy_stream2); |
| 2078 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2053 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2079 | 2054 |
| 2080 test::ClosingDelegate delegate1(spdy_stream1); | 2055 test::ClosingDelegate delegate1(spdy_stream1); |
| 2081 spdy_stream1->SetDelegate(&delegate1); | 2056 spdy_stream1->SetDelegate(&delegate1); |
| 2082 | 2057 |
| 2083 test::ClosingDelegate delegate2(spdy_stream2); | 2058 test::ClosingDelegate delegate2(spdy_stream2); |
| 2084 spdy_stream2->SetDelegate(&delegate2); | 2059 spdy_stream2->SetDelegate(&delegate2); |
| 2085 | 2060 |
| 2086 std::unique_ptr<SpdyHeaderBlock> headers( | 2061 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2087 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2088 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2062 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2089 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2063 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2090 | 2064 |
| 2091 std::unique_ptr<SpdyHeaderBlock> headers2( | 2065 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2092 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2093 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2066 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2094 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 2067 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 2095 | 2068 |
| 2096 // Ensure that the streams have not yet been activated and assigned an id. | 2069 // Ensure that the streams have not yet been activated and assigned an id. |
| 2097 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2070 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2098 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2071 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2099 | 2072 |
| 2100 base::RunLoop().RunUntilIdle(); | 2073 base::RunLoop().RunUntilIdle(); |
| 2101 | 2074 |
| 2102 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 2075 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2152 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2125 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2153 | 2126 |
| 2154 // Make |spdy_stream1| close |spdy_stream2|. | 2127 // Make |spdy_stream1| close |spdy_stream2|. |
| 2155 test::ClosingDelegate delegate1(spdy_stream2); | 2128 test::ClosingDelegate delegate1(spdy_stream2); |
| 2156 spdy_stream1->SetDelegate(&delegate1); | 2129 spdy_stream1->SetDelegate(&delegate1); |
| 2157 | 2130 |
| 2158 // Make |spdy_stream2| close |spdy_stream1|. | 2131 // Make |spdy_stream2| close |spdy_stream1|. |
| 2159 test::ClosingDelegate delegate2(spdy_stream1); | 2132 test::ClosingDelegate delegate2(spdy_stream1); |
| 2160 spdy_stream2->SetDelegate(&delegate2); | 2133 spdy_stream2->SetDelegate(&delegate2); |
| 2161 | 2134 |
| 2162 std::unique_ptr<SpdyHeaderBlock> headers( | 2135 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2163 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2164 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2136 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2165 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2137 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2166 | 2138 |
| 2167 std::unique_ptr<SpdyHeaderBlock> headers2( | 2139 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2168 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2169 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2140 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2170 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 2141 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 2171 | 2142 |
| 2172 // Ensure that the streams have not yet been activated and assigned an id. | 2143 // Ensure that the streams have not yet been activated and assigned an id. |
| 2173 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2144 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2174 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2145 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2175 | 2146 |
| 2176 base::RunLoop().RunUntilIdle(); | 2147 base::RunLoop().RunUntilIdle(); |
| 2177 | 2148 |
| 2178 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 2149 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2240 CreateInsecureSpdySession(); | 2211 CreateInsecureSpdySession(); |
| 2241 | 2212 |
| 2242 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 2213 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 2243 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2214 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2244 ASSERT_TRUE(spdy_stream); | 2215 ASSERT_TRUE(spdy_stream); |
| 2245 EXPECT_EQ(0u, spdy_stream->stream_id()); | 2216 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 2246 | 2217 |
| 2247 SessionClosingDelegate delegate(spdy_stream, session_); | 2218 SessionClosingDelegate delegate(spdy_stream, session_); |
| 2248 spdy_stream->SetDelegate(&delegate); | 2219 spdy_stream->SetDelegate(&delegate); |
| 2249 | 2220 |
| 2250 std::unique_ptr<SpdyHeaderBlock> headers( | 2221 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2251 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2252 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2222 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2253 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 2223 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 2254 | 2224 |
| 2255 EXPECT_EQ(0u, spdy_stream->stream_id()); | 2225 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 2256 | 2226 |
| 2257 base::RunLoop().RunUntilIdle(); | 2227 base::RunLoop().RunUntilIdle(); |
| 2258 | 2228 |
| 2259 EXPECT_EQ(1u, spdy_stream->stream_id()); | 2229 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 2260 | 2230 |
| 2261 // Ensure we don't crash while closing the stream (which closes the | 2231 // Ensure we don't crash while closing the stream (which closes the |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2413 SpdyStreamRequest request3; | 2383 SpdyStreamRequest request3; |
| 2414 ASSERT_EQ( | 2384 ASSERT_EQ( |
| 2415 ERR_IO_PENDING, | 2385 ERR_IO_PENDING, |
| 2416 request3.StartRequest(SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, | 2386 request3.StartRequest(SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, |
| 2417 LOWEST, BoundNetLog(), callback3.callback())); | 2387 LOWEST, BoundNetLog(), callback3.callback())); |
| 2418 | 2388 |
| 2419 EXPECT_EQ(0u, session_->num_active_streams()); | 2389 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2420 EXPECT_EQ(1u, session_->num_created_streams()); | 2390 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2421 EXPECT_EQ(2u, session_->pending_create_stream_queue_size(LOWEST)); | 2391 EXPECT_EQ(2u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2422 | 2392 |
| 2423 std::unique_ptr<SpdyHeaderBlock> headers( | 2393 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2424 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2425 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2394 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2426 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2395 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2427 | 2396 |
| 2428 // Run until 1st stream is activated and then closed. | 2397 // Run until 1st stream is activated and then closed. |
| 2429 EXPECT_EQ(0u, delegate1.stream_id()); | 2398 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2430 base::RunLoop().RunUntilIdle(); | 2399 base::RunLoop().RunUntilIdle(); |
| 2431 EXPECT_FALSE(spdy_stream1); | 2400 EXPECT_FALSE(spdy_stream1); |
| 2432 EXPECT_EQ(1u, delegate1.stream_id()); | 2401 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2433 | 2402 |
| 2434 EXPECT_EQ(0u, session_->num_active_streams()); | 2403 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2435 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); | 2404 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2436 | 2405 |
| 2437 // Pump loop for SpdySession::ProcessPendingStreamRequests() to | 2406 // Pump loop for SpdySession::ProcessPendingStreamRequests() to |
| 2438 // create the 2nd stream. | 2407 // create the 2nd stream. |
| 2439 base::RunLoop().RunUntilIdle(); | 2408 base::RunLoop().RunUntilIdle(); |
| 2440 | 2409 |
| 2441 EXPECT_EQ(0u, session_->num_active_streams()); | 2410 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2442 EXPECT_EQ(1u, session_->num_created_streams()); | 2411 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2443 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); | 2412 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2444 | 2413 |
| 2445 base::WeakPtr<SpdyStream> stream2 = request2.ReleaseStream(); | 2414 base::WeakPtr<SpdyStream> stream2 = request2.ReleaseStream(); |
| 2446 test::StreamDelegateDoNothing delegate2(stream2); | 2415 test::StreamDelegateDoNothing delegate2(stream2); |
| 2447 stream2->SetDelegate(&delegate2); | 2416 stream2->SetDelegate(&delegate2); |
| 2448 std::unique_ptr<SpdyHeaderBlock> headers2( | 2417 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2449 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2450 stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2418 stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2451 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | 2419 EXPECT_TRUE(stream2->HasUrlFromHeaders()); |
| 2452 | 2420 |
| 2453 // Run until 2nd stream is activated and then closed. | 2421 // Run until 2nd stream is activated and then closed. |
| 2454 EXPECT_EQ(0u, delegate2.stream_id()); | 2422 EXPECT_EQ(0u, delegate2.stream_id()); |
| 2455 base::RunLoop().RunUntilIdle(); | 2423 base::RunLoop().RunUntilIdle(); |
| 2456 EXPECT_FALSE(stream2); | 2424 EXPECT_FALSE(stream2); |
| 2457 EXPECT_EQ(3u, delegate2.stream_id()); | 2425 EXPECT_EQ(3u, delegate2.stream_id()); |
| 2458 | 2426 |
| 2459 EXPECT_EQ(0u, session_->num_active_streams()); | 2427 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2460 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); | 2428 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2461 | 2429 |
| 2462 // Pump loop for SpdySession::ProcessPendingStreamRequests() to | 2430 // Pump loop for SpdySession::ProcessPendingStreamRequests() to |
| 2463 // create the 3rd stream. | 2431 // create the 3rd stream. |
| 2464 base::RunLoop().RunUntilIdle(); | 2432 base::RunLoop().RunUntilIdle(); |
| 2465 | 2433 |
| 2466 EXPECT_EQ(0u, session_->num_active_streams()); | 2434 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2467 EXPECT_EQ(1u, session_->num_created_streams()); | 2435 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2468 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); | 2436 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2469 | 2437 |
| 2470 base::WeakPtr<SpdyStream> stream3 = request3.ReleaseStream(); | 2438 base::WeakPtr<SpdyStream> stream3 = request3.ReleaseStream(); |
| 2471 test::StreamDelegateDoNothing delegate3(stream3); | 2439 test::StreamDelegateDoNothing delegate3(stream3); |
| 2472 stream3->SetDelegate(&delegate3); | 2440 stream3->SetDelegate(&delegate3); |
| 2473 std::unique_ptr<SpdyHeaderBlock> headers3( | 2441 SpdyHeaderBlock headers3(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2474 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2475 stream3->SendRequestHeaders(std::move(headers3), NO_MORE_DATA_TO_SEND); | 2442 stream3->SendRequestHeaders(std::move(headers3), NO_MORE_DATA_TO_SEND); |
| 2476 EXPECT_TRUE(stream3->HasUrlFromHeaders()); | 2443 EXPECT_TRUE(stream3->HasUrlFromHeaders()); |
| 2477 | 2444 |
| 2478 // Run until 2nd stream is activated and then closed. | 2445 // Run until 2nd stream is activated and then closed. |
| 2479 EXPECT_EQ(0u, delegate3.stream_id()); | 2446 EXPECT_EQ(0u, delegate3.stream_id()); |
| 2480 base::RunLoop().RunUntilIdle(); | 2447 base::RunLoop().RunUntilIdle(); |
| 2481 EXPECT_FALSE(stream3); | 2448 EXPECT_FALSE(stream3); |
| 2482 EXPECT_EQ(5u, delegate3.stream_id()); | 2449 EXPECT_EQ(5u, delegate3.stream_id()); |
| 2483 | 2450 |
| 2484 EXPECT_EQ(0u, session_->num_active_streams()); | 2451 EXPECT_EQ(0u, session_->num_active_streams()); |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2612 CreateNetworkSession(); | 2579 CreateNetworkSession(); |
| 2613 CreateInsecureSpdySession(); | 2580 CreateInsecureSpdySession(); |
| 2614 | 2581 |
| 2615 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2582 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2616 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2583 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2617 ASSERT_TRUE(spdy_stream1); | 2584 ASSERT_TRUE(spdy_stream1); |
| 2618 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2585 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2619 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2586 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2620 spdy_stream1->SetDelegate(&delegate1); | 2587 spdy_stream1->SetDelegate(&delegate1); |
| 2621 | 2588 |
| 2622 std::unique_ptr<SpdyHeaderBlock> headers1( | 2589 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2623 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2624 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2590 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2625 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2591 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2626 | 2592 |
| 2627 // Set up the TaskObserver to verify SpdySession::DoReadLoop doesn't | 2593 // Set up the TaskObserver to verify SpdySession::DoReadLoop doesn't |
| 2628 // post a task. | 2594 // post a task. |
| 2629 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2595 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2630 | 2596 |
| 2631 // Run until 1st read. | 2597 // Run until 1st read. |
| 2632 EXPECT_EQ(0u, delegate1.stream_id()); | 2598 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2633 base::RunLoop().RunUntilIdle(); | 2599 base::RunLoop().RunUntilIdle(); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2676 CreateNetworkSession(); | 2642 CreateNetworkSession(); |
| 2677 CreateInsecureSpdySession(); | 2643 CreateInsecureSpdySession(); |
| 2678 | 2644 |
| 2679 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2645 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2680 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2646 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2681 ASSERT_TRUE(spdy_stream1); | 2647 ASSERT_TRUE(spdy_stream1); |
| 2682 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2648 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2683 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2649 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2684 spdy_stream1->SetDelegate(&delegate1); | 2650 spdy_stream1->SetDelegate(&delegate1); |
| 2685 | 2651 |
| 2686 std::unique_ptr<SpdyHeaderBlock> headers1( | 2652 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2687 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2688 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2653 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2689 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2654 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2690 | 2655 |
| 2691 // Set up the TaskObserver to verify that SpdySession::DoReadLoop posts a | 2656 // Set up the TaskObserver to verify that SpdySession::DoReadLoop posts a |
| 2692 // task. | 2657 // task. |
| 2693 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2658 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2694 | 2659 |
| 2695 EXPECT_EQ(0u, delegate1.stream_id()); | 2660 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2696 EXPECT_EQ(0u, observer.executed_count()); | 2661 EXPECT_EQ(0u, observer.executed_count()); |
| 2697 | 2662 |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2747 CreateNetworkSession(); | 2712 CreateNetworkSession(); |
| 2748 CreateInsecureSpdySession(); | 2713 CreateInsecureSpdySession(); |
| 2749 | 2714 |
| 2750 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2715 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2751 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2716 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2752 ASSERT_TRUE(spdy_stream1); | 2717 ASSERT_TRUE(spdy_stream1); |
| 2753 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2718 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2754 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2719 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2755 spdy_stream1->SetDelegate(&delegate1); | 2720 spdy_stream1->SetDelegate(&delegate1); |
| 2756 | 2721 |
| 2757 std::unique_ptr<SpdyHeaderBlock> headers1( | 2722 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2758 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2759 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2723 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2760 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2724 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2761 | 2725 |
| 2762 // Run until 1st read. | 2726 // Run until 1st read. |
| 2763 EXPECT_EQ(0u, delegate1.stream_id()); | 2727 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2764 base::RunLoop().RunUntilIdle(); | 2728 base::RunLoop().RunUntilIdle(); |
| 2765 EXPECT_EQ(1u, delegate1.stream_id()); | 2729 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2766 | 2730 |
| 2767 // Read all the data and verify SpdySession::DoReadLoop has posted a task. | 2731 // Read all the data and verify SpdySession::DoReadLoop has posted a task. |
| 2768 data.Resume(); | 2732 data.Resume(); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2828 CreateNetworkSession(); | 2792 CreateNetworkSession(); |
| 2829 CreateInsecureSpdySession(); | 2793 CreateInsecureSpdySession(); |
| 2830 | 2794 |
| 2831 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2795 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2832 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2796 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2833 ASSERT_TRUE(spdy_stream1); | 2797 ASSERT_TRUE(spdy_stream1); |
| 2834 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2798 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2835 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2799 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2836 spdy_stream1->SetDelegate(&delegate1); | 2800 spdy_stream1->SetDelegate(&delegate1); |
| 2837 | 2801 |
| 2838 std::unique_ptr<SpdyHeaderBlock> headers1( | 2802 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2839 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2840 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2803 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2841 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2804 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2842 | 2805 |
| 2843 // Set up the TaskObserver to verify SpdySession::DoReadLoop posts a task. | 2806 // Set up the TaskObserver to verify SpdySession::DoReadLoop posts a task. |
| 2844 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2807 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2845 | 2808 |
| 2846 // Run until 1st read. | 2809 // Run until 1st read. |
| 2847 EXPECT_EQ(0u, delegate1.stream_id()); | 2810 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2848 base::RunLoop().RunUntilIdle(); | 2811 base::RunLoop().RunUntilIdle(); |
| 2849 EXPECT_EQ(1u, delegate1.stream_id()); | 2812 EXPECT_EQ(1u, delegate1.stream_id()); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2935 CreateNetworkSession(); | 2898 CreateNetworkSession(); |
| 2936 CreateInsecureSpdySession(); | 2899 CreateInsecureSpdySession(); |
| 2937 | 2900 |
| 2938 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2901 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2939 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2902 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2940 ASSERT_TRUE(spdy_stream1); | 2903 ASSERT_TRUE(spdy_stream1); |
| 2941 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2904 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2942 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2905 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2943 spdy_stream1->SetDelegate(&delegate1); | 2906 spdy_stream1->SetDelegate(&delegate1); |
| 2944 | 2907 |
| 2945 std::unique_ptr<SpdyHeaderBlock> headers1( | 2908 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2946 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 2947 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2909 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2948 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2910 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2949 | 2911 |
| 2950 // Set up the TaskObserver to monitor SpdySession::DoReadLoop | 2912 // Set up the TaskObserver to monitor SpdySession::DoReadLoop |
| 2951 // posting of tasks. | 2913 // posting of tasks. |
| 2952 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2914 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2953 | 2915 |
| 2954 // Run until 1st read. | 2916 // Run until 1st read. |
| 2955 EXPECT_EQ(0u, delegate1.stream_id()); | 2917 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2956 base::RunLoop().RunUntilIdle(); | 2918 base::RunLoop().RunUntilIdle(); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3004 CreateNetworkSession(); | 2966 CreateNetworkSession(); |
| 3005 CreateInsecureSpdySession(); | 2967 CreateInsecureSpdySession(); |
| 3006 | 2968 |
| 3007 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2969 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 3008 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2970 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3009 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2971 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 3010 spdy_stream1->SetDelegate(&delegate1); | 2972 spdy_stream1->SetDelegate(&delegate1); |
| 3011 ASSERT_TRUE(spdy_stream1); | 2973 ASSERT_TRUE(spdy_stream1); |
| 3012 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2974 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 3013 | 2975 |
| 3014 std::unique_ptr<SpdyHeaderBlock> headers1( | 2976 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 3015 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 3016 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2977 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 3017 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2978 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 3018 | 2979 |
| 3019 // Run until 1st read. | 2980 // Run until 1st read. |
| 3020 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2981 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 3021 base::RunLoop().RunUntilIdle(); | 2982 base::RunLoop().RunUntilIdle(); |
| 3022 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 2983 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 3023 | 2984 |
| 3024 // Run until GoAway. | 2985 // Run until GoAway. |
| 3025 data.Resume(); | 2986 data.Resume(); |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3217 // Create a stream using the session, and send a request. | 3178 // Create a stream using the session, and send a request. |
| 3218 | 3179 |
| 3219 TestCompletionCallback callback1; | 3180 TestCompletionCallback callback1; |
| 3220 base::WeakPtr<SpdyStream> spdy_stream1 = | 3181 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 3221 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 3182 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 3222 test_url_, DEFAULT_PRIORITY, BoundNetLog()); | 3183 test_url_, DEFAULT_PRIORITY, BoundNetLog()); |
| 3223 ASSERT_TRUE(spdy_stream1.get()); | 3184 ASSERT_TRUE(spdy_stream1.get()); |
| 3224 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 3185 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 3225 spdy_stream1->SetDelegate(&delegate1); | 3186 spdy_stream1->SetDelegate(&delegate1); |
| 3226 | 3187 |
| 3227 std::unique_ptr<SpdyHeaderBlock> headers1( | 3188 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 3228 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 3229 EXPECT_EQ(ERR_IO_PENDING, spdy_stream1->SendRequestHeaders( | 3189 EXPECT_EQ(ERR_IO_PENDING, spdy_stream1->SendRequestHeaders( |
| 3230 std::move(headers1), NO_MORE_DATA_TO_SEND)); | 3190 std::move(headers1), NO_MORE_DATA_TO_SEND)); |
| 3231 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 3191 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 3232 | 3192 |
| 3233 base::RunLoop().RunUntilIdle(); | 3193 base::RunLoop().RunUntilIdle(); |
| 3234 | 3194 |
| 3235 // Trying to create a new connection should cause the pool to be stalled, and | 3195 // Trying to create a new connection should cause the pool to be stalled, and |
| 3236 // post a task asynchronously to try and close the session. | 3196 // post a task asynchronously to try and close the session. |
| 3237 TestCompletionCallback callback2; | 3197 TestCompletionCallback callback2; |
| 3238 HostPortPair host_port2("2.com", 80); | 3198 HostPortPair host_port2("2.com", 80); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3347 CreateInsecureSpdySession(); | 3307 CreateInsecureSpdySession(); |
| 3348 | 3308 |
| 3349 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 3309 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 3350 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3310 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3351 ASSERT_TRUE(spdy_stream); | 3311 ASSERT_TRUE(spdy_stream); |
| 3352 EXPECT_EQ(0u, spdy_stream->stream_id()); | 3312 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 3353 | 3313 |
| 3354 StreamCreatingDelegate delegate(spdy_stream, session_); | 3314 StreamCreatingDelegate delegate(spdy_stream, session_); |
| 3355 spdy_stream->SetDelegate(&delegate); | 3315 spdy_stream->SetDelegate(&delegate); |
| 3356 | 3316 |
| 3357 std::unique_ptr<SpdyHeaderBlock> headers( | 3317 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 3358 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 3359 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 3318 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 3360 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 3319 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 3361 | 3320 |
| 3362 EXPECT_EQ(0u, spdy_stream->stream_id()); | 3321 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 3363 | 3322 |
| 3364 base::RunLoop().RunUntilIdle(); | 3323 base::RunLoop().RunUntilIdle(); |
| 3365 | 3324 |
| 3366 EXPECT_EQ(1u, spdy_stream->stream_id()); | 3325 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 3367 | 3326 |
| 3368 // Cause the stream to be reset, which should cause another stream | 3327 // Cause the stream to be reset, which should cause another stream |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3624 pool_peer.SetStreamInitialRecvWindowSize(stream_max_recv_window_size); | 3583 pool_peer.SetStreamInitialRecvWindowSize(stream_max_recv_window_size); |
| 3625 CreateInsecureSpdySession(); | 3584 CreateInsecureSpdySession(); |
| 3626 | 3585 |
| 3627 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 3586 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 3628 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 3587 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 3629 EXPECT_EQ(stream_max_recv_window_size, spdy_stream->recv_window_size()); | 3588 EXPECT_EQ(stream_max_recv_window_size, spdy_stream->recv_window_size()); |
| 3630 | 3589 |
| 3631 test::StreamDelegateDoNothing delegate(spdy_stream); | 3590 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 3632 spdy_stream->SetDelegate(&delegate); | 3591 spdy_stream->SetDelegate(&delegate); |
| 3633 | 3592 |
| 3634 std::unique_ptr<SpdyHeaderBlock> headers( | 3593 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 3635 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 3636 EXPECT_EQ(ERR_IO_PENDING, spdy_stream->SendRequestHeaders( | 3594 EXPECT_EQ(ERR_IO_PENDING, spdy_stream->SendRequestHeaders( |
| 3637 std::move(headers), NO_MORE_DATA_TO_SEND)); | 3595 std::move(headers), NO_MORE_DATA_TO_SEND)); |
| 3638 | 3596 |
| 3639 // Request and response. | 3597 // Request and response. |
| 3640 base::RunLoop().RunUntilIdle(); | 3598 base::RunLoop().RunUntilIdle(); |
| 3641 EXPECT_EQ(1u, spdy_stream->stream_id()); | 3599 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 3642 | 3600 |
| 3643 // Too large data frame causes flow control error, should close stream. | 3601 // Too large data frame causes flow control error, should close stream. |
| 3644 data.Resume(); | 3602 data.Resume(); |
| 3645 base::RunLoop().RunUntilIdle(); | 3603 base::RunLoop().RunUntilIdle(); |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3762 SpdySessionPoolPeer pool_peer(spdy_session_pool_); | 3720 SpdySessionPoolPeer pool_peer(spdy_session_pool_); |
| 3763 pool_peer.SetStreamInitialRecvWindowSize(stream_max_recv_window_size); | 3721 pool_peer.SetStreamInitialRecvWindowSize(stream_max_recv_window_size); |
| 3764 | 3722 |
| 3765 CreateInsecureSpdySession(); | 3723 CreateInsecureSpdySession(); |
| 3766 | 3724 |
| 3767 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 3725 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 3768 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 3726 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 3769 test::StreamDelegateDoNothing delegate(spdy_stream); | 3727 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 3770 spdy_stream->SetDelegate(&delegate); | 3728 spdy_stream->SetDelegate(&delegate); |
| 3771 | 3729 |
| 3772 std::unique_ptr<SpdyHeaderBlock> headers( | 3730 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 3773 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 3774 EXPECT_EQ(ERR_IO_PENDING, spdy_stream->SendRequestHeaders( | 3731 EXPECT_EQ(ERR_IO_PENDING, spdy_stream->SendRequestHeaders( |
| 3775 std::move(headers), NO_MORE_DATA_TO_SEND)); | 3732 std::move(headers), NO_MORE_DATA_TO_SEND)); |
| 3776 | 3733 |
| 3777 // Request and response. | 3734 // Request and response. |
| 3778 base::RunLoop().RunUntilIdle(); | 3735 base::RunLoop().RunUntilIdle(); |
| 3779 EXPECT_TRUE(spdy_stream->IsLocallyClosed()); | 3736 EXPECT_TRUE(spdy_stream->IsLocallyClosed()); |
| 3780 EXPECT_EQ(stream_max_recv_window_size, spdy_stream->recv_window_size()); | 3737 EXPECT_EQ(stream_max_recv_window_size, spdy_stream->recv_window_size()); |
| 3781 | 3738 |
| 3782 // First data frame. | 3739 // First data frame. |
| 3783 data.Resume(); | 3740 data.Resume(); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3855 CreateInsecureSpdySession(); | 3812 CreateInsecureSpdySession(); |
| 3856 | 3813 |
| 3857 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 3814 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 3858 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3815 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3859 ASSERT_TRUE(stream); | 3816 ASSERT_TRUE(stream); |
| 3860 EXPECT_EQ(0u, stream->stream_id()); | 3817 EXPECT_EQ(0u, stream->stream_id()); |
| 3861 | 3818 |
| 3862 DropReceivedDataDelegate delegate(stream, msg_data); | 3819 DropReceivedDataDelegate delegate(stream, msg_data); |
| 3863 stream->SetDelegate(&delegate); | 3820 stream->SetDelegate(&delegate); |
| 3864 | 3821 |
| 3865 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( | 3822 SpdyHeaderBlock headers( |
| 3866 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize))); | 3823 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); |
| 3867 EXPECT_EQ(ERR_IO_PENDING, | 3824 EXPECT_EQ(ERR_IO_PENDING, |
| 3868 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 3825 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 3869 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 3826 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 3870 | 3827 |
| 3871 const int32_t initial_window_size = kDefaultInitialWindowSize; | 3828 const int32_t initial_window_size = kDefaultInitialWindowSize; |
| 3872 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); | 3829 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); |
| 3873 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); | 3830 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); |
| 3874 | 3831 |
| 3875 base::RunLoop().RunUntilIdle(); | 3832 base::RunLoop().RunUntilIdle(); |
| 3876 | 3833 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3920 CreateInsecureSpdySession(); | 3877 CreateInsecureSpdySession(); |
| 3921 | 3878 |
| 3922 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 3879 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 3923 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3880 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3924 ASSERT_TRUE(stream); | 3881 ASSERT_TRUE(stream); |
| 3925 EXPECT_EQ(0u, stream->stream_id()); | 3882 EXPECT_EQ(0u, stream->stream_id()); |
| 3926 | 3883 |
| 3927 test::StreamDelegateSendImmediate delegate(stream, msg_data); | 3884 test::StreamDelegateSendImmediate delegate(stream, msg_data); |
| 3928 stream->SetDelegate(&delegate); | 3885 stream->SetDelegate(&delegate); |
| 3929 | 3886 |
| 3930 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( | 3887 SpdyHeaderBlock headers( |
| 3931 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize))); | 3888 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); |
| 3932 EXPECT_EQ(ERR_IO_PENDING, | 3889 EXPECT_EQ(ERR_IO_PENDING, |
| 3933 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 3890 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 3934 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 3891 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 3935 | 3892 |
| 3936 const int32_t initial_window_size = kDefaultInitialWindowSize; | 3893 const int32_t initial_window_size = kDefaultInitialWindowSize; |
| 3937 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); | 3894 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); |
| 3938 | 3895 |
| 3939 // Write request. | 3896 // Write request. |
| 3940 base::RunLoop().RunUntilIdle(); | 3897 base::RunLoop().RunUntilIdle(); |
| 3941 | 3898 |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4004 CreateInsecureSpdySession(); | 3961 CreateInsecureSpdySession(); |
| 4005 | 3962 |
| 4006 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 3963 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 4007 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3964 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 4008 ASSERT_TRUE(stream); | 3965 ASSERT_TRUE(stream); |
| 4009 EXPECT_EQ(0u, stream->stream_id()); | 3966 EXPECT_EQ(0u, stream->stream_id()); |
| 4010 | 3967 |
| 4011 test::StreamDelegateSendImmediate delegate(stream, msg_data); | 3968 test::StreamDelegateSendImmediate delegate(stream, msg_data); |
| 4012 stream->SetDelegate(&delegate); | 3969 stream->SetDelegate(&delegate); |
| 4013 | 3970 |
| 4014 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( | 3971 SpdyHeaderBlock headers( |
| 4015 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize))); | 3972 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); |
| 4016 EXPECT_EQ(ERR_IO_PENDING, | 3973 EXPECT_EQ(ERR_IO_PENDING, |
| 4017 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 3974 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 4018 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 3975 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 4019 | 3976 |
| 4020 const int32_t initial_window_size = kDefaultInitialWindowSize; | 3977 const int32_t initial_window_size = kDefaultInitialWindowSize; |
| 4021 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); | 3978 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); |
| 4022 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); | 3979 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); |
| 4023 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); | 3980 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); |
| 4024 | 3981 |
| 4025 // Send request and message. | 3982 // Send request and message. |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4104 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 4061 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 4105 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4062 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4106 ASSERT_TRUE(stream); | 4063 ASSERT_TRUE(stream); |
| 4107 | 4064 |
| 4108 test::StreamDelegateWithBody delegate(stream, kBodyDataStringPiece); | 4065 test::StreamDelegateWithBody delegate(stream, kBodyDataStringPiece); |
| 4109 stream->SetDelegate(&delegate); | 4066 stream->SetDelegate(&delegate); |
| 4110 | 4067 |
| 4111 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 4068 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 4112 EXPECT_FALSE(stream->send_stalled_by_flow_control()); | 4069 EXPECT_FALSE(stream->send_stalled_by_flow_control()); |
| 4113 | 4070 |
| 4114 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( | 4071 SpdyHeaderBlock headers( |
| 4115 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize))); | 4072 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4116 EXPECT_EQ(ERR_IO_PENDING, | 4073 EXPECT_EQ(ERR_IO_PENDING, |
| 4117 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 4074 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 4118 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 4075 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 4119 EXPECT_EQ(kDefaultUrl, stream->GetUrlFromHeaders().spec()); | 4076 EXPECT_EQ(kDefaultUrl, stream->GetUrlFromHeaders().spec()); |
| 4120 | 4077 |
| 4121 stall_function.Run(stream.get()); | 4078 stall_function.Run(stream.get()); |
| 4122 | 4079 |
| 4123 base::RunLoop().RunUntilIdle(); | 4080 base::RunLoop().RunUntilIdle(); |
| 4124 | 4081 |
| 4125 EXPECT_TRUE(stream->send_stalled_by_flow_control()); | 4082 EXPECT_TRUE(stream->send_stalled_by_flow_control()); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4243 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); | 4200 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); |
| 4244 stream2->SetDelegate(&delegate2); | 4201 stream2->SetDelegate(&delegate2); |
| 4245 | 4202 |
| 4246 EXPECT_FALSE(stream2->HasUrlFromHeaders()); | 4203 EXPECT_FALSE(stream2->HasUrlFromHeaders()); |
| 4247 | 4204 |
| 4248 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4205 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4249 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4206 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4250 | 4207 |
| 4251 StallSessionSend(); | 4208 StallSessionSend(); |
| 4252 | 4209 |
| 4253 std::unique_ptr<SpdyHeaderBlock> headers1(new SpdyHeaderBlock( | 4210 SpdyHeaderBlock headers1( |
| 4254 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize))); | 4211 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4255 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4212 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4256 MORE_DATA_TO_SEND)); | 4213 MORE_DATA_TO_SEND)); |
| 4257 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | 4214 EXPECT_TRUE(stream1->HasUrlFromHeaders()); |
| 4258 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); | 4215 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); |
| 4259 | 4216 |
| 4260 base::RunLoop().RunUntilIdle(); | 4217 base::RunLoop().RunUntilIdle(); |
| 4261 EXPECT_EQ(1u, stream1->stream_id()); | 4218 EXPECT_EQ(1u, stream1->stream_id()); |
| 4262 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4219 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4263 | 4220 |
| 4264 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock( | 4221 SpdyHeaderBlock headers2( |
| 4265 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize))); | 4222 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4266 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4223 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4267 MORE_DATA_TO_SEND)); | 4224 MORE_DATA_TO_SEND)); |
| 4268 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | 4225 EXPECT_TRUE(stream2->HasUrlFromHeaders()); |
| 4269 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); | 4226 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); |
| 4270 | 4227 |
| 4271 base::RunLoop().RunUntilIdle(); | 4228 base::RunLoop().RunUntilIdle(); |
| 4272 EXPECT_EQ(3u, stream2->stream_id()); | 4229 EXPECT_EQ(3u, stream2->stream_id()); |
| 4273 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4230 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4274 | 4231 |
| 4275 // This should unstall only stream2. | 4232 // This should unstall only stream2. |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4392 stream3->SetDelegate(&delegate3); | 4349 stream3->SetDelegate(&delegate3); |
| 4393 | 4350 |
| 4394 EXPECT_FALSE(stream3->HasUrlFromHeaders()); | 4351 EXPECT_FALSE(stream3->HasUrlFromHeaders()); |
| 4395 | 4352 |
| 4396 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4353 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4397 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4354 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4398 EXPECT_FALSE(stream3->send_stalled_by_flow_control()); | 4355 EXPECT_FALSE(stream3->send_stalled_by_flow_control()); |
| 4399 | 4356 |
| 4400 StallSessionSend(); | 4357 StallSessionSend(); |
| 4401 | 4358 |
| 4402 std::unique_ptr<SpdyHeaderBlock> headers1(new SpdyHeaderBlock( | 4359 SpdyHeaderBlock headers1( |
| 4403 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize))); | 4360 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4404 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4361 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4405 MORE_DATA_TO_SEND)); | 4362 MORE_DATA_TO_SEND)); |
| 4406 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | 4363 EXPECT_TRUE(stream1->HasUrlFromHeaders()); |
| 4407 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); | 4364 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); |
| 4408 | 4365 |
| 4409 base::RunLoop().RunUntilIdle(); | 4366 base::RunLoop().RunUntilIdle(); |
| 4410 EXPECT_EQ(1u, stream1->stream_id()); | 4367 EXPECT_EQ(1u, stream1->stream_id()); |
| 4411 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4368 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4412 | 4369 |
| 4413 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock( | 4370 SpdyHeaderBlock headers2( |
| 4414 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize))); | 4371 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4415 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4372 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4416 MORE_DATA_TO_SEND)); | 4373 MORE_DATA_TO_SEND)); |
| 4417 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | 4374 EXPECT_TRUE(stream2->HasUrlFromHeaders()); |
| 4418 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); | 4375 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); |
| 4419 | 4376 |
| 4420 base::RunLoop().RunUntilIdle(); | 4377 base::RunLoop().RunUntilIdle(); |
| 4421 EXPECT_EQ(3u, stream2->stream_id()); | 4378 EXPECT_EQ(3u, stream2->stream_id()); |
| 4422 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4379 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4423 | 4380 |
| 4424 std::unique_ptr<SpdyHeaderBlock> headers3(new SpdyHeaderBlock( | 4381 SpdyHeaderBlock headers3( |
| 4425 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize))); | 4382 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4426 EXPECT_EQ(ERR_IO_PENDING, stream3->SendRequestHeaders(std::move(headers3), | 4383 EXPECT_EQ(ERR_IO_PENDING, stream3->SendRequestHeaders(std::move(headers3), |
| 4427 MORE_DATA_TO_SEND)); | 4384 MORE_DATA_TO_SEND)); |
| 4428 EXPECT_TRUE(stream3->HasUrlFromHeaders()); | 4385 EXPECT_TRUE(stream3->HasUrlFromHeaders()); |
| 4429 EXPECT_EQ(kDefaultUrl, stream3->GetUrlFromHeaders().spec()); | 4386 EXPECT_EQ(kDefaultUrl, stream3->GetUrlFromHeaders().spec()); |
| 4430 | 4387 |
| 4431 base::RunLoop().RunUntilIdle(); | 4388 base::RunLoop().RunUntilIdle(); |
| 4432 EXPECT_EQ(5u, stream3->stream_id()); | 4389 EXPECT_EQ(5u, stream3->stream_id()); |
| 4433 EXPECT_TRUE(stream3->send_stalled_by_flow_control()); | 4390 EXPECT_TRUE(stream3->send_stalled_by_flow_control()); |
| 4434 | 4391 |
| 4435 SpdyStreamId stream_id1 = stream1->stream_id(); | 4392 SpdyStreamId stream_id1 = stream1->stream_id(); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4521 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); | 4478 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); |
| 4522 stream2->SetDelegate(&delegate2); | 4479 stream2->SetDelegate(&delegate2); |
| 4523 | 4480 |
| 4524 EXPECT_FALSE(stream2->HasUrlFromHeaders()); | 4481 EXPECT_FALSE(stream2->HasUrlFromHeaders()); |
| 4525 | 4482 |
| 4526 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4483 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4527 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4484 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4528 | 4485 |
| 4529 StallSessionSend(); | 4486 StallSessionSend(); |
| 4530 | 4487 |
| 4531 std::unique_ptr<SpdyHeaderBlock> headers1(new SpdyHeaderBlock( | 4488 SpdyHeaderBlock headers1( |
| 4532 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize))); | 4489 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4533 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4490 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4534 MORE_DATA_TO_SEND)); | 4491 MORE_DATA_TO_SEND)); |
| 4535 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | 4492 EXPECT_TRUE(stream1->HasUrlFromHeaders()); |
| 4536 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); | 4493 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); |
| 4537 | 4494 |
| 4538 base::RunLoop().RunUntilIdle(); | 4495 base::RunLoop().RunUntilIdle(); |
| 4539 EXPECT_EQ(1u, stream1->stream_id()); | 4496 EXPECT_EQ(1u, stream1->stream_id()); |
| 4540 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4497 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4541 | 4498 |
| 4542 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock( | 4499 SpdyHeaderBlock headers2( |
| 4543 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize))); | 4500 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4544 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4501 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4545 MORE_DATA_TO_SEND)); | 4502 MORE_DATA_TO_SEND)); |
| 4546 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | 4503 EXPECT_TRUE(stream2->HasUrlFromHeaders()); |
| 4547 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); | 4504 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); |
| 4548 | 4505 |
| 4549 base::RunLoop().RunUntilIdle(); | 4506 base::RunLoop().RunUntilIdle(); |
| 4550 EXPECT_EQ(3u, stream2->stream_id()); | 4507 EXPECT_EQ(3u, stream2->stream_id()); |
| 4551 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4508 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4552 | 4509 |
| 4553 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 4510 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4602 | 4559 |
| 4603 CreateNetworkSession(); | 4560 CreateNetworkSession(); |
| 4604 CreateInsecureSpdySession(); | 4561 CreateInsecureSpdySession(); |
| 4605 | 4562 |
| 4606 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 4563 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 4607 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4564 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4608 ASSERT_TRUE(spdy_stream); | 4565 ASSERT_TRUE(spdy_stream); |
| 4609 test::StreamDelegateDoNothing delegate(spdy_stream); | 4566 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 4610 spdy_stream->SetDelegate(&delegate); | 4567 spdy_stream->SetDelegate(&delegate); |
| 4611 | 4568 |
| 4612 std::unique_ptr<SpdyHeaderBlock> headers( | 4569 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4613 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 4614 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4570 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4615 | 4571 |
| 4616 // Write request. | 4572 // Write request. |
| 4617 base::RunLoop().RunUntilIdle(); | 4573 base::RunLoop().RunUntilIdle(); |
| 4618 | 4574 |
| 4619 // Put session on the edge of overflowing it's recv window. | 4575 // Put session on the edge of overflowing it's recv window. |
| 4620 session_->session_recv_window_size_ = 1; | 4576 session_->session_recv_window_size_ = 1; |
| 4621 | 4577 |
| 4622 // Read response headers & body. Body overflows the session window, and a | 4578 // Read response headers & body. Body overflows the session window, and a |
| 4623 // goaway is written. | 4579 // goaway is written. |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4668 ASSERT_TRUE(spdy_stream1); | 4624 ASSERT_TRUE(spdy_stream1); |
| 4669 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 4625 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 4670 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4626 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 4671 spdy_stream1->SetDelegate(&delegate1); | 4627 spdy_stream1->SetDelegate(&delegate1); |
| 4672 | 4628 |
| 4673 EXPECT_EQ(0u, session_->num_active_streams()); | 4629 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4674 EXPECT_EQ(1u, session_->num_created_streams()); | 4630 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4675 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4631 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4676 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4632 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4677 | 4633 |
| 4678 std::unique_ptr<SpdyHeaderBlock> headers( | 4634 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4679 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 4680 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4635 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4681 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 4636 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 4682 | 4637 |
| 4683 // Run until 1st stream is activated. | 4638 // Run until 1st stream is activated. |
| 4684 EXPECT_EQ(0u, delegate1.stream_id()); | 4639 EXPECT_EQ(0u, delegate1.stream_id()); |
| 4685 base::RunLoop().RunUntilIdle(); | 4640 base::RunLoop().RunUntilIdle(); |
| 4686 EXPECT_EQ(1u, delegate1.stream_id()); | 4641 EXPECT_EQ(1u, delegate1.stream_id()); |
| 4687 EXPECT_EQ(1u, session_->num_active_streams()); | 4642 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4688 EXPECT_EQ(0u, session_->num_created_streams()); | 4643 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4689 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4644 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4748 ASSERT_TRUE(spdy_stream1); | 4703 ASSERT_TRUE(spdy_stream1); |
| 4749 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 4704 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 4750 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4705 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 4751 spdy_stream1->SetDelegate(&delegate1); | 4706 spdy_stream1->SetDelegate(&delegate1); |
| 4752 | 4707 |
| 4753 EXPECT_EQ(0u, session_->num_active_streams()); | 4708 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4754 EXPECT_EQ(1u, session_->num_created_streams()); | 4709 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4755 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4710 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4756 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4711 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4757 | 4712 |
| 4758 std::unique_ptr<SpdyHeaderBlock> headers( | 4713 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4759 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 4760 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4714 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4761 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 4715 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 4762 | 4716 |
| 4763 // Run until 1st stream is activated. | 4717 // Run until 1st stream is activated. |
| 4764 EXPECT_EQ(0u, delegate1.stream_id()); | 4718 EXPECT_EQ(0u, delegate1.stream_id()); |
| 4765 base::RunLoop().RunUntilIdle(); | 4719 base::RunLoop().RunUntilIdle(); |
| 4766 EXPECT_EQ(1u, delegate1.stream_id()); | 4720 EXPECT_EQ(1u, delegate1.stream_id()); |
| 4767 EXPECT_EQ(1u, session_->num_active_streams()); | 4721 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4768 EXPECT_EQ(0u, session_->num_created_streams()); | 4722 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4769 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4723 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4855 ASSERT_TRUE(spdy_stream); | 4809 ASSERT_TRUE(spdy_stream); |
| 4856 EXPECT_EQ(0u, spdy_stream->stream_id()); | 4810 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 4857 test::StreamDelegateDoNothing delegate(spdy_stream); | 4811 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 4858 spdy_stream->SetDelegate(&delegate); | 4812 spdy_stream->SetDelegate(&delegate); |
| 4859 | 4813 |
| 4860 EXPECT_EQ(0u, session_->num_active_streams()); | 4814 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4861 EXPECT_EQ(1u, session_->num_created_streams()); | 4815 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4862 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4816 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4863 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4817 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4864 | 4818 |
| 4865 std::unique_ptr<SpdyHeaderBlock> headers( | 4819 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4866 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 4867 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4820 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4868 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 4821 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 4869 | 4822 |
| 4870 // Run until 1st stream is activated. | 4823 // Run until 1st stream is activated. |
| 4871 EXPECT_EQ(0u, delegate.stream_id()); | 4824 EXPECT_EQ(0u, delegate.stream_id()); |
| 4872 base::RunLoop().RunUntilIdle(); | 4825 base::RunLoop().RunUntilIdle(); |
| 4873 EXPECT_EQ(1u, delegate.stream_id()); | 4826 EXPECT_EQ(1u, delegate.stream_id()); |
| 4874 EXPECT_EQ(1u, session_->num_active_streams()); | 4827 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4875 EXPECT_EQ(0u, session_->num_created_streams()); | 4828 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4876 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4829 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4947 ASSERT_TRUE(spdy_stream); | 4900 ASSERT_TRUE(spdy_stream); |
| 4948 EXPECT_EQ(0u, spdy_stream->stream_id()); | 4901 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 4949 test::StreamDelegateDoNothing delegate(spdy_stream); | 4902 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 4950 spdy_stream->SetDelegate(&delegate); | 4903 spdy_stream->SetDelegate(&delegate); |
| 4951 | 4904 |
| 4952 EXPECT_EQ(0u, session_->num_active_streams()); | 4905 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4953 EXPECT_EQ(1u, session_->num_created_streams()); | 4906 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4954 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4907 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4955 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4908 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4956 | 4909 |
| 4957 std::unique_ptr<SpdyHeaderBlock> headers( | 4910 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4958 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 4959 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4911 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4960 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 4912 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 4961 | 4913 |
| 4962 // Run until 1st stream is activated. | 4914 // Run until 1st stream is activated. |
| 4963 EXPECT_EQ(0u, delegate.stream_id()); | 4915 EXPECT_EQ(0u, delegate.stream_id()); |
| 4964 base::RunLoop().RunUntilIdle(); | 4916 base::RunLoop().RunUntilIdle(); |
| 4965 EXPECT_EQ(1u, delegate.stream_id()); | 4917 EXPECT_EQ(1u, delegate.stream_id()); |
| 4966 EXPECT_EQ(1u, session_->num_active_streams()); | 4918 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4967 EXPECT_EQ(0u, session_->num_created_streams()); | 4919 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4968 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4920 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5015 ASSERT_TRUE(spdy_stream1); | 4967 ASSERT_TRUE(spdy_stream1); |
| 5016 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 4968 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 5017 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4969 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5018 spdy_stream1->SetDelegate(&delegate1); | 4970 spdy_stream1->SetDelegate(&delegate1); |
| 5019 | 4971 |
| 5020 EXPECT_EQ(0u, session_->num_active_streams()); | 4972 EXPECT_EQ(0u, session_->num_active_streams()); |
| 5021 EXPECT_EQ(1u, session_->num_created_streams()); | 4973 EXPECT_EQ(1u, session_->num_created_streams()); |
| 5022 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4974 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 5023 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4975 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 5024 | 4976 |
| 5025 std::unique_ptr<SpdyHeaderBlock> headers( | 4977 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 5026 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 5027 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4978 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5028 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 4979 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 5029 | 4980 |
| 5030 // Run until 1st stream is activated. | 4981 // Run until 1st stream is activated. |
| 5031 EXPECT_EQ(0u, delegate1.stream_id()); | 4982 EXPECT_EQ(0u, delegate1.stream_id()); |
| 5032 base::RunLoop().RunUntilIdle(); | 4983 base::RunLoop().RunUntilIdle(); |
| 5033 EXPECT_EQ(1u, delegate1.stream_id()); | 4984 EXPECT_EQ(1u, delegate1.stream_id()); |
| 5034 EXPECT_EQ(1u, session_->num_active_streams()); | 4985 EXPECT_EQ(1u, session_->num_active_streams()); |
| 5035 EXPECT_EQ(0u, session_->num_created_streams()); | 4986 EXPECT_EQ(0u, session_->num_created_streams()); |
| 5036 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4987 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5103 ASSERT_TRUE(spdy_stream1); | 5054 ASSERT_TRUE(spdy_stream1); |
| 5104 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 5055 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 5105 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5056 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5106 spdy_stream1->SetDelegate(&delegate1); | 5057 spdy_stream1->SetDelegate(&delegate1); |
| 5107 | 5058 |
| 5108 EXPECT_EQ(0u, session_->num_active_streams()); | 5059 EXPECT_EQ(0u, session_->num_active_streams()); |
| 5109 EXPECT_EQ(1u, session_->num_created_streams()); | 5060 EXPECT_EQ(1u, session_->num_created_streams()); |
| 5110 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5061 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 5111 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 5062 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 5112 | 5063 |
| 5113 std::unique_ptr<SpdyHeaderBlock> headers( | 5064 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 5114 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl))); | |
| 5115 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5065 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5116 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 5066 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 5117 | 5067 |
| 5118 // Run until 1st stream is activated. | 5068 // Run until 1st stream is activated. |
| 5119 EXPECT_EQ(0u, delegate1.stream_id()); | 5069 EXPECT_EQ(0u, delegate1.stream_id()); |
| 5120 base::RunLoop().RunUntilIdle(); | 5070 base::RunLoop().RunUntilIdle(); |
| 5121 EXPECT_EQ(1u, delegate1.stream_id()); | 5071 EXPECT_EQ(1u, delegate1.stream_id()); |
| 5122 EXPECT_EQ(1u, session_->num_active_streams()); | 5072 EXPECT_EQ(1u, session_->num_active_streams()); |
| 5123 EXPECT_EQ(0u, session_->num_created_streams()); | 5073 EXPECT_EQ(0u, session_->num_created_streams()); |
| 5124 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5074 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5355 | 5305 |
| 5356 CreateNetworkSession(); | 5306 CreateNetworkSession(); |
| 5357 CreateSecureSpdySession(); | 5307 CreateSecureSpdySession(); |
| 5358 | 5308 |
| 5359 base::WeakPtr<SpdyStream> spdy_stream1 = | 5309 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 5360 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 5310 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 5361 GURL(request_origin), MEDIUM, BoundNetLog()); | 5311 GURL(request_origin), MEDIUM, BoundNetLog()); |
| 5362 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5312 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5363 spdy_stream1->SetDelegate(&delegate1); | 5313 spdy_stream1->SetDelegate(&delegate1); |
| 5364 | 5314 |
| 5365 std::unique_ptr<SpdyHeaderBlock> headers( | 5315 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(request_origin)); |
| 5366 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(request_origin))); | |
| 5367 | 5316 |
| 5368 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5317 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5369 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 5318 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 5370 | 5319 |
| 5371 base::RunLoop().RunUntilIdle(); | 5320 base::RunLoop().RunUntilIdle(); |
| 5372 | 5321 |
| 5373 const url::SchemeHostPort session_origin("https", test_url_.host(), | 5322 const url::SchemeHostPort session_origin("https", test_url_.host(), |
| 5374 test_url_.EffectiveIntPort()); | 5323 test_url_.EffectiveIntPort()); |
| 5375 AlternativeServiceVector altsvc_vector = | 5324 AlternativeServiceVector altsvc_vector = |
| 5376 spdy_session_pool_->http_server_properties()->GetAlternativeServices( | 5325 spdy_session_pool_->http_server_properties()->GetAlternativeServices( |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5411 | 5360 |
| 5412 CreateNetworkSession(); | 5361 CreateNetworkSession(); |
| 5413 CreateSecureSpdySession(); | 5362 CreateSecureSpdySession(); |
| 5414 | 5363 |
| 5415 base::WeakPtr<SpdyStream> spdy_stream1 = | 5364 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 5416 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 5365 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 5417 GURL(request_origin), MEDIUM, BoundNetLog()); | 5366 GURL(request_origin), MEDIUM, BoundNetLog()); |
| 5418 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5367 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5419 spdy_stream1->SetDelegate(&delegate1); | 5368 spdy_stream1->SetDelegate(&delegate1); |
| 5420 | 5369 |
| 5421 std::unique_ptr<SpdyHeaderBlock> headers( | 5370 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(request_origin)); |
| 5422 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(request_origin))); | |
| 5423 | 5371 |
| 5424 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5372 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5425 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 5373 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 5426 | 5374 |
| 5427 base::RunLoop().RunUntilIdle(); | 5375 base::RunLoop().RunUntilIdle(); |
| 5428 | 5376 |
| 5429 const url::SchemeHostPort session_origin("https", test_url_.host(), | 5377 const url::SchemeHostPort session_origin("https", test_url_.host(), |
| 5430 test_url_.EffectiveIntPort()); | 5378 test_url_.EffectiveIntPort()); |
| 5431 AlternativeServiceVector altsvc_vector = | 5379 AlternativeServiceVector altsvc_vector = |
| 5432 spdy_session_pool_->http_server_properties()->GetAlternativeServices( | 5380 spdy_session_pool_->http_server_properties()->GetAlternativeServices( |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5687 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(), | 5635 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(), |
| 5688 "spdy_pooling.pem"); | 5636 "spdy_pooling.pem"); |
| 5689 ssl_info.is_issued_by_known_root = true; | 5637 ssl_info.is_issued_by_known_root = true; |
| 5690 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin)); | 5638 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin)); |
| 5691 | 5639 |
| 5692 EXPECT_TRUE(SpdySession::CanPool( | 5640 EXPECT_TRUE(SpdySession::CanPool( |
| 5693 &tss, ssl_info, "www.example.org", "mail.example.org")); | 5641 &tss, ssl_info, "www.example.org", "mail.example.org")); |
| 5694 } | 5642 } |
| 5695 | 5643 |
| 5696 } // namespace net | 5644 } // namespace net |
| OLD | NEW |