| 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 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 | 369 |
| 370 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 370 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 371 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 371 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 372 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 372 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 373 spdy_stream2->SetDelegate(&delegate2); | 373 spdy_stream2->SetDelegate(&delegate2); |
| 374 | 374 |
| 375 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 375 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 376 SpdyHeaderBlock headers2(headers.Clone()); | 376 SpdyHeaderBlock headers2(headers.Clone()); |
| 377 | 377 |
| 378 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 378 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 379 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 380 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 379 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 381 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | |
| 382 | 380 |
| 383 base::RunLoop().RunUntilIdle(); | 381 base::RunLoop().RunUntilIdle(); |
| 384 | 382 |
| 385 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 383 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 386 EXPECT_EQ(3u, spdy_stream2->stream_id()); | 384 EXPECT_EQ(3u, spdy_stream2->stream_id()); |
| 387 | 385 |
| 388 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 386 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 389 | 387 |
| 390 // Read and process the GOAWAY frame. | 388 // Read and process the GOAWAY frame. |
| 391 data.Resume(); | 389 data.Resume(); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 | 427 |
| 430 CreateNetworkSession(); | 428 CreateNetworkSession(); |
| 431 CreateInsecureSpdySession(); | 429 CreateInsecureSpdySession(); |
| 432 | 430 |
| 433 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 431 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 434 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 432 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 435 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 433 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 436 spdy_stream1->SetDelegate(&delegate1); | 434 spdy_stream1->SetDelegate(&delegate1); |
| 437 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 435 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 438 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 436 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 439 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 440 | 437 |
| 441 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 438 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 442 | 439 |
| 443 // Active stream 1. | 440 // Active stream 1. |
| 444 base::RunLoop().RunUntilIdle(); | 441 base::RunLoop().RunUntilIdle(); |
| 445 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 442 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 446 EXPECT_TRUE(session_->IsStreamActive(1)); | 443 EXPECT_TRUE(session_->IsStreamActive(1)); |
| 447 | 444 |
| 448 // Create stream corresponding to the next request. | 445 // Create stream corresponding to the next request. |
| 449 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 446 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 495 | 492 |
| 496 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 493 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 497 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 494 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 498 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 495 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 499 spdy_stream2->SetDelegate(&delegate2); | 496 spdy_stream2->SetDelegate(&delegate2); |
| 500 | 497 |
| 501 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 498 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 502 SpdyHeaderBlock headers2(headers.Clone()); | 499 SpdyHeaderBlock headers2(headers.Clone()); |
| 503 | 500 |
| 504 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 501 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 505 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 506 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 502 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 507 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | |
| 508 | 503 |
| 509 base::RunLoop().RunUntilIdle(); | 504 base::RunLoop().RunUntilIdle(); |
| 510 | 505 |
| 511 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 506 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 512 EXPECT_EQ(3u, spdy_stream2->stream_id()); | 507 EXPECT_EQ(3u, spdy_stream2->stream_id()); |
| 513 | 508 |
| 514 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 509 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 515 | 510 |
| 516 // Read and process the first GOAWAY frame. | 511 // Read and process the first GOAWAY frame. |
| 517 data.Resume(); | 512 data.Resume(); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 562 | 557 |
| 563 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 558 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 564 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 559 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 565 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 560 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 566 spdy_stream2->SetDelegate(&delegate2); | 561 spdy_stream2->SetDelegate(&delegate2); |
| 567 | 562 |
| 568 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 563 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 569 SpdyHeaderBlock headers2(headers.Clone()); | 564 SpdyHeaderBlock headers2(headers.Clone()); |
| 570 | 565 |
| 571 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 566 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 572 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 573 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 567 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 574 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | |
| 575 | 568 |
| 576 base::RunLoop().RunUntilIdle(); | 569 base::RunLoop().RunUntilIdle(); |
| 577 | 570 |
| 578 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 571 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 579 EXPECT_EQ(3u, spdy_stream2->stream_id()); | 572 EXPECT_EQ(3u, spdy_stream2->stream_id()); |
| 580 | 573 |
| 581 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 574 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 582 | 575 |
| 583 // Read and process the GOAWAY frame. | 576 // Read and process the GOAWAY frame. |
| 584 data.Resume(); | 577 data.Resume(); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 641 CreateNetworkSession(); | 634 CreateNetworkSession(); |
| 642 CreateInsecureSpdySession(); | 635 CreateInsecureSpdySession(); |
| 643 | 636 |
| 644 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 637 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 645 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 638 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 646 test::StreamDelegateDoNothing delegate(spdy_stream); | 639 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 647 spdy_stream->SetDelegate(&delegate); | 640 spdy_stream->SetDelegate(&delegate); |
| 648 | 641 |
| 649 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 642 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 650 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 643 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 651 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 652 | 644 |
| 653 base::RunLoop().RunUntilIdle(); | 645 base::RunLoop().RunUntilIdle(); |
| 654 | 646 |
| 655 // Stream and session closed gracefully. | 647 // Stream and session closed gracefully. |
| 656 EXPECT_TRUE(delegate.StreamIsClosed()); | 648 EXPECT_TRUE(delegate.StreamIsClosed()); |
| 657 EXPECT_THAT(delegate.WaitForClose(), IsOk()); | 649 EXPECT_THAT(delegate.WaitForClose(), IsOk()); |
| 658 EXPECT_EQ(kUploadData, delegate.TakeReceivedData()); | 650 EXPECT_EQ(kUploadData, delegate.TakeReceivedData()); |
| 659 EXPECT_FALSE(session_); | 651 EXPECT_FALSE(session_); |
| 660 } | 652 } |
| 661 | 653 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 680 CreateNetworkSession(); | 672 CreateNetworkSession(); |
| 681 CreateInsecureSpdySession(); | 673 CreateInsecureSpdySession(); |
| 682 | 674 |
| 683 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 675 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 684 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 676 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 685 test::StreamDelegateDoNothing delegate(spdy_stream); | 677 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 686 spdy_stream->SetDelegate(&delegate); | 678 spdy_stream->SetDelegate(&delegate); |
| 687 | 679 |
| 688 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 680 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 689 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 681 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 690 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 691 | 682 |
| 692 base::RunLoop().RunUntilIdle(); | 683 base::RunLoop().RunUntilIdle(); |
| 693 | 684 |
| 694 EXPECT_EQ(1u, spdy_stream->stream_id()); | 685 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 695 | 686 |
| 696 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 687 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 697 | 688 |
| 698 // Read and process the GOAWAY frame. | 689 // Read and process the GOAWAY frame. |
| 699 data.Resume(); | 690 data.Resume(); |
| 700 base::RunLoop().RunUntilIdle(); | 691 base::RunLoop().RunUntilIdle(); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 738 CreateNetworkSession(); | 729 CreateNetworkSession(); |
| 739 CreateInsecureSpdySession(); | 730 CreateInsecureSpdySession(); |
| 740 | 731 |
| 741 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 732 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 742 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 733 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 743 test::StreamDelegateDoNothing delegate(spdy_stream); | 734 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 744 spdy_stream->SetDelegate(&delegate); | 735 spdy_stream->SetDelegate(&delegate); |
| 745 | 736 |
| 746 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 737 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 747 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 738 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 748 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 749 | 739 |
| 750 base::RunLoop().RunUntilIdle(); | 740 base::RunLoop().RunUntilIdle(); |
| 751 | 741 |
| 752 EXPECT_EQ(1u, spdy_stream->stream_id()); | 742 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 753 | 743 |
| 754 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 744 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 755 | 745 |
| 756 // Read and process the GOAWAY frame. | 746 // Read and process the GOAWAY frame. |
| 757 data.Resume(); | 747 data.Resume(); |
| 758 base::RunLoop().RunUntilIdle(); | 748 base::RunLoop().RunUntilIdle(); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 787 CreateInsecureSpdySession(); | 777 CreateInsecureSpdySession(); |
| 788 | 778 |
| 789 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 779 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 790 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 780 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 791 test::StreamDelegateDoNothing delegate(spdy_stream); | 781 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 792 spdy_stream->SetDelegate(&delegate); | 782 spdy_stream->SetDelegate(&delegate); |
| 793 | 783 |
| 794 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 784 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 795 | 785 |
| 796 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 786 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 797 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 798 | 787 |
| 799 base::RunLoop().RunUntilIdle(); | 788 base::RunLoop().RunUntilIdle(); |
| 800 | 789 |
| 801 EXPECT_EQ(1u, spdy_stream->stream_id()); | 790 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 802 | 791 |
| 803 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 792 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 804 | 793 |
| 805 spdy_session_pool_->OnIPAddressChanged(); | 794 spdy_session_pool_->OnIPAddressChanged(); |
| 806 | 795 |
| 807 // The SpdySessionPool behavior differs based on how the OSs reacts to | 796 // The SpdySessionPool behavior differs based on how the OSs reacts to |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1146 EXPECT_EQ(1u, session_->num_created_streams()); | 1135 EXPECT_EQ(1u, session_->num_created_streams()); |
| 1147 | 1136 |
| 1148 EXPECT_THAT(callback.WaitForResult(), IsOk()); | 1137 EXPECT_THAT(callback.WaitForResult(), IsOk()); |
| 1149 | 1138 |
| 1150 // Send request. | 1139 // Send request. |
| 1151 base::WeakPtr<SpdyStream> stream = request.ReleaseStream(); | 1140 base::WeakPtr<SpdyStream> stream = request.ReleaseStream(); |
| 1152 test::StreamDelegateDoNothing delegate(stream); | 1141 test::StreamDelegateDoNothing delegate(stream); |
| 1153 stream->SetDelegate(&delegate); | 1142 stream->SetDelegate(&delegate); |
| 1154 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1143 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1155 stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1144 stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1156 EXPECT_TRUE(stream->HasUrlFromHeaders()); | |
| 1157 | 1145 |
| 1158 EXPECT_THAT(delegate.WaitForClose(), IsOk()); | 1146 EXPECT_THAT(delegate.WaitForClose(), IsOk()); |
| 1159 EXPECT_EQ("hello!", delegate.TakeReceivedData()); | 1147 EXPECT_EQ("hello!", delegate.TakeReceivedData()); |
| 1160 | 1148 |
| 1161 // Session is destroyed. | 1149 // Session is destroyed. |
| 1162 EXPECT_FALSE(session_); | 1150 EXPECT_FALSE(session_); |
| 1163 } | 1151 } |
| 1164 | 1152 |
| 1165 // Verifies that an unstalled pending stream creation racing with a new stream | 1153 // Verifies that an unstalled pending stream creation racing with a new stream |
| 1166 // creation doesn't violate the maximum stream concurrency. Regression test for | 1154 // creation doesn't violate the maximum stream concurrency. Regression test for |
| (...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1668 CreateNetworkSession(); | 1656 CreateNetworkSession(); |
| 1669 CreateInsecureSpdySession(); | 1657 CreateInsecureSpdySession(); |
| 1670 | 1658 |
| 1671 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 1659 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 1672 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 1660 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 1673 test::StreamDelegateDoNothing delegate(spdy_stream); | 1661 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 1674 spdy_stream->SetDelegate(&delegate); | 1662 spdy_stream->SetDelegate(&delegate); |
| 1675 | 1663 |
| 1676 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1664 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1677 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1665 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1678 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 1679 | 1666 |
| 1680 // Write request headers & capture resulting histogram update. | 1667 // Write request headers & capture resulting histogram update. |
| 1681 base::HistogramTester histogram_tester; | 1668 base::HistogramTester histogram_tester; |
| 1682 | 1669 |
| 1683 base::RunLoop().RunUntilIdle(); | 1670 base::RunLoop().RunUntilIdle(); |
| 1684 // Regression test of compression performance under the request fixture. | 1671 // Regression test of compression performance under the request fixture. |
| 1685 histogram_tester.ExpectBucketCount( | 1672 histogram_tester.ExpectBucketCount( |
| 1686 "Net.SpdySynStreamCompressionPercentage", 81, 1); | 1673 "Net.SpdySynStreamCompressionPercentage", 81, 1); |
| 1687 | 1674 |
| 1688 // Read and process EOF. | 1675 // Read and process EOF. |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1739 EXPECT_EQ(0u, spdy_stream_highest->stream_id()); | 1726 EXPECT_EQ(0u, spdy_stream_highest->stream_id()); |
| 1740 test::StreamDelegateDoNothing delegate_highest(spdy_stream_highest); | 1727 test::StreamDelegateDoNothing delegate_highest(spdy_stream_highest); |
| 1741 spdy_stream_highest->SetDelegate(&delegate_highest); | 1728 spdy_stream_highest->SetDelegate(&delegate_highest); |
| 1742 | 1729 |
| 1743 // Queue the lower priority one first. | 1730 // Queue the lower priority one first. |
| 1744 | 1731 |
| 1745 SpdyHeaderBlock headers_lowest( | 1732 SpdyHeaderBlock headers_lowest( |
| 1746 spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1733 spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1747 spdy_stream_lowest->SendRequestHeaders(std::move(headers_lowest), | 1734 spdy_stream_lowest->SendRequestHeaders(std::move(headers_lowest), |
| 1748 NO_MORE_DATA_TO_SEND); | 1735 NO_MORE_DATA_TO_SEND); |
| 1749 EXPECT_TRUE(spdy_stream_lowest->HasUrlFromHeaders()); | |
| 1750 | 1736 |
| 1751 SpdyHeaderBlock headers_highest( | 1737 SpdyHeaderBlock headers_highest( |
| 1752 spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1738 spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1753 spdy_stream_highest->SendRequestHeaders(std::move(headers_highest), | 1739 spdy_stream_highest->SendRequestHeaders(std::move(headers_highest), |
| 1754 NO_MORE_DATA_TO_SEND); | 1740 NO_MORE_DATA_TO_SEND); |
| 1755 EXPECT_TRUE(spdy_stream_highest->HasUrlFromHeaders()); | |
| 1756 | 1741 |
| 1757 base::RunLoop().RunUntilIdle(); | 1742 base::RunLoop().RunUntilIdle(); |
| 1758 | 1743 |
| 1759 EXPECT_FALSE(spdy_stream_lowest); | 1744 EXPECT_FALSE(spdy_stream_lowest); |
| 1760 EXPECT_FALSE(spdy_stream_highest); | 1745 EXPECT_FALSE(spdy_stream_highest); |
| 1761 EXPECT_EQ(3u, delegate_lowest.stream_id()); | 1746 EXPECT_EQ(3u, delegate_lowest.stream_id()); |
| 1762 EXPECT_EQ(1u, delegate_highest.stream_id()); | 1747 EXPECT_EQ(1u, delegate_highest.stream_id()); |
| 1763 } | 1748 } |
| 1764 | 1749 |
| 1765 TEST_F(SpdySessionTest, CancelStream) { | 1750 TEST_F(SpdySessionTest, CancelStream) { |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1796 | 1781 |
| 1797 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( | 1782 base::WeakPtr<SpdyStream> spdy_stream2 = CreateStreamSynchronously( |
| 1798 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 1783 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 1799 ASSERT_TRUE(spdy_stream2); | 1784 ASSERT_TRUE(spdy_stream2); |
| 1800 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1785 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1801 test::StreamDelegateDoNothing delegate2(spdy_stream2); | 1786 test::StreamDelegateDoNothing delegate2(spdy_stream2); |
| 1802 spdy_stream2->SetDelegate(&delegate2); | 1787 spdy_stream2->SetDelegate(&delegate2); |
| 1803 | 1788 |
| 1804 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1789 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1805 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1790 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1806 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 1807 | 1791 |
| 1808 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1792 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1809 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 1793 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 1810 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | |
| 1811 | 1794 |
| 1812 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 1795 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 1813 | 1796 |
| 1814 spdy_stream1->Cancel(); | 1797 spdy_stream1->Cancel(); |
| 1815 EXPECT_FALSE(spdy_stream1); | 1798 EXPECT_FALSE(spdy_stream1); |
| 1816 | 1799 |
| 1817 EXPECT_EQ(0u, delegate1.stream_id()); | 1800 EXPECT_EQ(0u, delegate1.stream_id()); |
| 1818 | 1801 |
| 1819 base::RunLoop().RunUntilIdle(); | 1802 base::RunLoop().RunUntilIdle(); |
| 1820 | 1803 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1857 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1840 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1858 | 1841 |
| 1859 test::ClosingDelegate delegate1(spdy_stream1); | 1842 test::ClosingDelegate delegate1(spdy_stream1); |
| 1860 spdy_stream1->SetDelegate(&delegate1); | 1843 spdy_stream1->SetDelegate(&delegate1); |
| 1861 | 1844 |
| 1862 test::ClosingDelegate delegate2(spdy_stream2); | 1845 test::ClosingDelegate delegate2(spdy_stream2); |
| 1863 spdy_stream2->SetDelegate(&delegate2); | 1846 spdy_stream2->SetDelegate(&delegate2); |
| 1864 | 1847 |
| 1865 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1848 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1866 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1849 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1867 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 1868 | 1850 |
| 1869 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1851 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1870 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 1852 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 1871 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | |
| 1872 | 1853 |
| 1873 // Ensure that the streams have not yet been activated and assigned an id. | 1854 // Ensure that the streams have not yet been activated and assigned an id. |
| 1874 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 1855 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 1875 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1856 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1876 | 1857 |
| 1877 // Ensure we don't crash while closing the session. | 1858 // Ensure we don't crash while closing the session. |
| 1878 session_->CloseSessionOnError(ERR_ABORTED, std::string()); | 1859 session_->CloseSessionOnError(ERR_ABORTED, std::string()); |
| 1879 | 1860 |
| 1880 EXPECT_FALSE(spdy_stream1); | 1861 EXPECT_FALSE(spdy_stream1); |
| 1881 EXPECT_FALSE(spdy_stream2); | 1862 EXPECT_FALSE(spdy_stream2); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1911 // Make |spdy_stream1| close |spdy_stream2|. | 1892 // Make |spdy_stream1| close |spdy_stream2|. |
| 1912 test::ClosingDelegate delegate1(spdy_stream2); | 1893 test::ClosingDelegate delegate1(spdy_stream2); |
| 1913 spdy_stream1->SetDelegate(&delegate1); | 1894 spdy_stream1->SetDelegate(&delegate1); |
| 1914 | 1895 |
| 1915 // Make |spdy_stream2| close |spdy_stream1|. | 1896 // Make |spdy_stream2| close |spdy_stream1|. |
| 1916 test::ClosingDelegate delegate2(spdy_stream1); | 1897 test::ClosingDelegate delegate2(spdy_stream1); |
| 1917 spdy_stream2->SetDelegate(&delegate2); | 1898 spdy_stream2->SetDelegate(&delegate2); |
| 1918 | 1899 |
| 1919 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1900 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1920 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1901 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1921 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 1922 | 1902 |
| 1923 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1903 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1924 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 1904 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 1925 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | |
| 1926 | 1905 |
| 1927 // Ensure that the streams have not yet been activated and assigned an id. | 1906 // Ensure that the streams have not yet been activated and assigned an id. |
| 1928 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 1907 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 1929 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1908 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1930 | 1909 |
| 1931 // Ensure we don't crash while closing the session. | 1910 // Ensure we don't crash while closing the session. |
| 1932 session_->CloseSessionOnError(ERR_ABORTED, std::string()); | 1911 session_->CloseSessionOnError(ERR_ABORTED, std::string()); |
| 1933 | 1912 |
| 1934 EXPECT_FALSE(spdy_stream1); | 1913 EXPECT_FALSE(spdy_stream1); |
| 1935 EXPECT_FALSE(spdy_stream2); | 1914 EXPECT_FALSE(spdy_stream2); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1975 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1954 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1976 | 1955 |
| 1977 test::ClosingDelegate delegate1(spdy_stream1); | 1956 test::ClosingDelegate delegate1(spdy_stream1); |
| 1978 spdy_stream1->SetDelegate(&delegate1); | 1957 spdy_stream1->SetDelegate(&delegate1); |
| 1979 | 1958 |
| 1980 test::ClosingDelegate delegate2(spdy_stream2); | 1959 test::ClosingDelegate delegate2(spdy_stream2); |
| 1981 spdy_stream2->SetDelegate(&delegate2); | 1960 spdy_stream2->SetDelegate(&delegate2); |
| 1982 | 1961 |
| 1983 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1962 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1984 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 1963 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 1985 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 1986 | 1964 |
| 1987 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 1965 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 1988 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 1966 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 1989 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | |
| 1990 | 1967 |
| 1991 // Ensure that the streams have not yet been activated and assigned an id. | 1968 // Ensure that the streams have not yet been activated and assigned an id. |
| 1992 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 1969 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 1993 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 1970 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 1994 | 1971 |
| 1995 base::RunLoop().RunUntilIdle(); | 1972 base::RunLoop().RunUntilIdle(); |
| 1996 | 1973 |
| 1997 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 1974 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 1998 EXPECT_EQ(3u, spdy_stream2->stream_id()); | 1975 EXPECT_EQ(3u, spdy_stream2->stream_id()); |
| 1999 | 1976 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2048 // Make |spdy_stream1| close |spdy_stream2|. | 2025 // Make |spdy_stream1| close |spdy_stream2|. |
| 2049 test::ClosingDelegate delegate1(spdy_stream2); | 2026 test::ClosingDelegate delegate1(spdy_stream2); |
| 2050 spdy_stream1->SetDelegate(&delegate1); | 2027 spdy_stream1->SetDelegate(&delegate1); |
| 2051 | 2028 |
| 2052 // Make |spdy_stream2| close |spdy_stream1|. | 2029 // Make |spdy_stream2| close |spdy_stream1|. |
| 2053 test::ClosingDelegate delegate2(spdy_stream1); | 2030 test::ClosingDelegate delegate2(spdy_stream1); |
| 2054 spdy_stream2->SetDelegate(&delegate2); | 2031 spdy_stream2->SetDelegate(&delegate2); |
| 2055 | 2032 |
| 2056 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2033 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2057 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2034 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2058 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 2059 | 2035 |
| 2060 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2036 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2061 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2037 spdy_stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2062 EXPECT_TRUE(spdy_stream2->HasUrlFromHeaders()); | |
| 2063 | 2038 |
| 2064 // Ensure that the streams have not yet been activated and assigned an id. | 2039 // Ensure that the streams have not yet been activated and assigned an id. |
| 2065 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2040 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2066 EXPECT_EQ(0u, spdy_stream2->stream_id()); | 2041 EXPECT_EQ(0u, spdy_stream2->stream_id()); |
| 2067 | 2042 |
| 2068 base::RunLoop().RunUntilIdle(); | 2043 base::RunLoop().RunUntilIdle(); |
| 2069 | 2044 |
| 2070 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 2045 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 2071 EXPECT_EQ(3u, spdy_stream2->stream_id()); | 2046 EXPECT_EQ(3u, spdy_stream2->stream_id()); |
| 2072 | 2047 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2133 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 2108 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 2134 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2109 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2135 ASSERT_TRUE(spdy_stream); | 2110 ASSERT_TRUE(spdy_stream); |
| 2136 EXPECT_EQ(0u, spdy_stream->stream_id()); | 2111 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 2137 | 2112 |
| 2138 SessionClosingDelegate delegate(spdy_stream, session_); | 2113 SessionClosingDelegate delegate(spdy_stream, session_); |
| 2139 spdy_stream->SetDelegate(&delegate); | 2114 spdy_stream->SetDelegate(&delegate); |
| 2140 | 2115 |
| 2141 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2116 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2142 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2117 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2143 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 2144 | 2118 |
| 2145 EXPECT_EQ(0u, spdy_stream->stream_id()); | 2119 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 2146 | 2120 |
| 2147 base::RunLoop().RunUntilIdle(); | 2121 base::RunLoop().RunUntilIdle(); |
| 2148 | 2122 |
| 2149 EXPECT_EQ(1u, spdy_stream->stream_id()); | 2123 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 2150 | 2124 |
| 2151 // Ensure we don't crash while closing the stream (which closes the | 2125 // Ensure we don't crash while closing the stream (which closes the |
| 2152 // session). | 2126 // session). |
| 2153 spdy_stream->Cancel(); | 2127 spdy_stream->Cancel(); |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2296 ERR_IO_PENDING, | 2270 ERR_IO_PENDING, |
| 2297 request3.StartRequest(SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, | 2271 request3.StartRequest(SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, |
| 2298 LOWEST, BoundNetLog(), callback3.callback())); | 2272 LOWEST, BoundNetLog(), callback3.callback())); |
| 2299 | 2273 |
| 2300 EXPECT_EQ(0u, session_->num_active_streams()); | 2274 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2301 EXPECT_EQ(1u, session_->num_created_streams()); | 2275 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2302 EXPECT_EQ(2u, session_->pending_create_stream_queue_size(LOWEST)); | 2276 EXPECT_EQ(2u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2303 | 2277 |
| 2304 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2278 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2305 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 2279 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 2306 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 2307 | 2280 |
| 2308 // Run until 1st stream is activated and then closed. | 2281 // Run until 1st stream is activated and then closed. |
| 2309 EXPECT_EQ(0u, delegate1.stream_id()); | 2282 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2310 base::RunLoop().RunUntilIdle(); | 2283 base::RunLoop().RunUntilIdle(); |
| 2311 EXPECT_FALSE(spdy_stream1); | 2284 EXPECT_FALSE(spdy_stream1); |
| 2312 EXPECT_EQ(1u, delegate1.stream_id()); | 2285 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2313 | 2286 |
| 2314 EXPECT_EQ(0u, session_->num_active_streams()); | 2287 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2315 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); | 2288 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2316 | 2289 |
| 2317 // Pump loop for SpdySession::ProcessPendingStreamRequests() to | 2290 // Pump loop for SpdySession::ProcessPendingStreamRequests() to |
| 2318 // create the 2nd stream. | 2291 // create the 2nd stream. |
| 2319 base::RunLoop().RunUntilIdle(); | 2292 base::RunLoop().RunUntilIdle(); |
| 2320 | 2293 |
| 2321 EXPECT_EQ(0u, session_->num_active_streams()); | 2294 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2322 EXPECT_EQ(1u, session_->num_created_streams()); | 2295 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2323 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); | 2296 EXPECT_EQ(1u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2324 | 2297 |
| 2325 base::WeakPtr<SpdyStream> stream2 = request2.ReleaseStream(); | 2298 base::WeakPtr<SpdyStream> stream2 = request2.ReleaseStream(); |
| 2326 test::StreamDelegateDoNothing delegate2(stream2); | 2299 test::StreamDelegateDoNothing delegate2(stream2); |
| 2327 stream2->SetDelegate(&delegate2); | 2300 stream2->SetDelegate(&delegate2); |
| 2328 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2301 SpdyHeaderBlock headers2(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2329 stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); | 2302 stream2->SendRequestHeaders(std::move(headers2), NO_MORE_DATA_TO_SEND); |
| 2330 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | |
| 2331 | 2303 |
| 2332 // Run until 2nd stream is activated and then closed. | 2304 // Run until 2nd stream is activated and then closed. |
| 2333 EXPECT_EQ(0u, delegate2.stream_id()); | 2305 EXPECT_EQ(0u, delegate2.stream_id()); |
| 2334 base::RunLoop().RunUntilIdle(); | 2306 base::RunLoop().RunUntilIdle(); |
| 2335 EXPECT_FALSE(stream2); | 2307 EXPECT_FALSE(stream2); |
| 2336 EXPECT_EQ(3u, delegate2.stream_id()); | 2308 EXPECT_EQ(3u, delegate2.stream_id()); |
| 2337 | 2309 |
| 2338 EXPECT_EQ(0u, session_->num_active_streams()); | 2310 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2339 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); | 2311 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2340 | 2312 |
| 2341 // Pump loop for SpdySession::ProcessPendingStreamRequests() to | 2313 // Pump loop for SpdySession::ProcessPendingStreamRequests() to |
| 2342 // create the 3rd stream. | 2314 // create the 3rd stream. |
| 2343 base::RunLoop().RunUntilIdle(); | 2315 base::RunLoop().RunUntilIdle(); |
| 2344 | 2316 |
| 2345 EXPECT_EQ(0u, session_->num_active_streams()); | 2317 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2346 EXPECT_EQ(1u, session_->num_created_streams()); | 2318 EXPECT_EQ(1u, session_->num_created_streams()); |
| 2347 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); | 2319 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); |
| 2348 | 2320 |
| 2349 base::WeakPtr<SpdyStream> stream3 = request3.ReleaseStream(); | 2321 base::WeakPtr<SpdyStream> stream3 = request3.ReleaseStream(); |
| 2350 test::StreamDelegateDoNothing delegate3(stream3); | 2322 test::StreamDelegateDoNothing delegate3(stream3); |
| 2351 stream3->SetDelegate(&delegate3); | 2323 stream3->SetDelegate(&delegate3); |
| 2352 SpdyHeaderBlock headers3(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2324 SpdyHeaderBlock headers3(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2353 stream3->SendRequestHeaders(std::move(headers3), NO_MORE_DATA_TO_SEND); | 2325 stream3->SendRequestHeaders(std::move(headers3), NO_MORE_DATA_TO_SEND); |
| 2354 EXPECT_TRUE(stream3->HasUrlFromHeaders()); | |
| 2355 | 2326 |
| 2356 // Run until 2nd stream is activated and then closed. | 2327 // Run until 2nd stream is activated and then closed. |
| 2357 EXPECT_EQ(0u, delegate3.stream_id()); | 2328 EXPECT_EQ(0u, delegate3.stream_id()); |
| 2358 base::RunLoop().RunUntilIdle(); | 2329 base::RunLoop().RunUntilIdle(); |
| 2359 EXPECT_FALSE(stream3); | 2330 EXPECT_FALSE(stream3); |
| 2360 EXPECT_EQ(5u, delegate3.stream_id()); | 2331 EXPECT_EQ(5u, delegate3.stream_id()); |
| 2361 | 2332 |
| 2362 EXPECT_EQ(0u, session_->num_active_streams()); | 2333 EXPECT_EQ(0u, session_->num_active_streams()); |
| 2363 EXPECT_EQ(0u, session_->num_created_streams()); | 2334 EXPECT_EQ(0u, session_->num_created_streams()); |
| 2364 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); | 2335 EXPECT_EQ(0u, session_->pending_create_stream_queue_size(LOWEST)); |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2491 | 2462 |
| 2492 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2463 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2493 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2464 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2494 ASSERT_TRUE(spdy_stream1); | 2465 ASSERT_TRUE(spdy_stream1); |
| 2495 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2466 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2496 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2467 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2497 spdy_stream1->SetDelegate(&delegate1); | 2468 spdy_stream1->SetDelegate(&delegate1); |
| 2498 | 2469 |
| 2499 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2470 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2500 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2471 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2501 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 2502 | 2472 |
| 2503 // Set up the TaskObserver to verify SpdySession::DoReadLoop doesn't | 2473 // Set up the TaskObserver to verify SpdySession::DoReadLoop doesn't |
| 2504 // post a task. | 2474 // post a task. |
| 2505 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2475 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2506 | 2476 |
| 2507 // Run until 1st read. | 2477 // Run until 1st read. |
| 2508 EXPECT_EQ(0u, delegate1.stream_id()); | 2478 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2509 base::RunLoop().RunUntilIdle(); | 2479 base::RunLoop().RunUntilIdle(); |
| 2510 EXPECT_EQ(1u, delegate1.stream_id()); | 2480 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2511 EXPECT_EQ(0u, observer.executed_count()); | 2481 EXPECT_EQ(0u, observer.executed_count()); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2551 | 2521 |
| 2552 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2522 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2553 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2523 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2554 ASSERT_TRUE(spdy_stream1); | 2524 ASSERT_TRUE(spdy_stream1); |
| 2555 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2525 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2556 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2526 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2557 spdy_stream1->SetDelegate(&delegate1); | 2527 spdy_stream1->SetDelegate(&delegate1); |
| 2558 | 2528 |
| 2559 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2529 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2560 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2530 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2561 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 2562 | 2531 |
| 2563 // Set up the TaskObserver to verify that SpdySession::DoReadLoop posts a | 2532 // Set up the TaskObserver to verify that SpdySession::DoReadLoop posts a |
| 2564 // task. | 2533 // task. |
| 2565 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2534 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2566 | 2535 |
| 2567 EXPECT_EQ(0u, delegate1.stream_id()); | 2536 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2568 EXPECT_EQ(0u, observer.executed_count()); | 2537 EXPECT_EQ(0u, observer.executed_count()); |
| 2569 | 2538 |
| 2570 // Read all the data and verify that SpdySession::DoReadLoop has posted a | 2539 // Read all the data and verify that SpdySession::DoReadLoop has posted a |
| 2571 // task. | 2540 // task. |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2619 | 2588 |
| 2620 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2589 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2621 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2590 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2622 ASSERT_TRUE(spdy_stream1); | 2591 ASSERT_TRUE(spdy_stream1); |
| 2623 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2592 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2624 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2593 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2625 spdy_stream1->SetDelegate(&delegate1); | 2594 spdy_stream1->SetDelegate(&delegate1); |
| 2626 | 2595 |
| 2627 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2596 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2628 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2597 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2629 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 2630 | 2598 |
| 2631 // Run until 1st read. | 2599 // Run until 1st read. |
| 2632 EXPECT_EQ(0u, delegate1.stream_id()); | 2600 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2633 base::RunLoop().RunUntilIdle(); | 2601 base::RunLoop().RunUntilIdle(); |
| 2634 EXPECT_EQ(1u, delegate1.stream_id()); | 2602 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2635 | 2603 |
| 2636 // Read all the data and verify SpdySession::DoReadLoop has posted a task. | 2604 // Read all the data and verify SpdySession::DoReadLoop has posted a task. |
| 2637 data.Resume(); | 2605 data.Resume(); |
| 2638 base::RunLoop().RunUntilIdle(); | 2606 base::RunLoop().RunUntilIdle(); |
| 2639 EXPECT_EQ("foo foo foo bar", delegate1.TakeReceivedData()); | 2607 EXPECT_EQ("foo foo foo bar", delegate1.TakeReceivedData()); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2698 | 2666 |
| 2699 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2667 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2700 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2668 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2701 ASSERT_TRUE(spdy_stream1); | 2669 ASSERT_TRUE(spdy_stream1); |
| 2702 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2670 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2703 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2671 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2704 spdy_stream1->SetDelegate(&delegate1); | 2672 spdy_stream1->SetDelegate(&delegate1); |
| 2705 | 2673 |
| 2706 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2674 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2707 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2675 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2708 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 2709 | 2676 |
| 2710 // Set up the TaskObserver to verify SpdySession::DoReadLoop posts a task. | 2677 // Set up the TaskObserver to verify SpdySession::DoReadLoop posts a task. |
| 2711 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2678 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2712 | 2679 |
| 2713 // Run until 1st read. | 2680 // Run until 1st read. |
| 2714 EXPECT_EQ(0u, delegate1.stream_id()); | 2681 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2715 base::RunLoop().RunUntilIdle(); | 2682 base::RunLoop().RunUntilIdle(); |
| 2716 EXPECT_EQ(1u, delegate1.stream_id()); | 2683 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2717 EXPECT_EQ(0u, observer.executed_count()); | 2684 EXPECT_EQ(0u, observer.executed_count()); |
| 2718 | 2685 |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2803 | 2770 |
| 2804 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2771 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2805 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2772 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2806 ASSERT_TRUE(spdy_stream1); | 2773 ASSERT_TRUE(spdy_stream1); |
| 2807 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2774 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2808 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2775 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2809 spdy_stream1->SetDelegate(&delegate1); | 2776 spdy_stream1->SetDelegate(&delegate1); |
| 2810 | 2777 |
| 2811 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2778 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2812 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2779 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2813 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 2814 | 2780 |
| 2815 // Set up the TaskObserver to monitor SpdySession::DoReadLoop | 2781 // Set up the TaskObserver to monitor SpdySession::DoReadLoop |
| 2816 // posting of tasks. | 2782 // posting of tasks. |
| 2817 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); | 2783 SpdySessionTestTaskObserver observer("spdy_session.cc", "DoReadLoop"); |
| 2818 | 2784 |
| 2819 // Run until 1st read. | 2785 // Run until 1st read. |
| 2820 EXPECT_EQ(0u, delegate1.stream_id()); | 2786 EXPECT_EQ(0u, delegate1.stream_id()); |
| 2821 base::RunLoop().RunUntilIdle(); | 2787 base::RunLoop().RunUntilIdle(); |
| 2822 EXPECT_EQ(1u, delegate1.stream_id()); | 2788 EXPECT_EQ(1u, delegate1.stream_id()); |
| 2823 EXPECT_EQ(0u, observer.executed_count()); | 2789 EXPECT_EQ(0u, observer.executed_count()); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2865 | 2831 |
| 2866 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( | 2832 base::WeakPtr<SpdyStream> spdy_stream1 = CreateStreamSynchronously( |
| 2867 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 2833 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 2868 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 2834 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 2869 spdy_stream1->SetDelegate(&delegate1); | 2835 spdy_stream1->SetDelegate(&delegate1); |
| 2870 ASSERT_TRUE(spdy_stream1); | 2836 ASSERT_TRUE(spdy_stream1); |
| 2871 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2837 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2872 | 2838 |
| 2873 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 2839 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 2874 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); | 2840 spdy_stream1->SendRequestHeaders(std::move(headers1), NO_MORE_DATA_TO_SEND); |
| 2875 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 2876 | 2841 |
| 2877 // Run until 1st read. | 2842 // Run until 1st read. |
| 2878 EXPECT_EQ(0u, spdy_stream1->stream_id()); | 2843 EXPECT_EQ(0u, spdy_stream1->stream_id()); |
| 2879 base::RunLoop().RunUntilIdle(); | 2844 base::RunLoop().RunUntilIdle(); |
| 2880 EXPECT_EQ(1u, spdy_stream1->stream_id()); | 2845 EXPECT_EQ(1u, spdy_stream1->stream_id()); |
| 2881 | 2846 |
| 2882 // Run until GoAway. | 2847 // Run until GoAway. |
| 2883 data.Resume(); | 2848 data.Resume(); |
| 2884 base::RunLoop().RunUntilIdle(); | 2849 base::RunLoop().RunUntilIdle(); |
| 2885 EXPECT_FALSE(spdy_stream1); | 2850 EXPECT_FALSE(spdy_stream1); |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3077 base::WeakPtr<SpdyStream> spdy_stream1 = | 3042 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 3078 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 3043 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 3079 test_url_, DEFAULT_PRIORITY, BoundNetLog()); | 3044 test_url_, DEFAULT_PRIORITY, BoundNetLog()); |
| 3080 ASSERT_TRUE(spdy_stream1.get()); | 3045 ASSERT_TRUE(spdy_stream1.get()); |
| 3081 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 3046 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 3082 spdy_stream1->SetDelegate(&delegate1); | 3047 spdy_stream1->SetDelegate(&delegate1); |
| 3083 | 3048 |
| 3084 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 3049 SpdyHeaderBlock headers1(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 3085 EXPECT_EQ(ERR_IO_PENDING, spdy_stream1->SendRequestHeaders( | 3050 EXPECT_EQ(ERR_IO_PENDING, spdy_stream1->SendRequestHeaders( |
| 3086 std::move(headers1), NO_MORE_DATA_TO_SEND)); | 3051 std::move(headers1), NO_MORE_DATA_TO_SEND)); |
| 3087 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 3088 | 3052 |
| 3089 base::RunLoop().RunUntilIdle(); | 3053 base::RunLoop().RunUntilIdle(); |
| 3090 | 3054 |
| 3091 // Trying to create a new connection should cause the pool to be stalled, and | 3055 // Trying to create a new connection should cause the pool to be stalled, and |
| 3092 // post a task asynchronously to try and close the session. | 3056 // post a task asynchronously to try and close the session. |
| 3093 TestCompletionCallback callback2; | 3057 TestCompletionCallback callback2; |
| 3094 HostPortPair host_port2("2.com", 80); | 3058 HostPortPair host_port2("2.com", 80); |
| 3095 scoped_refptr<TransportSocketParams> params2(new TransportSocketParams( | 3059 scoped_refptr<TransportSocketParams> params2(new TransportSocketParams( |
| 3096 host_port2, false, OnHostResolutionCallback(), | 3060 host_port2, false, OnHostResolutionCallback(), |
| 3097 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT)); | 3061 TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT)); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3203 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( | 3167 base::WeakPtr<SpdyStream> spdy_stream = CreateStreamSynchronously( |
| 3204 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 3168 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 3205 ASSERT_TRUE(spdy_stream); | 3169 ASSERT_TRUE(spdy_stream); |
| 3206 EXPECT_EQ(0u, spdy_stream->stream_id()); | 3170 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 3207 | 3171 |
| 3208 StreamCreatingDelegate delegate(spdy_stream, session_); | 3172 StreamCreatingDelegate delegate(spdy_stream, session_); |
| 3209 spdy_stream->SetDelegate(&delegate); | 3173 spdy_stream->SetDelegate(&delegate); |
| 3210 | 3174 |
| 3211 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 3175 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 3212 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 3176 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 3213 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 3214 | 3177 |
| 3215 EXPECT_EQ(0u, spdy_stream->stream_id()); | 3178 EXPECT_EQ(0u, spdy_stream->stream_id()); |
| 3216 | 3179 |
| 3217 base::RunLoop().RunUntilIdle(); | 3180 base::RunLoop().RunUntilIdle(); |
| 3218 | 3181 |
| 3219 EXPECT_EQ(1u, spdy_stream->stream_id()); | 3182 EXPECT_EQ(1u, spdy_stream->stream_id()); |
| 3220 | 3183 |
| 3221 // Cause the stream to be reset, which should cause another stream | 3184 // Cause the stream to be reset, which should cause another stream |
| 3222 // to be created. | 3185 // to be created. |
| 3223 data.Resume(); | 3186 data.Resume(); |
| (...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3688 ASSERT_TRUE(stream); | 3651 ASSERT_TRUE(stream); |
| 3689 EXPECT_EQ(0u, stream->stream_id()); | 3652 EXPECT_EQ(0u, stream->stream_id()); |
| 3690 | 3653 |
| 3691 DropReceivedDataDelegate delegate(stream, msg_data); | 3654 DropReceivedDataDelegate delegate(stream, msg_data); |
| 3692 stream->SetDelegate(&delegate); | 3655 stream->SetDelegate(&delegate); |
| 3693 | 3656 |
| 3694 SpdyHeaderBlock headers( | 3657 SpdyHeaderBlock headers( |
| 3695 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); | 3658 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); |
| 3696 EXPECT_EQ(ERR_IO_PENDING, | 3659 EXPECT_EQ(ERR_IO_PENDING, |
| 3697 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 3660 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 3698 EXPECT_TRUE(stream->HasUrlFromHeaders()); | |
| 3699 | 3661 |
| 3700 const int32_t initial_window_size = kDefaultInitialWindowSize; | 3662 const int32_t initial_window_size = kDefaultInitialWindowSize; |
| 3701 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); | 3663 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); |
| 3702 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); | 3664 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); |
| 3703 | 3665 |
| 3704 base::RunLoop().RunUntilIdle(); | 3666 base::RunLoop().RunUntilIdle(); |
| 3705 | 3667 |
| 3706 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); | 3668 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); |
| 3707 EXPECT_EQ(kMsgDataSize, session_->session_unacked_recv_window_bytes_); | 3669 EXPECT_EQ(kMsgDataSize, session_->session_unacked_recv_window_bytes_); |
| 3708 | 3670 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3751 ASSERT_TRUE(stream); | 3713 ASSERT_TRUE(stream); |
| 3752 EXPECT_EQ(0u, stream->stream_id()); | 3714 EXPECT_EQ(0u, stream->stream_id()); |
| 3753 | 3715 |
| 3754 test::StreamDelegateSendImmediate delegate(stream, msg_data); | 3716 test::StreamDelegateSendImmediate delegate(stream, msg_data); |
| 3755 stream->SetDelegate(&delegate); | 3717 stream->SetDelegate(&delegate); |
| 3756 | 3718 |
| 3757 SpdyHeaderBlock headers( | 3719 SpdyHeaderBlock headers( |
| 3758 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); | 3720 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); |
| 3759 EXPECT_EQ(ERR_IO_PENDING, | 3721 EXPECT_EQ(ERR_IO_PENDING, |
| 3760 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 3722 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 3761 EXPECT_TRUE(stream->HasUrlFromHeaders()); | |
| 3762 | 3723 |
| 3763 const int32_t initial_window_size = kDefaultInitialWindowSize; | 3724 const int32_t initial_window_size = kDefaultInitialWindowSize; |
| 3764 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); | 3725 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); |
| 3765 | 3726 |
| 3766 // Write request. | 3727 // Write request. |
| 3767 base::RunLoop().RunUntilIdle(); | 3728 base::RunLoop().RunUntilIdle(); |
| 3768 | 3729 |
| 3769 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); | 3730 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); |
| 3770 | 3731 |
| 3771 // Read response, but do not run the message loop, so that the body is not | 3732 // Read response, but do not run the message loop, so that the body is not |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3832 ASSERT_TRUE(stream); | 3793 ASSERT_TRUE(stream); |
| 3833 EXPECT_EQ(0u, stream->stream_id()); | 3794 EXPECT_EQ(0u, stream->stream_id()); |
| 3834 | 3795 |
| 3835 test::StreamDelegateSendImmediate delegate(stream, msg_data); | 3796 test::StreamDelegateSendImmediate delegate(stream, msg_data); |
| 3836 stream->SetDelegate(&delegate); | 3797 stream->SetDelegate(&delegate); |
| 3837 | 3798 |
| 3838 SpdyHeaderBlock headers( | 3799 SpdyHeaderBlock headers( |
| 3839 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); | 3800 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kMsgDataSize)); |
| 3840 EXPECT_EQ(ERR_IO_PENDING, | 3801 EXPECT_EQ(ERR_IO_PENDING, |
| 3841 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 3802 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 3842 EXPECT_TRUE(stream->HasUrlFromHeaders()); | |
| 3843 | 3803 |
| 3844 const int32_t initial_window_size = kDefaultInitialWindowSize; | 3804 const int32_t initial_window_size = kDefaultInitialWindowSize; |
| 3845 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); | 3805 EXPECT_EQ(initial_window_size, session_->session_send_window_size_); |
| 3846 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); | 3806 EXPECT_EQ(initial_window_size, session_->session_recv_window_size_); |
| 3847 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); | 3807 EXPECT_EQ(0, session_->session_unacked_recv_window_bytes_); |
| 3848 | 3808 |
| 3849 // Send request and message. | 3809 // Send request and message. |
| 3850 base::RunLoop().RunUntilIdle(); | 3810 base::RunLoop().RunUntilIdle(); |
| 3851 | 3811 |
| 3852 EXPECT_EQ(initial_window_size - kMsgDataSize, | 3812 EXPECT_EQ(initial_window_size - kMsgDataSize, |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3923 CreateNetworkSession(); | 3883 CreateNetworkSession(); |
| 3924 CreateInsecureSpdySession(); | 3884 CreateInsecureSpdySession(); |
| 3925 | 3885 |
| 3926 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( | 3886 base::WeakPtr<SpdyStream> stream = CreateStreamSynchronously( |
| 3927 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 3887 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 3928 ASSERT_TRUE(stream); | 3888 ASSERT_TRUE(stream); |
| 3929 | 3889 |
| 3930 test::StreamDelegateWithBody delegate(stream, kBodyDataStringPiece); | 3890 test::StreamDelegateWithBody delegate(stream, kBodyDataStringPiece); |
| 3931 stream->SetDelegate(&delegate); | 3891 stream->SetDelegate(&delegate); |
| 3932 | 3892 |
| 3933 EXPECT_FALSE(stream->HasUrlFromHeaders()); | |
| 3934 EXPECT_FALSE(stream->send_stalled_by_flow_control()); | 3893 EXPECT_FALSE(stream->send_stalled_by_flow_control()); |
| 3935 | 3894 |
| 3936 SpdyHeaderBlock headers( | 3895 SpdyHeaderBlock headers( |
| 3937 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); | 3896 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 3938 EXPECT_EQ(ERR_IO_PENDING, | 3897 EXPECT_EQ(ERR_IO_PENDING, |
| 3939 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); | 3898 stream->SendRequestHeaders(std::move(headers), MORE_DATA_TO_SEND)); |
| 3940 EXPECT_TRUE(stream->HasUrlFromHeaders()); | |
| 3941 EXPECT_EQ(kDefaultUrl, stream->GetUrlFromHeaders().spec()); | 3899 EXPECT_EQ(kDefaultUrl, stream->GetUrlFromHeaders().spec()); |
| 3942 | 3900 |
| 3943 stall_function.Run(stream.get()); | 3901 stall_function.Run(stream.get()); |
| 3944 | 3902 |
| 3945 base::RunLoop().RunUntilIdle(); | 3903 base::RunLoop().RunUntilIdle(); |
| 3946 | 3904 |
| 3947 EXPECT_TRUE(stream->send_stalled_by_flow_control()); | 3905 EXPECT_TRUE(stream->send_stalled_by_flow_control()); |
| 3948 | 3906 |
| 3949 unstall_function.Run(stream.get(), kBodyDataSize); | 3907 unstall_function.Run(stream.get(), kBodyDataSize); |
| 3950 | 3908 |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4044 CreateNetworkSession(); | 4002 CreateNetworkSession(); |
| 4045 CreateInsecureSpdySession(); | 4003 CreateInsecureSpdySession(); |
| 4046 | 4004 |
| 4047 base::WeakPtr<SpdyStream> stream1 = CreateStreamSynchronously( | 4005 base::WeakPtr<SpdyStream> stream1 = CreateStreamSynchronously( |
| 4048 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4006 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4049 ASSERT_TRUE(stream1); | 4007 ASSERT_TRUE(stream1); |
| 4050 | 4008 |
| 4051 test::StreamDelegateWithBody delegate1(stream1, kBodyDataStringPiece); | 4009 test::StreamDelegateWithBody delegate1(stream1, kBodyDataStringPiece); |
| 4052 stream1->SetDelegate(&delegate1); | 4010 stream1->SetDelegate(&delegate1); |
| 4053 | 4011 |
| 4054 EXPECT_FALSE(stream1->HasUrlFromHeaders()); | |
| 4055 | |
| 4056 base::WeakPtr<SpdyStream> stream2 = CreateStreamSynchronously( | 4012 base::WeakPtr<SpdyStream> stream2 = CreateStreamSynchronously( |
| 4057 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); | 4013 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, MEDIUM, BoundNetLog()); |
| 4058 ASSERT_TRUE(stream2); | 4014 ASSERT_TRUE(stream2); |
| 4059 | 4015 |
| 4060 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); | 4016 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); |
| 4061 stream2->SetDelegate(&delegate2); | 4017 stream2->SetDelegate(&delegate2); |
| 4062 | 4018 |
| 4063 EXPECT_FALSE(stream2->HasUrlFromHeaders()); | |
| 4064 | |
| 4065 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4019 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4066 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4020 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4067 | 4021 |
| 4068 StallSessionSend(); | 4022 StallSessionSend(); |
| 4069 | 4023 |
| 4070 SpdyHeaderBlock headers1( | 4024 SpdyHeaderBlock headers1( |
| 4071 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); | 4025 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4072 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4026 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4073 MORE_DATA_TO_SEND)); | 4027 MORE_DATA_TO_SEND)); |
| 4074 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | |
| 4075 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); | 4028 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); |
| 4076 | 4029 |
| 4077 base::RunLoop().RunUntilIdle(); | 4030 base::RunLoop().RunUntilIdle(); |
| 4078 EXPECT_EQ(1u, stream1->stream_id()); | 4031 EXPECT_EQ(1u, stream1->stream_id()); |
| 4079 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4032 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4080 | 4033 |
| 4081 SpdyHeaderBlock headers2( | 4034 SpdyHeaderBlock headers2( |
| 4082 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); | 4035 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4083 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4036 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4084 MORE_DATA_TO_SEND)); | 4037 MORE_DATA_TO_SEND)); |
| 4085 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | |
| 4086 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); | 4038 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); |
| 4087 | 4039 |
| 4088 base::RunLoop().RunUntilIdle(); | 4040 base::RunLoop().RunUntilIdle(); |
| 4089 EXPECT_EQ(3u, stream2->stream_id()); | 4041 EXPECT_EQ(3u, stream2->stream_id()); |
| 4090 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4042 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4091 | 4043 |
| 4092 // This should unstall only stream2. | 4044 // This should unstall only stream2. |
| 4093 UnstallSessionSend(kBodyDataSize); | 4045 UnstallSessionSend(kBodyDataSize); |
| 4094 | 4046 |
| 4095 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4047 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4179 CreateNetworkSession(); | 4131 CreateNetworkSession(); |
| 4180 CreateInsecureSpdySession(); | 4132 CreateInsecureSpdySession(); |
| 4181 | 4133 |
| 4182 base::WeakPtr<SpdyStream> stream1 = CreateStreamSynchronously( | 4134 base::WeakPtr<SpdyStream> stream1 = CreateStreamSynchronously( |
| 4183 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4135 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4184 ASSERT_TRUE(stream1); | 4136 ASSERT_TRUE(stream1); |
| 4185 | 4137 |
| 4186 test::StreamDelegateWithBody delegate1(stream1, kBodyDataStringPiece); | 4138 test::StreamDelegateWithBody delegate1(stream1, kBodyDataStringPiece); |
| 4187 stream1->SetDelegate(&delegate1); | 4139 stream1->SetDelegate(&delegate1); |
| 4188 | 4140 |
| 4189 EXPECT_FALSE(stream1->HasUrlFromHeaders()); | |
| 4190 | |
| 4191 base::WeakPtr<SpdyStream> stream2 = CreateStreamSynchronously( | 4141 base::WeakPtr<SpdyStream> stream2 = CreateStreamSynchronously( |
| 4192 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4142 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4193 ASSERT_TRUE(stream2); | 4143 ASSERT_TRUE(stream2); |
| 4194 | 4144 |
| 4195 StreamClosingDelegate delegate2(stream2, kBodyDataStringPiece); | 4145 StreamClosingDelegate delegate2(stream2, kBodyDataStringPiece); |
| 4196 stream2->SetDelegate(&delegate2); | 4146 stream2->SetDelegate(&delegate2); |
| 4197 | 4147 |
| 4198 EXPECT_FALSE(stream2->HasUrlFromHeaders()); | |
| 4199 | |
| 4200 base::WeakPtr<SpdyStream> stream3 = CreateStreamSynchronously( | 4148 base::WeakPtr<SpdyStream> stream3 = CreateStreamSynchronously( |
| 4201 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4149 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4202 ASSERT_TRUE(stream3); | 4150 ASSERT_TRUE(stream3); |
| 4203 | 4151 |
| 4204 test::StreamDelegateWithBody delegate3(stream3, kBodyDataStringPiece); | 4152 test::StreamDelegateWithBody delegate3(stream3, kBodyDataStringPiece); |
| 4205 stream3->SetDelegate(&delegate3); | 4153 stream3->SetDelegate(&delegate3); |
| 4206 | 4154 |
| 4207 EXPECT_FALSE(stream3->HasUrlFromHeaders()); | |
| 4208 | |
| 4209 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4155 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4210 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4156 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4211 EXPECT_FALSE(stream3->send_stalled_by_flow_control()); | 4157 EXPECT_FALSE(stream3->send_stalled_by_flow_control()); |
| 4212 | 4158 |
| 4213 StallSessionSend(); | 4159 StallSessionSend(); |
| 4214 | 4160 |
| 4215 SpdyHeaderBlock headers1( | 4161 SpdyHeaderBlock headers1( |
| 4216 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); | 4162 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4217 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4163 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4218 MORE_DATA_TO_SEND)); | 4164 MORE_DATA_TO_SEND)); |
| 4219 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | |
| 4220 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); | 4165 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); |
| 4221 | 4166 |
| 4222 base::RunLoop().RunUntilIdle(); | 4167 base::RunLoop().RunUntilIdle(); |
| 4223 EXPECT_EQ(1u, stream1->stream_id()); | 4168 EXPECT_EQ(1u, stream1->stream_id()); |
| 4224 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4169 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4225 | 4170 |
| 4226 SpdyHeaderBlock headers2( | 4171 SpdyHeaderBlock headers2( |
| 4227 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); | 4172 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4228 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4173 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4229 MORE_DATA_TO_SEND)); | 4174 MORE_DATA_TO_SEND)); |
| 4230 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | |
| 4231 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); | 4175 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); |
| 4232 | 4176 |
| 4233 base::RunLoop().RunUntilIdle(); | 4177 base::RunLoop().RunUntilIdle(); |
| 4234 EXPECT_EQ(3u, stream2->stream_id()); | 4178 EXPECT_EQ(3u, stream2->stream_id()); |
| 4235 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4179 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4236 | 4180 |
| 4237 SpdyHeaderBlock headers3( | 4181 SpdyHeaderBlock headers3( |
| 4238 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); | 4182 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4239 EXPECT_EQ(ERR_IO_PENDING, stream3->SendRequestHeaders(std::move(headers3), | 4183 EXPECT_EQ(ERR_IO_PENDING, stream3->SendRequestHeaders(std::move(headers3), |
| 4240 MORE_DATA_TO_SEND)); | 4184 MORE_DATA_TO_SEND)); |
| 4241 EXPECT_TRUE(stream3->HasUrlFromHeaders()); | |
| 4242 EXPECT_EQ(kDefaultUrl, stream3->GetUrlFromHeaders().spec()); | 4185 EXPECT_EQ(kDefaultUrl, stream3->GetUrlFromHeaders().spec()); |
| 4243 | 4186 |
| 4244 base::RunLoop().RunUntilIdle(); | 4187 base::RunLoop().RunUntilIdle(); |
| 4245 EXPECT_EQ(5u, stream3->stream_id()); | 4188 EXPECT_EQ(5u, stream3->stream_id()); |
| 4246 EXPECT_TRUE(stream3->send_stalled_by_flow_control()); | 4189 EXPECT_TRUE(stream3->send_stalled_by_flow_control()); |
| 4247 | 4190 |
| 4248 SpdyStreamId stream_id1 = stream1->stream_id(); | 4191 SpdyStreamId stream_id1 = stream1->stream_id(); |
| 4249 SpdyStreamId stream_id2 = stream2->stream_id(); | 4192 SpdyStreamId stream_id2 = stream2->stream_id(); |
| 4250 SpdyStreamId stream_id3 = stream3->stream_id(); | 4193 SpdyStreamId stream_id3 = stream3->stream_id(); |
| 4251 | 4194 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4317 CreateNetworkSession(); | 4260 CreateNetworkSession(); |
| 4318 CreateInsecureSpdySession(); | 4261 CreateInsecureSpdySession(); |
| 4319 | 4262 |
| 4320 base::WeakPtr<SpdyStream> stream1 = CreateStreamSynchronously( | 4263 base::WeakPtr<SpdyStream> stream1 = CreateStreamSynchronously( |
| 4321 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4264 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4322 ASSERT_TRUE(stream1); | 4265 ASSERT_TRUE(stream1); |
| 4323 | 4266 |
| 4324 test::StreamDelegateWithBody delegate1(stream1, kBodyDataStringPiece); | 4267 test::StreamDelegateWithBody delegate1(stream1, kBodyDataStringPiece); |
| 4325 stream1->SetDelegate(&delegate1); | 4268 stream1->SetDelegate(&delegate1); |
| 4326 | 4269 |
| 4327 EXPECT_FALSE(stream1->HasUrlFromHeaders()); | |
| 4328 | |
| 4329 base::WeakPtr<SpdyStream> stream2 = CreateStreamSynchronously( | 4270 base::WeakPtr<SpdyStream> stream2 = CreateStreamSynchronously( |
| 4330 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); | 4271 SPDY_REQUEST_RESPONSE_STREAM, session_, test_url_, LOWEST, BoundNetLog()); |
| 4331 ASSERT_TRUE(stream2); | 4272 ASSERT_TRUE(stream2); |
| 4332 | 4273 |
| 4333 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); | 4274 test::StreamDelegateWithBody delegate2(stream2, kBodyDataStringPiece); |
| 4334 stream2->SetDelegate(&delegate2); | 4275 stream2->SetDelegate(&delegate2); |
| 4335 | 4276 |
| 4336 EXPECT_FALSE(stream2->HasUrlFromHeaders()); | |
| 4337 | |
| 4338 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); | 4277 EXPECT_FALSE(stream1->send_stalled_by_flow_control()); |
| 4339 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); | 4278 EXPECT_FALSE(stream2->send_stalled_by_flow_control()); |
| 4340 | 4279 |
| 4341 StallSessionSend(); | 4280 StallSessionSend(); |
| 4342 | 4281 |
| 4343 SpdyHeaderBlock headers1( | 4282 SpdyHeaderBlock headers1( |
| 4344 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); | 4283 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4345 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), | 4284 EXPECT_EQ(ERR_IO_PENDING, stream1->SendRequestHeaders(std::move(headers1), |
| 4346 MORE_DATA_TO_SEND)); | 4285 MORE_DATA_TO_SEND)); |
| 4347 EXPECT_TRUE(stream1->HasUrlFromHeaders()); | |
| 4348 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); | 4286 EXPECT_EQ(kDefaultUrl, stream1->GetUrlFromHeaders().spec()); |
| 4349 | 4287 |
| 4350 base::RunLoop().RunUntilIdle(); | 4288 base::RunLoop().RunUntilIdle(); |
| 4351 EXPECT_EQ(1u, stream1->stream_id()); | 4289 EXPECT_EQ(1u, stream1->stream_id()); |
| 4352 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); | 4290 EXPECT_TRUE(stream1->send_stalled_by_flow_control()); |
| 4353 | 4291 |
| 4354 SpdyHeaderBlock headers2( | 4292 SpdyHeaderBlock headers2( |
| 4355 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); | 4293 spdy_util_.ConstructPostHeaderBlock(kDefaultUrl, kBodyDataSize)); |
| 4356 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), | 4294 EXPECT_EQ(ERR_IO_PENDING, stream2->SendRequestHeaders(std::move(headers2), |
| 4357 MORE_DATA_TO_SEND)); | 4295 MORE_DATA_TO_SEND)); |
| 4358 EXPECT_TRUE(stream2->HasUrlFromHeaders()); | |
| 4359 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); | 4296 EXPECT_EQ(kDefaultUrl, stream2->GetUrlFromHeaders().spec()); |
| 4360 | 4297 |
| 4361 base::RunLoop().RunUntilIdle(); | 4298 base::RunLoop().RunUntilIdle(); |
| 4362 EXPECT_EQ(3u, stream2->stream_id()); | 4299 EXPECT_EQ(3u, stream2->stream_id()); |
| 4363 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); | 4300 EXPECT_TRUE(stream2->send_stalled_by_flow_control()); |
| 4364 | 4301 |
| 4365 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); | 4302 EXPECT_TRUE(HasSpdySession(spdy_session_pool_, key_)); |
| 4366 | 4303 |
| 4367 // Unstall stream1. | 4304 // Unstall stream1. |
| 4368 UnstallSessionSend(kBodyDataSize); | 4305 UnstallSessionSend(kBodyDataSize); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4477 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4414 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 4478 spdy_stream1->SetDelegate(&delegate1); | 4415 spdy_stream1->SetDelegate(&delegate1); |
| 4479 | 4416 |
| 4480 EXPECT_EQ(0u, session_->num_active_streams()); | 4417 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4481 EXPECT_EQ(1u, session_->num_created_streams()); | 4418 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4482 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4419 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4483 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4420 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4484 | 4421 |
| 4485 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 4422 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4486 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4423 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4487 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 4488 | 4424 |
| 4489 // Run until 1st stream is activated. | 4425 // Run until 1st stream is activated. |
| 4490 EXPECT_EQ(0u, delegate1.stream_id()); | 4426 EXPECT_EQ(0u, delegate1.stream_id()); |
| 4491 base::RunLoop().RunUntilIdle(); | 4427 base::RunLoop().RunUntilIdle(); |
| 4492 EXPECT_EQ(1u, delegate1.stream_id()); | 4428 EXPECT_EQ(1u, delegate1.stream_id()); |
| 4493 EXPECT_EQ(1u, session_->num_active_streams()); | 4429 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4494 EXPECT_EQ(0u, session_->num_created_streams()); | 4430 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4495 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4431 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4496 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4432 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4497 | 4433 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4553 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4489 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 4554 spdy_stream1->SetDelegate(&delegate1); | 4490 spdy_stream1->SetDelegate(&delegate1); |
| 4555 | 4491 |
| 4556 EXPECT_EQ(0u, session_->num_active_streams()); | 4492 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4557 EXPECT_EQ(1u, session_->num_created_streams()); | 4493 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4558 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4494 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4559 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4495 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4560 | 4496 |
| 4561 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 4497 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4562 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4498 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4563 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 4564 | 4499 |
| 4565 // Run until 1st stream is activated. | 4500 // Run until 1st stream is activated. |
| 4566 EXPECT_EQ(0u, delegate1.stream_id()); | 4501 EXPECT_EQ(0u, delegate1.stream_id()); |
| 4567 base::RunLoop().RunUntilIdle(); | 4502 base::RunLoop().RunUntilIdle(); |
| 4568 EXPECT_EQ(1u, delegate1.stream_id()); | 4503 EXPECT_EQ(1u, delegate1.stream_id()); |
| 4569 EXPECT_EQ(1u, session_->num_active_streams()); | 4504 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4570 EXPECT_EQ(0u, session_->num_created_streams()); | 4505 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4571 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4506 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4572 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4507 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4573 | 4508 |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4657 test::StreamDelegateDoNothing delegate(spdy_stream); | 4592 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 4658 spdy_stream->SetDelegate(&delegate); | 4593 spdy_stream->SetDelegate(&delegate); |
| 4659 | 4594 |
| 4660 EXPECT_EQ(0u, session_->num_active_streams()); | 4595 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4661 EXPECT_EQ(1u, session_->num_created_streams()); | 4596 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4662 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4597 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4663 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4598 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4664 | 4599 |
| 4665 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 4600 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4666 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4601 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4667 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 4668 | 4602 |
| 4669 // Run until 1st stream is activated. | 4603 // Run until 1st stream is activated. |
| 4670 EXPECT_EQ(0u, delegate.stream_id()); | 4604 EXPECT_EQ(0u, delegate.stream_id()); |
| 4671 base::RunLoop().RunUntilIdle(); | 4605 base::RunLoop().RunUntilIdle(); |
| 4672 EXPECT_EQ(1u, delegate.stream_id()); | 4606 EXPECT_EQ(1u, delegate.stream_id()); |
| 4673 EXPECT_EQ(1u, session_->num_active_streams()); | 4607 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4674 EXPECT_EQ(0u, session_->num_created_streams()); | 4608 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4675 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4609 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4676 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4610 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4677 | 4611 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4747 test::StreamDelegateDoNothing delegate(spdy_stream); | 4681 test::StreamDelegateDoNothing delegate(spdy_stream); |
| 4748 spdy_stream->SetDelegate(&delegate); | 4682 spdy_stream->SetDelegate(&delegate); |
| 4749 | 4683 |
| 4750 EXPECT_EQ(0u, session_->num_active_streams()); | 4684 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4751 EXPECT_EQ(1u, session_->num_created_streams()); | 4685 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4752 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4686 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4753 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4687 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4754 | 4688 |
| 4755 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 4689 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4756 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4690 spdy_stream->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4757 EXPECT_TRUE(spdy_stream->HasUrlFromHeaders()); | |
| 4758 | 4691 |
| 4759 // Run until 1st stream is activated. | 4692 // Run until 1st stream is activated. |
| 4760 EXPECT_EQ(0u, delegate.stream_id()); | 4693 EXPECT_EQ(0u, delegate.stream_id()); |
| 4761 base::RunLoop().RunUntilIdle(); | 4694 base::RunLoop().RunUntilIdle(); |
| 4762 EXPECT_EQ(1u, delegate.stream_id()); | 4695 EXPECT_EQ(1u, delegate.stream_id()); |
| 4763 EXPECT_EQ(1u, session_->num_active_streams()); | 4696 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4764 EXPECT_EQ(0u, session_->num_created_streams()); | 4697 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4765 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4698 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4766 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4699 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4767 | 4700 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4810 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4743 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 4811 spdy_stream1->SetDelegate(&delegate1); | 4744 spdy_stream1->SetDelegate(&delegate1); |
| 4812 | 4745 |
| 4813 EXPECT_EQ(0u, session_->num_active_streams()); | 4746 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4814 EXPECT_EQ(1u, session_->num_created_streams()); | 4747 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4815 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4748 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4816 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4749 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4817 | 4750 |
| 4818 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 4751 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4819 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4752 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4820 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 4821 | 4753 |
| 4822 // Run until 1st stream is activated. | 4754 // Run until 1st stream is activated. |
| 4823 EXPECT_EQ(0u, delegate1.stream_id()); | 4755 EXPECT_EQ(0u, delegate1.stream_id()); |
| 4824 base::RunLoop().RunUntilIdle(); | 4756 base::RunLoop().RunUntilIdle(); |
| 4825 EXPECT_EQ(1u, delegate1.stream_id()); | 4757 EXPECT_EQ(1u, delegate1.stream_id()); |
| 4826 EXPECT_EQ(1u, session_->num_active_streams()); | 4758 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4827 EXPECT_EQ(0u, session_->num_created_streams()); | 4759 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4828 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4760 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4829 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4761 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4830 | 4762 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4894 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 4826 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 4895 spdy_stream1->SetDelegate(&delegate1); | 4827 spdy_stream1->SetDelegate(&delegate1); |
| 4896 | 4828 |
| 4897 EXPECT_EQ(0u, session_->num_active_streams()); | 4829 EXPECT_EQ(0u, session_->num_active_streams()); |
| 4898 EXPECT_EQ(1u, session_->num_created_streams()); | 4830 EXPECT_EQ(1u, session_->num_created_streams()); |
| 4899 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4831 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4900 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4832 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4901 | 4833 |
| 4902 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); | 4834 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(kDefaultUrl)); |
| 4903 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 4835 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 4904 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 4905 | 4836 |
| 4906 // Run until 1st stream is activated. | 4837 // Run until 1st stream is activated. |
| 4907 EXPECT_EQ(0u, delegate1.stream_id()); | 4838 EXPECT_EQ(0u, delegate1.stream_id()); |
| 4908 base::RunLoop().RunUntilIdle(); | 4839 base::RunLoop().RunUntilIdle(); |
| 4909 EXPECT_EQ(1u, delegate1.stream_id()); | 4840 EXPECT_EQ(1u, delegate1.stream_id()); |
| 4910 EXPECT_EQ(1u, session_->num_active_streams()); | 4841 EXPECT_EQ(1u, session_->num_active_streams()); |
| 4911 EXPECT_EQ(0u, session_->num_created_streams()); | 4842 EXPECT_EQ(0u, session_->num_created_streams()); |
| 4912 EXPECT_EQ(0u, session_->num_pushed_streams()); | 4843 EXPECT_EQ(0u, session_->num_pushed_streams()); |
| 4913 EXPECT_EQ(0u, session_->num_active_pushed_streams()); | 4844 EXPECT_EQ(0u, session_->num_active_pushed_streams()); |
| 4914 | 4845 |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5142 | 5073 |
| 5143 base::WeakPtr<SpdyStream> spdy_stream1 = | 5074 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 5144 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 5075 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 5145 GURL(request_origin), MEDIUM, BoundNetLog()); | 5076 GURL(request_origin), MEDIUM, BoundNetLog()); |
| 5146 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5077 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5147 spdy_stream1->SetDelegate(&delegate1); | 5078 spdy_stream1->SetDelegate(&delegate1); |
| 5148 | 5079 |
| 5149 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(request_origin)); | 5080 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(request_origin)); |
| 5150 | 5081 |
| 5151 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5082 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5152 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 5153 | 5083 |
| 5154 base::RunLoop().RunUntilIdle(); | 5084 base::RunLoop().RunUntilIdle(); |
| 5155 | 5085 |
| 5156 const url::SchemeHostPort session_origin("https", test_url_.host(), | 5086 const url::SchemeHostPort session_origin("https", test_url_.host(), |
| 5157 test_url_.EffectiveIntPort()); | 5087 test_url_.EffectiveIntPort()); |
| 5158 AlternativeServiceVector altsvc_vector = | 5088 AlternativeServiceVector altsvc_vector = |
| 5159 spdy_session_pool_->http_server_properties()->GetAlternativeServices( | 5089 spdy_session_pool_->http_server_properties()->GetAlternativeServices( |
| 5160 session_origin); | 5090 session_origin); |
| 5161 ASSERT_TRUE(altsvc_vector.empty()); | 5091 ASSERT_TRUE(altsvc_vector.empty()); |
| 5162 | 5092 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5197 | 5127 |
| 5198 base::WeakPtr<SpdyStream> spdy_stream1 = | 5128 base::WeakPtr<SpdyStream> spdy_stream1 = |
| 5199 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, | 5129 CreateStreamSynchronously(SPDY_REQUEST_RESPONSE_STREAM, session_, |
| 5200 GURL(request_origin), MEDIUM, BoundNetLog()); | 5130 GURL(request_origin), MEDIUM, BoundNetLog()); |
| 5201 test::StreamDelegateDoNothing delegate1(spdy_stream1); | 5131 test::StreamDelegateDoNothing delegate1(spdy_stream1); |
| 5202 spdy_stream1->SetDelegate(&delegate1); | 5132 spdy_stream1->SetDelegate(&delegate1); |
| 5203 | 5133 |
| 5204 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(request_origin)); | 5134 SpdyHeaderBlock headers(spdy_util_.ConstructGetHeaderBlock(request_origin)); |
| 5205 | 5135 |
| 5206 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); | 5136 spdy_stream1->SendRequestHeaders(std::move(headers), NO_MORE_DATA_TO_SEND); |
| 5207 EXPECT_TRUE(spdy_stream1->HasUrlFromHeaders()); | |
| 5208 | 5137 |
| 5209 base::RunLoop().RunUntilIdle(); | 5138 base::RunLoop().RunUntilIdle(); |
| 5210 | 5139 |
| 5211 const url::SchemeHostPort session_origin("https", test_url_.host(), | 5140 const url::SchemeHostPort session_origin("https", test_url_.host(), |
| 5212 test_url_.EffectiveIntPort()); | 5141 test_url_.EffectiveIntPort()); |
| 5213 AlternativeServiceVector altsvc_vector = | 5142 AlternativeServiceVector altsvc_vector = |
| 5214 spdy_session_pool_->http_server_properties()->GetAlternativeServices( | 5143 spdy_session_pool_->http_server_properties()->GetAlternativeServices( |
| 5215 session_origin); | 5144 session_origin); |
| 5216 ASSERT_TRUE(altsvc_vector.empty()); | 5145 ASSERT_TRUE(altsvc_vector.empty()); |
| 5217 | 5146 |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5469 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(), | 5398 ssl_info.cert = ImportCertFromFile(GetTestCertsDirectory(), |
| 5470 "spdy_pooling.pem"); | 5399 "spdy_pooling.pem"); |
| 5471 ssl_info.is_issued_by_known_root = true; | 5400 ssl_info.is_issued_by_known_root = true; |
| 5472 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin)); | 5401 ssl_info.public_key_hashes.push_back(test::GetTestHashValue(primary_pin)); |
| 5473 | 5402 |
| 5474 EXPECT_TRUE(SpdySession::CanPool( | 5403 EXPECT_TRUE(SpdySession::CanPool( |
| 5475 &tss, ssl_info, "www.example.org", "mail.example.org")); | 5404 &tss, ssl_info, "www.example.org", "mail.example.org")); |
| 5476 } | 5405 } |
| 5477 | 5406 |
| 5478 } // namespace net | 5407 } // namespace net |
| OLD | NEW |