| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 763 // server. So an error should occur. | 763 // server. So an error should occur. |
| 764 ExecuteMixedResponseFailureTest(response1, response2); | 764 ExecuteMixedResponseFailureTest(response1, response2); |
| 765 } | 765 } |
| 766 | 766 |
| 767 TEST_F(MultibufferDataSourceTest, | 767 TEST_F(MultibufferDataSourceTest, |
| 768 Http_MixedResponse_ServiceWorkerProxiedAndSameURLResponse) { | 768 Http_MixedResponse_ServiceWorkerProxiedAndSameURLResponse) { |
| 769 Initialize(kHttpUrl, true); | 769 Initialize(kHttpUrl, true); |
| 770 WebURLResponse response1 = | 770 WebURLResponse response1 = |
| 771 response_generator_->GeneratePartial206(0, kDataSize - 1); | 771 response_generator_->GeneratePartial206(0, kDataSize - 1); |
| 772 response1.setWasFetchedViaServiceWorker(true); | 772 response1.setWasFetchedViaServiceWorker(true); |
| 773 response1.setOriginalURLViaServiceWorker(GURL(kHttpUrl)); | 773 std::vector<blink::WebURL> urlList; |
| 774 urlList.push_back(GURL(kHttpUrl)); |
| 775 response1.setURLListViaServiceWorker(urlList); |
| 774 WebURLResponse response2 = | 776 WebURLResponse response2 = |
| 775 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); | 777 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); |
| 776 // The origin URL of response1 and response2 are same. So no error should | 778 // The origin URL of response1 and response2 are same. So no error should |
| 777 // occur. | 779 // occur. |
| 778 ExecuteMixedResponseSuccessTest(response1, response2); | 780 ExecuteMixedResponseSuccessTest(response1, response2); |
| 779 } | 781 } |
| 780 | 782 |
| 781 TEST_F(MultibufferDataSourceTest, | 783 TEST_F(MultibufferDataSourceTest, |
| 782 Http_MixedResponse_ServiceWorkerProxiedAndDifferentPathResponse) { | 784 Http_MixedResponse_ServiceWorkerProxiedAndDifferentPathResponse) { |
| 783 Initialize(kHttpUrl, true); | 785 Initialize(kHttpUrl, true); |
| 784 WebURLResponse response1 = | 786 WebURLResponse response1 = |
| 785 response_generator_->GeneratePartial206(0, kDataSize - 1); | 787 response_generator_->GeneratePartial206(0, kDataSize - 1); |
| 786 response1.setWasFetchedViaServiceWorker(true); | 788 response1.setWasFetchedViaServiceWorker(true); |
| 787 response1.setOriginalURLViaServiceWorker(GURL(kHttpDifferentPathUrl)); | 789 std::vector<blink::WebURL> urlList; |
| 790 urlList.push_back(GURL(kHttpDifferentPathUrl)); |
| 791 response1.setURLListViaServiceWorker(urlList); |
| 788 WebURLResponse response2 = | 792 WebURLResponse response2 = |
| 789 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); | 793 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); |
| 790 // The origin URL of response1 and response2 are same. So no error should | 794 // The origin URL of response1 and response2 are same. So no error should |
| 791 // occur. | 795 // occur. |
| 792 ExecuteMixedResponseSuccessTest(response1, response2); | 796 ExecuteMixedResponseSuccessTest(response1, response2); |
| 793 } | 797 } |
| 794 | 798 |
| 795 TEST_F(MultibufferDataSourceTest, | 799 TEST_F(MultibufferDataSourceTest, |
| 796 Http_MixedResponse_ServiceWorkerProxiedAndDifferentOriginResponse) { | 800 Http_MixedResponse_ServiceWorkerProxiedAndDifferentOriginResponse) { |
| 797 Initialize(kHttpUrl, true); | 801 Initialize(kHttpUrl, true); |
| 798 WebURLResponse response1 = | 802 WebURLResponse response1 = |
| 799 response_generator_->GeneratePartial206(0, kDataSize - 1); | 803 response_generator_->GeneratePartial206(0, kDataSize - 1); |
| 800 response1.setWasFetchedViaServiceWorker(true); | 804 response1.setWasFetchedViaServiceWorker(true); |
| 801 response1.setOriginalURLViaServiceWorker(GURL(kHttpDifferentOriginUrl)); | 805 std::vector<blink::WebURL> urlList; |
| 806 urlList.push_back(GURL(kHttpDifferentOriginUrl)); |
| 807 response1.setURLListViaServiceWorker(urlList); |
| 802 WebURLResponse response2 = | 808 WebURLResponse response2 = |
| 803 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); | 809 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); |
| 804 // The origin URL of response1 and response2 are different. So an error should | 810 // The origin URL of response1 and response2 are different. So an error should |
| 805 // occur. | 811 // occur. |
| 806 ExecuteMixedResponseFailureTest(response1, response2); | 812 ExecuteMixedResponseFailureTest(response1, response2); |
| 807 } | 813 } |
| 808 | 814 |
| 809 TEST_F(MultibufferDataSourceTest, | 815 TEST_F(MultibufferDataSourceTest, |
| 810 Http_MixedResponse_ServiceWorkerProxiedAndDifferentOriginResponseCORS) { | 816 Http_MixedResponse_ServiceWorkerProxiedAndDifferentOriginResponseCORS) { |
| 811 InitializeWithCORS(kHttpUrl, true, UrlData::CORS_ANONYMOUS); | 817 InitializeWithCORS(kHttpUrl, true, UrlData::CORS_ANONYMOUS); |
| 812 WebURLResponse response1 = | 818 WebURLResponse response1 = |
| 813 response_generator_->GeneratePartial206(0, kDataSize - 1); | 819 response_generator_->GeneratePartial206(0, kDataSize - 1); |
| 814 response1.setWasFetchedViaServiceWorker(true); | 820 response1.setWasFetchedViaServiceWorker(true); |
| 815 response1.setOriginalURLViaServiceWorker(GURL(kHttpDifferentOriginUrl)); | 821 std::vector<blink::WebURL> urlList; |
| 822 urlList.push_back(GURL(kHttpDifferentOriginUrl)); |
| 823 response1.setURLListViaServiceWorker(urlList); |
| 816 WebURLResponse response2 = | 824 WebURLResponse response2 = |
| 817 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); | 825 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); |
| 818 // The origin URL of response1 and response2 are different, but a CORS check | 826 // The origin URL of response1 and response2 are different, but a CORS check |
| 819 // has been passed for each request, so expect success. | 827 // has been passed for each request, so expect success. |
| 820 ExecuteMixedResponseSuccessTest(response1, response2); | 828 ExecuteMixedResponseSuccessTest(response1, response2); |
| 821 } | 829 } |
| 822 | 830 |
| 823 TEST_F(MultibufferDataSourceTest, File_Retry) { | 831 TEST_F(MultibufferDataSourceTest, File_Retry) { |
| 824 InitializeWithFileResponse(); | 832 InitializeWithFileResponse(); |
| 825 | 833 |
| (...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1498 EXPECT_EQ(kDataSize / 2, len); | 1506 EXPECT_EQ(kDataSize / 2, len); |
| 1499 Stop(); | 1507 Stop(); |
| 1500 } | 1508 } |
| 1501 | 1509 |
| 1502 TEST_F(MultibufferDataSourceTest, DidPassCORSAccessTest) { | 1510 TEST_F(MultibufferDataSourceTest, DidPassCORSAccessTest) { |
| 1503 InitializeWithCORS(kHttpUrl, true, UrlData::CORS_ANONYMOUS); | 1511 InitializeWithCORS(kHttpUrl, true, UrlData::CORS_ANONYMOUS); |
| 1504 set_preload(MultibufferDataSource::NONE); | 1512 set_preload(MultibufferDataSource::NONE); |
| 1505 WebURLResponse response1 = | 1513 WebURLResponse response1 = |
| 1506 response_generator_->GeneratePartial206(0, kDataSize - 1); | 1514 response_generator_->GeneratePartial206(0, kDataSize - 1); |
| 1507 response1.setWasFetchedViaServiceWorker(true); | 1515 response1.setWasFetchedViaServiceWorker(true); |
| 1508 response1.setOriginalURLViaServiceWorker(GURL(kHttpDifferentOriginUrl)); | 1516 std::vector<blink::WebURL> urlList; |
| 1517 urlList.push_back(GURL(kHttpDifferentOriginUrl)); |
| 1518 response1.setURLListViaServiceWorker(urlList); |
| 1509 WebURLResponse response2 = | 1519 WebURLResponse response2 = |
| 1510 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); | 1520 response_generator_->GeneratePartial206(kDataSize, kDataSize * 2 - 1); |
| 1511 | 1521 |
| 1512 EXPECT_CALL(host_, SetTotalBytes(kFileSize)); | 1522 EXPECT_CALL(host_, SetTotalBytes(kFileSize)); |
| 1513 EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize)); | 1523 EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize)); |
| 1514 EXPECT_CALL(*this, ReadCallback(kDataSize)); | 1524 EXPECT_CALL(*this, ReadCallback(kDataSize)); |
| 1515 | 1525 |
| 1516 EXPECT_FALSE(data_source_->DidPassCORSAccessCheck()); | 1526 EXPECT_FALSE(data_source_->DidPassCORSAccessCheck()); |
| 1517 Respond(response1); | 1527 Respond(response1); |
| 1518 ReceiveData(kDataSize); | 1528 ReceiveData(kDataSize); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1627 base::Bind(&MultibufferDataSourceTest::ReadCallback, | 1637 base::Bind(&MultibufferDataSourceTest::ReadCallback, |
| 1628 base::Unretained(this))); | 1638 base::Unretained(this))); |
| 1629 base::RunLoop().RunUntilIdle(); | 1639 base::RunLoop().RunUntilIdle(); |
| 1630 | 1640 |
| 1631 // Make sure we're not downloading anymore. | 1641 // Make sure we're not downloading anymore. |
| 1632 EXPECT_EQ(data_source_->downloading(), false); | 1642 EXPECT_EQ(data_source_->downloading(), false); |
| 1633 Stop(); | 1643 Stop(); |
| 1634 } | 1644 } |
| 1635 | 1645 |
| 1636 } // namespace media | 1646 } // namespace media |
| OLD | NEW |