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 |