| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/http/http_network_transaction.h" | 5 #include "net/http/http_network_transaction.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 553 MockWrite writes[] = { CreateMockWrite(*req) }; | 553 MockWrite writes[] = { CreateMockWrite(*req) }; |
| 554 | 554 |
| 555 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 555 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 556 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 556 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 557 MockRead reads[] = { | 557 MockRead reads[] = { |
| 558 CreateMockRead(*resp), | 558 CreateMockRead(*resp), |
| 559 CreateMockRead(*body), | 559 CreateMockRead(*body), |
| 560 MockRead(true, 0, 0) // EOF | 560 MockRead(true, 0, 0) // EOF |
| 561 }; | 561 }; |
| 562 | 562 |
| 563 scoped_refptr<DelayedSocketData> data( | 563 scoped_ptr<DelayedSocketData> data( |
| 564 new DelayedSocketData(1, reads, arraysize(reads), | 564 new DelayedSocketData(1, reads, arraysize(reads), |
| 565 writes, arraysize(writes))); | 565 writes, arraysize(writes))); |
| 566 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 566 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 567 BoundNetLog(), GetParam()); | 567 BoundNetLog(), GetParam()); |
| 568 helper.RunToCompletion(data.get()); | 568 helper.RunToCompletion(data.get()); |
| 569 TransactionHelperResult out = helper.output(); | 569 TransactionHelperResult out = helper.output(); |
| 570 EXPECT_EQ(OK, out.rv); | 570 EXPECT_EQ(OK, out.rv); |
| 571 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 571 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 572 EXPECT_EQ("hello!", out.response_data); | 572 EXPECT_EQ("hello!", out.response_data); |
| 573 } | 573 } |
| (...skipping 29 matching lines...) Expand all Loading... |
| 603 } | 603 } |
| 604 | 604 |
| 605 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 605 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 606 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 606 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 607 MockRead reads[] = { | 607 MockRead reads[] = { |
| 608 CreateMockRead(*resp), | 608 CreateMockRead(*resp), |
| 609 CreateMockRead(*body), | 609 CreateMockRead(*body), |
| 610 MockRead(true, 0, 0) // EOF | 610 MockRead(true, 0, 0) // EOF |
| 611 }; | 611 }; |
| 612 | 612 |
| 613 scoped_refptr<DelayedSocketData> data( | 613 scoped_ptr<DelayedSocketData> data( |
| 614 new DelayedSocketData(1, reads, arraysize(reads), | 614 new DelayedSocketData(1, reads, arraysize(reads), |
| 615 writes, arraysize(writes))); | 615 writes, arraysize(writes))); |
| 616 HttpRequestInfo http_req = CreateGetRequest(); | 616 HttpRequestInfo http_req = CreateGetRequest(); |
| 617 http_req.priority = p; | 617 http_req.priority = p; |
| 618 | 618 |
| 619 NormalSpdyTransactionHelper helper(http_req, BoundNetLog(), GetParam()); | 619 NormalSpdyTransactionHelper helper(http_req, BoundNetLog(), GetParam()); |
| 620 helper.RunToCompletion(data.get()); | 620 helper.RunToCompletion(data.get()); |
| 621 TransactionHelperResult out = helper.output(); | 621 TransactionHelperResult out = helper.output(); |
| 622 EXPECT_EQ(OK, out.rv); | 622 EXPECT_EQ(OK, out.rv); |
| 623 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 623 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 663 CreateMockRead(*body2), | 663 CreateMockRead(*body2), |
| 664 CreateMockRead(*resp3, 7), | 664 CreateMockRead(*resp3, 7), |
| 665 CreateMockRead(*body3), | 665 CreateMockRead(*body3), |
| 666 | 666 |
| 667 CreateMockRead(*fbody), | 667 CreateMockRead(*fbody), |
| 668 CreateMockRead(*fbody2), | 668 CreateMockRead(*fbody2), |
| 669 CreateMockRead(*fbody3), | 669 CreateMockRead(*fbody3), |
| 670 | 670 |
| 671 MockRead(true, 0, 0), // EOF | 671 MockRead(true, 0, 0), // EOF |
| 672 }; | 672 }; |
| 673 scoped_refptr<OrderedSocketData> data( | 673 scoped_ptr<OrderedSocketData> data( |
| 674 new OrderedSocketData(reads, arraysize(reads), | 674 new OrderedSocketData(reads, arraysize(reads), |
| 675 writes, arraysize(writes))); | 675 writes, arraysize(writes))); |
| 676 scoped_refptr<OrderedSocketData> data_placeholder( | 676 scoped_ptr<OrderedSocketData> data_placeholder( |
| 677 new OrderedSocketData(NULL, 0, NULL, 0)); | 677 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 678 | 678 |
| 679 BoundNetLog log; | 679 BoundNetLog log; |
| 680 TransactionHelperResult out; | 680 TransactionHelperResult out; |
| 681 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 681 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 682 BoundNetLog(), GetParam()); | 682 BoundNetLog(), GetParam()); |
| 683 helper.RunPreTestSetup(); | 683 helper.RunPreTestSetup(); |
| 684 helper.AddData(data.get()); | 684 helper.AddData(data.get()); |
| 685 // We require placeholder data because three get requests are sent out, so | 685 // We require placeholder data because three get requests are sent out, so |
| 686 // there needs to be three sets of SSL connection data. | 686 // there needs to be three sets of SSL connection data. |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 }; | 747 }; |
| 748 MockRead reads[] = { | 748 MockRead reads[] = { |
| 749 CreateMockRead(*resp, 1), | 749 CreateMockRead(*resp, 1), |
| 750 CreateMockRead(*body), | 750 CreateMockRead(*body), |
| 751 CreateMockRead(*resp2, 4), | 751 CreateMockRead(*resp2, 4), |
| 752 CreateMockRead(*body2), | 752 CreateMockRead(*body2), |
| 753 CreateMockRead(*fbody), | 753 CreateMockRead(*fbody), |
| 754 CreateMockRead(*fbody2), | 754 CreateMockRead(*fbody2), |
| 755 MockRead(true, 0, 0), // EOF | 755 MockRead(true, 0, 0), // EOF |
| 756 }; | 756 }; |
| 757 scoped_refptr<OrderedSocketData> data( | 757 scoped_ptr<OrderedSocketData> data( |
| 758 new OrderedSocketData(reads, arraysize(reads), | 758 new OrderedSocketData(reads, arraysize(reads), |
| 759 writes, arraysize(writes))); | 759 writes, arraysize(writes))); |
| 760 | 760 |
| 761 MockConnect never_finishing_connect(false, ERR_IO_PENDING); | 761 MockConnect never_finishing_connect(false, ERR_IO_PENDING); |
| 762 | 762 |
| 763 scoped_refptr<OrderedSocketData> data_placeholder( | 763 scoped_ptr<OrderedSocketData> data_placeholder( |
| 764 new OrderedSocketData(NULL, 0, NULL, 0)); | 764 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 765 data_placeholder->set_connect_data(never_finishing_connect); | 765 data_placeholder->set_connect_data(never_finishing_connect); |
| 766 | 766 |
| 767 BoundNetLog log; | 767 BoundNetLog log; |
| 768 TransactionHelperResult out; | 768 TransactionHelperResult out; |
| 769 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 769 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 770 BoundNetLog(), GetParam()); | 770 BoundNetLog(), GetParam()); |
| 771 helper.RunPreTestSetup(); | 771 helper.RunPreTestSetup(); |
| 772 helper.AddData(data.get()); | 772 helper.AddData(data.get()); |
| 773 // We require placeholder data because two get requests are sent out, so | 773 // We require placeholder data because two get requests are sent out, so |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 834 }; | 834 }; |
| 835 MockRead reads[] = { | 835 MockRead reads[] = { |
| 836 CreateMockRead(*resp, 1), | 836 CreateMockRead(*resp, 1), |
| 837 CreateMockRead(*body), | 837 CreateMockRead(*body), |
| 838 CreateMockRead(*resp2, 4), | 838 CreateMockRead(*resp2, 4), |
| 839 CreateMockRead(*body2), | 839 CreateMockRead(*body2), |
| 840 CreateMockRead(*fbody), | 840 CreateMockRead(*fbody), |
| 841 CreateMockRead(*fbody2), | 841 CreateMockRead(*fbody2), |
| 842 MockRead(true, 0, 0), // EOF | 842 MockRead(true, 0, 0), // EOF |
| 843 }; | 843 }; |
| 844 scoped_refptr<OrderedSocketData> preconnect_data( | 844 scoped_ptr<OrderedSocketData> preconnect_data( |
| 845 new OrderedSocketData(reads, arraysize(reads), | 845 new OrderedSocketData(reads, arraysize(reads), |
| 846 writes, arraysize(writes))); | 846 writes, arraysize(writes))); |
| 847 | 847 |
| 848 MockConnect never_finishing_connect(true, ERR_IO_PENDING); | 848 MockConnect never_finishing_connect(true, ERR_IO_PENDING); |
| 849 | 849 |
| 850 scoped_refptr<OrderedSocketData> data_placeholder( | 850 scoped_ptr<OrderedSocketData> data_placeholder( |
| 851 new OrderedSocketData(NULL, 0, NULL, 0)); | 851 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 852 data_placeholder->set_connect_data(never_finishing_connect); | 852 data_placeholder->set_connect_data(never_finishing_connect); |
| 853 | 853 |
| 854 BoundNetLog log; | 854 BoundNetLog log; |
| 855 TransactionHelperResult out; | 855 TransactionHelperResult out; |
| 856 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 856 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 857 BoundNetLog(), GetParam()); | 857 BoundNetLog(), GetParam()); |
| 858 helper.RunPreTestSetup(); | 858 helper.RunPreTestSetup(); |
| 859 helper.AddData(preconnect_data.get()); | 859 helper.AddData(preconnect_data.get()); |
| 860 // We require placeholder data because 3 connections are attempted (first is | 860 // We require placeholder data because 3 connections are attempted (first is |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 961 CreateMockRead(*resp2, 7), | 961 CreateMockRead(*resp2, 7), |
| 962 CreateMockRead(*body2), | 962 CreateMockRead(*body2), |
| 963 CreateMockRead(*fbody2), | 963 CreateMockRead(*fbody2), |
| 964 CreateMockRead(*resp3, 12), | 964 CreateMockRead(*resp3, 12), |
| 965 CreateMockRead(*body3), | 965 CreateMockRead(*body3), |
| 966 CreateMockRead(*fbody3), | 966 CreateMockRead(*fbody3), |
| 967 | 967 |
| 968 MockRead(true, 0, 0), // EOF | 968 MockRead(true, 0, 0), // EOF |
| 969 }; | 969 }; |
| 970 | 970 |
| 971 scoped_refptr<OrderedSocketData> data( | 971 scoped_ptr<OrderedSocketData> data( |
| 972 new OrderedSocketData(reads, arraysize(reads), | 972 new OrderedSocketData(reads, arraysize(reads), |
| 973 writes, arraysize(writes))); | 973 writes, arraysize(writes))); |
| 974 scoped_refptr<OrderedSocketData> data_placeholder( | 974 scoped_ptr<OrderedSocketData> data_placeholder( |
| 975 new OrderedSocketData(NULL, 0, NULL, 0)); | 975 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 976 | 976 |
| 977 BoundNetLog log; | 977 BoundNetLog log; |
| 978 TransactionHelperResult out; | 978 TransactionHelperResult out; |
| 979 { | 979 { |
| 980 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 980 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 981 BoundNetLog(), GetParam()); | 981 BoundNetLog(), GetParam()); |
| 982 helper.RunPreTestSetup(); | 982 helper.RunPreTestSetup(); |
| 983 helper.AddData(data.get()); | 983 helper.AddData(data.get()); |
| 984 // We require placeholder data because three get requests are sent out, so | 984 // We require placeholder data because three get requests are sent out, so |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1101 CreateMockRead(*fbody2), | 1101 CreateMockRead(*fbody2), |
| 1102 CreateMockRead(*resp4, 13), | 1102 CreateMockRead(*resp4, 13), |
| 1103 CreateMockRead(*fbody4), | 1103 CreateMockRead(*fbody4), |
| 1104 CreateMockRead(*resp3, 16), | 1104 CreateMockRead(*resp3, 16), |
| 1105 CreateMockRead(*body3), | 1105 CreateMockRead(*body3), |
| 1106 CreateMockRead(*fbody3), | 1106 CreateMockRead(*fbody3), |
| 1107 | 1107 |
| 1108 MockRead(true, 0, 0), // EOF | 1108 MockRead(true, 0, 0), // EOF |
| 1109 }; | 1109 }; |
| 1110 | 1110 |
| 1111 scoped_refptr<OrderedSocketData> data( | 1111 scoped_ptr<OrderedSocketData> data( |
| 1112 new OrderedSocketData(reads, arraysize(reads), | 1112 new OrderedSocketData(reads, arraysize(reads), |
| 1113 writes, arraysize(writes))); | 1113 writes, arraysize(writes))); |
| 1114 scoped_refptr<OrderedSocketData> data_placeholder( | 1114 scoped_ptr<OrderedSocketData> data_placeholder( |
| 1115 new OrderedSocketData(NULL, 0, NULL, 0)); | 1115 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 1116 | 1116 |
| 1117 BoundNetLog log; | 1117 BoundNetLog log; |
| 1118 TransactionHelperResult out; | 1118 TransactionHelperResult out; |
| 1119 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1119 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 1120 BoundNetLog(), GetParam()); | 1120 BoundNetLog(), GetParam()); |
| 1121 helper.RunPreTestSetup(); | 1121 helper.RunPreTestSetup(); |
| 1122 helper.AddData(data.get()); | 1122 helper.AddData(data.get()); |
| 1123 // We require placeholder data because four get requests are sent out, so | 1123 // We require placeholder data because four get requests are sent out, so |
| 1124 // there needs to be four sets of SSL connection data. | 1124 // there needs to be four sets of SSL connection data. |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1238 CreateMockRead(*settings_frame, 1), | 1238 CreateMockRead(*settings_frame, 1), |
| 1239 CreateMockRead(*resp), | 1239 CreateMockRead(*resp), |
| 1240 CreateMockRead(*body), | 1240 CreateMockRead(*body), |
| 1241 CreateMockRead(*fbody), | 1241 CreateMockRead(*fbody), |
| 1242 CreateMockRead(*resp2, 7), | 1242 CreateMockRead(*resp2, 7), |
| 1243 CreateMockRead(*body2), | 1243 CreateMockRead(*body2), |
| 1244 CreateMockRead(*fbody2), | 1244 CreateMockRead(*fbody2), |
| 1245 MockRead(true, 0, 0), // EOF | 1245 MockRead(true, 0, 0), // EOF |
| 1246 }; | 1246 }; |
| 1247 | 1247 |
| 1248 scoped_refptr<OrderedSocketData> data( | 1248 scoped_ptr<OrderedSocketData> data( |
| 1249 new OrderedSocketData(reads, arraysize(reads), | 1249 new OrderedSocketData(reads, arraysize(reads), |
| 1250 writes, arraysize(writes))); | 1250 writes, arraysize(writes))); |
| 1251 scoped_refptr<OrderedSocketData> data_placeholder( | 1251 scoped_ptr<OrderedSocketData> data_placeholder( |
| 1252 new OrderedSocketData(NULL, 0, NULL, 0)); | 1252 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 1253 | 1253 |
| 1254 BoundNetLog log; | 1254 BoundNetLog log; |
| 1255 TransactionHelperResult out; | 1255 TransactionHelperResult out; |
| 1256 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1256 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 1257 BoundNetLog(), GetParam()); | 1257 BoundNetLog(), GetParam()); |
| 1258 helper.RunPreTestSetup(); | 1258 helper.RunPreTestSetup(); |
| 1259 helper.AddData(data.get()); | 1259 helper.AddData(data.get()); |
| 1260 // We require placeholder data because three get requests are sent out, so | 1260 // We require placeholder data because three get requests are sent out, so |
| 1261 // there needs to be three sets of SSL connection data. | 1261 // there needs to be three sets of SSL connection data. |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1368 }; | 1368 }; |
| 1369 MockRead reads[] = { | 1369 MockRead reads[] = { |
| 1370 CreateMockRead(*settings_frame, 1), | 1370 CreateMockRead(*settings_frame, 1), |
| 1371 CreateMockRead(*resp), | 1371 CreateMockRead(*resp), |
| 1372 CreateMockRead(*body), | 1372 CreateMockRead(*body), |
| 1373 CreateMockRead(*fin_body), | 1373 CreateMockRead(*fin_body), |
| 1374 CreateMockRead(*resp2, 7), | 1374 CreateMockRead(*resp2, 7), |
| 1375 MockRead(true, ERR_CONNECTION_RESET, 0), // Abort! | 1375 MockRead(true, ERR_CONNECTION_RESET, 0), // Abort! |
| 1376 }; | 1376 }; |
| 1377 | 1377 |
| 1378 scoped_refptr<OrderedSocketData> data( | 1378 scoped_ptr<OrderedSocketData> data( |
| 1379 new OrderedSocketData(reads, arraysize(reads), | 1379 new OrderedSocketData(reads, arraysize(reads), |
| 1380 writes, arraysize(writes))); | 1380 writes, arraysize(writes))); |
| 1381 scoped_refptr<OrderedSocketData> data_placeholder( | 1381 scoped_ptr<OrderedSocketData> data_placeholder( |
| 1382 new OrderedSocketData(NULL, 0, NULL, 0)); | 1382 new OrderedSocketData(NULL, 0, NULL, 0)); |
| 1383 | 1383 |
| 1384 BoundNetLog log; | 1384 BoundNetLog log; |
| 1385 TransactionHelperResult out; | 1385 TransactionHelperResult out; |
| 1386 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1386 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 1387 BoundNetLog(), GetParam()); | 1387 BoundNetLog(), GetParam()); |
| 1388 helper.RunPreTestSetup(); | 1388 helper.RunPreTestSetup(); |
| 1389 helper.AddData(data.get()); | 1389 helper.AddData(data.get()); |
| 1390 // We require placeholder data because three get requests are sent out, so | 1390 // We require placeholder data because three get requests are sent out, so |
| 1391 // there needs to be three sets of SSL connection data. | 1391 // there needs to be three sets of SSL connection data. |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1490 "content-length", "1234" | 1490 "content-length", "1234" |
| 1491 }; | 1491 }; |
| 1492 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPacket(kSynReplyHeader, | 1492 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPacket(kSynReplyHeader, |
| 1493 NULL, 0, kStandardGetHeaders, arraysize(kStandardGetHeaders) / 2)); | 1493 NULL, 0, kStandardGetHeaders, arraysize(kStandardGetHeaders) / 2)); |
| 1494 MockRead reads[] = { | 1494 MockRead reads[] = { |
| 1495 CreateMockRead(*resp), | 1495 CreateMockRead(*resp), |
| 1496 CreateMockRead(*body), | 1496 CreateMockRead(*body), |
| 1497 MockRead(true, 0, 0) // EOF | 1497 MockRead(true, 0, 0) // EOF |
| 1498 }; | 1498 }; |
| 1499 | 1499 |
| 1500 scoped_refptr<DelayedSocketData> data( | 1500 scoped_ptr<DelayedSocketData> data( |
| 1501 new DelayedSocketData(1, reads, arraysize(reads), | 1501 new DelayedSocketData(1, reads, arraysize(reads), |
| 1502 writes, arraysize(writes))); | 1502 writes, arraysize(writes))); |
| 1503 NormalSpdyTransactionHelper helper(request, | 1503 NormalSpdyTransactionHelper helper(request, |
| 1504 BoundNetLog(), GetParam()); | 1504 BoundNetLog(), GetParam()); |
| 1505 helper.RunToCompletion(data.get()); | 1505 helper.RunToCompletion(data.get()); |
| 1506 TransactionHelperResult out = helper.output(); | 1506 TransactionHelperResult out = helper.output(); |
| 1507 | 1507 |
| 1508 EXPECT_EQ(OK, out.rv); | 1508 EXPECT_EQ(OK, out.rv); |
| 1509 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1509 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 1510 } | 1510 } |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1561 "content-length", "1234" | 1561 "content-length", "1234" |
| 1562 }; | 1562 }; |
| 1563 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPacket(kSynReplyHeader, | 1563 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPacket(kSynReplyHeader, |
| 1564 NULL, 0, kStandardGetHeaders, arraysize(kStandardGetHeaders) / 2)); | 1564 NULL, 0, kStandardGetHeaders, arraysize(kStandardGetHeaders) / 2)); |
| 1565 MockRead reads[] = { | 1565 MockRead reads[] = { |
| 1566 CreateMockRead(*resp), | 1566 CreateMockRead(*resp), |
| 1567 CreateMockRead(*body), | 1567 CreateMockRead(*body), |
| 1568 MockRead(true, 0, 0) // EOF | 1568 MockRead(true, 0, 0) // EOF |
| 1569 }; | 1569 }; |
| 1570 | 1570 |
| 1571 scoped_refptr<DelayedSocketData> data( | 1571 scoped_ptr<DelayedSocketData> data( |
| 1572 new DelayedSocketData(1, reads, arraysize(reads), | 1572 new DelayedSocketData(1, reads, arraysize(reads), |
| 1573 writes, arraysize(writes))); | 1573 writes, arraysize(writes))); |
| 1574 NormalSpdyTransactionHelper helper(request, | 1574 NormalSpdyTransactionHelper helper(request, |
| 1575 BoundNetLog(), GetParam()); | 1575 BoundNetLog(), GetParam()); |
| 1576 helper.RunToCompletion(data.get()); | 1576 helper.RunToCompletion(data.get()); |
| 1577 TransactionHelperResult out = helper.output(); | 1577 TransactionHelperResult out = helper.output(); |
| 1578 | 1578 |
| 1579 EXPECT_EQ(OK, out.rv); | 1579 EXPECT_EQ(OK, out.rv); |
| 1580 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1580 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 1581 } | 1581 } |
| 1582 | 1582 |
| 1583 // Test that a simple POST works. | 1583 // Test that a simple POST works. |
| 1584 TEST_P(SpdyNetworkTransactionTest, Post) { | 1584 TEST_P(SpdyNetworkTransactionTest, Post) { |
| 1585 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyPost(kUploadDataSize, NULL, 0)); | 1585 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyPost(kUploadDataSize, NULL, 0)); |
| 1586 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1586 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 1587 MockWrite writes[] = { | 1587 MockWrite writes[] = { |
| 1588 CreateMockWrite(*req), | 1588 CreateMockWrite(*req), |
| 1589 CreateMockWrite(*body), // POST upload frame | 1589 CreateMockWrite(*body), // POST upload frame |
| 1590 }; | 1590 }; |
| 1591 | 1591 |
| 1592 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 1592 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
| 1593 MockRead reads[] = { | 1593 MockRead reads[] = { |
| 1594 CreateMockRead(*resp), | 1594 CreateMockRead(*resp), |
| 1595 CreateMockRead(*body), | 1595 CreateMockRead(*body), |
| 1596 MockRead(true, 0, 0) // EOF | 1596 MockRead(true, 0, 0) // EOF |
| 1597 }; | 1597 }; |
| 1598 | 1598 |
| 1599 scoped_refptr<DelayedSocketData> data( | 1599 scoped_ptr<DelayedSocketData> data( |
| 1600 new DelayedSocketData(2, reads, arraysize(reads), | 1600 new DelayedSocketData(2, reads, arraysize(reads), |
| 1601 writes, arraysize(writes))); | 1601 writes, arraysize(writes))); |
| 1602 NormalSpdyTransactionHelper helper(CreatePostRequest(), | 1602 NormalSpdyTransactionHelper helper(CreatePostRequest(), |
| 1603 BoundNetLog(), GetParam()); | 1603 BoundNetLog(), GetParam()); |
| 1604 helper.RunToCompletion(data.get()); | 1604 helper.RunToCompletion(data.get()); |
| 1605 TransactionHelperResult out = helper.output(); | 1605 TransactionHelperResult out = helper.output(); |
| 1606 EXPECT_EQ(OK, out.rv); | 1606 EXPECT_EQ(OK, out.rv); |
| 1607 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1607 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 1608 EXPECT_EQ("hello!", out.response_data); | 1608 EXPECT_EQ("hello!", out.response_data); |
| 1609 } | 1609 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1621 }; | 1621 }; |
| 1622 | 1622 |
| 1623 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 1623 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
| 1624 MockRead reads[] = { | 1624 MockRead reads[] = { |
| 1625 CreateMockRead(*resp), | 1625 CreateMockRead(*resp), |
| 1626 CreateMockRead(*chunk1), | 1626 CreateMockRead(*chunk1), |
| 1627 CreateMockRead(*chunk2), | 1627 CreateMockRead(*chunk2), |
| 1628 MockRead(true, 0, 0) // EOF | 1628 MockRead(true, 0, 0) // EOF |
| 1629 }; | 1629 }; |
| 1630 | 1630 |
| 1631 scoped_refptr<DelayedSocketData> data( | 1631 scoped_ptr<DelayedSocketData> data( |
| 1632 new DelayedSocketData(2, reads, arraysize(reads), | 1632 new DelayedSocketData(2, reads, arraysize(reads), |
| 1633 writes, arraysize(writes))); | 1633 writes, arraysize(writes))); |
| 1634 NormalSpdyTransactionHelper helper(CreateChunkedPostRequest(), | 1634 NormalSpdyTransactionHelper helper(CreateChunkedPostRequest(), |
| 1635 BoundNetLog(), GetParam()); | 1635 BoundNetLog(), GetParam()); |
| 1636 helper.RunToCompletion(data.get()); | 1636 helper.RunToCompletion(data.get()); |
| 1637 TransactionHelperResult out = helper.output(); | 1637 TransactionHelperResult out = helper.output(); |
| 1638 EXPECT_EQ(OK, out.rv); | 1638 EXPECT_EQ(OK, out.rv); |
| 1639 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1639 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 1640 EXPECT_EQ("hello!hello!", out.response_data); | 1640 EXPECT_EQ("hello!hello!", out.response_data); |
| 1641 } | 1641 } |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1659 }; | 1659 }; |
| 1660 | 1660 |
| 1661 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 1661 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
| 1662 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1662 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 1663 MockRead reads[] = { | 1663 MockRead reads[] = { |
| 1664 CreateMockRead(*resp), | 1664 CreateMockRead(*resp), |
| 1665 CreateMockRead(*body), | 1665 CreateMockRead(*body), |
| 1666 MockRead(true, 0, 0) // EOF | 1666 MockRead(true, 0, 0) // EOF |
| 1667 }; | 1667 }; |
| 1668 | 1668 |
| 1669 scoped_refptr<DelayedSocketData> data( | 1669 scoped_ptr<DelayedSocketData> data( |
| 1670 new DelayedSocketData(1, reads, arraysize(reads), | 1670 new DelayedSocketData(1, reads, arraysize(reads), |
| 1671 writes, arraysize(writes))); | 1671 writes, arraysize(writes))); |
| 1672 | 1672 |
| 1673 NormalSpdyTransactionHelper helper(request, | 1673 NormalSpdyTransactionHelper helper(request, |
| 1674 BoundNetLog(), GetParam()); | 1674 BoundNetLog(), GetParam()); |
| 1675 helper.RunToCompletion(data.get()); | 1675 helper.RunToCompletion(data.get()); |
| 1676 TransactionHelperResult out = helper.output(); | 1676 TransactionHelperResult out = helper.output(); |
| 1677 EXPECT_EQ(OK, out.rv); | 1677 EXPECT_EQ(OK, out.rv); |
| 1678 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1678 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 1679 EXPECT_EQ("hello!", out.response_data); | 1679 EXPECT_EQ("hello!", out.response_data); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1703 }; | 1703 }; |
| 1704 | 1704 |
| 1705 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); | 1705 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyPostSynReply(NULL, 0)); |
| 1706 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1706 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 1707 MockRead reads[] = { | 1707 MockRead reads[] = { |
| 1708 CreateMockRead(*resp), | 1708 CreateMockRead(*resp), |
| 1709 CreateMockRead(*body), | 1709 CreateMockRead(*body), |
| 1710 MockRead(true, 0, 0) // EOF | 1710 MockRead(true, 0, 0) // EOF |
| 1711 }; | 1711 }; |
| 1712 | 1712 |
| 1713 scoped_refptr<DelayedSocketData> data( | 1713 scoped_ptr<DelayedSocketData> data( |
| 1714 new DelayedSocketData(1, reads, arraysize(reads), | 1714 new DelayedSocketData(1, reads, arraysize(reads), |
| 1715 writes, arraysize(writes))); | 1715 writes, arraysize(writes))); |
| 1716 | 1716 |
| 1717 NormalSpdyTransactionHelper helper(request, | 1717 NormalSpdyTransactionHelper helper(request, |
| 1718 BoundNetLog(), GetParam()); | 1718 BoundNetLog(), GetParam()); |
| 1719 helper.RunToCompletion(data.get()); | 1719 helper.RunToCompletion(data.get()); |
| 1720 TransactionHelperResult out = helper.output(); | 1720 TransactionHelperResult out = helper.output(); |
| 1721 EXPECT_EQ(OK, out.rv); | 1721 EXPECT_EQ(OK, out.rv); |
| 1722 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 1722 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 1723 EXPECT_EQ("hello!", out.response_data); | 1723 EXPECT_EQ("hello!", out.response_data); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1740 request.upload_data, NULL)); | 1740 request.upload_data, NULL)); |
| 1741 ASSERT_EQ(request.upload_data->GetContentLength(), stream->size()); | 1741 ASSERT_EQ(request.upload_data->GetContentLength(), stream->size()); |
| 1742 scoped_ptr<spdy::SpdyFrame> stream_reply(ConstructSpdyPostSynReply(NULL, 0)); | 1742 scoped_ptr<spdy::SpdyFrame> stream_reply(ConstructSpdyPostSynReply(NULL, 0)); |
| 1743 scoped_ptr<spdy::SpdyFrame> stream_body(ConstructSpdyBodyFrame(1, true)); | 1743 scoped_ptr<spdy::SpdyFrame> stream_body(ConstructSpdyBodyFrame(1, true)); |
| 1744 MockRead reads[] = { | 1744 MockRead reads[] = { |
| 1745 CreateMockRead(*stream_reply, 2), | 1745 CreateMockRead(*stream_reply, 2), |
| 1746 CreateMockRead(*stream_body, 3), | 1746 CreateMockRead(*stream_body, 3), |
| 1747 MockRead(false, 0, 0) // EOF | 1747 MockRead(false, 0, 0) // EOF |
| 1748 }; | 1748 }; |
| 1749 | 1749 |
| 1750 scoped_refptr<DelayedSocketData> data( | 1750 scoped_ptr<DelayedSocketData> data( |
| 1751 new DelayedSocketData(0, reads, arraysize(reads), NULL, 0)); | 1751 new DelayedSocketData(0, reads, arraysize(reads), NULL, 0)); |
| 1752 NormalSpdyTransactionHelper helper(request, | 1752 NormalSpdyTransactionHelper helper(request, |
| 1753 BoundNetLog(), GetParam()); | 1753 BoundNetLog(), GetParam()); |
| 1754 helper.RunPreTestSetup(); | 1754 helper.RunPreTestSetup(); |
| 1755 helper.AddData(data.get()); | 1755 helper.AddData(data.get()); |
| 1756 helper.RunDefaultTest(); | 1756 helper.RunDefaultTest(); |
| 1757 helper.VerifyDataConsumed(); | 1757 helper.VerifyDataConsumed(); |
| 1758 | 1758 |
| 1759 TransactionHelperResult out = helper.output(); | 1759 TransactionHelperResult out = helper.output(); |
| 1760 EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv); | 1760 EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1804 } | 1804 } |
| 1805 | 1805 |
| 1806 // Test that the transaction doesn't crash when we don't have a reply. | 1806 // Test that the transaction doesn't crash when we don't have a reply. |
| 1807 TEST_P(SpdyNetworkTransactionTest, ResponseWithoutSynReply) { | 1807 TEST_P(SpdyNetworkTransactionTest, ResponseWithoutSynReply) { |
| 1808 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1808 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 1809 MockRead reads[] = { | 1809 MockRead reads[] = { |
| 1810 CreateMockRead(*body), | 1810 CreateMockRead(*body), |
| 1811 MockRead(true, 0, 0) // EOF | 1811 MockRead(true, 0, 0) // EOF |
| 1812 }; | 1812 }; |
| 1813 | 1813 |
| 1814 scoped_refptr<DelayedSocketData> data( | 1814 scoped_ptr<DelayedSocketData> data( |
| 1815 new DelayedSocketData(1, reads, arraysize(reads), NULL, 0)); | 1815 new DelayedSocketData(1, reads, arraysize(reads), NULL, 0)); |
| 1816 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1816 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 1817 BoundNetLog(), GetParam()); | 1817 BoundNetLog(), GetParam()); |
| 1818 helper.RunToCompletion(data.get()); | 1818 helper.RunToCompletion(data.get()); |
| 1819 TransactionHelperResult out = helper.output(); | 1819 TransactionHelperResult out = helper.output(); |
| 1820 EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv); | 1820 EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv); |
| 1821 } | 1821 } |
| 1822 | 1822 |
| 1823 // Test that the transaction doesn't crash when we get two replies on the same | 1823 // Test that the transaction doesn't crash when we get two replies on the same |
| 1824 // stream ID. See http://crbug.com/45639. | 1824 // stream ID. See http://crbug.com/45639. |
| 1825 TEST_P(SpdyNetworkTransactionTest, ResponseWithTwoSynReplies) { | 1825 TEST_P(SpdyNetworkTransactionTest, ResponseWithTwoSynReplies) { |
| 1826 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 1826 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
| 1827 MockWrite writes[] = { CreateMockWrite(*req) }; | 1827 MockWrite writes[] = { CreateMockWrite(*req) }; |
| 1828 | 1828 |
| 1829 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 1829 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 1830 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 1830 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 1831 MockRead reads[] = { | 1831 MockRead reads[] = { |
| 1832 CreateMockRead(*resp), | 1832 CreateMockRead(*resp), |
| 1833 CreateMockRead(*resp), | 1833 CreateMockRead(*resp), |
| 1834 CreateMockRead(*body), | 1834 CreateMockRead(*body), |
| 1835 MockRead(true, 0, 0) // EOF | 1835 MockRead(true, 0, 0) // EOF |
| 1836 }; | 1836 }; |
| 1837 | 1837 |
| 1838 scoped_refptr<DelayedSocketData> data( | 1838 scoped_ptr<DelayedSocketData> data( |
| 1839 new DelayedSocketData(1, reads, arraysize(reads), | 1839 new DelayedSocketData(1, reads, arraysize(reads), |
| 1840 writes, arraysize(writes))); | 1840 writes, arraysize(writes))); |
| 1841 | 1841 |
| 1842 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1842 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 1843 BoundNetLog(), GetParam()); | 1843 BoundNetLog(), GetParam()); |
| 1844 helper.RunPreTestSetup(); | 1844 helper.RunPreTestSetup(); |
| 1845 helper.AddData(data.get()); | 1845 helper.AddData(data.get()); |
| 1846 | 1846 |
| 1847 HttpNetworkTransaction* trans = helper.trans(); | 1847 HttpNetworkTransaction* trans = helper.trans(); |
| 1848 | 1848 |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1916 CreateMockRead(*window_update_dummy), | 1916 CreateMockRead(*window_update_dummy), |
| 1917 CreateMockRead(*window_update), // Four updates, therefore window | 1917 CreateMockRead(*window_update), // Four updates, therefore window |
| 1918 CreateMockRead(*window_update), // size should increase by | 1918 CreateMockRead(*window_update), // size should increase by |
| 1919 CreateMockRead(*window_update), // kDeltaWindowSize * 4 | 1919 CreateMockRead(*window_update), // kDeltaWindowSize * 4 |
| 1920 CreateMockRead(*window_update), | 1920 CreateMockRead(*window_update), |
| 1921 CreateMockRead(*resp), | 1921 CreateMockRead(*resp), |
| 1922 CreateMockRead(*body_end), | 1922 CreateMockRead(*body_end), |
| 1923 MockRead(true, 0, 0) // EOF | 1923 MockRead(true, 0, 0) // EOF |
| 1924 }; | 1924 }; |
| 1925 | 1925 |
| 1926 scoped_refptr<DelayedSocketData> data( | 1926 scoped_ptr<DelayedSocketData> data( |
| 1927 new DelayedSocketData(0, reads, arraysize(reads), | 1927 new DelayedSocketData(0, reads, arraysize(reads), |
| 1928 writes, arraysize(writes))); | 1928 writes, arraysize(writes))); |
| 1929 | 1929 |
| 1930 // Setup the request | 1930 // Setup the request |
| 1931 HttpRequestInfo request; | 1931 HttpRequestInfo request; |
| 1932 request.method = "POST"; | 1932 request.method = "POST"; |
| 1933 request.url = GURL(kDefaultURL); | 1933 request.url = GURL(kDefaultURL); |
| 1934 request.upload_data = new UploadData(); | 1934 request.upload_data = new UploadData(); |
| 1935 for (int i = 0; i < kFrameCount; ++i) | 1935 for (int i = 0; i < kFrameCount; ++i) |
| 1936 request.upload_data->AppendBytes(content->c_str(), content->size()); | 1936 request.upload_data->AppendBytes(content->c_str(), content->size()); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1981 ConstructSpdyBodyFrame(1, NULL, 0, true)); | 1981 ConstructSpdyBodyFrame(1, NULL, 0, true)); |
| 1982 MockRead reads[] = { | 1982 MockRead reads[] = { |
| 1983 CreateMockRead(*resp), | 1983 CreateMockRead(*resp), |
| 1984 CreateMockRead(*body_no_fin), | 1984 CreateMockRead(*body_no_fin), |
| 1985 MockRead(true, ERR_IO_PENDING, 0), // Force a pause | 1985 MockRead(true, ERR_IO_PENDING, 0), // Force a pause |
| 1986 CreateMockRead(*body_fin), | 1986 CreateMockRead(*body_fin), |
| 1987 MockRead(true, ERR_IO_PENDING, 0), // Force a pause | 1987 MockRead(true, ERR_IO_PENDING, 0), // Force a pause |
| 1988 MockRead(true, 0, 0) // EOF | 1988 MockRead(true, 0, 0) // EOF |
| 1989 }; | 1989 }; |
| 1990 | 1990 |
| 1991 scoped_refptr<DelayedSocketData> data( | 1991 scoped_ptr<DelayedSocketData> data( |
| 1992 new DelayedSocketData(1, reads, arraysize(reads), | 1992 new DelayedSocketData(1, reads, arraysize(reads), |
| 1993 writes, arraysize(writes))); | 1993 writes, arraysize(writes))); |
| 1994 | 1994 |
| 1995 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 1995 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 1996 BoundNetLog(), GetParam()); | 1996 BoundNetLog(), GetParam()); |
| 1997 helper.AddData(data.get()); | 1997 helper.AddData(data.get()); |
| 1998 helper.RunPreTestSetup(); | 1998 helper.RunPreTestSetup(); |
| 1999 HttpNetworkTransaction* trans = helper.trans(); | 1999 HttpNetworkTransaction* trans = helper.trans(); |
| 2000 | 2000 |
| 2001 TestCompletionCallback callback; | 2001 TestCompletionCallback callback; |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2078 MockRead reads[] = { | 2078 MockRead reads[] = { |
| 2079 CreateMockRead(*window_update2), | 2079 CreateMockRead(*window_update2), |
| 2080 CreateMockRead(*window_update2), | 2080 CreateMockRead(*window_update2), |
| 2081 CreateMockRead(*window_update), | 2081 CreateMockRead(*window_update), |
| 2082 CreateMockRead(*window_update), | 2082 CreateMockRead(*window_update), |
| 2083 CreateMockRead(*window_update), | 2083 CreateMockRead(*window_update), |
| 2084 MockRead(true, ERR_IO_PENDING, 0), // Wait for the RST to be written. | 2084 MockRead(true, ERR_IO_PENDING, 0), // Wait for the RST to be written. |
| 2085 MockRead(true, 0, 0) // EOF | 2085 MockRead(true, 0, 0) // EOF |
| 2086 }; | 2086 }; |
| 2087 | 2087 |
| 2088 scoped_refptr<DelayedSocketData> data( | 2088 scoped_ptr<DelayedSocketData> data( |
| 2089 new DelayedSocketData(0, reads, arraysize(reads), | 2089 new DelayedSocketData(0, reads, arraysize(reads), |
| 2090 writes, arraysize(writes))); | 2090 writes, arraysize(writes))); |
| 2091 | 2091 |
| 2092 // Setup the request | 2092 // Setup the request |
| 2093 HttpRequestInfo request; | 2093 HttpRequestInfo request; |
| 2094 request.method = "POST"; | 2094 request.method = "POST"; |
| 2095 request.url = GURL("http://www.google.com/"); | 2095 request.url = GURL("http://www.google.com/"); |
| 2096 request.upload_data = new UploadData(); | 2096 request.upload_data = new UploadData(); |
| 2097 for (int i = 0; i < kFrameCount; ++i) | 2097 for (int i = 0; i < kFrameCount; ++i) |
| 2098 request.upload_data->AppendBytes(content->c_str(), content->size()); | 2098 request.upload_data->AppendBytes(content->c_str(), content->size()); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2186 CreateMockRead(*window_update), | 2186 CreateMockRead(*window_update), |
| 2187 CreateMockRead(*window_update), | 2187 CreateMockRead(*window_update), |
| 2188 CreateMockRead(*reply), | 2188 CreateMockRead(*reply), |
| 2189 CreateMockRead(*body2), | 2189 CreateMockRead(*body2), |
| 2190 CreateMockRead(*body3), | 2190 CreateMockRead(*body3), |
| 2191 MockRead(true, 0, 0) // EOF | 2191 MockRead(true, 0, 0) // EOF |
| 2192 }; | 2192 }; |
| 2193 | 2193 |
| 2194 // Force all writes to happen before any read, last write will not | 2194 // Force all writes to happen before any read, last write will not |
| 2195 // actually queue a frame, due to window size being 0. | 2195 // actually queue a frame, due to window size being 0. |
| 2196 scoped_refptr<DelayedSocketData> data( | 2196 scoped_ptr<DelayedSocketData> data( |
| 2197 new DelayedSocketData(nwrites, reads, arraysize(reads), | 2197 new DelayedSocketData(nwrites, reads, arraysize(reads), |
| 2198 writes.get(), nwrites)); | 2198 writes.get(), nwrites)); |
| 2199 | 2199 |
| 2200 HttpRequestInfo request; | 2200 HttpRequestInfo request; |
| 2201 request.method = "POST"; | 2201 request.method = "POST"; |
| 2202 request.url = GURL("http://www.google.com/"); | 2202 request.url = GURL("http://www.google.com/"); |
| 2203 request.upload_data = new UploadData(); | 2203 request.upload_data = new UploadData(); |
| 2204 scoped_ptr<std::string> upload_data( | 2204 scoped_ptr<std::string> upload_data( |
| 2205 new std::string(spdy::kSpdyStreamInitialWindowSize, 'a')); | 2205 new std::string(spdy::kSpdyStreamInitialWindowSize, 'a')); |
| 2206 upload_data->append(kUploadData, kUploadDataSize); | 2206 upload_data->append(kUploadData, kUploadDataSize); |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2336 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame2), | 2336 MockRead(true, reinterpret_cast<const char*>(kGetBodyFrame2), |
| 2337 arraysize(kGetBodyFrame2), 4), | 2337 arraysize(kGetBodyFrame2), 4), |
| 2338 MockRead(true, ERR_IO_PENDING, 5), // Force a pause | 2338 MockRead(true, ERR_IO_PENDING, 5), // Force a pause |
| 2339 MockRead(true, 0, 0, 6), // EOF | 2339 MockRead(true, 0, 0, 6), // EOF |
| 2340 }; | 2340 }; |
| 2341 MockRead reads2[] = { | 2341 MockRead reads2[] = { |
| 2342 CreateMockRead(*resp, 2), | 2342 CreateMockRead(*resp, 2), |
| 2343 MockRead(true, 0, 0, 3), // EOF | 2343 MockRead(true, 0, 0, 3), // EOF |
| 2344 }; | 2344 }; |
| 2345 | 2345 |
| 2346 scoped_refptr<OrderedSocketData> data( | 2346 scoped_ptr<OrderedSocketData> data( |
| 2347 new OrderedSocketData(reads, arraysize(reads), | 2347 new OrderedSocketData(reads, arraysize(reads), |
| 2348 writes, arraysize(writes))); | 2348 writes, arraysize(writes))); |
| 2349 scoped_refptr<DelayedSocketData> data2( | 2349 scoped_ptr<DelayedSocketData> data2( |
| 2350 new DelayedSocketData(1, reads2, arraysize(reads2), | 2350 new DelayedSocketData(1, reads2, arraysize(reads2), |
| 2351 writes2, arraysize(writes2))); | 2351 writes2, arraysize(writes2))); |
| 2352 | 2352 |
| 2353 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 2353 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 2354 BoundNetLog(), GetParam()); | 2354 BoundNetLog(), GetParam()); |
| 2355 helper.RunPreTestSetup(); | 2355 helper.RunPreTestSetup(); |
| 2356 helper.AddData(data.get()); | 2356 helper.AddData(data.get()); |
| 2357 helper.AddData(data2.get()); | 2357 helper.AddData(data2.get()); |
| 2358 HttpNetworkTransaction* trans = helper.trans(); | 2358 HttpNetworkTransaction* trans = helper.trans(); |
| 2359 | 2359 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 2385 | 2385 |
| 2386 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2386 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 2387 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 2387 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 2388 MockRead reads[] = { | 2388 MockRead reads[] = { |
| 2389 CreateMockRead(*resp.get(), 2), | 2389 CreateMockRead(*resp.get(), 2), |
| 2390 MockRead(true, ERR_IO_PENDING, 3), // Force a pause | 2390 MockRead(true, ERR_IO_PENDING, 3), // Force a pause |
| 2391 CreateMockRead(*body.get(), 4), | 2391 CreateMockRead(*body.get(), 4), |
| 2392 MockRead(true, 0, 0, 5), // EOF | 2392 MockRead(true, 0, 0, 5), // EOF |
| 2393 }; | 2393 }; |
| 2394 | 2394 |
| 2395 scoped_refptr<OrderedSocketData> data( | 2395 scoped_ptr<OrderedSocketData> data( |
| 2396 new OrderedSocketData(reads, arraysize(reads), | 2396 new OrderedSocketData(reads, arraysize(reads), |
| 2397 writes, arraysize(writes))); | 2397 writes, arraysize(writes))); |
| 2398 | 2398 |
| 2399 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 2399 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 2400 BoundNetLog(), GetParam()); | 2400 BoundNetLog(), GetParam()); |
| 2401 helper.RunPreTestSetup(); | 2401 helper.RunPreTestSetup(); |
| 2402 helper.AddData(data.get()); | 2402 helper.AddData(data.get()); |
| 2403 HttpNetworkTransaction* trans = helper.trans(); | 2403 HttpNetworkTransaction* trans = helper.trans(); |
| 2404 | 2404 |
| 2405 // Start the transaction with basic parameters. | 2405 // Start the transaction with basic parameters. |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2481 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2481 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 2482 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(1, true)); | 2482 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(1, true)); |
| 2483 MockWrite writes2[] = { | 2483 MockWrite writes2[] = { |
| 2484 CreateMockWrite(*req2, 1), | 2484 CreateMockWrite(*req2, 1), |
| 2485 }; | 2485 }; |
| 2486 MockRead reads2[] = { | 2486 MockRead reads2[] = { |
| 2487 CreateMockRead(*resp2, 2), | 2487 CreateMockRead(*resp2, 2), |
| 2488 CreateMockRead(*body2, 3), | 2488 CreateMockRead(*body2, 3), |
| 2489 MockRead(true, 0, 0, 4) // EOF | 2489 MockRead(true, 0, 0, 4) // EOF |
| 2490 }; | 2490 }; |
| 2491 scoped_refptr<OrderedSocketData> data( | 2491 scoped_ptr<OrderedSocketData> data( |
| 2492 new OrderedSocketData(reads, arraysize(reads), | 2492 new OrderedSocketData(reads, arraysize(reads), |
| 2493 writes, arraysize(writes))); | 2493 writes, arraysize(writes))); |
| 2494 scoped_refptr<OrderedSocketData> data2( | 2494 scoped_ptr<OrderedSocketData> data2( |
| 2495 new OrderedSocketData(reads2, arraysize(reads2), | 2495 new OrderedSocketData(reads2, arraysize(reads2), |
| 2496 writes2, arraysize(writes2))); | 2496 writes2, arraysize(writes2))); |
| 2497 | 2497 |
| 2498 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN | 2498 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN |
| 2499 HttpStreamFactory::set_force_spdy_over_ssl(false); | 2499 HttpStreamFactory::set_force_spdy_over_ssl(false); |
| 2500 HttpStreamFactory::set_force_spdy_always(true); | 2500 HttpStreamFactory::set_force_spdy_always(true); |
| 2501 TestDelegate d; | 2501 TestDelegate d; |
| 2502 { | 2502 { |
| 2503 net::URLRequest r(GURL("http://www.google.com/"), &d); | 2503 net::URLRequest r(GURL("http://www.google.com/"), &d); |
| 2504 SpdyURLRequestContext* spdy_url_request_context = | 2504 SpdyURLRequestContext* spdy_url_request_context = |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2607 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2607 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 2608 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(1, true)); | 2608 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(1, true)); |
| 2609 MockWrite writes2[] = { | 2609 MockWrite writes2[] = { |
| 2610 CreateMockWrite(*req2, 1), | 2610 CreateMockWrite(*req2, 1), |
| 2611 }; | 2611 }; |
| 2612 MockRead reads2[] = { | 2612 MockRead reads2[] = { |
| 2613 CreateMockRead(*resp2, 2), | 2613 CreateMockRead(*resp2, 2), |
| 2614 CreateMockRead(*body2, 3), | 2614 CreateMockRead(*body2, 3), |
| 2615 MockRead(true, 0, 0, 5) // EOF | 2615 MockRead(true, 0, 0, 5) // EOF |
| 2616 }; | 2616 }; |
| 2617 scoped_refptr<OrderedSocketData> data( | 2617 scoped_ptr<OrderedSocketData> data( |
| 2618 new OrderedSocketData(reads, arraysize(reads), | 2618 new OrderedSocketData(reads, arraysize(reads), |
| 2619 writes, arraysize(writes))); | 2619 writes, arraysize(writes))); |
| 2620 scoped_refptr<OrderedSocketData> data2( | 2620 scoped_ptr<OrderedSocketData> data2( |
| 2621 new OrderedSocketData(reads2, arraysize(reads2), | 2621 new OrderedSocketData(reads2, arraysize(reads2), |
| 2622 writes2, arraysize(writes2))); | 2622 writes2, arraysize(writes2))); |
| 2623 | 2623 |
| 2624 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN | 2624 // TODO(erikchen): Make test support SPDYSSL, SPDYNPN |
| 2625 HttpStreamFactory::set_force_spdy_over_ssl(false); | 2625 HttpStreamFactory::set_force_spdy_over_ssl(false); |
| 2626 HttpStreamFactory::set_force_spdy_always(true); | 2626 HttpStreamFactory::set_force_spdy_always(true); |
| 2627 TestDelegate d; | 2627 TestDelegate d; |
| 2628 TestDelegate d2; | 2628 TestDelegate d2; |
| 2629 scoped_refptr<SpdyURLRequestContext> spdy_url_request_context( | 2629 scoped_refptr<SpdyURLRequestContext> spdy_url_request_context( |
| 2630 new SpdyURLRequestContext()); | 2630 new SpdyURLRequestContext()); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2694 CreateMockRead(*stream2_syn, 3), | 2694 CreateMockRead(*stream2_syn, 3), |
| 2695 CreateMockRead(*stream1_body, 4, false), | 2695 CreateMockRead(*stream1_body, 4, false), |
| 2696 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 2696 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
| 2697 arraysize(kPushBodyFrame), 5), | 2697 arraysize(kPushBodyFrame), 5), |
| 2698 MockRead(true, ERR_IO_PENDING, 6), // Force a pause | 2698 MockRead(true, ERR_IO_PENDING, 6), // Force a pause |
| 2699 }; | 2699 }; |
| 2700 | 2700 |
| 2701 HttpResponseInfo response; | 2701 HttpResponseInfo response; |
| 2702 HttpResponseInfo response2; | 2702 HttpResponseInfo response2; |
| 2703 std::string expected_push_result("pushed"); | 2703 std::string expected_push_result("pushed"); |
| 2704 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 2704 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
| 2705 reads, | 2705 reads, |
| 2706 arraysize(reads), | 2706 arraysize(reads), |
| 2707 writes, | 2707 writes, |
| 2708 arraysize(writes))); | 2708 arraysize(writes))); |
| 2709 RunServerPushTest(data.get(), | 2709 RunServerPushTest(data.get(), |
| 2710 &response, | 2710 &response, |
| 2711 &response2, | 2711 &response2, |
| 2712 expected_push_result); | 2712 expected_push_result); |
| 2713 | 2713 |
| 2714 // Verify the SYN_REPLY. | 2714 // Verify the SYN_REPLY. |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2747 CreateMockRead(*stream2_syn, 3), | 2747 CreateMockRead(*stream2_syn, 3), |
| 2748 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 2748 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
| 2749 arraysize(kPushBodyFrame), 5), | 2749 arraysize(kPushBodyFrame), 5), |
| 2750 CreateMockRead(*stream1_body, 4, false), | 2750 CreateMockRead(*stream1_body, 4, false), |
| 2751 MockRead(true, ERR_IO_PENDING, 6), // Force a pause | 2751 MockRead(true, ERR_IO_PENDING, 6), // Force a pause |
| 2752 }; | 2752 }; |
| 2753 | 2753 |
| 2754 HttpResponseInfo response; | 2754 HttpResponseInfo response; |
| 2755 HttpResponseInfo response2; | 2755 HttpResponseInfo response2; |
| 2756 std::string expected_push_result("pushed"); | 2756 std::string expected_push_result("pushed"); |
| 2757 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 2757 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
| 2758 reads, | 2758 reads, |
| 2759 arraysize(reads), | 2759 arraysize(reads), |
| 2760 writes, | 2760 writes, |
| 2761 arraysize(writes))); | 2761 arraysize(writes))); |
| 2762 RunServerPushTest(data.get(), | 2762 RunServerPushTest(data.get(), |
| 2763 &response, | 2763 &response, |
| 2764 &response2, | 2764 &response2, |
| 2765 expected_push_result); | 2765 expected_push_result); |
| 2766 | 2766 |
| 2767 // Verify the SYN_REPLY. | 2767 // Verify the SYN_REPLY. |
| (...skipping 25 matching lines...) Expand all Loading... |
| 2793 scoped_ptr<spdy::SpdyFrame> | 2793 scoped_ptr<spdy::SpdyFrame> |
| 2794 stream2_rst(ConstructSpdyRstStream(2, spdy::PROTOCOL_ERROR)); | 2794 stream2_rst(ConstructSpdyRstStream(2, spdy::PROTOCOL_ERROR)); |
| 2795 MockRead reads[] = { | 2795 MockRead reads[] = { |
| 2796 CreateMockRead(*stream1_reply, 2), | 2796 CreateMockRead(*stream1_reply, 2), |
| 2797 CreateMockRead(*stream2_syn, 3), | 2797 CreateMockRead(*stream2_syn, 3), |
| 2798 CreateMockRead(*stream2_rst, 4), | 2798 CreateMockRead(*stream2_rst, 4), |
| 2799 CreateMockRead(*stream1_body, 5, false), | 2799 CreateMockRead(*stream1_body, 5, false), |
| 2800 MockRead(true, ERR_IO_PENDING, 6), // Force a pause | 2800 MockRead(true, ERR_IO_PENDING, 6), // Force a pause |
| 2801 }; | 2801 }; |
| 2802 | 2802 |
| 2803 scoped_refptr<OrderedSocketData> data( | 2803 scoped_ptr<OrderedSocketData> data( |
| 2804 new OrderedSocketData(reads, arraysize(reads), | 2804 new OrderedSocketData(reads, arraysize(reads), |
| 2805 writes, arraysize(writes))); | 2805 writes, arraysize(writes))); |
| 2806 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 2806 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 2807 BoundNetLog(), GetParam()); | 2807 BoundNetLog(), GetParam()); |
| 2808 | 2808 |
| 2809 helper.RunPreTestSetup(); | 2809 helper.RunPreTestSetup(); |
| 2810 helper.AddData(data.get()); | 2810 helper.AddData(data.get()); |
| 2811 | 2811 |
| 2812 HttpNetworkTransaction* trans = helper.trans(); | 2812 HttpNetworkTransaction* trans = helper.trans(); |
| 2813 | 2813 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2875 CreateMockRead(*stream3_syn, 4), | 2875 CreateMockRead(*stream3_syn, 4), |
| 2876 CreateMockRead(*stream1_body, 6, false), | 2876 CreateMockRead(*stream1_body, 6, false), |
| 2877 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 2877 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
| 2878 arraysize(kPushBodyFrame), 7), | 2878 arraysize(kPushBodyFrame), 7), |
| 2879 MockRead(true, ERR_IO_PENDING, 8), // Force a pause | 2879 MockRead(true, ERR_IO_PENDING, 8), // Force a pause |
| 2880 }; | 2880 }; |
| 2881 | 2881 |
| 2882 HttpResponseInfo response; | 2882 HttpResponseInfo response; |
| 2883 HttpResponseInfo response2; | 2883 HttpResponseInfo response2; |
| 2884 std::string expected_push_result("pushed"); | 2884 std::string expected_push_result("pushed"); |
| 2885 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 2885 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
| 2886 reads, | 2886 reads, |
| 2887 arraysize(reads), | 2887 arraysize(reads), |
| 2888 writes, | 2888 writes, |
| 2889 arraysize(writes))); | 2889 arraysize(writes))); |
| 2890 RunServerPushTest(data.get(), | 2890 RunServerPushTest(data.get(), |
| 2891 &response, | 2891 &response, |
| 2892 &response2, | 2892 &response2, |
| 2893 expected_push_result); | 2893 expected_push_result); |
| 2894 | 2894 |
| 2895 // Verify the SYN_REPLY. | 2895 // Verify the SYN_REPLY. |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2938 arraysize(kPushBodyFrame3) - 1, 6), | 2938 arraysize(kPushBodyFrame3) - 1, 6), |
| 2939 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame4), | 2939 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame4), |
| 2940 arraysize(kPushBodyFrame4) - 1, 7), | 2940 arraysize(kPushBodyFrame4) - 1, 7), |
| 2941 CreateMockRead(*stream1_body, 8, false), | 2941 CreateMockRead(*stream1_body, 8, false), |
| 2942 MockRead(true, ERR_IO_PENDING, 9), // Force a pause | 2942 MockRead(true, ERR_IO_PENDING, 9), // Force a pause |
| 2943 }; | 2943 }; |
| 2944 | 2944 |
| 2945 HttpResponseInfo response; | 2945 HttpResponseInfo response; |
| 2946 HttpResponseInfo response2; | 2946 HttpResponseInfo response2; |
| 2947 std::string expected_push_result("pushed my darling hello my baby"); | 2947 std::string expected_push_result("pushed my darling hello my baby"); |
| 2948 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 2948 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
| 2949 reads, | 2949 reads, |
| 2950 arraysize(reads), | 2950 arraysize(reads), |
| 2951 writes, | 2951 writes, |
| 2952 arraysize(writes))); | 2952 arraysize(writes))); |
| 2953 RunServerPushTest(data.get(), | 2953 RunServerPushTest(data.get(), |
| 2954 &response, | 2954 &response, |
| 2955 &response2, | 2955 &response2, |
| 2956 expected_push_result); | 2956 expected_push_result); |
| 2957 | 2957 |
| 2958 // Verify the SYN_REPLY. | 2958 // Verify the SYN_REPLY. |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3002 arraysize(kPushBodyFrame3) - 1, 7), | 3002 arraysize(kPushBodyFrame3) - 1, 7), |
| 3003 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame4), | 3003 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame4), |
| 3004 arraysize(kPushBodyFrame4) - 1, 8), | 3004 arraysize(kPushBodyFrame4) - 1, 8), |
| 3005 CreateMockRead(*stream1_body.get(), 9, false), | 3005 CreateMockRead(*stream1_body.get(), 9, false), |
| 3006 MockRead(true, ERR_IO_PENDING, 10) // Force a pause. | 3006 MockRead(true, ERR_IO_PENDING, 10) // Force a pause. |
| 3007 }; | 3007 }; |
| 3008 | 3008 |
| 3009 HttpResponseInfo response; | 3009 HttpResponseInfo response; |
| 3010 HttpResponseInfo response2; | 3010 HttpResponseInfo response2; |
| 3011 std::string expected_push_result("pushed my darling hello my baby"); | 3011 std::string expected_push_result("pushed my darling hello my baby"); |
| 3012 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 3012 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
| 3013 reads, | 3013 reads, |
| 3014 arraysize(reads), | 3014 arraysize(reads), |
| 3015 writes, | 3015 writes, |
| 3016 arraysize(writes))); | 3016 arraysize(writes))); |
| 3017 RunServerPushTest(data.get(), | 3017 RunServerPushTest(data.get(), |
| 3018 &response, | 3018 &response, |
| 3019 &response2, | 3019 &response2, |
| 3020 expected_push_result); | 3020 expected_push_result); |
| 3021 | 3021 |
| 3022 // Verify the SYN_REPLY. | 3022 // Verify the SYN_REPLY. |
| (...skipping 25 matching lines...) Expand all Loading... |
| 3048 2, | 3048 2, |
| 3049 0, | 3049 0, |
| 3050 "http://www.google.com/foo.dat")); | 3050 "http://www.google.com/foo.dat")); |
| 3051 MockRead reads[] = { | 3051 MockRead reads[] = { |
| 3052 CreateMockRead(*stream1_reply, 2), | 3052 CreateMockRead(*stream1_reply, 2), |
| 3053 CreateMockRead(*stream2_syn, 3), | 3053 CreateMockRead(*stream2_syn, 3), |
| 3054 CreateMockRead(*stream1_body, 4), | 3054 CreateMockRead(*stream1_body, 4), |
| 3055 MockRead(true, ERR_IO_PENDING, 5) // Force a pause | 3055 MockRead(true, ERR_IO_PENDING, 5) // Force a pause |
| 3056 }; | 3056 }; |
| 3057 | 3057 |
| 3058 scoped_refptr<OrderedSocketData> data( | 3058 scoped_ptr<OrderedSocketData> data( |
| 3059 new OrderedSocketData(reads, arraysize(reads), | 3059 new OrderedSocketData(reads, arraysize(reads), |
| 3060 writes, arraysize(writes))); | 3060 writes, arraysize(writes))); |
| 3061 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3061 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3062 BoundNetLog(), GetParam()); | 3062 BoundNetLog(), GetParam()); |
| 3063 | 3063 |
| 3064 helper.RunPreTestSetup(); | 3064 helper.RunPreTestSetup(); |
| 3065 helper.AddData(data.get()); | 3065 helper.AddData(data.get()); |
| 3066 | 3066 |
| 3067 HttpNetworkTransaction* trans = helper.trans(); | 3067 HttpNetworkTransaction* trans = helper.trans(); |
| 3068 | 3068 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3110 2, | 3110 2, |
| 3111 9, | 3111 9, |
| 3112 "http://www.google.com/foo.dat")); | 3112 "http://www.google.com/foo.dat")); |
| 3113 MockRead reads[] = { | 3113 MockRead reads[] = { |
| 3114 CreateMockRead(*stream1_reply, 2), | 3114 CreateMockRead(*stream1_reply, 2), |
| 3115 CreateMockRead(*stream2_syn, 3), | 3115 CreateMockRead(*stream2_syn, 3), |
| 3116 CreateMockRead(*stream1_body, 4), | 3116 CreateMockRead(*stream1_body, 4), |
| 3117 MockRead(true, ERR_IO_PENDING, 5), // Force a pause | 3117 MockRead(true, ERR_IO_PENDING, 5), // Force a pause |
| 3118 }; | 3118 }; |
| 3119 | 3119 |
| 3120 scoped_refptr<OrderedSocketData> data( | 3120 scoped_ptr<OrderedSocketData> data( |
| 3121 new OrderedSocketData(reads, arraysize(reads), | 3121 new OrderedSocketData(reads, arraysize(reads), |
| 3122 writes, arraysize(writes))); | 3122 writes, arraysize(writes))); |
| 3123 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3123 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3124 BoundNetLog(), GetParam()); | 3124 BoundNetLog(), GetParam()); |
| 3125 | 3125 |
| 3126 helper.RunPreTestSetup(); | 3126 helper.RunPreTestSetup(); |
| 3127 helper.AddData(data.get()); | 3127 helper.AddData(data.get()); |
| 3128 | 3128 |
| 3129 HttpNetworkTransaction* trans = helper.trans(); | 3129 HttpNetworkTransaction* trans = helper.trans(); |
| 3130 | 3130 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3168 stream1_reply(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3168 stream1_reply(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 3169 scoped_ptr<spdy::SpdyFrame> | 3169 scoped_ptr<spdy::SpdyFrame> |
| 3170 stream2_syn(ConstructSpdyPush(NULL, 0, 2, 1)); | 3170 stream2_syn(ConstructSpdyPush(NULL, 0, 2, 1)); |
| 3171 MockRead reads[] = { | 3171 MockRead reads[] = { |
| 3172 CreateMockRead(*stream1_reply, 2), | 3172 CreateMockRead(*stream1_reply, 2), |
| 3173 CreateMockRead(*stream2_syn, 3), | 3173 CreateMockRead(*stream2_syn, 3), |
| 3174 CreateMockRead(*stream1_body, 4), | 3174 CreateMockRead(*stream1_body, 4), |
| 3175 MockRead(true, ERR_IO_PENDING, 5) // Force a pause | 3175 MockRead(true, ERR_IO_PENDING, 5) // Force a pause |
| 3176 }; | 3176 }; |
| 3177 | 3177 |
| 3178 scoped_refptr<OrderedSocketData> data( | 3178 scoped_ptr<OrderedSocketData> data( |
| 3179 new OrderedSocketData(reads, arraysize(reads), | 3179 new OrderedSocketData(reads, arraysize(reads), |
| 3180 writes, arraysize(writes))); | 3180 writes, arraysize(writes))); |
| 3181 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3181 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3182 BoundNetLog(), GetParam()); | 3182 BoundNetLog(), GetParam()); |
| 3183 | 3183 |
| 3184 helper.RunPreTestSetup(); | 3184 helper.RunPreTestSetup(); |
| 3185 helper.AddData(data.get()); | 3185 helper.AddData(data.get()); |
| 3186 | 3186 |
| 3187 HttpNetworkTransaction* trans = helper.trans(); | 3187 HttpNetworkTransaction* trans = helper.trans(); |
| 3188 | 3188 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3257 ConstructSpdyGetSynReply(test_cases[i].extra_headers, | 3257 ConstructSpdyGetSynReply(test_cases[i].extra_headers, |
| 3258 test_cases[i].num_headers, | 3258 test_cases[i].num_headers, |
| 3259 1)); | 3259 1)); |
| 3260 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3260 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 3261 MockRead reads[] = { | 3261 MockRead reads[] = { |
| 3262 CreateMockRead(*resp), | 3262 CreateMockRead(*resp), |
| 3263 CreateMockRead(*body), | 3263 CreateMockRead(*body), |
| 3264 MockRead(true, 0, 0) // EOF | 3264 MockRead(true, 0, 0) // EOF |
| 3265 }; | 3265 }; |
| 3266 | 3266 |
| 3267 scoped_refptr<DelayedSocketData> data( | 3267 scoped_ptr<DelayedSocketData> data( |
| 3268 new DelayedSocketData(1, reads, arraysize(reads), | 3268 new DelayedSocketData(1, reads, arraysize(reads), |
| 3269 writes, arraysize(writes))); | 3269 writes, arraysize(writes))); |
| 3270 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3270 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3271 BoundNetLog(), GetParam()); | 3271 BoundNetLog(), GetParam()); |
| 3272 helper.RunToCompletion(data.get()); | 3272 helper.RunToCompletion(data.get()); |
| 3273 TransactionHelperResult out = helper.output(); | 3273 TransactionHelperResult out = helper.output(); |
| 3274 | 3274 |
| 3275 EXPECT_EQ(OK, out.rv); | 3275 EXPECT_EQ(OK, out.rv); |
| 3276 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 3276 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 3277 EXPECT_EQ("hello!", out.response_data); | 3277 EXPECT_EQ("hello!", out.response_data); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3406 // Attach the headers to the request. | 3406 // Attach the headers to the request. |
| 3407 int header_count = test_cases[i].num_headers[0]; | 3407 int header_count = test_cases[i].num_headers[0]; |
| 3408 | 3408 |
| 3409 HttpRequestInfo request = CreateGetRequest(); | 3409 HttpRequestInfo request = CreateGetRequest(); |
| 3410 for (int ct = 0; ct < header_count; ct++) { | 3410 for (int ct = 0; ct < header_count; ct++) { |
| 3411 const char* header_key = test_cases[i].extra_headers[0][ct * 2]; | 3411 const char* header_key = test_cases[i].extra_headers[0][ct * 2]; |
| 3412 const char* header_value = test_cases[i].extra_headers[0][ct * 2 + 1]; | 3412 const char* header_value = test_cases[i].extra_headers[0][ct * 2 + 1]; |
| 3413 request.extra_headers.SetHeader(header_key, header_value); | 3413 request.extra_headers.SetHeader(header_key, header_value); |
| 3414 } | 3414 } |
| 3415 | 3415 |
| 3416 scoped_refptr<DelayedSocketData> data( | 3416 scoped_ptr<DelayedSocketData> data( |
| 3417 new DelayedSocketData(1, reads, arraysize(reads), | 3417 new DelayedSocketData(1, reads, arraysize(reads), |
| 3418 writes, arraysize(writes))); | 3418 writes, arraysize(writes))); |
| 3419 NormalSpdyTransactionHelper helper(request, | 3419 NormalSpdyTransactionHelper helper(request, |
| 3420 BoundNetLog(), GetParam()); | 3420 BoundNetLog(), GetParam()); |
| 3421 helper.RunToCompletion(data.get()); | 3421 helper.RunToCompletion(data.get()); |
| 3422 TransactionHelperResult out = helper.output(); | 3422 TransactionHelperResult out = helper.output(); |
| 3423 | 3423 |
| 3424 EXPECT_EQ(OK, out.rv) << i; | 3424 EXPECT_EQ(OK, out.rv) << i; |
| 3425 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line) << i; | 3425 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line) << i; |
| 3426 EXPECT_EQ("hello!", out.response_data) << i; | 3426 EXPECT_EQ("hello!", out.response_data) << i; |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3512 NULL, 0, | 3512 NULL, 0, |
| 3513 test_cases[i].headers, | 3513 test_cases[i].headers, |
| 3514 test_cases[i].num_headers)); | 3514 test_cases[i].num_headers)); |
| 3515 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3515 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 3516 MockRead reads[] = { | 3516 MockRead reads[] = { |
| 3517 CreateMockRead(*resp), | 3517 CreateMockRead(*resp), |
| 3518 CreateMockRead(*body), | 3518 CreateMockRead(*body), |
| 3519 MockRead(true, 0, 0) // EOF | 3519 MockRead(true, 0, 0) // EOF |
| 3520 }; | 3520 }; |
| 3521 | 3521 |
| 3522 scoped_refptr<DelayedSocketData> data( | 3522 scoped_ptr<DelayedSocketData> data( |
| 3523 new DelayedSocketData(1, reads, arraysize(reads), | 3523 new DelayedSocketData(1, reads, arraysize(reads), |
| 3524 writes, arraysize(writes))); | 3524 writes, arraysize(writes))); |
| 3525 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3525 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3526 BoundNetLog(), GetParam()); | 3526 BoundNetLog(), GetParam()); |
| 3527 helper.RunToCompletion(data.get()); | 3527 helper.RunToCompletion(data.get()); |
| 3528 TransactionHelperResult out = helper.output(); | 3528 TransactionHelperResult out = helper.output(); |
| 3529 EXPECT_EQ(ERR_INCOMPLETE_SPDY_HEADERS, out.rv); | 3529 EXPECT_EQ(ERR_INCOMPLETE_SPDY_HEADERS, out.rv); |
| 3530 } | 3530 } |
| 3531 } | 3531 } |
| 3532 | 3532 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 3551 MockWrite(true, 0, 0) // EOF | 3551 MockWrite(true, 0, 0) // EOF |
| 3552 }; | 3552 }; |
| 3553 | 3553 |
| 3554 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3554 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 3555 MockRead reads[] = { | 3555 MockRead reads[] = { |
| 3556 CreateMockRead(*test_cases[i].syn_reply), | 3556 CreateMockRead(*test_cases[i].syn_reply), |
| 3557 CreateMockRead(*body), | 3557 CreateMockRead(*body), |
| 3558 MockRead(true, 0, 0) // EOF | 3558 MockRead(true, 0, 0) // EOF |
| 3559 }; | 3559 }; |
| 3560 | 3560 |
| 3561 scoped_refptr<DelayedSocketData> data( | 3561 scoped_ptr<DelayedSocketData> data( |
| 3562 new DelayedSocketData(1, reads, arraysize(reads), | 3562 new DelayedSocketData(1, reads, arraysize(reads), |
| 3563 writes, arraysize(writes))); | 3563 writes, arraysize(writes))); |
| 3564 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3564 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3565 BoundNetLog(), GetParam()); | 3565 BoundNetLog(), GetParam()); |
| 3566 helper.RunToCompletion(data.get()); | 3566 helper.RunToCompletion(data.get()); |
| 3567 TransactionHelperResult out = helper.output(); | 3567 TransactionHelperResult out = helper.output(); |
| 3568 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); | 3568 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); |
| 3569 } | 3569 } |
| 3570 } | 3570 } |
| 3571 | 3571 |
| 3572 // Test that we shutdown correctly on write errors. | 3572 // Test that we shutdown correctly on write errors. |
| 3573 TEST_P(SpdyNetworkTransactionTest, WriteError) { | 3573 TEST_P(SpdyNetworkTransactionTest, WriteError) { |
| 3574 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 3574 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
| 3575 MockWrite writes[] = { | 3575 MockWrite writes[] = { |
| 3576 // We'll write 10 bytes successfully | 3576 // We'll write 10 bytes successfully |
| 3577 MockWrite(true, req->data(), 10), | 3577 MockWrite(true, req->data(), 10), |
| 3578 // Followed by ERROR! | 3578 // Followed by ERROR! |
| 3579 MockWrite(true, ERR_FAILED), | 3579 MockWrite(true, ERR_FAILED), |
| 3580 }; | 3580 }; |
| 3581 | 3581 |
| 3582 scoped_refptr<DelayedSocketData> data( | 3582 scoped_ptr<DelayedSocketData> data( |
| 3583 new DelayedSocketData(2, NULL, 0, | 3583 new DelayedSocketData(2, NULL, 0, |
| 3584 writes, arraysize(writes))); | 3584 writes, arraysize(writes))); |
| 3585 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3585 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3586 BoundNetLog(), GetParam()); | 3586 BoundNetLog(), GetParam()); |
| 3587 helper.RunToCompletion(data.get()); | 3587 helper.RunToCompletion(data.get()); |
| 3588 TransactionHelperResult out = helper.output(); | 3588 TransactionHelperResult out = helper.output(); |
| 3589 EXPECT_EQ(ERR_FAILED, out.rv); | 3589 EXPECT_EQ(ERR_FAILED, out.rv); |
| 3590 data->Reset(); | 3590 data->Reset(); |
| 3591 } | 3591 } |
| 3592 | 3592 |
| 3593 // Test that partial writes work. | 3593 // Test that partial writes work. |
| 3594 TEST_P(SpdyNetworkTransactionTest, PartialWrite) { | 3594 TEST_P(SpdyNetworkTransactionTest, PartialWrite) { |
| 3595 // Chop the SYN_STREAM frame into 5 chunks. | 3595 // Chop the SYN_STREAM frame into 5 chunks. |
| 3596 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 3596 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
| 3597 const int kChunks = 5; | 3597 const int kChunks = 5; |
| 3598 scoped_array<MockWrite> writes(ChopWriteFrame(*req.get(), kChunks)); | 3598 scoped_array<MockWrite> writes(ChopWriteFrame(*req.get(), kChunks)); |
| 3599 | 3599 |
| 3600 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3600 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 3601 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3601 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 3602 MockRead reads[] = { | 3602 MockRead reads[] = { |
| 3603 CreateMockRead(*resp), | 3603 CreateMockRead(*resp), |
| 3604 CreateMockRead(*body), | 3604 CreateMockRead(*body), |
| 3605 MockRead(true, 0, 0) // EOF | 3605 MockRead(true, 0, 0) // EOF |
| 3606 }; | 3606 }; |
| 3607 | 3607 |
| 3608 scoped_refptr<DelayedSocketData> data( | 3608 scoped_ptr<DelayedSocketData> data( |
| 3609 new DelayedSocketData(kChunks, reads, arraysize(reads), | 3609 new DelayedSocketData(kChunks, reads, arraysize(reads), |
| 3610 writes.get(), kChunks)); | 3610 writes.get(), kChunks)); |
| 3611 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3611 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3612 BoundNetLog(), GetParam()); | 3612 BoundNetLog(), GetParam()); |
| 3613 helper.RunToCompletion(data.get()); | 3613 helper.RunToCompletion(data.get()); |
| 3614 TransactionHelperResult out = helper.output(); | 3614 TransactionHelperResult out = helper.output(); |
| 3615 EXPECT_EQ(OK, out.rv); | 3615 EXPECT_EQ(OK, out.rv); |
| 3616 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 3616 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 3617 EXPECT_EQ("hello!", out.response_data); | 3617 EXPECT_EQ("hello!", out.response_data); |
| 3618 } | 3618 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 3630 MockWrite writes[] = { | 3630 MockWrite writes[] = { |
| 3631 CreateMockWrite(*compressed), | 3631 CreateMockWrite(*compressed), |
| 3632 }; | 3632 }; |
| 3633 | 3633 |
| 3634 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3634 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 3635 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3635 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 3636 MockRead reads[] = { | 3636 MockRead reads[] = { |
| 3637 CreateMockRead(*resp), | 3637 CreateMockRead(*resp), |
| 3638 }; | 3638 }; |
| 3639 | 3639 |
| 3640 scoped_refptr<DelayedSocketData> data( | 3640 scoped_ptr<DelayedSocketData> data( |
| 3641 new DelayedSocketData(1, reads, arraysize(reads), | 3641 new DelayedSocketData(1, reads, arraysize(reads), |
| 3642 writes, arraysize(writes))); | 3642 writes, arraysize(writes))); |
| 3643 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3643 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3644 BoundNetLog(), GetParam()); | 3644 BoundNetLog(), GetParam()); |
| 3645 helper.RunToCompletion(data.get()); | 3645 helper.RunToCompletion(data.get()); |
| 3646 TransactionHelperResult out = helper.output(); | 3646 TransactionHelperResult out = helper.output(); |
| 3647 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); | 3647 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); |
| 3648 data->Reset(); | 3648 data->Reset(); |
| 3649 | 3649 |
| 3650 EnableCompression(false); | 3650 EnableCompression(false); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 3662 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3662 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 3663 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 3663 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 3664 MockRead reads[] = { | 3664 MockRead reads[] = { |
| 3665 CreateMockRead(*resp), | 3665 CreateMockRead(*resp), |
| 3666 CreateMockRead(*body), | 3666 CreateMockRead(*body), |
| 3667 MockRead(true, 0, 0) // EOF | 3667 MockRead(true, 0, 0) // EOF |
| 3668 }; | 3668 }; |
| 3669 | 3669 |
| 3670 net::CapturingBoundNetLog log(net::CapturingNetLog::kUnbounded); | 3670 net::CapturingBoundNetLog log(net::CapturingNetLog::kUnbounded); |
| 3671 | 3671 |
| 3672 scoped_refptr<DelayedSocketData> data( | 3672 scoped_ptr<DelayedSocketData> data( |
| 3673 new DelayedSocketData(1, reads, arraysize(reads), | 3673 new DelayedSocketData(1, reads, arraysize(reads), |
| 3674 writes, arraysize(writes))); | 3674 writes, arraysize(writes))); |
| 3675 NormalSpdyTransactionHelper helper(CreateGetRequestWithUserAgent(), | 3675 NormalSpdyTransactionHelper helper(CreateGetRequestWithUserAgent(), |
| 3676 log.bound(), GetParam()); | 3676 log.bound(), GetParam()); |
| 3677 helper.RunToCompletion(data.get()); | 3677 helper.RunToCompletion(data.get()); |
| 3678 TransactionHelperResult out = helper.output(); | 3678 TransactionHelperResult out = helper.output(); |
| 3679 EXPECT_EQ(OK, out.rv); | 3679 EXPECT_EQ(OK, out.rv); |
| 3680 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 3680 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 3681 EXPECT_EQ("hello!", out.response_data); | 3681 EXPECT_EQ("hello!", out.response_data); |
| 3682 | 3682 |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3764 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3764 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 3765 MockRead reads[] = { | 3765 MockRead reads[] = { |
| 3766 CreateMockRead(*resp), | 3766 CreateMockRead(*resp), |
| 3767 MockRead(true, ERR_IO_PENDING), // Force a pause | 3767 MockRead(true, ERR_IO_PENDING), // Force a pause |
| 3768 MockRead(true, combined_data_frames, combined_data_frames_len), | 3768 MockRead(true, combined_data_frames, combined_data_frames_len), |
| 3769 MockRead(true, ERR_IO_PENDING), // Force a pause | 3769 MockRead(true, ERR_IO_PENDING), // Force a pause |
| 3770 CreateMockRead(*last_frame), | 3770 CreateMockRead(*last_frame), |
| 3771 MockRead(true, 0, 0) // EOF | 3771 MockRead(true, 0, 0) // EOF |
| 3772 }; | 3772 }; |
| 3773 | 3773 |
| 3774 scoped_refptr<DelayedSocketData> data( | 3774 scoped_ptr<DelayedSocketData> data( |
| 3775 new DelayedSocketData(1, reads, arraysize(reads), | 3775 new DelayedSocketData(1, reads, arraysize(reads), |
| 3776 writes, arraysize(writes))); | 3776 writes, arraysize(writes))); |
| 3777 | 3777 |
| 3778 | 3778 |
| 3779 TestCompletionCallback callback; | 3779 TestCompletionCallback callback; |
| 3780 | 3780 |
| 3781 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3781 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3782 BoundNetLog(), GetParam()); | 3782 BoundNetLog(), GetParam()); |
| 3783 helper.RunPreTestSetup(); | 3783 helper.RunPreTestSetup(); |
| 3784 helper.AddData(data.get()); | 3784 helper.AddData(data.get()); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3857 combined_data_frames, arraysize(combined_data_frames)); | 3857 combined_data_frames, arraysize(combined_data_frames)); |
| 3858 | 3858 |
| 3859 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3859 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 3860 MockRead reads[] = { | 3860 MockRead reads[] = { |
| 3861 CreateMockRead(*resp), | 3861 CreateMockRead(*resp), |
| 3862 MockRead(true, ERR_IO_PENDING), // Force a pause | 3862 MockRead(true, ERR_IO_PENDING), // Force a pause |
| 3863 MockRead(true, combined_data_frames, combined_data_frames_len), | 3863 MockRead(true, combined_data_frames, combined_data_frames_len), |
| 3864 MockRead(true, 0, 0) // EOF | 3864 MockRead(true, 0, 0) // EOF |
| 3865 }; | 3865 }; |
| 3866 | 3866 |
| 3867 scoped_refptr<DelayedSocketData> data( | 3867 scoped_ptr<DelayedSocketData> data( |
| 3868 new DelayedSocketData(1, reads, arraysize(reads), | 3868 new DelayedSocketData(1, reads, arraysize(reads), |
| 3869 writes, arraysize(writes))); | 3869 writes, arraysize(writes))); |
| 3870 | 3870 |
| 3871 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3871 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3872 BoundNetLog(), GetParam()); | 3872 BoundNetLog(), GetParam()); |
| 3873 helper.RunPreTestSetup(); | 3873 helper.RunPreTestSetup(); |
| 3874 helper.AddData(data.get()); | 3874 helper.AddData(data.get()); |
| 3875 HttpNetworkTransaction* trans = helper.trans(); | 3875 HttpNetworkTransaction* trans = helper.trans(); |
| 3876 | 3876 |
| 3877 TestCompletionCallback callback; | 3877 TestCompletionCallback callback; |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3953 char combined_frames[200]; | 3953 char combined_frames[200]; |
| 3954 int combined_frames_len = | 3954 int combined_frames_len = |
| 3955 CombineFrames(frames, arraysize(frames), | 3955 CombineFrames(frames, arraysize(frames), |
| 3956 combined_frames, arraysize(combined_frames)); | 3956 combined_frames, arraysize(combined_frames)); |
| 3957 | 3957 |
| 3958 MockRead reads[] = { | 3958 MockRead reads[] = { |
| 3959 MockRead(true, combined_frames, combined_frames_len), | 3959 MockRead(true, combined_frames, combined_frames_len), |
| 3960 MockRead(true, 0, 0) // EOF | 3960 MockRead(true, 0, 0) // EOF |
| 3961 }; | 3961 }; |
| 3962 | 3962 |
| 3963 scoped_refptr<DelayedSocketData> data( | 3963 scoped_ptr<DelayedSocketData> data( |
| 3964 new DelayedSocketData(1, reads, arraysize(reads), | 3964 new DelayedSocketData(1, reads, arraysize(reads), |
| 3965 writes, arraysize(writes))); | 3965 writes, arraysize(writes))); |
| 3966 | 3966 |
| 3967 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 3967 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 3968 BoundNetLog(), GetParam()); | 3968 BoundNetLog(), GetParam()); |
| 3969 helper.RunPreTestSetup(); | 3969 helper.RunPreTestSetup(); |
| 3970 helper.AddData(data.get()); | 3970 helper.AddData(data.get()); |
| 3971 HttpNetworkTransaction* trans = helper.trans(); | 3971 HttpNetworkTransaction* trans = helper.trans(); |
| 3972 | 3972 |
| 3973 TestCompletionCallback callback; | 3973 TestCompletionCallback callback; |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4042 CombineFrames(data_frames, arraysize(data_frames), | 4042 CombineFrames(data_frames, arraysize(data_frames), |
| 4043 combined_data_frames, arraysize(combined_data_frames)); | 4043 combined_data_frames, arraysize(combined_data_frames)); |
| 4044 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4044 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 4045 MockRead reads[] = { | 4045 MockRead reads[] = { |
| 4046 CreateMockRead(*resp), | 4046 CreateMockRead(*resp), |
| 4047 MockRead(true, ERR_IO_PENDING), // Force a wait | 4047 MockRead(true, ERR_IO_PENDING), // Force a wait |
| 4048 MockRead(true, combined_data_frames, combined_data_frames_len), | 4048 MockRead(true, combined_data_frames, combined_data_frames_len), |
| 4049 MockRead(true, 0, 0) // EOF | 4049 MockRead(true, 0, 0) // EOF |
| 4050 }; | 4050 }; |
| 4051 | 4051 |
| 4052 scoped_refptr<DelayedSocketData> data( | 4052 scoped_ptr<DelayedSocketData> data( |
| 4053 new DelayedSocketData(1, reads, arraysize(reads), | 4053 new DelayedSocketData(1, reads, arraysize(reads), |
| 4054 writes, arraysize(writes))); | 4054 writes, arraysize(writes))); |
| 4055 | 4055 |
| 4056 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4056 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 4057 BoundNetLog(), GetParam()); | 4057 BoundNetLog(), GetParam()); |
| 4058 helper.RunPreTestSetup(); | 4058 helper.RunPreTestSetup(); |
| 4059 helper.AddData(data.get()); | 4059 helper.AddData(data.get()); |
| 4060 HttpNetworkTransaction* trans = helper.trans(); | 4060 HttpNetworkTransaction* trans = helper.trans(); |
| 4061 | 4061 |
| 4062 TestCompletionCallback callback; | 4062 TestCompletionCallback callback; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4123 framer.CreateDataFrame(1, "message", 7, spdy::DATA_FLAG_NONE)); | 4123 framer.CreateDataFrame(1, "message", 7, spdy::DATA_FLAG_NONE)); |
| 4124 | 4124 |
| 4125 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4125 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 4126 MockRead reads[] = { | 4126 MockRead reads[] = { |
| 4127 CreateMockRead(*resp), | 4127 CreateMockRead(*resp), |
| 4128 MockRead(true, ERR_IO_PENDING), // Force a wait | 4128 MockRead(true, ERR_IO_PENDING), // Force a wait |
| 4129 CreateMockRead(*data_frame), | 4129 CreateMockRead(*data_frame), |
| 4130 MockRead(true, 0, 0) // EOF | 4130 MockRead(true, 0, 0) // EOF |
| 4131 }; | 4131 }; |
| 4132 | 4132 |
| 4133 scoped_refptr<DelayedSocketData> data( | 4133 scoped_ptr<DelayedSocketData> data( |
| 4134 new DelayedSocketData(1, reads, arraysize(reads), | 4134 new DelayedSocketData(1, reads, arraysize(reads), |
| 4135 writes, arraysize(writes))); | 4135 writes, arraysize(writes))); |
| 4136 | 4136 |
| 4137 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4137 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 4138 BoundNetLog(), GetParam()); | 4138 BoundNetLog(), GetParam()); |
| 4139 helper.RunPreTestSetup(); | 4139 helper.RunPreTestSetup(); |
| 4140 helper.AddData(data.get()); | 4140 helper.AddData(data.get()); |
| 4141 HttpNetworkTransaction* trans = helper.trans(); | 4141 HttpNetworkTransaction* trans = helper.trans(); |
| 4142 TestCompletionCallback callback; | 4142 TestCompletionCallback callback; |
| 4143 | 4143 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4252 } | 4252 } |
| 4253 | 4253 |
| 4254 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 4254 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 4255 MockRead reads[] = { | 4255 MockRead reads[] = { |
| 4256 CreateMockRead(*reply), | 4256 CreateMockRead(*reply), |
| 4257 CreateMockRead(*body), | 4257 CreateMockRead(*body), |
| 4258 CreateMockRead(*settings_frame), | 4258 CreateMockRead(*settings_frame), |
| 4259 MockRead(true, 0, 0) // EOF | 4259 MockRead(true, 0, 0) // EOF |
| 4260 }; | 4260 }; |
| 4261 | 4261 |
| 4262 scoped_refptr<DelayedSocketData> data( | 4262 scoped_ptr<DelayedSocketData> data( |
| 4263 new DelayedSocketData(1, reads, arraysize(reads), | 4263 new DelayedSocketData(1, reads, arraysize(reads), |
| 4264 writes, arraysize(writes))); | 4264 writes, arraysize(writes))); |
| 4265 helper.AddData(data.get()); | 4265 helper.AddData(data.get()); |
| 4266 helper.RunDefaultTest(); | 4266 helper.RunDefaultTest(); |
| 4267 helper.VerifyDataConsumed(); | 4267 helper.VerifyDataConsumed(); |
| 4268 TransactionHelperResult out = helper.output(); | 4268 TransactionHelperResult out = helper.output(); |
| 4269 EXPECT_EQ(OK, out.rv); | 4269 EXPECT_EQ(OK, out.rv); |
| 4270 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 4270 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 4271 EXPECT_EQ("hello!", out.response_data); | 4271 EXPECT_EQ("hello!", out.response_data); |
| 4272 | 4272 |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4370 NULL, | 4370 NULL, |
| 4371 0)); | 4371 0)); |
| 4372 | 4372 |
| 4373 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 4373 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 4374 MockRead reads[] = { | 4374 MockRead reads[] = { |
| 4375 CreateMockRead(*reply), | 4375 CreateMockRead(*reply), |
| 4376 CreateMockRead(*body), | 4376 CreateMockRead(*body), |
| 4377 MockRead(true, 0, 0) // EOF | 4377 MockRead(true, 0, 0) // EOF |
| 4378 }; | 4378 }; |
| 4379 | 4379 |
| 4380 scoped_refptr<DelayedSocketData> data( | 4380 scoped_ptr<DelayedSocketData> data( |
| 4381 new DelayedSocketData(2, reads, arraysize(reads), | 4381 new DelayedSocketData(2, reads, arraysize(reads), |
| 4382 writes, arraysize(writes))); | 4382 writes, arraysize(writes))); |
| 4383 helper.AddData(data.get()); | 4383 helper.AddData(data.get()); |
| 4384 helper.RunDefaultTest(); | 4384 helper.RunDefaultTest(); |
| 4385 helper.VerifyDataConsumed(); | 4385 helper.VerifyDataConsumed(); |
| 4386 TransactionHelperResult out = helper.output(); | 4386 TransactionHelperResult out = helper.output(); |
| 4387 EXPECT_EQ(OK, out.rv); | 4387 EXPECT_EQ(OK, out.rv); |
| 4388 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 4388 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 4389 EXPECT_EQ("hello!", out.response_data); | 4389 EXPECT_EQ("hello!", out.response_data); |
| 4390 | 4390 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 4414 TEST_P(SpdyNetworkTransactionTest, GoAwayWithActiveStream) { | 4414 TEST_P(SpdyNetworkTransactionTest, GoAwayWithActiveStream) { |
| 4415 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 4415 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
| 4416 MockWrite writes[] = { CreateMockWrite(*req) }; | 4416 MockWrite writes[] = { CreateMockWrite(*req) }; |
| 4417 | 4417 |
| 4418 scoped_ptr<spdy::SpdyFrame> go_away(ConstructSpdyGoAway()); | 4418 scoped_ptr<spdy::SpdyFrame> go_away(ConstructSpdyGoAway()); |
| 4419 MockRead reads[] = { | 4419 MockRead reads[] = { |
| 4420 CreateMockRead(*go_away), | 4420 CreateMockRead(*go_away), |
| 4421 MockRead(true, 0, 0), // EOF | 4421 MockRead(true, 0, 0), // EOF |
| 4422 }; | 4422 }; |
| 4423 | 4423 |
| 4424 scoped_refptr<DelayedSocketData> data( | 4424 scoped_ptr<DelayedSocketData> data( |
| 4425 new DelayedSocketData(1, reads, arraysize(reads), | 4425 new DelayedSocketData(1, reads, arraysize(reads), |
| 4426 writes, arraysize(writes))); | 4426 writes, arraysize(writes))); |
| 4427 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4427 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 4428 BoundNetLog(), GetParam()); | 4428 BoundNetLog(), GetParam()); |
| 4429 helper.AddData(data); | 4429 helper.AddData(data.get()); |
| 4430 helper.RunToCompletion(data.get()); | 4430 helper.RunToCompletion(data.get()); |
| 4431 TransactionHelperResult out = helper.output(); | 4431 TransactionHelperResult out = helper.output(); |
| 4432 EXPECT_EQ(ERR_ABORTED, out.rv); | 4432 EXPECT_EQ(ERR_ABORTED, out.rv); |
| 4433 } | 4433 } |
| 4434 | 4434 |
| 4435 TEST_P(SpdyNetworkTransactionTest, CloseWithActiveStream) { | 4435 TEST_P(SpdyNetworkTransactionTest, CloseWithActiveStream) { |
| 4436 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); | 4436 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); |
| 4437 MockWrite writes[] = { CreateMockWrite(*req) }; | 4437 MockWrite writes[] = { CreateMockWrite(*req) }; |
| 4438 | 4438 |
| 4439 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4439 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 4440 MockRead reads[] = { | 4440 MockRead reads[] = { |
| 4441 CreateMockRead(*resp), | 4441 CreateMockRead(*resp), |
| 4442 MockRead(false, 0, 0) // EOF | 4442 MockRead(false, 0, 0) // EOF |
| 4443 }; | 4443 }; |
| 4444 | 4444 |
| 4445 scoped_refptr<DelayedSocketData> data( | 4445 scoped_ptr<DelayedSocketData> data( |
| 4446 new DelayedSocketData(1, reads, arraysize(reads), | 4446 new DelayedSocketData(1, reads, arraysize(reads), |
| 4447 writes, arraysize(writes))); | 4447 writes, arraysize(writes))); |
| 4448 BoundNetLog log; | 4448 BoundNetLog log; |
| 4449 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4449 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 4450 log, GetParam()); | 4450 log, GetParam()); |
| 4451 helper.RunPreTestSetup(); | 4451 helper.RunPreTestSetup(); |
| 4452 helper.AddData(data.get()); | 4452 helper.AddData(data.get()); |
| 4453 HttpNetworkTransaction* trans = helper.trans(); | 4453 HttpNetworkTransaction* trans = helper.trans(); |
| 4454 | 4454 |
| 4455 TestCompletionCallback callback; | 4455 TestCompletionCallback callback; |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4517 MockWrite writes_SPDYNOSSL[] = { | 4517 MockWrite writes_SPDYNOSSL[] = { |
| 4518 CreateMockWrite(*req, 0), | 4518 CreateMockWrite(*req, 0), |
| 4519 }; | 4519 }; |
| 4520 | 4520 |
| 4521 MockRead reads_SPDYNOSSL[] = { | 4521 MockRead reads_SPDYNOSSL[] = { |
| 4522 CreateMockRead(*resp, 1), | 4522 CreateMockRead(*resp, 1), |
| 4523 CreateMockRead(*body.get(), 2), | 4523 CreateMockRead(*body.get(), 2), |
| 4524 MockRead(true, 0, 0, 3), | 4524 MockRead(true, 0, 0, 3), |
| 4525 }; | 4525 }; |
| 4526 | 4526 |
| 4527 scoped_refptr<OrderedSocketData> data; | 4527 scoped_ptr<OrderedSocketData> data; |
| 4528 switch(GetParam()) { | 4528 switch(GetParam()) { |
| 4529 case SPDYNOSSL: | 4529 case SPDYNOSSL: |
| 4530 data = new OrderedSocketData(reads_SPDYNOSSL, | 4530 data.reset(new OrderedSocketData(reads_SPDYNOSSL, |
| 4531 arraysize(reads_SPDYNOSSL), | 4531 arraysize(reads_SPDYNOSSL), |
| 4532 writes_SPDYNOSSL, | 4532 writes_SPDYNOSSL, |
| 4533 arraysize(writes_SPDYNOSSL)); | 4533 arraysize(writes_SPDYNOSSL))); |
| 4534 break; | 4534 break; |
| 4535 case SPDYSSL: | 4535 case SPDYSSL: |
| 4536 data = new OrderedSocketData(reads_SPDYSSL, arraysize(reads_SPDYSSL), | 4536 data.reset(new OrderedSocketData(reads_SPDYSSL, |
| 4537 writes_SPDYSSL, arraysize(writes_SPDYSSL)); | 4537 arraysize(reads_SPDYSSL), |
| 4538 writes_SPDYSSL, |
| 4539 arraysize(writes_SPDYSSL))); |
| 4538 break; | 4540 break; |
| 4539 case SPDYNPN: | 4541 case SPDYNPN: |
| 4540 data = new OrderedSocketData(reads_SPDYNPN, arraysize(reads_SPDYNPN), | 4542 data.reset(new OrderedSocketData(reads_SPDYNPN, |
| 4541 writes_SPDYNPN, arraysize(writes_SPDYNPN)); | 4543 arraysize(reads_SPDYNPN), |
| 4544 writes_SPDYNPN, |
| 4545 arraysize(writes_SPDYNPN))); |
| 4542 break; | 4546 break; |
| 4543 default: | 4547 default: |
| 4544 NOTREACHED(); | 4548 NOTREACHED(); |
| 4545 } | 4549 } |
| 4546 | 4550 |
| 4547 helper.AddData(data.get()); | 4551 helper.AddData(data.get()); |
| 4548 TestCompletionCallback callback; | 4552 TestCompletionCallback callback; |
| 4549 | 4553 |
| 4550 int rv = trans->Start( | 4554 int rv = trans->Start( |
| 4551 &CreateGetRequest(), callback.callback(), BoundNetLog()); | 4555 &CreateGetRequest(), callback.callback(), BoundNetLog()); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4593 }; | 4597 }; |
| 4594 | 4598 |
| 4595 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4599 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 4596 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 4600 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 4597 MockRead reads[] = { | 4601 MockRead reads[] = { |
| 4598 CreateMockRead(*resp, 2), | 4602 CreateMockRead(*resp, 2), |
| 4599 CreateMockRead(*body, 3), | 4603 CreateMockRead(*body, 3), |
| 4600 MockRead(true, ERR_IO_PENDING, 4), // Force a pause | 4604 MockRead(true, ERR_IO_PENDING, 4), // Force a pause |
| 4601 MockRead(true, 0, 5) // EOF | 4605 MockRead(true, 0, 5) // EOF |
| 4602 }; | 4606 }; |
| 4603 scoped_refptr<OrderedSocketData> data( | 4607 scoped_ptr<OrderedSocketData> data( |
| 4604 new OrderedSocketData(reads, arraysize(reads), | 4608 new OrderedSocketData(reads, arraysize(reads), |
| 4605 writes, arraysize(writes))); | 4609 writes, arraysize(writes))); |
| 4606 helper.AddData(data.get()); | 4610 helper.AddData(data.get()); |
| 4607 HttpNetworkTransaction* trans = helper.trans(); | 4611 HttpNetworkTransaction* trans = helper.trans(); |
| 4608 | 4612 |
| 4609 TestCompletionCallback callback; | 4613 TestCompletionCallback callback; |
| 4610 TransactionHelperResult out; | 4614 TransactionHelperResult out; |
| 4611 out.rv = trans->Start( | 4615 out.rv = trans->Start( |
| 4612 &CreateGetRequest(), callback.callback(), BoundNetLog()); | 4616 &CreateGetRequest(), callback.callback(), BoundNetLog()); |
| 4613 | 4617 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4671 MockWrite(false, kConnect80, arraysize(kConnect80) - 1, 0), | 4675 MockWrite(false, kConnect80, arraysize(kConnect80) - 1, 0), |
| 4672 CreateMockWrite(*req2, 2), | 4676 CreateMockWrite(*req2, 2), |
| 4673 }; | 4677 }; |
| 4674 MockRead reads_SPDYSSL[] = { | 4678 MockRead reads_SPDYSSL[] = { |
| 4675 MockRead(false, kHTTP200, arraysize(kHTTP200) - 1, 1), | 4679 MockRead(false, kHTTP200, arraysize(kHTTP200) - 1, 1), |
| 4676 CreateMockRead(*resp2, 3), | 4680 CreateMockRead(*resp2, 3), |
| 4677 CreateMockRead(*body2, 4), | 4681 CreateMockRead(*body2, 4), |
| 4678 MockRead(true, 0, 0, 5), | 4682 MockRead(true, 0, 0, 5), |
| 4679 }; | 4683 }; |
| 4680 | 4684 |
| 4681 scoped_refptr<OrderedSocketData> data_proxy; | 4685 scoped_ptr<OrderedSocketData> data_proxy; |
| 4682 switch(GetParam()) { | 4686 switch(GetParam()) { |
| 4683 case SPDYNPN: | 4687 case SPDYNPN: |
| 4684 data_proxy = new OrderedSocketData(reads_SPDYNPN, | 4688 data_proxy.reset(new OrderedSocketData(reads_SPDYNPN, |
| 4685 arraysize(reads_SPDYNPN), | 4689 arraysize(reads_SPDYNPN), |
| 4686 writes_SPDYNPN, | 4690 writes_SPDYNPN, |
| 4687 arraysize(writes_SPDYNPN)); | 4691 arraysize(writes_SPDYNPN))); |
| 4688 break; | 4692 break; |
| 4689 case SPDYNOSSL: | 4693 case SPDYNOSSL: |
| 4690 data_proxy = new OrderedSocketData(reads_SPDYNOSSL, | 4694 data_proxy.reset(new OrderedSocketData(reads_SPDYNOSSL, |
| 4691 arraysize(reads_SPDYNOSSL), | 4695 arraysize(reads_SPDYNOSSL), |
| 4692 writes_SPDYNOSSL, | 4696 writes_SPDYNOSSL, |
| 4693 arraysize(writes_SPDYNOSSL)); | 4697 arraysize(writes_SPDYNOSSL))); |
| 4694 break; | 4698 break; |
| 4695 case SPDYSSL: | 4699 case SPDYSSL: |
| 4696 data_proxy = new OrderedSocketData(reads_SPDYSSL, | 4700 data_proxy.reset(new OrderedSocketData(reads_SPDYSSL, |
| 4697 arraysize(reads_SPDYSSL), | 4701 arraysize(reads_SPDYSSL), |
| 4698 writes_SPDYSSL, | 4702 writes_SPDYSSL, |
| 4699 arraysize(writes_SPDYSSL)); | 4703 arraysize(writes_SPDYSSL))); |
| 4700 break; | 4704 break; |
| 4701 default: | 4705 default: |
| 4702 NOTREACHED(); | 4706 NOTREACHED(); |
| 4703 } | 4707 } |
| 4704 | 4708 |
| 4705 // Create another request to www.google.com, but this time through a proxy. | 4709 // Create another request to www.google.com, but this time through a proxy. |
| 4706 HttpRequestInfo request_proxy; | 4710 HttpRequestInfo request_proxy; |
| 4707 request_proxy.method = "GET"; | 4711 request_proxy.method = "GET"; |
| 4708 request_proxy.url = GURL("http://www.google.com/foo.dat"); | 4712 request_proxy.url = GURL("http://www.google.com/foo.dat"); |
| 4709 request_proxy.load_flags = 0; | 4713 request_proxy.load_flags = 0; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4767 // Induce the RST while waiting for our transaction to send. | 4771 // Induce the RST while waiting for our transaction to send. |
| 4768 VARIANT_RST_DURING_SEND_COMPLETION, | 4772 VARIANT_RST_DURING_SEND_COMPLETION, |
| 4769 // Induce the RST while waiting for our transaction to read. | 4773 // Induce the RST while waiting for our transaction to read. |
| 4770 // In this case, the send completed - everything copied into the SNDBUF. | 4774 // In this case, the send completed - everything copied into the SNDBUF. |
| 4771 VARIANT_RST_DURING_READ_COMPLETION | 4775 VARIANT_RST_DURING_READ_COMPLETION |
| 4772 }; | 4776 }; |
| 4773 | 4777 |
| 4774 for (int variant = VARIANT_RST_DURING_SEND_COMPLETION; | 4778 for (int variant = VARIANT_RST_DURING_SEND_COMPLETION; |
| 4775 variant <= VARIANT_RST_DURING_READ_COMPLETION; | 4779 variant <= VARIANT_RST_DURING_READ_COMPLETION; |
| 4776 ++variant) { | 4780 ++variant) { |
| 4777 scoped_refptr<DelayedSocketData> data1( | 4781 scoped_ptr<DelayedSocketData> data1( |
| 4778 new DelayedSocketData(1, reads, arraysize(reads), | 4782 new DelayedSocketData(1, reads, arraysize(reads), |
| 4779 NULL, 0)); | 4783 NULL, 0)); |
| 4780 | 4784 |
| 4781 scoped_refptr<DelayedSocketData> data2( | 4785 scoped_ptr<DelayedSocketData> data2( |
| 4782 new DelayedSocketData(1, reads2, arraysize(reads2), | 4786 new DelayedSocketData(1, reads2, arraysize(reads2), |
| 4783 NULL, 0)); | 4787 NULL, 0)); |
| 4784 | 4788 |
| 4785 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4789 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 4786 BoundNetLog(), GetParam()); | 4790 BoundNetLog(), GetParam()); |
| 4787 helper.AddData(data1.get()); | 4791 helper.AddData(data1.get()); |
| 4788 helper.AddData(data2.get()); | 4792 helper.AddData(data2.get()); |
| 4789 helper.RunPreTestSetup(); | 4793 helper.RunPreTestSetup(); |
| 4790 | 4794 |
| 4791 for (int i = 0; i < 2; ++i) { | 4795 for (int i = 0; i < 2; ++i) { |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4834 MockWrite spdy_writes[] = { CreateMockWrite(*req) }; | 4838 MockWrite spdy_writes[] = { CreateMockWrite(*req) }; |
| 4835 | 4839 |
| 4836 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 4840 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
| 4837 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 4841 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
| 4838 MockRead spdy_reads[] = { | 4842 MockRead spdy_reads[] = { |
| 4839 CreateMockRead(*resp), | 4843 CreateMockRead(*resp), |
| 4840 CreateMockRead(*body), | 4844 CreateMockRead(*body), |
| 4841 MockRead(true, 0, 0) // EOF | 4845 MockRead(true, 0, 0) // EOF |
| 4842 }; | 4846 }; |
| 4843 | 4847 |
| 4844 scoped_refptr<DelayedSocketData> data( | 4848 scoped_ptr<DelayedSocketData> data( |
| 4845 new DelayedSocketData(1, | 4849 new DelayedSocketData(1, |
| 4846 spdy_reads, arraysize(spdy_reads), | 4850 spdy_reads, arraysize(spdy_reads), |
| 4847 spdy_writes, arraysize(spdy_writes))); | 4851 spdy_writes, arraysize(spdy_writes))); |
| 4848 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 4852 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 4849 BoundNetLog(), GetParam()); | 4853 BoundNetLog(), GetParam()); |
| 4850 helper.RunToCompletion(data.get()); | 4854 helper.RunToCompletion(data.get()); |
| 4851 TransactionHelperResult out = helper.output(); | 4855 TransactionHelperResult out = helper.output(); |
| 4852 EXPECT_EQ(OK, out.rv); | 4856 EXPECT_EQ(OK, out.rv); |
| 4853 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 4857 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 4854 EXPECT_EQ("hello!", out.response_data); | 4858 EXPECT_EQ("hello!", out.response_data); |
| 4855 | 4859 |
| 4856 net::HttpStreamFactory::set_spdy_enabled(false); | 4860 net::HttpStreamFactory::set_spdy_enabled(false); |
| 4857 MockRead http_reads[] = { | 4861 MockRead http_reads[] = { |
| 4858 MockRead("HTTP/1.1 200 OK\r\n\r\n"), | 4862 MockRead("HTTP/1.1 200 OK\r\n\r\n"), |
| 4859 MockRead("hello from http"), | 4863 MockRead("hello from http"), |
| 4860 MockRead(false, OK), | 4864 MockRead(false, OK), |
| 4861 }; | 4865 }; |
| 4862 scoped_refptr<DelayedSocketData> data2( | 4866 scoped_ptr<DelayedSocketData> data2( |
| 4863 new DelayedSocketData(1, http_reads, arraysize(http_reads), | 4867 new DelayedSocketData(1, http_reads, arraysize(http_reads), |
| 4864 NULL, 0)); | 4868 NULL, 0)); |
| 4865 NormalSpdyTransactionHelper helper2(CreateGetRequest(), | 4869 NormalSpdyTransactionHelper helper2(CreateGetRequest(), |
| 4866 BoundNetLog(), GetParam()); | 4870 BoundNetLog(), GetParam()); |
| 4867 helper2.SetSpdyDisabled(); | 4871 helper2.SetSpdyDisabled(); |
| 4868 helper2.RunToCompletion(data2.get()); | 4872 helper2.RunToCompletion(data2.get()); |
| 4869 TransactionHelperResult out2 = helper2.output(); | 4873 TransactionHelperResult out2 = helper2.output(); |
| 4870 EXPECT_EQ(OK, out2.rv); | 4874 EXPECT_EQ(OK, out2.rv); |
| 4871 EXPECT_EQ("HTTP/1.1 200 OK", out2.status_line); | 4875 EXPECT_EQ("HTTP/1.1 200 OK", out2.status_line); |
| 4872 EXPECT_EQ("hello from http", out2.response_data); | 4876 EXPECT_EQ("hello from http", out2.response_data); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4914 scoped_ptr<spdy::SpdyFrame> resp_data(ConstructSpdyGetSynReply(NULL, 0, 3)); | 4918 scoped_ptr<spdy::SpdyFrame> resp_data(ConstructSpdyGetSynReply(NULL, 0, 3)); |
| 4915 scoped_ptr<spdy::SpdyFrame> body_data(ConstructSpdyBodyFrame(3, true)); | 4919 scoped_ptr<spdy::SpdyFrame> body_data(ConstructSpdyBodyFrame(3, true)); |
| 4916 MockRead spdy_reads[] = { | 4920 MockRead spdy_reads[] = { |
| 4917 CreateMockRead(*resp_authentication, 2), | 4921 CreateMockRead(*resp_authentication, 2), |
| 4918 CreateMockRead(*body_authentication, 3), | 4922 CreateMockRead(*body_authentication, 3), |
| 4919 CreateMockRead(*resp_data, 5), | 4923 CreateMockRead(*resp_data, 5), |
| 4920 CreateMockRead(*body_data, 6), | 4924 CreateMockRead(*body_data, 6), |
| 4921 MockRead(true, 0, 7), | 4925 MockRead(true, 0, 7), |
| 4922 }; | 4926 }; |
| 4923 | 4927 |
| 4924 scoped_refptr<OrderedSocketData> data( | 4928 scoped_ptr<OrderedSocketData> data( |
| 4925 new OrderedSocketData(spdy_reads, arraysize(spdy_reads), | 4929 new OrderedSocketData(spdy_reads, arraysize(spdy_reads), |
| 4926 spdy_writes, arraysize(spdy_writes))); | 4930 spdy_writes, arraysize(spdy_writes))); |
| 4927 HttpRequestInfo request(CreateGetRequest()); | 4931 HttpRequestInfo request(CreateGetRequest()); |
| 4928 BoundNetLog net_log; | 4932 BoundNetLog net_log; |
| 4929 NormalSpdyTransactionHelper helper(request, net_log, GetParam()); | 4933 NormalSpdyTransactionHelper helper(request, net_log, GetParam()); |
| 4930 | 4934 |
| 4931 helper.RunPreTestSetup(); | 4935 helper.RunPreTestSetup(); |
| 4932 helper.AddData(data.get()); | 4936 helper.AddData(data.get()); |
| 4933 HttpNetworkTransaction* trans = helper.trans(); | 4937 HttpNetworkTransaction* trans = helper.trans(); |
| 4934 TestCompletionCallback callback; | 4938 TestCompletionCallback callback; |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5023 CreateMockRead(*stream2_headers, 4), | 5027 CreateMockRead(*stream2_headers, 4), |
| 5024 CreateMockRead(*stream1_body, 5, false), | 5028 CreateMockRead(*stream1_body, 5, false), |
| 5025 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 5029 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
| 5026 arraysize(kPushBodyFrame), 6), | 5030 arraysize(kPushBodyFrame), 6), |
| 5027 MockRead(true, ERR_IO_PENDING, 7), // Force a pause | 5031 MockRead(true, ERR_IO_PENDING, 7), // Force a pause |
| 5028 }; | 5032 }; |
| 5029 | 5033 |
| 5030 HttpResponseInfo response; | 5034 HttpResponseInfo response; |
| 5031 HttpResponseInfo response2; | 5035 HttpResponseInfo response2; |
| 5032 std::string expected_push_result("pushed"); | 5036 std::string expected_push_result("pushed"); |
| 5033 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 5037 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
| 5034 reads, | 5038 reads, |
| 5035 arraysize(reads), | 5039 arraysize(reads), |
| 5036 writes, | 5040 writes, |
| 5037 arraysize(writes))); | 5041 arraysize(writes))); |
| 5038 RunServerPushTest(data.get(), | 5042 RunServerPushTest(data.get(), |
| 5039 &response, | 5043 &response, |
| 5040 &response2, | 5044 &response2, |
| 5041 expected_push_result); | 5045 expected_push_result); |
| 5042 | 5046 |
| 5043 // Verify the SYN_REPLY. | 5047 // Verify the SYN_REPLY. |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5382 0, | 5386 0, |
| 5383 0)); | 5387 0)); |
| 5384 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, true)); | 5388 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, true)); |
| 5385 MockRead reads[] = { | 5389 MockRead reads[] = { |
| 5386 CreateMockRead(*stream1_reply), | 5390 CreateMockRead(*stream1_reply), |
| 5387 CreateMockRead(*stream1_headers), | 5391 CreateMockRead(*stream1_headers), |
| 5388 CreateMockRead(*stream1_body), | 5392 CreateMockRead(*stream1_body), |
| 5389 MockRead(true, 0, 0) // EOF | 5393 MockRead(true, 0, 0) // EOF |
| 5390 }; | 5394 }; |
| 5391 | 5395 |
| 5392 scoped_refptr<DelayedSocketData> data( | 5396 scoped_ptr<DelayedSocketData> data( |
| 5393 new DelayedSocketData(1, reads, arraysize(reads), | 5397 new DelayedSocketData(1, reads, arraysize(reads), |
| 5394 writes, arraysize(writes))); | 5398 writes, arraysize(writes))); |
| 5395 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 5399 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 5396 BoundNetLog(), GetParam()); | 5400 BoundNetLog(), GetParam()); |
| 5397 helper.RunToCompletion(data.get()); | 5401 helper.RunToCompletion(data.get()); |
| 5398 TransactionHelperResult out = helper.output(); | 5402 TransactionHelperResult out = helper.output(); |
| 5399 EXPECT_EQ(OK, out.rv); | 5403 EXPECT_EQ(OK, out.rv); |
| 5400 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 5404 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 5401 EXPECT_EQ("hello!", out.response_data); | 5405 EXPECT_EQ("hello!", out.response_data); |
| 5402 } | 5406 } |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5440 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, false)); | 5444 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, false)); |
| 5441 scoped_ptr<spdy::SpdyFrame> stream1_body2(ConstructSpdyBodyFrame(1, true)); | 5445 scoped_ptr<spdy::SpdyFrame> stream1_body2(ConstructSpdyBodyFrame(1, true)); |
| 5442 MockRead reads[] = { | 5446 MockRead reads[] = { |
| 5443 CreateMockRead(*stream1_reply), | 5447 CreateMockRead(*stream1_reply), |
| 5444 CreateMockRead(*stream1_body), | 5448 CreateMockRead(*stream1_body), |
| 5445 CreateMockRead(*stream1_headers), | 5449 CreateMockRead(*stream1_headers), |
| 5446 CreateMockRead(*stream1_body2), | 5450 CreateMockRead(*stream1_body2), |
| 5447 MockRead(true, 0, 0) // EOF | 5451 MockRead(true, 0, 0) // EOF |
| 5448 }; | 5452 }; |
| 5449 | 5453 |
| 5450 scoped_refptr<DelayedSocketData> data( | 5454 scoped_ptr<DelayedSocketData> data( |
| 5451 new DelayedSocketData(1, reads, arraysize(reads), | 5455 new DelayedSocketData(1, reads, arraysize(reads), |
| 5452 writes, arraysize(writes))); | 5456 writes, arraysize(writes))); |
| 5453 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 5457 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 5454 BoundNetLog(), GetParam()); | 5458 BoundNetLog(), GetParam()); |
| 5455 helper.RunToCompletion(data.get()); | 5459 helper.RunToCompletion(data.get()); |
| 5456 TransactionHelperResult out = helper.output(); | 5460 TransactionHelperResult out = helper.output(); |
| 5457 EXPECT_EQ(OK, out.rv); | 5461 EXPECT_EQ(OK, out.rv); |
| 5458 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); | 5462 EXPECT_EQ("HTTP/1.1 200 OK", out.status_line); |
| 5459 EXPECT_EQ("hello!hello!", out.response_data); | 5463 EXPECT_EQ("hello!hello!", out.response_data); |
| 5460 } | 5464 } |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5498 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, false)); | 5502 scoped_ptr<spdy::SpdyFrame> stream1_body(ConstructSpdyBodyFrame(1, false)); |
| 5499 scoped_ptr<spdy::SpdyFrame> stream1_body2(ConstructSpdyBodyFrame(1, true)); | 5503 scoped_ptr<spdy::SpdyFrame> stream1_body2(ConstructSpdyBodyFrame(1, true)); |
| 5500 MockRead reads[] = { | 5504 MockRead reads[] = { |
| 5501 CreateMockRead(*stream1_reply), | 5505 CreateMockRead(*stream1_reply), |
| 5502 CreateMockRead(*stream1_body), | 5506 CreateMockRead(*stream1_body), |
| 5503 CreateMockRead(*stream1_headers), | 5507 CreateMockRead(*stream1_headers), |
| 5504 CreateMockRead(*stream1_body2), | 5508 CreateMockRead(*stream1_body2), |
| 5505 MockRead(true, 0, 0) // EOF | 5509 MockRead(true, 0, 0) // EOF |
| 5506 }; | 5510 }; |
| 5507 | 5511 |
| 5508 scoped_refptr<DelayedSocketData> data( | 5512 scoped_ptr<DelayedSocketData> data( |
| 5509 new DelayedSocketData(1, reads, arraysize(reads), | 5513 new DelayedSocketData(1, reads, arraysize(reads), |
| 5510 writes, arraysize(writes))); | 5514 writes, arraysize(writes))); |
| 5511 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 5515 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 5512 BoundNetLog(), GetParam()); | 5516 BoundNetLog(), GetParam()); |
| 5513 helper.RunToCompletion(data.get()); | 5517 helper.RunToCompletion(data.get()); |
| 5514 TransactionHelperResult out = helper.output(); | 5518 TransactionHelperResult out = helper.output(); |
| 5515 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); | 5519 EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv); |
| 5516 } | 5520 } |
| 5517 | 5521 |
| 5518 TEST_P(SpdyNetworkTransactionTest, ServerPushCrossOriginCorrectness) { | 5522 TEST_P(SpdyNetworkTransactionTest, ServerPushCrossOriginCorrectness) { |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5576 MockRead reads[] = { | 5580 MockRead reads[] = { |
| 5577 CreateMockRead(*stream1_reply, 2), | 5581 CreateMockRead(*stream1_reply, 2), |
| 5578 CreateMockRead(*stream2_syn, 3), | 5582 CreateMockRead(*stream2_syn, 3), |
| 5579 CreateMockRead(*stream1_body, 5, false), | 5583 CreateMockRead(*stream1_body, 5, false), |
| 5580 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), | 5584 MockRead(true, reinterpret_cast<const char*>(kPushBodyFrame), |
| 5581 arraysize(kPushBodyFrame), 6), | 5585 arraysize(kPushBodyFrame), 6), |
| 5582 MockRead(true, ERR_IO_PENDING, 7), // Force a pause | 5586 MockRead(true, ERR_IO_PENDING, 7), // Force a pause |
| 5583 }; | 5587 }; |
| 5584 | 5588 |
| 5585 HttpResponseInfo response; | 5589 HttpResponseInfo response; |
| 5586 scoped_refptr<OrderedSocketData> data(new OrderedSocketData( | 5590 scoped_ptr<OrderedSocketData> data(new OrderedSocketData( |
| 5587 reads, | 5591 reads, |
| 5588 arraysize(reads), | 5592 arraysize(reads), |
| 5589 writes, | 5593 writes, |
| 5590 arraysize(writes))); | 5594 arraysize(writes))); |
| 5591 | 5595 |
| 5592 HttpRequestInfo request; | 5596 HttpRequestInfo request; |
| 5593 request.method = "GET"; | 5597 request.method = "GET"; |
| 5594 request.url = GURL(url_to_fetch); | 5598 request.url = GURL(url_to_fetch); |
| 5595 request.load_flags = 0; | 5599 request.load_flags = 0; |
| 5596 NormalSpdyTransactionHelper helper(request, | 5600 NormalSpdyTransactionHelper helper(request, |
| 5597 BoundNetLog(), GetParam()); | 5601 BoundNetLog(), GetParam()); |
| 5598 helper.RunPreTestSetup(); | 5602 helper.RunPreTestSetup(); |
| 5599 helper.AddData(data); | 5603 helper.AddData(data.get()); |
| 5600 | 5604 |
| 5601 HttpNetworkTransaction* trans = helper.trans(); | 5605 HttpNetworkTransaction* trans = helper.trans(); |
| 5602 | 5606 |
| 5603 // Start the transaction with basic parameters. | 5607 // Start the transaction with basic parameters. |
| 5604 TestCompletionCallback callback; | 5608 TestCompletionCallback callback; |
| 5605 | 5609 |
| 5606 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); | 5610 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); |
| 5607 EXPECT_EQ(ERR_IO_PENDING, rv); | 5611 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 5608 rv = callback.WaitForResult(); | 5612 rv = callback.WaitForResult(); |
| 5609 | 5613 |
| 5610 // Read the response body. | 5614 // Read the response body. |
| 5611 std::string result; | 5615 std::string result; |
| 5612 ReadResult(trans, data, &result); | 5616 ReadResult(trans, data.get(), &result); |
| 5613 | 5617 |
| 5614 // Verify that we consumed all test data. | 5618 // Verify that we consumed all test data. |
| 5615 EXPECT_TRUE(data->at_read_eof()); | 5619 EXPECT_TRUE(data->at_read_eof()); |
| 5616 EXPECT_TRUE(data->at_write_eof()); | 5620 EXPECT_TRUE(data->at_write_eof()); |
| 5617 | 5621 |
| 5618 // Verify the SYN_REPLY. | 5622 // Verify the SYN_REPLY. |
| 5619 // Copy the response info, because trans goes away. | 5623 // Copy the response info, because trans goes away. |
| 5620 response = *trans->GetResponseInfo(); | 5624 response = *trans->GetResponseInfo(); |
| 5621 | 5625 |
| 5622 VerifyStreamsClosed(helper); | 5626 VerifyStreamsClosed(helper); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 5640 ConstructSpdyRstStream(1, spdy::REFUSED_STREAM)); | 5644 ConstructSpdyRstStream(1, spdy::REFUSED_STREAM)); |
| 5641 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 3)); | 5645 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 3)); |
| 5642 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(3, true)); | 5646 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(3, true)); |
| 5643 MockRead reads[] = { | 5647 MockRead reads[] = { |
| 5644 CreateMockRead(*refused, 2), | 5648 CreateMockRead(*refused, 2), |
| 5645 CreateMockRead(*resp, 4), | 5649 CreateMockRead(*resp, 4), |
| 5646 CreateMockRead(*body, 5), | 5650 CreateMockRead(*body, 5), |
| 5647 MockRead(true, 0, 6) // EOF | 5651 MockRead(true, 0, 6) // EOF |
| 5648 }; | 5652 }; |
| 5649 | 5653 |
| 5650 scoped_refptr<OrderedSocketData> data( | 5654 scoped_ptr<OrderedSocketData> data( |
| 5651 new OrderedSocketData(reads, arraysize(reads), | 5655 new OrderedSocketData(reads, arraysize(reads), |
| 5652 writes, arraysize(writes))); | 5656 writes, arraysize(writes))); |
| 5653 NormalSpdyTransactionHelper helper(CreateGetRequest(), | 5657 NormalSpdyTransactionHelper helper(CreateGetRequest(), |
| 5654 BoundNetLog(), GetParam()); | 5658 BoundNetLog(), GetParam()); |
| 5655 | 5659 |
| 5656 helper.RunPreTestSetup(); | 5660 helper.RunPreTestSetup(); |
| 5657 helper.AddData(data.get()); | 5661 helper.AddData(data.get()); |
| 5658 | 5662 |
| 5659 HttpNetworkTransaction* trans = helper.trans(); | 5663 HttpNetworkTransaction* trans = helper.trans(); |
| 5660 | 5664 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 5676 << " Write index: " | 5680 << " Write index: " |
| 5677 << data->write_index(); | 5681 << data->write_index(); |
| 5678 | 5682 |
| 5679 // Verify the SYN_REPLY. | 5683 // Verify the SYN_REPLY. |
| 5680 HttpResponseInfo response = *trans->GetResponseInfo(); | 5684 HttpResponseInfo response = *trans->GetResponseInfo(); |
| 5681 EXPECT_TRUE(response.headers != NULL); | 5685 EXPECT_TRUE(response.headers != NULL); |
| 5682 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine()); | 5686 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine()); |
| 5683 } | 5687 } |
| 5684 | 5688 |
| 5685 } // namespace net | 5689 } // namespace net |
| OLD | NEW |