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