| 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 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 390 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 391 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 391 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 392 spdy_stream1->SetDelegate(&delegate1); | 392 spdy_stream1->SetDelegate(&delegate1); |
| 393 | 393 |
| 394 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 394 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 395 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 395 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 396 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 396 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 397 spdy_stream2->SetDelegate(&delegate2); | 397 spdy_stream2->SetDelegate(&delegate2); |
| 398 | 398 |
| 399 std::unique_ptr<SpdyHeaderBlock> headers( | 399 std::unique_ptr<SpdyHeaderBlock> headers( |
| 400 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 400 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 401 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock(*headers)); | 401 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock(*headers)); |
| 402 | 402 |
| 403 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 403 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 404 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 404 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 405 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 405 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 406 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 406 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 407 | 407 |
| 408 base::RunLoop().RunUntilIdle(); | 408 base::RunLoop().RunUntilIdle(); |
| 409 | 409 |
| 410 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 410 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 CreateNetworkSession(); | 456 CreateNetworkSession(); |
| 457 CreateInsecureSpdySession(); | 457 CreateInsecureSpdySession(); |
| 458 | 458 |
| 459 EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); | 459 EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
| 460 | 460 |
| 461 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 461 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 462 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 462 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 463 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 463 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 464 spdy_stream1->SetDelegate(&delegate1); | 464 spdy_stream1->SetDelegate(&delegate1); |
| 465 std::unique_ptr<SpdyHeaderBlock> headers1( | 465 std::unique_ptr<SpdyHeaderBlock> headers1( |
| 466 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 466 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 467 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 467 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 468 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 468 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 469 | 469 |
| 470 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 470 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 471 | 471 |
| 472 // Active stream 1. | 472 // Active stream 1. |
| 473 base::RunLoop().RunUntilIdle(); | 473 base::RunLoop().RunUntilIdle(); |
| 474 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 474 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 475 EXPECT_TRUE(session_->IsStreamActive(1)); | 475 EXPECT_TRUE(session_->IsStreamActive(1)); |
| 476 | 476 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 529 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 530 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 530 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 531 spdy_stream1->SetDelegate(&delegate1); | 531 spdy_stream1->SetDelegate(&delegate1); |
| 532 | 532 |
| 533 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 533 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 534 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 534 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 535 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 535 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 536 spdy_stream2->SetDelegate(&delegate2); | 536 spdy_stream2->SetDelegate(&delegate2); |
| 537 | 537 |
| 538 std::unique_ptr<SpdyHeaderBlock> headers( | 538 std::unique_ptr<SpdyHeaderBlock> headers( |
| 539 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 539 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 540 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock(*headers)); | 540 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock(*headers)); |
| 541 | 541 |
| 542 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 542 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 543 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 543 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 544 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 544 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 545 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 545 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 546 | 546 |
| 547 base::RunLoop().RunUntilIdle(); | 547 base::RunLoop().RunUntilIdle(); |
| 548 | 548 |
| 549 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 549 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 603 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 603 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 604 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 604 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 605 spdy_stream1->SetDelegate(&delegate1); | 605 spdy_stream1->SetDelegate(&delegate1); |
| 606 | 606 |
| 607 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 607 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 608 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 608 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 609 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 609 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 610 spdy_stream2->SetDelegate(&delegate2); | 610 spdy_stream2->SetDelegate(&delegate2); |
| 611 | 611 |
| 612 std::unique_ptr<SpdyHeaderBlock> headers( | 612 std::unique_ptr<SpdyHeaderBlock> headers( |
| 613 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 613 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 614 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock(*headers)); | 614 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock(*headers)); |
| 615 | 615 |
| 616 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 616 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 617 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 617 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 618 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 618 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 619 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 619 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 620 | 620 |
| 621 base::RunLoop().RunUntilIdle(); | 621 base::RunLoop().RunUntilIdle(); |
| 622 | 622 |
| 623 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 623 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 688 | 688 |
| 689 CreateNetworkSession(); | 689 CreateNetworkSession(); |
| 690 CreateInsecureSpdySession(); | 690 CreateInsecureSpdySession(); |
| 691 | 691 |
| 692 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 692 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 693 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 693 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 694 test::StreamDelegateDoNothing delegate(spdy_stream); | 694 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 695 spdy_stream->SetDelegate(&delegate); | 695 spdy_stream->SetDelegate(&delegate); |
| 696 | 696 |
| 697 std::unique_ptr<SpdyHeaderBlock> headers( | 697 std::unique_ptr<SpdyHeaderBlock> headers( |
| 698 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 698 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 699 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 699 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 700 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 700 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 701 | 701 |
| 702 base::RunLoop().RunUntilIdle(); | 702 base::RunLoop().RunUntilIdle(); |
| 703 | 703 |
| 704 // Stream and session closed gracefully. | 704 // Stream and session closed gracefully. |
| 705 EXPECT_TRUE(delegate.StreamIsClosed()); | 705 EXPECT_TRUE(delegate.StreamIsClosed()); |
| 706 EXPECT_EQ(OK, delegate.WaitForClose()); | 706 EXPECT_EQ(OK, delegate.WaitForClose()); |
| 707 EXPECT_EQ(kUploadData, delegate.TakeReceivedData()); | 707 EXPECT_EQ(kUploadData, delegate.TakeReceivedData()); |
| 708 EXPECT_FALSE(session_); | 708 EXPECT_FALSE(session_); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 733 CreateInsecureSpdySession(); | 733 CreateInsecureSpdySession(); |
| 734 | 734 |
| 735 EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); | 735 EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
| 736 | 736 |
| 737 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 737 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 738 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 738 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 739 test::StreamDelegateDoNothing delegate(spdy_stream); | 739 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 740 spdy_stream->SetDelegate(&delegate); | 740 spdy_stream->SetDelegate(&delegate); |
| 741 | 741 |
| 742 std::unique_ptr<SpdyHeaderBlock> headers( | 742 std::unique_ptr<SpdyHeaderBlock> headers( |
| 743 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 743 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 744 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 744 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 745 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 745 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 746 | 746 |
| 747 base::RunLoop().RunUntilIdle(); | 747 base::RunLoop().RunUntilIdle(); |
| 748 | 748 |
| 749 EXPECT_EQ(1u, spdy_stream->stream_id()); | 749 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 750 | 750 |
| 751 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 751 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 752 | 752 |
| 753 // Read and process the GOAWAY frame. | 753 // Read and process the GOAWAY frame. |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 797 CreateInsecureSpdySession(); | 797 CreateInsecureSpdySession(); |
| 798 | 798 |
| 799 EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); | 799 EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
| 800 | 800 |
| 801 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 801 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 802 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 802 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 803 test::StreamDelegateDoNothing delegate(spdy_stream); | 803 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 804 spdy_stream->SetDelegate(&delegate); | 804 spdy_stream->SetDelegate(&delegate); |
| 805 | 805 |
| 806 std::unique_ptr<SpdyHeaderBlock> headers( | 806 std::unique_ptr<SpdyHeaderBlock> headers( |
| 807 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 807 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 808 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 808 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 809 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 809 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 810 | 810 |
| 811 base::RunLoop().RunUntilIdle(); | 811 base::RunLoop().RunUntilIdle(); |
| 812 | 812 |
| 813 EXPECT_EQ(1u, spdy_stream->stream_id()); | 813 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 814 | 814 |
| 815 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 815 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 816 | 816 |
| 817 // Read and process the GOAWAY frame. | 817 // Read and process the GOAWAY frame. |
| (...skipping 30 matching lines...) Expand all Loading... |
| 848 CreateInsecureSpdySession(); | 848 CreateInsecureSpdySession(); |
| 849 | 849 |
| 850 EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); | 850 EXPECT_EQ(spdy_util_.spdy_version(), session_->GetProtocolVersion()); |
| 851 | 851 |
| 852 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 852 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 853 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 853 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 854 test::StreamDelegateDoNothing delegate(spdy_stream); | 854 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 855 spdy_stream->SetDelegate(&delegate); | 855 spdy_stream->SetDelegate(&delegate); |
| 856 | 856 |
| 857 std::unique_ptr<SpdyHeaderBlock> headers( | 857 std::unique_ptr<SpdyHeaderBlock> headers( |
| 858 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 858 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 859 | 859 |
| 860 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 860 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 861 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 861 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 862 | 862 |
| 863 base::RunLoop().RunUntilIdle(); | 863 base::RunLoop().RunUntilIdle(); |
| 864 | 864 |
| 865 EXPECT_EQ(1u, spdy_stream->stream_id()); | 865 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 866 | 866 |
| 867 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 867 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 868 | 868 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1009 | 1009 |
| 1010 CreateNetworkSession(); | 1010 CreateNetworkSession(); |
| 1011 CreateInsecureSpdySession(); | 1011 CreateInsecureSpdySession(); |
| 1012 | 1012 |
| 1013 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 1013 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 1014 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 1014 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 1015 test::StreamDelegateDoNothing delegate(spdy_stream); | 1015 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 1016 spdy_stream->SetDelegate(&delegate); | 1016 spdy_stream->SetDelegate(&delegate); |
| 1017 | 1017 |
| 1018 std::unique_ptr<SpdyHeaderBlock> headers( | 1018 std::unique_ptr<SpdyHeaderBlock> headers( |
| 1019 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 1019 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 1020 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1020 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1021 | 1021 |
| 1022 // Shift time so that a ping will be sent out. | 1022 // Shift time so that a ping will be sent out. |
| 1023 g_time_delta = base::TimeDelta::FromSeconds(11); | 1023 g_time_delta = base::TimeDelta::FromSeconds(11); |
| 1024 | 1024 |
| 1025 base::RunLoop().RunUntilIdle(); | 1025 base::RunLoop().RunUntilIdle(); |
| 1026 session_->CloseSessionOnError(ERR_ABORTED, "Aborting"); | 1026 session_->CloseSessionOnError(ERR_ABORTED, "Aborting"); |
| 1027 | 1027 |
| 1028 data.Resume(); | 1028 data.Resume(); |
| 1029 base::RunLoop().RunUntilIdle(); | 1029 base::RunLoop().RunUntilIdle(); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1104 MEDIUM, BoundNetLog(), callback4.callback())); | 1104 MEDIUM, BoundNetLog(), callback4.callback())); |
| 1105 | 1105 |
| 1106 // Streams 1-3 were created. 4th is stalled. No streams are active yet. | 1106 // Streams 1-3 were created. 4th is stalled. No streams are active yet. |
| 1107 EXPECT_EQ(0u, session_->num_active_streams()); | 1107 EXPECT_EQ(0u, session_->num_active_streams()); |
| 1108 EXPECT_EQ(3u, session_->num_created_streams()); | 1108 EXPECT_EQ(3u, session_->num_created_streams()); |
| 1109 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(MEDIUM)); | 1109 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(MEDIUM)); |
| 1110 | 1110 |
| 1111 // Activate stream 1. One ID remains available. | 1111 // Activate stream 1. One ID remains available. |
| 1112 stream1->SendRequestHeaders( | 1112 stream1->SendRequestHeaders( |
| 1113 std::unique_ptr<SpdyHeaderBlock>( | 1113 std::unique_ptr<SpdyHeaderBlock>( |
| 1114 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)), | 1114 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))), |
| 1115 NO_MORE_DATA_TO_SEND); | 1115 NO_MORE_DATA_TO_SEND); |
| 1116 base::RunLoop().RunUntilIdle(); | 1116 base::RunLoop().RunUntilIdle(); |
| 1117 | 1117 |
| 1118 EXPECT_EQ(kLastStreamId - 2u, stream1->stream_id()); | 1118 EXPECT_EQ(kLastStreamId - 2u, stream1->stream_id()); |
| 1119 EXPECT_EQ(1u, session_->num_active_streams()); | 1119 EXPECT_EQ(1u, session_->num_active_streams()); |
| 1120 EXPECT_EQ(2u, session_->num_created_streams()); | 1120 EXPECT_EQ(2u, session_->num_created_streams()); |
| 1121 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(MEDIUM)); | 1121 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(MEDIUM)); |
| 1122 | 1122 |
| 1123 // Activate stream 2. ID space is exhausted. | 1123 // Activate stream 2. ID space is exhausted. |
| 1124 stream2->SendRequestHeaders( | 1124 stream2->SendRequestHeaders( |
| 1125 std::unique_ptr<SpdyHeaderBlock>( | 1125 std::unique_ptr<SpdyHeaderBlock>( |
| 1126 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)), | 1126 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))), |
| 1127 NO_MORE_DATA_TO_SEND); | 1127 NO_MORE_DATA_TO_SEND); |
| 1128 base::RunLoop().RunUntilIdle(); | 1128 base::RunLoop().RunUntilIdle(); |
| 1129 | 1129 |
| 1130 // Active streams remain active. | 1130 // Active streams remain active. |
| 1131 EXPECT_EQ(kLastStreamId, stream2->stream_id()); | 1131 EXPECT_EQ(kLastStreamId, stream2->stream_id()); |
| 1132 EXPECT_EQ(2u, session_->num_active_streams()); | 1132 EXPECT_EQ(2u, session_->num_active_streams()); |
| 1133 | 1133 |
| 1134 // Session is going away. Created and stalled streams were aborted. | 1134 // Session is going away. Created and stalled streams were aborted. |
| 1135 EXPECT_EQ(SpdySession::STATE_GOING_AWAY, session_->availability_state_); | 1135 EXPECT_EQ(SpdySession::STATE_GOING_AWAY, session_->availability_state_); |
| 1136 EXPECT_EQ(ERR_ABORTED, delegate3.WaitForClose()); | 1136 EXPECT_EQ(ERR_ABORTED, delegate3.WaitForClose()); |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1239 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(MEDIUM)); | 1239 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(MEDIUM)); |
| 1240 EXPECT_EQ(1u, session_->num_created_streams()); | 1240 EXPECT_EQ(1u, session_->num_created_streams()); |
| 1241 | 1241 |
| 1242 EXPECT_EQ(OK, callback.WaitForResult()); | 1242 EXPECT_EQ(OK, callback.WaitForResult()); |
| 1243 | 1243 |
| 1244 // Send request. | 1244 // Send request. |
| 1245 base::WeakPtr<SpdyStream> stream = request.ReleaseStream(); | 1245 base::WeakPtr<SpdyStream> stream = request.ReleaseStream(); |
| 1246 test::StreamDelegateDoNothing delegate(stream); | 1246 test::StreamDelegateDoNothing delegate(stream); |
| 1247 stream->SetDelegate(&delegate); | 1247 stream->SetDelegate(&delegate); |
| 1248 std::unique_ptr<SpdyHeaderBlock> headers( | 1248 std::unique_ptr<SpdyHeaderBlock> headers( |
| 1249 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 1249 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 1250 stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1250 stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1251 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 1251 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 1252 | 1252 |
| 1253 EXPECT_EQ(OK, delegate.WaitForClose()); | 1253 EXPECT_EQ(OK, delegate.WaitForClose()); |
| 1254 EXPECT_EQ("hello!", delegate.TakeReceivedData()); | 1254 EXPECT_EQ("hello!", delegate.TakeReceivedData()); |
| 1255 | 1255 |
| 1256 // Session is destroyed. | 1256 // Session is destroyed. |
| 1257 EXPECT_FALSE(session_); | 1257 EXPECT_FALSE(session_); |
| 1258 } | 1258 } |
| 1259 | 1259 |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1352 CreateNetworkSession(); | 1352 CreateNetworkSession(); |
| 1353 CreateInsecureSpdySession(); | 1353 CreateInsecureSpdySession(); |
| 1354 | 1354 |
| 1355 // Process the principal request, and the first push stream request & body. | 1355 // Process the principal request, and the first push stream request & body. |
| 1356 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 1356 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 1357 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 1357 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 1358 test::StreamDelegateDoNothing delegate(spdy_stream); | 1358 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 1359 spdy_stream->SetDelegate(&delegate); | 1359 spdy_stream->SetDelegate(&delegate); |
| 1360 | 1360 |
| 1361 std::unique_ptr<SpdyHeaderBlock> headers( | 1361 std::unique_ptr<SpdyHeaderBlock> headers( |
| 1362 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 1362 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 1363 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1363 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1364 | 1364 |
| 1365 base::RunLoop().RunUntilIdle(); | 1365 base::RunLoop().RunUntilIdle(); |
| 1366 | 1366 |
| 1367 // Verify that there is one unclaimed push stream. | 1367 // Verify that there is one unclaimed push stream. |
| 1368 EXPECT_EQ(1u, session_->num_unclaimed_pushed_streams()); | 1368 EXPECT_EQ(1u, session_->num_unclaimed_pushed_streams()); |
| 1369 EXPECT_EQ(1u, session_->count_unclaimed_pushed_streams_for_url( | 1369 EXPECT_EQ(1u, session_->count_unclaimed_pushed_streams_for_url( |
| 1370 GURL("http://www.example.org/a.dat"))); | 1370 GURL("http://www.example.org/a.dat"))); |
| 1371 | 1371 |
| 1372 // Unclaimed push body consumed bytes from the session window. | 1372 // Unclaimed push body consumed bytes from the session window. |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1857 | 1857 |
| 1858 CreateNetworkSession(); | 1858 CreateNetworkSession(); |
| 1859 CreateInsecureSpdySession(); | 1859 CreateInsecureSpdySession(); |
| 1860 | 1860 |
| 1861 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 1861 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 1862 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 1862 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 1863 test::StreamDelegateDoNothing delegate(spdy_stream); | 1863 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 1864 spdy_stream->SetDelegate(&delegate); | 1864 spdy_stream->SetDelegate(&delegate); |
| 1865 | 1865 |
| 1866 std::unique_ptr<SpdyHeaderBlock> headers( | 1866 std::unique_ptr<SpdyHeaderBlock> headers( |
| 1867 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 1867 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 1868 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1868 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1869 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 1869 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 1870 | 1870 |
| 1871 // Write request headers & capture resulting histogram update. | 1871 // Write request headers & capture resulting histogram update. |
| 1872 base::HistogramTester histogram_tester; | 1872 base::HistogramTester histogram_tester; |
| 1873 | 1873 |
| 1874 base::RunLoop().RunUntilIdle(); | 1874 base::RunLoop().RunUntilIdle(); |
| 1875 // Regression test of compression performance under the request fixture. | 1875 // Regression test of compression performance under the request fixture. |
| 1876 switch (spdy_util_.spdy_version()) { | 1876 switch (spdy_util_.spdy_version()) { |
| 1877 case SPDY3: | 1877 case SPDY3: |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1947 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 1947 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 1948 test_url_, HIGHEST, BoundNetLog()); | 1948 test_url_, HIGHEST, BoundNetLog()); |
| 1949 ASSERT_TRUE(spdy_stream_highest); | 1949 ASSERT_TRUE(spdy_stream_highest); |
| 1950 EXPECT_EQ(0u, spdy_stream_highest->stream_id()); | 1950 EXPECT_EQ(0u, spdy_stream_highest->stream_id()); |
| 1951 test::StreamDelegateDoNothing delegate_highest(spdy_stream_highest); | 1951 test::StreamDelegateDoNothing delegate_highest(spdy_stream_highest); |
| 1952 spdy_stream_highest->SetDelegate(&delegate_highest); | 1952 spdy_stream_highest->SetDelegate(&delegate_highest); |
| 1953 | 1953 |
| 1954 // Queue the lower priority one first. | 1954 // Queue the lower priority one first. |
| 1955 | 1955 |
| 1956 std::unique_ptr<SpdyHeaderBlock> headers_lowest( | 1956 std::unique_ptr<SpdyHeaderBlock> headers_lowest( |
| 1957 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 1957 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 1958 spdy_stream_lowest->SendRequestHeaders(std::move(headers_lowest), | 1958 spdy_stream_lowest->SendRequestHeaders(std::move(headers_lowest), |
| 1959 NO_MORE_DATA_TO_SEND); | 1959 NO_MORE_DATA_TO_SEND); |
| 1960 EXPECT_TRUE(spdy_stream_lowest->HasUrlFromHeaders()); | 1960 EXPECT_TRUE(spdy_stream_lowest->HasUrlFromHeaders()); |
| 1961 | 1961 |
| 1962 std::unique_ptr<SpdyHeaderBlock> headers_highest( | 1962 std::unique_ptr<SpdyHeaderBlock> headers_highest( |
| 1963 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 1963 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 1964 spdy_stream_highest->SendRequestHeaders(std::move(headers_highest), | 1964 spdy_stream_highest->SendRequestHeaders(std::move(headers_highest), |
| 1965 NO_MORE_DATA_TO_SEND); | 1965 NO_MORE_DATA_TO_SEND); |
| 1966 EXPECT_TRUE(spdy_stream_highest->HasUrlFromHeaders()); | 1966 EXPECT_TRUE(spdy_stream_highest->HasUrlFromHeaders()); |
| 1967 | 1967 |
| 1968 base::RunLoop().RunUntilIdle(); | 1968 base::RunLoop().RunUntilIdle(); |
| 1969 | 1969 |
| 1970 EXPECT_FALSE(spdy_stream_lowest); | 1970 EXPECT_FALSE(spdy_stream_lowest); |
| 1971 EXPECT_FALSE(spdy_stream_highest); | 1971 EXPECT_FALSE(spdy_stream_highest); |
| 1972 EXPECT_EQ(3u, delegate_lowest.stream_id()); | 1972 EXPECT_EQ(3u, delegate_lowest.stream_id()); |
| 1973 EXPECT_EQ(1u, delegate_highest.stream_id()); | 1973 EXPECT_EQ(1u, delegate_highest.stream_id()); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2010 spdy_stream1->SetDelegate(&delegate1); | 2010 spdy_stream1->SetDelegate(&delegate1); |
| 2011 | 2011 |
| 2012 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 2012 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 2013 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 2013 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 2014 ASSERT_TRUE(spdy_stream2); | 2014 ASSERT_TRUE(spdy_stream2); |
| 2015 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2015 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2016 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 2016 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 2017 spdy_stream2->SetDelegate(&delegate2); | 2017 spdy_stream2->SetDelegate(&delegate2); |
| 2018 | 2018 |
| 2019 std::unique_ptr<SpdyHeaderBlock> headers( | 2019 std::unique_ptr<SpdyHeaderBlock> headers( |
| 2020 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2020 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2021 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2021 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2022 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2022 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2023 | 2023 |
| 2024 std::unique_ptr<SpdyHeaderBlock> headers2( | 2024 std::unique_ptr<SpdyHeaderBlock> headers2( |
| 2025 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2025 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2026 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2026 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2027 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 2027 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 2028 | 2028 |
| 2029 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2029 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2030 | 2030 |
| 2031 spdy_stream1->Cancel(); | 2031 spdy_stream1->Cancel(); |
| 2032 EXPECT_FALSE(spdy_stream1); | 2032 EXPECT_FALSE(spdy_stream1); |
| 2033 | 2033 |
| 2034 EXPECT_EQ(0u, delegate1.stream_id()); | 2034 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2035 | 2035 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2073 ASSERT_TRUE(spdy_stream2); | 2073 ASSERT_TRUE(spdy_stream2); |
| 2074 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2074 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2075 | 2075 |
| 2076 test::ClosingDelegate delegate1(spdy_stream1); | 2076 test::ClosingDelegate delegate1(spdy_stream1); |
| 2077 spdy_stream1->SetDelegate(&delegate1); | 2077 spdy_stream1->SetDelegate(&delegate1); |
| 2078 | 2078 |
| 2079 test::ClosingDelegate delegate2(spdy_stream2); | 2079 test::ClosingDelegate delegate2(spdy_stream2); |
| 2080 spdy_stream2->SetDelegate(&delegate2); | 2080 spdy_stream2->SetDelegate(&delegate2); |
| 2081 | 2081 |
| 2082 std::unique_ptr<SpdyHeaderBlock> headers( | 2082 std::unique_ptr<SpdyHeaderBlock> headers( |
| 2083 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2083 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2084 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2084 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2085 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2085 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2086 | 2086 |
| 2087 std::unique_ptr<SpdyHeaderBlock> headers2( | 2087 std::unique_ptr<SpdyHeaderBlock> headers2( |
| 2088 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2088 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2089 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2089 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2090 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 2090 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 2091 | 2091 |
| 2092 // Ensure that the streams have not yet been activated and assigned an id. | 2092 // Ensure that the streams have not yet been activated and assigned an id. |
| 2093 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2093 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2094 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2094 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2095 | 2095 |
| 2096 // Ensure we don't crash while closing the session. | 2096 // Ensure we don't crash while closing the session. |
| 2097 session_->CloseSessionOnError(ERR_ABORTED, std::string()); | 2097 session_->CloseSessionOnError(ERR_ABORTED, std::string()); |
| 2098 | 2098 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 2129 | 2129 |
| 2130 // Make |spdy_stream1| close |spdy_stream2|. | 2130 // Make |spdy_stream1| close |spdy_stream2|. |
| 2131 test::ClosingDelegate delegate1(spdy_stream2); | 2131 test::ClosingDelegate delegate1(spdy_stream2); |
| 2132 spdy_stream1->SetDelegate(&delegate1); | 2132 spdy_stream1->SetDelegate(&delegate1); |
| 2133 | 2133 |
| 2134 // Make |spdy_stream2| close |spdy_stream1|. | 2134 // Make |spdy_stream2| close |spdy_stream1|. |
| 2135 test::ClosingDelegate delegate2(spdy_stream1); | 2135 test::ClosingDelegate delegate2(spdy_stream1); |
| 2136 spdy_stream2->SetDelegate(&delegate2); | 2136 spdy_stream2->SetDelegate(&delegate2); |
| 2137 | 2137 |
| 2138 std::unique_ptr<SpdyHeaderBlock> headers( | 2138 std::unique_ptr<SpdyHeaderBlock> headers( |
| 2139 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2139 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2140 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2140 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2141 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2141 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2142 | 2142 |
| 2143 std::unique_ptr<SpdyHeaderBlock> headers2( | 2143 std::unique_ptr<SpdyHeaderBlock> headers2( |
| 2144 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2144 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2145 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2145 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2146 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 2146 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 2147 | 2147 |
| 2148 // Ensure that the streams have not yet been activated and assigned an id. | 2148 // Ensure that the streams have not yet been activated and assigned an id. |
| 2149 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2149 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2150 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2150 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2151 | 2151 |
| 2152 // Ensure we don't crash while closing the session. | 2152 // Ensure we don't crash while closing the session. |
| 2153 session_->CloseSessionOnError(ERR_ABORTED, std::string()); | 2153 session_->CloseSessionOnError(ERR_ABORTED, std::string()); |
| 2154 | 2154 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2196 ASSERT_TRUE(spdy_stream2); | 2196 ASSERT_TRUE(spdy_stream2); |
| 2197 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2197 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2198 | 2198 |
| 2199 test::ClosingDelegate delegate1(spdy_stream1); | 2199 test::ClosingDelegate delegate1(spdy_stream1); |
| 2200 spdy_stream1->SetDelegate(&delegate1); | 2200 spdy_stream1->SetDelegate(&delegate1); |
| 2201 | 2201 |
| 2202 test::ClosingDelegate delegate2(spdy_stream2); | 2202 test::ClosingDelegate delegate2(spdy_stream2); |
| 2203 spdy_stream2->SetDelegate(&delegate2); | 2203 spdy_stream2->SetDelegate(&delegate2); |
| 2204 | 2204 |
| 2205 std::unique_ptr<SpdyHeaderBlock> headers( | 2205 std::unique_ptr<SpdyHeaderBlock> headers( |
| 2206 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2206 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2207 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2207 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2208 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2208 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2209 | 2209 |
| 2210 std::unique_ptr<SpdyHeaderBlock> headers2( | 2210 std::unique_ptr<SpdyHeaderBlock> headers2( |
| 2211 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2211 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2212 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2212 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2213 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 2213 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 2214 | 2214 |
| 2215 // Ensure that the streams have not yet been activated and assigned an id. | 2215 // Ensure that the streams have not yet been activated and assigned an id. |
| 2216 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2216 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2217 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2217 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2218 | 2218 |
| 2219 base::RunLoop().RunUntilIdle(); | 2219 base::RunLoop().RunUntilIdle(); |
| 2220 | 2220 |
| 2221 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 2221 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2272 | 2272 |
| 2273 // Make |spdy_stream1| close |spdy_stream2|. | 2273 // Make |spdy_stream1| close |spdy_stream2|. |
| 2274 test::ClosingDelegate delegate1(spdy_stream2); | 2274 test::ClosingDelegate delegate1(spdy_stream2); |
| 2275 spdy_stream1->SetDelegate(&delegate1); | 2275 spdy_stream1->SetDelegate(&delegate1); |
| 2276 | 2276 |
| 2277 // Make |spdy_stream2| close |spdy_stream1|. | 2277 // Make |spdy_stream2| close |spdy_stream1|. |
| 2278 test::ClosingDelegate delegate2(spdy_stream1); | 2278 test::ClosingDelegate delegate2(spdy_stream1); |
| 2279 spdy_stream2->SetDelegate(&delegate2); | 2279 spdy_stream2->SetDelegate(&delegate2); |
| 2280 | 2280 |
| 2281 std::unique_ptr<SpdyHeaderBlock> headers( | 2281 std::unique_ptr<SpdyHeaderBlock> headers( |
| 2282 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2282 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2283 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2283 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2284 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2284 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2285 | 2285 |
| 2286 std::unique_ptr<SpdyHeaderBlock> headers2( | 2286 std::unique_ptr<SpdyHeaderBlock> headers2( |
| 2287 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2287 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2288 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2288 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2289 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | 2289 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); |
| 2290 | 2290 |
| 2291 // Ensure that the streams have not yet been activated and assigned an id. | 2291 // Ensure that the streams have not yet been activated and assigned an id. |
| 2292 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2292 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2293 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2293 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2294 | 2294 |
| 2295 base::RunLoop().RunUntilIdle(); | 2295 base::RunLoop().RunUntilIdle(); |
| 2296 | 2296 |
| 2297 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 2297 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2360 | 2360 |
| 2361 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 2361 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 2362 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2362 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2363 ASSERT_TRUE(spdy_stream); | 2363 ASSERT_TRUE(spdy_stream); |
| 2364 EXPECT_EQ(0u, spdy_stream->stream_id()); | 2364 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 2365 | 2365 |
| 2366 SessionClosingDelegate delegate(spdy_stream, session_); | 2366 SessionClosingDelegate delegate(spdy_stream, session_); |
| 2367 spdy_stream->SetDelegate(&delegate); | 2367 spdy_stream->SetDelegate(&delegate); |
| 2368 | 2368 |
| 2369 std::unique_ptr<SpdyHeaderBlock> headers( | 2369 std::unique_ptr<SpdyHeaderBlock> headers( |
| 2370 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2370 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2371 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2371 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2372 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 2372 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 2373 | 2373 |
| 2374 EXPECT_EQ(0u, spdy_stream->stream_id()); | 2374 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 2375 | 2375 |
| 2376 base::RunLoop().RunUntilIdle(); | 2376 base::RunLoop().RunUntilIdle(); |
| 2377 | 2377 |
| 2378 EXPECT_EQ(1u, spdy_stream->stream_id()); | 2378 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 2379 | 2379 |
| 2380 // Ensure we don't crash while closing the stream (which closes the | 2380 // Ensure we don't crash while closing the stream (which closes the |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2535 ASSERT_EQ( | 2535 ASSERT_EQ( |
| 2536 ERR_IO_PENDING, | 2536 ERR_IO_PENDING, |
| 2537 request3.StartRequest(SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, | 2537 request3.StartRequest(SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, |
| 2538 LOWEST, BoundNetLog(), callback3.callback())); | 2538 LOWEST, BoundNetLog(), callback3.callback())); |
| 2539 | 2539 |
| 2540 EXPECT_EQ(0u, session_->num_active_streams()); | 2540 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2541 EXPECT_EQ(1u, session_->num_created_streams()); | 2541 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2542 EXPECT_EQ(2u, session_->pending_create_stream_queue_size(LOWEST)); | 2542 EXPECT_EQ(2u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2543 | 2543 |
| 2544 std::unique_ptr<SpdyHeaderBlock> headers( | 2544 std::unique_ptr<SpdyHeaderBlock> headers( |
| 2545 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2545 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2546 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2546 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2547 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2547 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2548 | 2548 |
| 2549 // Run until 1st stream is activated and then closed. | 2549 // Run until 1st stream is activated and then closed. |
| 2550 EXPECT_EQ(0u, delegate1.stream_id()); | 2550 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2551 base::RunLoop().RunUntilIdle(); | 2551 base::RunLoop().RunUntilIdle(); |
| 2552 EXPECT_FALSE(spdy_stream1); | 2552 EXPECT_FALSE(spdy_stream1); |
| 2553 EXPECT_EQ(1u, delegate1.stream_id()); | 2553 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2554 | 2554 |
| 2555 EXPECT_EQ(0u, session_->num_active_streams()); | 2555 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2556 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); | 2556 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2557 | 2557 |
| 2558 // Pump loop for SpdySession::ProcessPendingStreamRequests() to | 2558 // Pump loop for SpdySession::ProcessPendingStreamRequests() to |
| 2559 // create the 2nd stream. | 2559 // create the 2nd stream. |
| 2560 base::RunLoop().RunUntilIdle(); | 2560 base::RunLoop().RunUntilIdle(); |
| 2561 | 2561 |
| 2562 EXPECT_EQ(0u, session_->num_active_streams()); | 2562 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2563 EXPECT_EQ(1u, session_->num_created_streams()); | 2563 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2564 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); | 2564 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2565 | 2565 |
| 2566 base::WeakPtr<SpdyStream> stream2 = request2.ReleaseStream(); | 2566 base::WeakPtr<SpdyStream> stream2 = request2.ReleaseStream(); |
| 2567 test::StreamDelegateDoNothing delegate2(stream2); | 2567 test::StreamDelegateDoNothing delegate2(stream2); |
| 2568 stream2->SetDelegate(&delegate2); | 2568 stream2->SetDelegate(&delegate2); |
| 2569 std::unique_ptr<SpdyHeaderBlock> headers2( | 2569 std::unique_ptr<SpdyHeaderBlock> headers2( |
| 2570 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2570 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2571 stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2571 stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2572 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | 2572 EXPECT_TRUE(stream2->HasUrlFromHeaders()); |
| 2573 | 2573 |
| 2574 // Run until 2nd stream is activated and then closed. | 2574 // Run until 2nd stream is activated and then closed. |
| 2575 EXPECT_EQ(0u, delegate2.stream_id()); | 2575 EXPECT_EQ(0u, delegate2.stream_id()); |
| 2576 base::RunLoop().RunUntilIdle(); | 2576 base::RunLoop().RunUntilIdle(); |
| 2577 EXPECT_FALSE(stream2); | 2577 EXPECT_FALSE(stream2); |
| 2578 EXPECT_EQ(3u, delegate2.stream_id()); | 2578 EXPECT_EQ(3u, delegate2.stream_id()); |
| 2579 | 2579 |
| 2580 EXPECT_EQ(0u, session_->num_active_streams()); | 2580 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2581 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); | 2581 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2582 | 2582 |
| 2583 // Pump loop for SpdySession::ProcessPendingStreamRequests() to | 2583 // Pump loop for SpdySession::ProcessPendingStreamRequests() to |
| 2584 // create the 3rd stream. | 2584 // create the 3rd stream. |
| 2585 base::RunLoop().RunUntilIdle(); | 2585 base::RunLoop().RunUntilIdle(); |
| 2586 | 2586 |
| 2587 EXPECT_EQ(0u, session_->num_active_streams()); | 2587 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2588 EXPECT_EQ(1u, session_->num_created_streams()); | 2588 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2589 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); | 2589 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2590 | 2590 |
| 2591 base::WeakPtr<SpdyStream> stream3 = request3.ReleaseStream(); | 2591 base::WeakPtr<SpdyStream> stream3 = request3.ReleaseStream(); |
| 2592 test::StreamDelegateDoNothing delegate3(stream3); | 2592 test::StreamDelegateDoNothing delegate3(stream3); |
| 2593 stream3->SetDelegate(&delegate3); | 2593 stream3->SetDelegate(&delegate3); |
| 2594 std::unique_ptr<SpdyHeaderBlock> headers3( | 2594 std::unique_ptr<SpdyHeaderBlock> headers3( |
| 2595 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2595 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2596 stream3->SendRequestHeaders(std::move(headers3), NO_MORE_DATA_TO_SEND); | 2596 stream3->SendRequestHeaders(std::move(headers3), NO_MORE_DATA_TO_SEND); |
| 2597 EXPECT_TRUE(stream3->HasUrlFromHeaders()); | 2597 EXPECT_TRUE(stream3->HasUrlFromHeaders()); |
| 2598 | 2598 |
| 2599 // Run until 2nd stream is activated and then closed. | 2599 // Run until 2nd stream is activated and then closed. |
| 2600 EXPECT_EQ(0u, delegate3.stream_id()); | 2600 EXPECT_EQ(0u, delegate3.stream_id()); |
| 2601 base::RunLoop().RunUntilIdle(); | 2601 base::RunLoop().RunUntilIdle(); |
| 2602 EXPECT_FALSE(stream3); | 2602 EXPECT_FALSE(stream3); |
| 2603 EXPECT_EQ(5u, delegate3.stream_id()); | 2603 EXPECT_EQ(5u, delegate3.stream_id()); |
| 2604 | 2604 |
| 2605 EXPECT_EQ(0u, session_->num_active_streams()); | 2605 EXPECT_EQ(0u, session_->num_active_streams()); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2734 CreateInsecureSpdySession(); | 2734 CreateInsecureSpdySession(); |
| 2735 | 2735 |
| 2736 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2736 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2737 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2737 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2738 ASSERT_TRUE(spdy_stream1); | 2738 ASSERT_TRUE(spdy_stream1); |
| 2739 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2739 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2740 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2740 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2741 spdy_stream1->SetDelegate(&delegate1); | 2741 spdy_stream1->SetDelegate(&delegate1); |
| 2742 | 2742 |
| 2743 std::unique_ptr<SpdyHeaderBlock> headers1( | 2743 std::unique_ptr<SpdyHeaderBlock> headers1( |
| 2744 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2744 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2745 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2745 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2746 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2746 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2747 | 2747 |
| 2748 // Set up the TaskObserver to verify SpdySession::DoReadLoop doesn't | 2748 // Set up the TaskObserver to verify SpdySession::DoReadLoop doesn't |
| 2749 // post a task. | 2749 // post a task. |
| 2750 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2750 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2751 | 2751 |
| 2752 // Run until 1st read. | 2752 // Run until 1st read. |
| 2753 EXPECT_EQ(0u, delegate1.stream_id()); | 2753 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2754 base::RunLoop().RunUntilIdle(); | 2754 base::RunLoop().RunUntilIdle(); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2798 CreateInsecureSpdySession(); | 2798 CreateInsecureSpdySession(); |
| 2799 | 2799 |
| 2800 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2800 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2801 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2801 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2802 ASSERT_TRUE(spdy_stream1); | 2802 ASSERT_TRUE(spdy_stream1); |
| 2803 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2803 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2804 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2804 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2805 spdy_stream1->SetDelegate(&delegate1); | 2805 spdy_stream1->SetDelegate(&delegate1); |
| 2806 | 2806 |
| 2807 std::unique_ptr<SpdyHeaderBlock> headers1( | 2807 std::unique_ptr<SpdyHeaderBlock> headers1( |
| 2808 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2808 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2809 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2809 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2810 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2810 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2811 | 2811 |
| 2812 // Set up the TaskObserver to verify that SpdySession::DoReadLoop posts a | 2812 // Set up the TaskObserver to verify that SpdySession::DoReadLoop posts a |
| 2813 // task. | 2813 // task. |
| 2814 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2814 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2815 | 2815 |
| 2816 EXPECT_EQ(0u, delegate1.stream_id()); | 2816 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2817 EXPECT_EQ(0u, observer.executed_count()); | 2817 EXPECT_EQ(0u, observer.executed_count()); |
| 2818 | 2818 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2869 CreateInsecureSpdySession(); | 2869 CreateInsecureSpdySession(); |
| 2870 | 2870 |
| 2871 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2871 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2872 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2872 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2873 ASSERT_TRUE(spdy_stream1); | 2873 ASSERT_TRUE(spdy_stream1); |
| 2874 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2874 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2875 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2875 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2876 spdy_stream1->SetDelegate(&delegate1); | 2876 spdy_stream1->SetDelegate(&delegate1); |
| 2877 | 2877 |
| 2878 std::unique_ptr<SpdyHeaderBlock> headers1( | 2878 std::unique_ptr<SpdyHeaderBlock> headers1( |
| 2879 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2879 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2880 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2880 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2881 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2881 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2882 | 2882 |
| 2883 // Run until 1st read. | 2883 // Run until 1st read. |
| 2884 EXPECT_EQ(0u, delegate1.stream_id()); | 2884 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2885 base::RunLoop().RunUntilIdle(); | 2885 base::RunLoop().RunUntilIdle(); |
| 2886 EXPECT_EQ(1u, delegate1.stream_id()); | 2886 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2887 | 2887 |
| 2888 // Read all the data and verify SpdySession::DoReadLoop has posted a task. | 2888 // Read all the data and verify SpdySession::DoReadLoop has posted a task. |
| 2889 data.Resume(); | 2889 data.Resume(); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2950 CreateInsecureSpdySession(); | 2950 CreateInsecureSpdySession(); |
| 2951 | 2951 |
| 2952 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2952 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2953 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2953 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2954 ASSERT_TRUE(spdy_stream1); | 2954 ASSERT_TRUE(spdy_stream1); |
| 2955 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2955 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2956 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2956 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2957 spdy_stream1->SetDelegate(&delegate1); | 2957 spdy_stream1->SetDelegate(&delegate1); |
| 2958 | 2958 |
| 2959 std::unique_ptr<SpdyHeaderBlock> headers1( | 2959 std::unique_ptr<SpdyHeaderBlock> headers1( |
| 2960 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 2960 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 2961 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2961 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2962 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 2962 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 2963 | 2963 |
| 2964 // Set up the TaskObserver to verify SpdySession::DoReadLoop posts a task. | 2964 // Set up the TaskObserver to verify SpdySession::DoReadLoop posts a task. |
| 2965 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2965 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2966 | 2966 |
| 2967 // Run until 1st read. | 2967 // Run until 1st read. |
| 2968 EXPECT_EQ(0u, delegate1.stream_id()); | 2968 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2969 base::RunLoop().RunUntilIdle(); | 2969 base::RunLoop().RunUntilIdle(); |
| 2970 EXPECT_EQ(1u, delegate1.stream_id()); | 2970 EXPECT_EQ(1u, delegate1.stream_id()); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3057 CreateInsecureSpdySession(); | 3057 CreateInsecureSpdySession(); |
| 3058 | 3058 |
| 3059 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 3059 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 3060 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3060 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3061 ASSERT_TRUE(spdy_stream1); | 3061 ASSERT_TRUE(spdy_stream1); |
| 3062 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 3062 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 3063 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 3063 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 3064 spdy_stream1->SetDelegate(&delegate1); | 3064 spdy_stream1->SetDelegate(&delegate1); |
| 3065 | 3065 |
| 3066 std::unique_ptr<SpdyHeaderBlock> headers1( | 3066 std::unique_ptr<SpdyHeaderBlock> headers1( |
| 3067 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 3067 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 3068 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 3068 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 3069 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 3069 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 3070 | 3070 |
| 3071 // Set up the TaskObserver to monitor SpdySession::DoReadLoop | 3071 // Set up the TaskObserver to monitor SpdySession::DoReadLoop |
| 3072 // posting of tasks. | 3072 // posting of tasks. |
| 3073 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 3073 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 3074 | 3074 |
| 3075 // Run until 1st read. | 3075 // Run until 1st read. |
| 3076 EXPECT_EQ(0u, delegate1.stream_id()); | 3076 EXPECT_EQ(0u, delegate1.stream_id()); |
| 3077 base::RunLoop().RunUntilIdle(); | 3077 base::RunLoop().RunUntilIdle(); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3126 CreateInsecureSpdySession(); | 3126 CreateInsecureSpdySession(); |
| 3127 | 3127 |
| 3128 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 3128 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 3129 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3129 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3130 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 3130 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 3131 spdy_stream1->SetDelegate(&delegate1); | 3131 spdy_stream1->SetDelegate(&delegate1); |
| 3132 ASSERT_TRUE(spdy_stream1); | 3132 ASSERT_TRUE(spdy_stream1); |
| 3133 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 3133 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 3134 | 3134 |
| 3135 std::unique_ptr<SpdyHeaderBlock> headers1( | 3135 std::unique_ptr<SpdyHeaderBlock> headers1( |
| 3136 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 3136 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 3137 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 3137 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 3138 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 3138 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 3139 | 3139 |
| 3140 // Run until 1st read. | 3140 // Run until 1st read. |
| 3141 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 3141 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 3142 base::RunLoop().RunUntilIdle(); | 3142 base::RunLoop().RunUntilIdle(); |
| 3143 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 3143 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 3144 | 3144 |
| 3145 // Run until GoAway. | 3145 // Run until GoAway. |
| 3146 data.Resume(); | 3146 data.Resume(); |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3343 | 3343 |
| 3344 TestCompletionCallback callback1; | 3344 TestCompletionCallback callback1; |
| 3345 base::WeakPtr<SpdyStream> spdy_stream1 = | 3345 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 3346 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 3346 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 3347 test_url_, DEFAULT_PRIORITY, BoundNetLog()); | 3347 test_url_, DEFAULT_PRIORITY, BoundNetLog()); |
| 3348 ASSERT_TRUE(spdy_stream1.get()); | 3348 ASSERT_TRUE(spdy_stream1.get()); |
| 3349 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 3349 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 3350 spdy_stream1->SetDelegate(&delegate1); | 3350 spdy_stream1->SetDelegate(&delegate1); |
| 3351 | 3351 |
| 3352 std::unique_ptr<SpdyHeaderBlock> headers1( | 3352 std::unique_ptr<SpdyHeaderBlock> headers1( |
| 3353 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 3353 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 3354 EXPECT_EQ(ERR_IO_PENDING, spdy_stream1->SendRequestHeaders( | 3354 EXPECT_EQ(ERR_IO_PENDING, spdy_stream1->SendRequestHeaders( |
| 3355 std::move(headers1), NO_MORE_DATA_TO_SEND)); | 3355 std::move(headers1), NO_MORE_DATA_TO_SEND)); |
| 3356 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 3356 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 3357 | 3357 |
| 3358 base::RunLoop().RunUntilIdle(); | 3358 base::RunLoop().RunUntilIdle(); |
| 3359 | 3359 |
| 3360 // Trying to create a new connection should cause the pool to be stalled, and | 3360 // Trying to create a new connection should cause the pool to be stalled, and |
| 3361 // post a task asynchronously to try and close the session. | 3361 // post a task asynchronously to try and close the session. |
| 3362 TestCompletionCallback callback2; | 3362 TestCompletionCallback callback2; |
| 3363 HostPortPair host_port2("2.com", 80); | 3363 HostPortPair host_port2("2.com", 80); |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3473 | 3473 |
| 3474 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 3474 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 3475 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3475 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3476 ASSERT_TRUE(spdy_stream); | 3476 ASSERT_TRUE(spdy_stream); |
| 3477 EXPECT_EQ(0u, spdy_stream->stream_id()); | 3477 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 3478 | 3478 |
| 3479 StreamCreatingDelegate delegate(spdy_stream, session_); | 3479 StreamCreatingDelegate delegate(spdy_stream, session_); |
| 3480 spdy_stream->SetDelegate(&delegate); | 3480 spdy_stream->SetDelegate(&delegate); |
| 3481 | 3481 |
| 3482 std::unique_ptr<SpdyHeaderBlock> headers( | 3482 std::unique_ptr<SpdyHeaderBlock> headers( |
| 3483 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 3483 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 3484 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 3484 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 3485 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 3485 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 3486 | 3486 |
| 3487 EXPECT_EQ(0u, spdy_stream->stream_id()); | 3487 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 3488 | 3488 |
| 3489 base::RunLoop().RunUntilIdle(); | 3489 base::RunLoop().RunUntilIdle(); |
| 3490 | 3490 |
| 3491 EXPECT_EQ(1u, spdy_stream->stream_id()); | 3491 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 3492 | 3492 |
| 3493 // Cause the stream to be reset, which should cause another stream | 3493 // Cause the stream to be reset, which should cause another stream |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3760 CreateInsecureSpdySession(); | 3760 CreateInsecureSpdySession(); |
| 3761 | 3761 |
| 3762 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 3762 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 3763 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 3763 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 3764 EXPECT_EQ(stream_max_recv_window_size, spdy_stream->recv_window_size()); | 3764 EXPECT_EQ(stream_max_recv_window_size, spdy_stream->recv_window_size()); |
| 3765 | 3765 |
| 3766 test::StreamDelegateDoNothing delegate(spdy_stream); | 3766 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 3767 spdy_stream->SetDelegate(&delegate); | 3767 spdy_stream->SetDelegate(&delegate); |
| 3768 | 3768 |
| 3769 std::unique_ptr<SpdyHeaderBlock> headers( | 3769 std::unique_ptr<SpdyHeaderBlock> headers( |
| 3770 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 3770 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 3771 EXPECT_EQ(ERR_IO_PENDING, spdy_stream->SendRequestHeaders( | 3771 EXPECT_EQ(ERR_IO_PENDING, spdy_stream->SendRequestHeaders( |
| 3772 std::move(headers), NO_MORE_DATA_TO_SEND)); | 3772 std::move(headers), NO_MORE_DATA_TO_SEND)); |
| 3773 | 3773 |
| 3774 // Request and response. | 3774 // Request and response. |
| 3775 base::RunLoop().RunUntilIdle(); | 3775 base::RunLoop().RunUntilIdle(); |
| 3776 EXPECT_EQ(1u, spdy_stream->stream_id()); | 3776 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 3777 | 3777 |
| 3778 // Too large data frame causes flow control error, should close stream. | 3778 // Too large data frame causes flow control error, should close stream. |
| 3779 data.Resume(); | 3779 data.Resume(); |
| 3780 base::RunLoop().RunUntilIdle(); | 3780 base::RunLoop().RunUntilIdle(); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3898 pool_peer.SetStreamInitialRecvWindowSize(stream_max_recv_window_size); | 3898 pool_peer.SetStreamInitialRecvWindowSize(stream_max_recv_window_size); |
| 3899 | 3899 |
| 3900 CreateInsecureSpdySession(); | 3900 CreateInsecureSpdySession(); |
| 3901 | 3901 |
| 3902 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 3902 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 3903 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 3903 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 3904 test::StreamDelegateDoNothing delegate(spdy_stream); | 3904 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 3905 spdy_stream->SetDelegate(&delegate); | 3905 spdy_stream->SetDelegate(&delegate); |
| 3906 | 3906 |
| 3907 std::unique_ptr<SpdyHeaderBlock> headers( | 3907 std::unique_ptr<SpdyHeaderBlock> headers( |
| 3908 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 3908 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 3909 EXPECT_EQ(ERR_IO_PENDING, spdy_stream->SendRequestHeaders( | 3909 EXPECT_EQ(ERR_IO_PENDING, spdy_stream->SendRequestHeaders( |
| 3910 std::move(headers), NO_MORE_DATA_TO_SEND)); | 3910 std::move(headers), NO_MORE_DATA_TO_SEND)); |
| 3911 | 3911 |
| 3912 // Request and response. | 3912 // Request and response. |
| 3913 base::RunLoop().RunUntilIdle(); | 3913 base::RunLoop().RunUntilIdle(); |
| 3914 EXPECT_TRUE(spdy_stream->IsLocallyClosed()); | 3914 EXPECT_TRUE(spdy_stream->IsLocallyClosed()); |
| 3915 EXPECT_EQ(stream_max_recv_window_size, spdy_stream->recv_window_size()); | 3915 EXPECT_EQ(stream_max_recv_window_size, spdy_stream->recv_window_size()); |
| 3916 | 3916 |
| 3917 // First data frame. | 3917 // First data frame. |
| 3918 data.Resume(); | 3918 data.Resume(); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3990 CreateInsecureSpdySession(); | 3990 CreateInsecureSpdySession(); |
| 3991 | 3991 |
| 3992 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 3992 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 3993 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3993 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3994 ASSERT_TRUE(stream); | 3994 ASSERT_TRUE(stream); |
| 3995 EXPECT_EQ(0u, stream->stream_id()); | 3995 EXPECT_EQ(0u, stream->stream_id()); |
| 3996 | 3996 |
| 3997 DropReceivedDataDelegate delegate(stream, msg_data); | 3997 DropReceivedDataDelegate delegate(stream, msg_data); |
| 3998 stream->SetDelegate(&delegate); | 3998 stream->SetDelegate(&delegate); |
| 3999 | 3999 |
| 4000 std::unique_ptr<SpdyHeaderBlock> headers( | 4000 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( |
| 4001 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kMsgDataSize)); | 4001 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kMsgDataSize))); |
| 4002 EXPECT_EQ(ERR_IO_PENDING, | 4002 EXPECT_EQ(ERR_IO_PENDING, |
| 4003 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 4003 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 4004 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 4004 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 4005 | 4005 |
| 4006 const int32_t initial_window_size = | 4006 const int32_t initial_window_size = |
| 4007 SpdySession::GetDefaultInitialWindowSize(GetProtocol()); | 4007 SpdySession::GetDefaultInitialWindowSize(GetProtocol()); |
| 4008 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); | 4008 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); |
| 4009 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); | 4009 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); |
| 4010 | 4010 |
| 4011 base::RunLoop().RunUntilIdle(); | 4011 base::RunLoop().RunUntilIdle(); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4056 CreateInsecureSpdySession(); | 4056 CreateInsecureSpdySession(); |
| 4057 | 4057 |
| 4058 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 4058 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 4059 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 4059 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 4060 ASSERT_TRUE(stream); | 4060 ASSERT_TRUE(stream); |
| 4061 EXPECT_EQ(0u, stream->stream_id()); | 4061 EXPECT_EQ(0u, stream->stream_id()); |
| 4062 | 4062 |
| 4063 test::StreamDelegateSendImmediate delegate(stream, msg_data); | 4063 test::StreamDelegateSendImmediate delegate(stream, msg_data); |
| 4064 stream->SetDelegate(&delegate); | 4064 stream->SetDelegate(&delegate); |
| 4065 | 4065 |
| 4066 std::unique_ptr<SpdyHeaderBlock> headers( | 4066 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( |
| 4067 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kMsgDataSize)); | 4067 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kMsgDataSize))); |
| 4068 EXPECT_EQ(ERR_IO_PENDING, | 4068 EXPECT_EQ(ERR_IO_PENDING, |
| 4069 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 4069 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 4070 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 4070 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 4071 | 4071 |
| 4072 const int32_t initial_window_size = | 4072 const int32_t initial_window_size = |
| 4073 SpdySession::GetDefaultInitialWindowSize(GetProtocol()); | 4073 SpdySession::GetDefaultInitialWindowSize(GetProtocol()); |
| 4074 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); | 4074 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); |
| 4075 | 4075 |
| 4076 // Write request. | 4076 // Write request. |
| 4077 base::RunLoop().RunUntilIdle(); | 4077 base::RunLoop().RunUntilIdle(); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4141 CreateInsecureSpdySession(); | 4141 CreateInsecureSpdySession(); |
| 4142 | 4142 |
| 4143 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 4143 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 4144 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 4144 SPDY_BIDIRECTIONAL_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 4145 ASSERT_TRUE(stream); | 4145 ASSERT_TRUE(stream); |
| 4146 EXPECT_EQ(0u, stream->stream_id()); | 4146 EXPECT_EQ(0u, stream->stream_id()); |
| 4147 | 4147 |
| 4148 test::StreamDelegateSendImmediate delegate(stream, msg_data); | 4148 test::StreamDelegateSendImmediate delegate(stream, msg_data); |
| 4149 stream->SetDelegate(&delegate); | 4149 stream->SetDelegate(&delegate); |
| 4150 | 4150 |
| 4151 std::unique_ptr<SpdyHeaderBlock> headers( | 4151 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( |
| 4152 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kMsgDataSize)); | 4152 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kMsgDataSize))); |
| 4153 EXPECT_EQ(ERR_IO_PENDING, | 4153 EXPECT_EQ(ERR_IO_PENDING, |
| 4154 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 4154 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 4155 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 4155 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 4156 | 4156 |
| 4157 const int32_t initial_window_size = | 4157 const int32_t initial_window_size = |
| 4158 SpdySession::GetDefaultInitialWindowSize(GetProtocol()); | 4158 SpdySession::GetDefaultInitialWindowSize(GetProtocol()); |
| 4159 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); | 4159 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); |
| 4160 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); | 4160 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); |
| 4161 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); | 4161 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); |
| 4162 | 4162 |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4242 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 4242 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 4243 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4243 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4244 ASSERT_TRUE(stream); | 4244 ASSERT_TRUE(stream); |
| 4245 | 4245 |
| 4246 test::StreamDelegateWithBody delegate(stream, kBodyDataStringPiece); | 4246 test::StreamDelegateWithBody delegate(stream, kBodyDataStringPiece); |
| 4247 stream->SetDelegate(&delegate); | 4247 stream->SetDelegate(&delegate); |
| 4248 | 4248 |
| 4249 EXPECT_FALSE(stream->HasUrlFromHeaders()); | 4249 EXPECT_FALSE(stream->HasUrlFromHeaders()); |
| 4250 EXPECT_FALSE(stream->send_stalled_by_flow_control()); | 4250 EXPECT_FALSE(stream->send_stalled_by_flow_control()); |
| 4251 | 4251 |
| 4252 std::unique_ptr<SpdyHeaderBlock> headers( | 4252 std::unique_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock( |
| 4253 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize)); | 4253 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize))); |
| 4254 EXPECT_EQ(ERR_IO_PENDING, | 4254 EXPECT_EQ(ERR_IO_PENDING, |
| 4255 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 4255 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 4256 EXPECT_TRUE(stream->HasUrlFromHeaders()); | 4256 EXPECT_TRUE(stream->HasUrlFromHeaders()); |
| 4257 EXPECT_EQ(kDefaultURL, stream->GetUrlFromHeaders().spec()); | 4257 EXPECT_EQ(kDefaultURL, stream->GetUrlFromHeaders().spec()); |
| 4258 | 4258 |
| 4259 stall_function.Run(stream.get()); | 4259 stall_function.Run(stream.get()); |
| 4260 | 4260 |
| 4261 base::RunLoop().RunUntilIdle(); | 4261 base::RunLoop().RunUntilIdle(); |
| 4262 | 4262 |
| 4263 EXPECT_TRUE(stream->send_stalled_by_flow_control()); | 4263 EXPECT_TRUE(stream->send_stalled_by_flow_control()); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4381 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); | 4381 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); |
| 4382 stream2->SetDelegate(&delegate2); | 4382 stream2->SetDelegate(&delegate2); |
| 4383 | 4383 |
| 4384 EXPECT_FALSE(stream2->HasUrlFromHeaders()); | 4384 EXPECT_FALSE(stream2->HasUrlFromHeaders()); |
| 4385 | 4385 |
| 4386 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4386 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4387 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4387 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4388 | 4388 |
| 4389 StallSessionSend(); | 4389 StallSessionSend(); |
| 4390 | 4390 |
| 4391 std::unique_ptr<SpdyHeaderBlock> headers1( | 4391 std::unique_ptr<SpdyHeaderBlock> headers1(new SpdyHeaderBlock( |
| 4392 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize)); | 4392 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize))); |
| 4393 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4393 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4394 MORE_DATA_TO_SEND)); | 4394 MORE_DATA_TO_SEND)); |
| 4395 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | 4395 EXPECT_TRUE(stream1->HasUrlFromHeaders()); |
| 4396 EXPECT_EQ(kDefaultURL, stream1->GetUrlFromHeaders().spec()); | 4396 EXPECT_EQ(kDefaultURL, stream1->GetUrlFromHeaders().spec()); |
| 4397 | 4397 |
| 4398 base::RunLoop().RunUntilIdle(); | 4398 base::RunLoop().RunUntilIdle(); |
| 4399 EXPECT_EQ(1u, stream1->stream_id()); | 4399 EXPECT_EQ(1u, stream1->stream_id()); |
| 4400 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4400 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4401 | 4401 |
| 4402 std::unique_ptr<SpdyHeaderBlock> headers2( | 4402 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock( |
| 4403 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize)); | 4403 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize))); |
| 4404 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4404 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4405 MORE_DATA_TO_SEND)); | 4405 MORE_DATA_TO_SEND)); |
| 4406 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | 4406 EXPECT_TRUE(stream2->HasUrlFromHeaders()); |
| 4407 EXPECT_EQ(kDefaultURL, stream2->GetUrlFromHeaders().spec()); | 4407 EXPECT_EQ(kDefaultURL, stream2->GetUrlFromHeaders().spec()); |
| 4408 | 4408 |
| 4409 base::RunLoop().RunUntilIdle(); | 4409 base::RunLoop().RunUntilIdle(); |
| 4410 EXPECT_EQ(3u, stream2->stream_id()); | 4410 EXPECT_EQ(3u, stream2->stream_id()); |
| 4411 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4411 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4412 | 4412 |
| 4413 // This should unstall only stream2. | 4413 // This should unstall only stream2. |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4530 stream3->SetDelegate(&delegate3); | 4530 stream3->SetDelegate(&delegate3); |
| 4531 | 4531 |
| 4532 EXPECT_FALSE(stream3->HasUrlFromHeaders()); | 4532 EXPECT_FALSE(stream3->HasUrlFromHeaders()); |
| 4533 | 4533 |
| 4534 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4534 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4535 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4535 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4536 EXPECT_FALSE(stream3->send_stalled_by_flow_control()); | 4536 EXPECT_FALSE(stream3->send_stalled_by_flow_control()); |
| 4537 | 4537 |
| 4538 StallSessionSend(); | 4538 StallSessionSend(); |
| 4539 | 4539 |
| 4540 std::unique_ptr<SpdyHeaderBlock> headers1( | 4540 std::unique_ptr<SpdyHeaderBlock> headers1(new SpdyHeaderBlock( |
| 4541 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize)); | 4541 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize))); |
| 4542 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4542 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4543 MORE_DATA_TO_SEND)); | 4543 MORE_DATA_TO_SEND)); |
| 4544 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | 4544 EXPECT_TRUE(stream1->HasUrlFromHeaders()); |
| 4545 EXPECT_EQ(kDefaultURL, stream1->GetUrlFromHeaders().spec()); | 4545 EXPECT_EQ(kDefaultURL, stream1->GetUrlFromHeaders().spec()); |
| 4546 | 4546 |
| 4547 base::RunLoop().RunUntilIdle(); | 4547 base::RunLoop().RunUntilIdle(); |
| 4548 EXPECT_EQ(1u, stream1->stream_id()); | 4548 EXPECT_EQ(1u, stream1->stream_id()); |
| 4549 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4549 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4550 | 4550 |
| 4551 std::unique_ptr<SpdyHeaderBlock> headers2( | 4551 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock( |
| 4552 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize)); | 4552 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize))); |
| 4553 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4553 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4554 MORE_DATA_TO_SEND)); | 4554 MORE_DATA_TO_SEND)); |
| 4555 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | 4555 EXPECT_TRUE(stream2->HasUrlFromHeaders()); |
| 4556 EXPECT_EQ(kDefaultURL, stream2->GetUrlFromHeaders().spec()); | 4556 EXPECT_EQ(kDefaultURL, stream2->GetUrlFromHeaders().spec()); |
| 4557 | 4557 |
| 4558 base::RunLoop().RunUntilIdle(); | 4558 base::RunLoop().RunUntilIdle(); |
| 4559 EXPECT_EQ(3u, stream2->stream_id()); | 4559 EXPECT_EQ(3u, stream2->stream_id()); |
| 4560 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4560 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4561 | 4561 |
| 4562 std::unique_ptr<SpdyHeaderBlock> headers3( | 4562 std::unique_ptr<SpdyHeaderBlock> headers3(new SpdyHeaderBlock( |
| 4563 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize)); | 4563 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize))); |
| 4564 EXPECT_EQ(ERR_IO_PENDING, stream3->SendRequestHeaders(std::move(headers3), | 4564 EXPECT_EQ(ERR_IO_PENDING, stream3->SendRequestHeaders(std::move(headers3), |
| 4565 MORE_DATA_TO_SEND)); | 4565 MORE_DATA_TO_SEND)); |
| 4566 EXPECT_TRUE(stream3->HasUrlFromHeaders()); | 4566 EXPECT_TRUE(stream3->HasUrlFromHeaders()); |
| 4567 EXPECT_EQ(kDefaultURL, stream3->GetUrlFromHeaders().spec()); | 4567 EXPECT_EQ(kDefaultURL, stream3->GetUrlFromHeaders().spec()); |
| 4568 | 4568 |
| 4569 base::RunLoop().RunUntilIdle(); | 4569 base::RunLoop().RunUntilIdle(); |
| 4570 EXPECT_EQ(5u, stream3->stream_id()); | 4570 EXPECT_EQ(5u, stream3->stream_id()); |
| 4571 EXPECT_TRUE(stream3->send_stalled_by_flow_control()); | 4571 EXPECT_TRUE(stream3->send_stalled_by_flow_control()); |
| 4572 | 4572 |
| 4573 SpdyStreamId stream_id1 = stream1->stream_id(); | 4573 SpdyStreamId stream_id1 = stream1->stream_id(); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4659 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); | 4659 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); |
| 4660 stream2->SetDelegate(&delegate2); | 4660 stream2->SetDelegate(&delegate2); |
| 4661 | 4661 |
| 4662 EXPECT_FALSE(stream2->HasUrlFromHeaders()); | 4662 EXPECT_FALSE(stream2->HasUrlFromHeaders()); |
| 4663 | 4663 |
| 4664 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4664 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4665 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4665 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4666 | 4666 |
| 4667 StallSessionSend(); | 4667 StallSessionSend(); |
| 4668 | 4668 |
| 4669 std::unique_ptr<SpdyHeaderBlock> headers1( | 4669 std::unique_ptr<SpdyHeaderBlock> headers1(new SpdyHeaderBlock( |
| 4670 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize)); | 4670 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize))); |
| 4671 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4671 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4672 MORE_DATA_TO_SEND)); | 4672 MORE_DATA_TO_SEND)); |
| 4673 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | 4673 EXPECT_TRUE(stream1->HasUrlFromHeaders()); |
| 4674 EXPECT_EQ(kDefaultURL, stream1->GetUrlFromHeaders().spec()); | 4674 EXPECT_EQ(kDefaultURL, stream1->GetUrlFromHeaders().spec()); |
| 4675 | 4675 |
| 4676 base::RunLoop().RunUntilIdle(); | 4676 base::RunLoop().RunUntilIdle(); |
| 4677 EXPECT_EQ(1u, stream1->stream_id()); | 4677 EXPECT_EQ(1u, stream1->stream_id()); |
| 4678 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4678 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4679 | 4679 |
| 4680 std::unique_ptr<SpdyHeaderBlock> headers2( | 4680 std::unique_ptr<SpdyHeaderBlock> headers2(new SpdyHeaderBlock( |
| 4681 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize)); | 4681 spdy_util_.ConstructPostHeaderBlock(kDefaultURL, kBodyDataSize))); |
| 4682 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4682 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4683 MORE_DATA_TO_SEND)); | 4683 MORE_DATA_TO_SEND)); |
| 4684 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | 4684 EXPECT_TRUE(stream2->HasUrlFromHeaders()); |
| 4685 EXPECT_EQ(kDefaultURL, stream2->GetUrlFromHeaders().spec()); | 4685 EXPECT_EQ(kDefaultURL, stream2->GetUrlFromHeaders().spec()); |
| 4686 | 4686 |
| 4687 base::RunLoop().RunUntilIdle(); | 4687 base::RunLoop().RunUntilIdle(); |
| 4688 EXPECT_EQ(3u, stream2->stream_id()); | 4688 EXPECT_EQ(3u, stream2->stream_id()); |
| 4689 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4689 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4690 | 4690 |
| 4691 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 4691 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4741 CreateNetworkSession(); | 4741 CreateNetworkSession(); |
| 4742 CreateInsecureSpdySession(); | 4742 CreateInsecureSpdySession(); |
| 4743 | 4743 |
| 4744 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 4744 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 4745 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4745 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4746 ASSERT_TRUE(spdy_stream); | 4746 ASSERT_TRUE(spdy_stream); |
| 4747 test::StreamDelegateDoNothing delegate(spdy_stream); | 4747 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 4748 spdy_stream->SetDelegate(&delegate); | 4748 spdy_stream->SetDelegate(&delegate); |
| 4749 | 4749 |
| 4750 std::unique_ptr<SpdyHeaderBlock> headers( | 4750 std::unique_ptr<SpdyHeaderBlock> headers( |
| 4751 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 4751 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 4752 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4752 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4753 | 4753 |
| 4754 // Write request. | 4754 // Write request. |
| 4755 base::RunLoop().RunUntilIdle(); | 4755 base::RunLoop().RunUntilIdle(); |
| 4756 | 4756 |
| 4757 // Put session on the edge of overflowing it's recv window. | 4757 // Put session on the edge of overflowing it's recv window. |
| 4758 session_->session_recv_window_size_ = 1; | 4758 session_->session_recv_window_size_ = 1; |
| 4759 | 4759 |
| 4760 // Read response headers & body. Body overflows the session window, and a | 4760 // Read response headers & body. Body overflows the session window, and a |
| 4761 // goaway is written. | 4761 // goaway is written. |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4829 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 4829 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 4830 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4830 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 4831 spdy_stream1->SetDelegate(&delegate1); | 4831 spdy_stream1->SetDelegate(&delegate1); |
| 4832 | 4832 |
| 4833 EXPECT_EQ(0u, session_->num_active_streams()); | 4833 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4834 EXPECT_EQ(1u, session_->num_created_streams()); | 4834 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4835 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4835 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4836 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4836 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4837 | 4837 |
| 4838 std::unique_ptr<SpdyHeaderBlock> headers( | 4838 std::unique_ptr<SpdyHeaderBlock> headers( |
| 4839 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 4839 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 4840 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4840 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4841 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 4841 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 4842 | 4842 |
| 4843 // Run until 1st stream is activated. | 4843 // Run until 1st stream is activated. |
| 4844 EXPECT_EQ(0u, delegate1.stream_id()); | 4844 EXPECT_EQ(0u, delegate1.stream_id()); |
| 4845 base::RunLoop().RunUntilIdle(); | 4845 base::RunLoop().RunUntilIdle(); |
| 4846 EXPECT_EQ(1u, delegate1.stream_id()); | 4846 EXPECT_EQ(1u, delegate1.stream_id()); |
| 4847 EXPECT_EQ(1u, session_->num_active_streams()); | 4847 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4848 EXPECT_EQ(0u, session_->num_created_streams()); | 4848 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4849 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4849 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4909 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 4909 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 4910 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4910 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 4911 spdy_stream1->SetDelegate(&delegate1); | 4911 spdy_stream1->SetDelegate(&delegate1); |
| 4912 | 4912 |
| 4913 EXPECT_EQ(0u, session_->num_active_streams()); | 4913 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4914 EXPECT_EQ(1u, session_->num_created_streams()); | 4914 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4915 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4915 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4916 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4916 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4917 | 4917 |
| 4918 std::unique_ptr<SpdyHeaderBlock> headers( | 4918 std::unique_ptr<SpdyHeaderBlock> headers( |
| 4919 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 4919 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 4920 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4920 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4921 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 4921 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 4922 | 4922 |
| 4923 // Run until 1st stream is activated. | 4923 // Run until 1st stream is activated. |
| 4924 EXPECT_EQ(0u, delegate1.stream_id()); | 4924 EXPECT_EQ(0u, delegate1.stream_id()); |
| 4925 base::RunLoop().RunUntilIdle(); | 4925 base::RunLoop().RunUntilIdle(); |
| 4926 EXPECT_EQ(1u, delegate1.stream_id()); | 4926 EXPECT_EQ(1u, delegate1.stream_id()); |
| 4927 EXPECT_EQ(1u, session_->num_active_streams()); | 4927 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4928 EXPECT_EQ(0u, session_->num_created_streams()); | 4928 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4929 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4929 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5003 EXPECT_EQ(0u, spdy_stream->stream_id()); | 5003 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 5004 test::StreamDelegateDoNothing delegate(spdy_stream); | 5004 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 5005 spdy_stream->SetDelegate(&delegate); | 5005 spdy_stream->SetDelegate(&delegate); |
| 5006 | 5006 |
| 5007 EXPECT_EQ(0u, session_->num_active_streams()); | 5007 EXPECT_EQ(0u, session_->num_active_streams()); |
| 5008 EXPECT_EQ(1u, session_->num_created_streams()); | 5008 EXPECT_EQ(1u, session_->num_created_streams()); |
| 5009 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5009 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 5010 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 5010 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 5011 | 5011 |
| 5012 std::unique_ptr<SpdyHeaderBlock> headers( | 5012 std::unique_ptr<SpdyHeaderBlock> headers( |
| 5013 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 5013 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 5014 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5014 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5015 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 5015 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 5016 | 5016 |
| 5017 // Run until 1st stream is activated. | 5017 // Run until 1st stream is activated. |
| 5018 EXPECT_EQ(0u, delegate.stream_id()); | 5018 EXPECT_EQ(0u, delegate.stream_id()); |
| 5019 base::RunLoop().RunUntilIdle(); | 5019 base::RunLoop().RunUntilIdle(); |
| 5020 EXPECT_EQ(1u, delegate.stream_id()); | 5020 EXPECT_EQ(1u, delegate.stream_id()); |
| 5021 EXPECT_EQ(1u, session_->num_active_streams()); | 5021 EXPECT_EQ(1u, session_->num_active_streams()); |
| 5022 EXPECT_EQ(0u, session_->num_created_streams()); | 5022 EXPECT_EQ(0u, session_->num_created_streams()); |
| 5023 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5023 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5082 EXPECT_EQ(0u, spdy_stream->stream_id()); | 5082 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 5083 test::StreamDelegateDoNothing delegate(spdy_stream); | 5083 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 5084 spdy_stream->SetDelegate(&delegate); | 5084 spdy_stream->SetDelegate(&delegate); |
| 5085 | 5085 |
| 5086 EXPECT_EQ(0u, session_->num_active_streams()); | 5086 EXPECT_EQ(0u, session_->num_active_streams()); |
| 5087 EXPECT_EQ(1u, session_->num_created_streams()); | 5087 EXPECT_EQ(1u, session_->num_created_streams()); |
| 5088 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5088 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 5089 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 5089 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 5090 | 5090 |
| 5091 std::unique_ptr<SpdyHeaderBlock> headers( | 5091 std::unique_ptr<SpdyHeaderBlock> headers( |
| 5092 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 5092 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 5093 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5093 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5094 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | 5094 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); |
| 5095 | 5095 |
| 5096 // Run until 1st stream is activated. | 5096 // Run until 1st stream is activated. |
| 5097 EXPECT_EQ(0u, delegate.stream_id()); | 5097 EXPECT_EQ(0u, delegate.stream_id()); |
| 5098 base::RunLoop().RunUntilIdle(); | 5098 base::RunLoop().RunUntilIdle(); |
| 5099 EXPECT_EQ(1u, delegate.stream_id()); | 5099 EXPECT_EQ(1u, delegate.stream_id()); |
| 5100 EXPECT_EQ(1u, session_->num_active_streams()); | 5100 EXPECT_EQ(1u, session_->num_active_streams()); |
| 5101 EXPECT_EQ(0u, session_->num_created_streams()); | 5101 EXPECT_EQ(0u, session_->num_created_streams()); |
| 5102 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5102 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 5103 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 5103 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 5104 | 5104 |
| 5105 // Read EOF. | 5105 // Read EOF. |
| 5106 data.Resume(); | 5106 data.Resume(); |
| 5107 base::RunLoop().RunUntilIdle(); | 5107 base::RunLoop().RunUntilIdle(); |
| 5108 EXPECT_FALSE(session_); | 5108 EXPECT_FALSE(session_); |
| 5109 } | 5109 } |
| 5110 | 5110 |
| 5111 TEST_P(SpdySessionTest, IgnoreReservedRemoteStreamsCount) { | 5111 TEST_P(SpdySessionTest, IgnoreReservedRemoteStreamsCount) { |
| 5112 // Streams in reserved remote state exist only in HTTP/2. | 5112 // Streams in reserved remote state exist only in HTTP/2. |
| 5113 if (spdy_util_.spdy_version() < HTTP2) | 5113 if (spdy_util_.spdy_version() < HTTP2) |
| 5114 return; | 5114 return; |
| 5115 | 5115 |
| 5116 std::unique_ptr<SpdySerializedFrame> push_a(spdy_util_.ConstructSpdyPush( | 5116 std::unique_ptr<SpdySerializedFrame> push_a(spdy_util_.ConstructSpdyPush( |
| 5117 nullptr, 0, 2, 1, "http://www.example.org/a.dat")); | 5117 nullptr, 0, 2, 1, "http://www.example.org/a.dat")); |
| 5118 std::unique_ptr<SpdyHeaderBlock> push_headers(new SpdyHeaderBlock); | 5118 SpdyHeaderBlock push_headers; |
| 5119 spdy_util_.AddUrlToHeaderBlock("http://www.example.org/b.dat", | 5119 spdy_util_.AddUrlToHeaderBlock("http://www.example.org/b.dat", &push_headers); |
| 5120 push_headers.get()); | |
| 5121 std::unique_ptr<SpdySerializedFrame> push_b( | 5120 std::unique_ptr<SpdySerializedFrame> push_b( |
| 5122 spdy_util_.ConstructInitialSpdyPushFrame(std::move(push_headers), 4, 1)); | 5121 spdy_util_.ConstructInitialSpdyPushFrame(std::move(push_headers), 4, 1)); |
| 5123 std::unique_ptr<SpdySerializedFrame> headers_b( | 5122 std::unique_ptr<SpdySerializedFrame> headers_b( |
| 5124 spdy_util_.ConstructSpdyPushHeaders(4, nullptr, 0)); | 5123 spdy_util_.ConstructSpdyPushHeaders(4, nullptr, 0)); |
| 5125 MockRead reads[] = { | 5124 MockRead reads[] = { |
| 5126 MockRead(ASYNC, ERR_IO_PENDING, 1), | 5125 MockRead(ASYNC, ERR_IO_PENDING, 1), |
| 5127 CreateMockRead(*push_a, 2), | 5126 CreateMockRead(*push_a, 2), |
| 5128 MockRead(ASYNC, ERR_IO_PENDING, 3), | 5127 MockRead(ASYNC, ERR_IO_PENDING, 3), |
| 5129 CreateMockRead(*push_b, 4), | 5128 CreateMockRead(*push_b, 4), |
| 5130 MockRead(ASYNC, ERR_IO_PENDING, 5), | 5129 MockRead(ASYNC, ERR_IO_PENDING, 5), |
| (...skipping 23 matching lines...) Expand all Loading... |
| 5154 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 5153 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 5155 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5154 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5156 spdy_stream1->SetDelegate(&delegate1); | 5155 spdy_stream1->SetDelegate(&delegate1); |
| 5157 | 5156 |
| 5158 EXPECT_EQ(0u, session_->num_active_streams()); | 5157 EXPECT_EQ(0u, session_->num_active_streams()); |
| 5159 EXPECT_EQ(1u, session_->num_created_streams()); | 5158 EXPECT_EQ(1u, session_->num_created_streams()); |
| 5160 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5159 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 5161 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 5160 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 5162 | 5161 |
| 5163 std::unique_ptr<SpdyHeaderBlock> headers( | 5162 std::unique_ptr<SpdyHeaderBlock> headers( |
| 5164 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 5163 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 5165 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5164 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5166 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 5165 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 5167 | 5166 |
| 5168 // Run until 1st stream is activated. | 5167 // Run until 1st stream is activated. |
| 5169 EXPECT_EQ(0u, delegate1.stream_id()); | 5168 EXPECT_EQ(0u, delegate1.stream_id()); |
| 5170 base::RunLoop().RunUntilIdle(); | 5169 base::RunLoop().RunUntilIdle(); |
| 5171 EXPECT_EQ(1u, delegate1.stream_id()); | 5170 EXPECT_EQ(1u, delegate1.stream_id()); |
| 5172 EXPECT_EQ(1u, session_->num_active_streams()); | 5171 EXPECT_EQ(1u, session_->num_active_streams()); |
| 5173 EXPECT_EQ(0u, session_->num_created_streams()); | 5172 EXPECT_EQ(0u, session_->num_created_streams()); |
| 5174 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5173 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 5204 base::RunLoop().RunUntilIdle(); | 5203 base::RunLoop().RunUntilIdle(); |
| 5205 EXPECT_FALSE(session_); | 5204 EXPECT_FALSE(session_); |
| 5206 } | 5205 } |
| 5207 | 5206 |
| 5208 TEST_P(SpdySessionTest, CancelReservedStreamOnHeadersReceived) { | 5207 TEST_P(SpdySessionTest, CancelReservedStreamOnHeadersReceived) { |
| 5209 // Streams in reserved remote state exist only in HTTP/2. | 5208 // Streams in reserved remote state exist only in HTTP/2. |
| 5210 if (spdy_util_.spdy_version() < HTTP2) | 5209 if (spdy_util_.spdy_version() < HTTP2) |
| 5211 return; | 5210 return; |
| 5212 | 5211 |
| 5213 const char kPushedUrl[] = "http://www.example.org/a.dat"; | 5212 const char kPushedUrl[] = "http://www.example.org/a.dat"; |
| 5214 std::unique_ptr<SpdyHeaderBlock> push_headers(new SpdyHeaderBlock); | 5213 SpdyHeaderBlock push_headers; |
| 5215 spdy_util_.AddUrlToHeaderBlock(kPushedUrl, push_headers.get()); | 5214 spdy_util_.AddUrlToHeaderBlock(kPushedUrl, &push_headers); |
| 5216 std::unique_ptr<SpdySerializedFrame> push_promise( | 5215 std::unique_ptr<SpdySerializedFrame> push_promise( |
| 5217 spdy_util_.ConstructInitialSpdyPushFrame(std::move(push_headers), 2, 1)); | 5216 spdy_util_.ConstructInitialSpdyPushFrame(std::move(push_headers), 2, 1)); |
| 5218 std::unique_ptr<SpdySerializedFrame> headers_frame( | 5217 std::unique_ptr<SpdySerializedFrame> headers_frame( |
| 5219 spdy_util_.ConstructSpdyPushHeaders(2, nullptr, 0)); | 5218 spdy_util_.ConstructSpdyPushHeaders(2, nullptr, 0)); |
| 5220 MockRead reads[] = { | 5219 MockRead reads[] = { |
| 5221 MockRead(ASYNC, ERR_IO_PENDING, 1), | 5220 MockRead(ASYNC, ERR_IO_PENDING, 1), |
| 5222 CreateMockRead(*push_promise, 2), | 5221 CreateMockRead(*push_promise, 2), |
| 5223 MockRead(ASYNC, ERR_IO_PENDING, 3), | 5222 MockRead(ASYNC, ERR_IO_PENDING, 3), |
| 5224 CreateMockRead(*headers_frame, 4), | 5223 CreateMockRead(*headers_frame, 4), |
| 5225 MockRead(ASYNC, ERR_IO_PENDING, 6), | 5224 MockRead(ASYNC, ERR_IO_PENDING, 6), |
| (...skipping 20 matching lines...) Expand all Loading... |
| 5246 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 5245 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 5247 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5246 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5248 spdy_stream1->SetDelegate(&delegate1); | 5247 spdy_stream1->SetDelegate(&delegate1); |
| 5249 | 5248 |
| 5250 EXPECT_EQ(0u, session_->num_active_streams()); | 5249 EXPECT_EQ(0u, session_->num_active_streams()); |
| 5251 EXPECT_EQ(1u, session_->num_created_streams()); | 5250 EXPECT_EQ(1u, session_->num_created_streams()); |
| 5252 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5251 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 5253 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 5252 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 5254 | 5253 |
| 5255 std::unique_ptr<SpdyHeaderBlock> headers( | 5254 std::unique_ptr<SpdyHeaderBlock> headers( |
| 5256 spdy_util_.ConstructGetHeaderBlock(kDefaultURL)); | 5255 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(kDefaultURL))); |
| 5257 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5256 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5258 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 5257 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 5259 | 5258 |
| 5260 // Run until 1st stream is activated. | 5259 // Run until 1st stream is activated. |
| 5261 EXPECT_EQ(0u, delegate1.stream_id()); | 5260 EXPECT_EQ(0u, delegate1.stream_id()); |
| 5262 base::RunLoop().RunUntilIdle(); | 5261 base::RunLoop().RunUntilIdle(); |
| 5263 EXPECT_EQ(1u, delegate1.stream_id()); | 5262 EXPECT_EQ(1u, delegate1.stream_id()); |
| 5264 EXPECT_EQ(1u, session_->num_active_streams()); | 5263 EXPECT_EQ(1u, session_->num_active_streams()); |
| 5265 EXPECT_EQ(0u, session_->num_created_streams()); | 5264 EXPECT_EQ(0u, session_->num_created_streams()); |
| 5266 EXPECT_EQ(0u, session_->num_pushed_streams()); | 5265 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5498 CreateNetworkSession(); | 5497 CreateNetworkSession(); |
| 5499 CreateSecureSpdySession(); | 5498 CreateSecureSpdySession(); |
| 5500 | 5499 |
| 5501 base::WeakPtr<SpdyStream> spdy_stream1 = | 5500 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 5502 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 5501 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 5503 GURL(request_origin), MEDIUM, BoundNetLog()); | 5502 GURL(request_origin), MEDIUM, BoundNetLog()); |
| 5504 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5503 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5505 spdy_stream1->SetDelegate(&delegate1); | 5504 spdy_stream1->SetDelegate(&delegate1); |
| 5506 | 5505 |
| 5507 std::unique_ptr<SpdyHeaderBlock> headers( | 5506 std::unique_ptr<SpdyHeaderBlock> headers( |
| 5508 spdy_util_.ConstructGetHeaderBlock(request_origin)); | 5507 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(request_origin))); |
| 5509 | 5508 |
| 5510 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5509 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5511 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 5510 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 5512 | 5511 |
| 5513 base::RunLoop().RunUntilIdle(); | 5512 base::RunLoop().RunUntilIdle(); |
| 5514 | 5513 |
| 5515 const url::SchemeHostPort session_origin("https", test_url_.host(), | 5514 const url::SchemeHostPort session_origin("https", test_url_.host(), |
| 5516 test_url_.EffectiveIntPort()); | 5515 test_url_.EffectiveIntPort()); |
| 5517 AlternativeServiceVector altsvc_vector = | 5516 AlternativeServiceVector altsvc_vector = |
| 5518 spdy_session_pool_->http_server_properties()->GetAlternativeServices( | 5517 spdy_session_pool_->http_server_properties()->GetAlternativeServices( |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5554 CreateNetworkSession(); | 5553 CreateNetworkSession(); |
| 5555 CreateSecureSpdySession(); | 5554 CreateSecureSpdySession(); |
| 5556 | 5555 |
| 5557 base::WeakPtr<SpdyStream> spdy_stream1 = | 5556 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 5558 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 5557 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 5559 GURL(request_origin), MEDIUM, BoundNetLog()); | 5558 GURL(request_origin), MEDIUM, BoundNetLog()); |
| 5560 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5559 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5561 spdy_stream1->SetDelegate(&delegate1); | 5560 spdy_stream1->SetDelegate(&delegate1); |
| 5562 | 5561 |
| 5563 std::unique_ptr<SpdyHeaderBlock> headers( | 5562 std::unique_ptr<SpdyHeaderBlock> headers( |
| 5564 spdy_util_.ConstructGetHeaderBlock(request_origin)); | 5563 new SpdyHeaderBlock(spdy_util_.ConstructGetHeaderBlock(request_origin))); |
| 5565 | 5564 |
| 5566 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5565 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5567 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | 5566 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); |
| 5568 | 5567 |
| 5569 base::RunLoop().RunUntilIdle(); | 5568 base::RunLoop().RunUntilIdle(); |
| 5570 | 5569 |
| 5571 const url::SchemeHostPort session_origin("https", test_url_.host(), | 5570 const url::SchemeHostPort session_origin("https", test_url_.host(), |
| 5572 test_url_.EffectiveIntPort()); | 5571 test_url_.EffectiveIntPort()); |
| 5573 AlternativeServiceVector altsvc_vector = | 5572 AlternativeServiceVector altsvc_vector = |
| 5574 spdy_session_pool_->http_server_properties()->GetAlternativeServices( | 5573 spdy_session_pool_->http_server_properties()->GetAlternativeServices( |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5751 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(), | 5750 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(), |
| 5752 "spdy_pooling.pem"); | 5751 "spdy_pooling.pem"); |
| 5753 ssl_info.is_issued_by_known_root = true; | 5752 ssl_info.is_issued_by_known_root = true; |
| 5754 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin)); | 5753 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin)); |
| 5755 | 5754 |
| 5756 EXPECT_TRUE(SpdySession::CanPool( | 5755 EXPECT_TRUE(SpdySession::CanPool( |
| 5757 &tss, ssl_info, "www.example.org", "mail.example.org")); | 5756 &tss, ssl_info, "www.example.org", "mail.example.org")); |
| 5758 } | 5757 } |
| 5759 | 5758 |
| 5760 } // namespace net | 5759 } // namespace net |
| OLD | NEW |