Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(324)

Side by Side Diff: media/blink/buffered_data_source_unittest.cc

Issue 1029763002: Introduce CancelUponDeferral() to buffered media loaders. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/blink/buffered_data_source.cc ('k') | media/blink/buffered_resource_loader.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "media/base/media_log.h" 8 #include "media/base/media_log.h"
9 #include "media/base/mock_filters.h" 9 #include "media/base/mock_filters.h"
10 #include "media/base/test_helpers.h" 10 #include "media/base/test_helpers.h"
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 data_source_->Read(position, kDataSize, buffer_, 216 data_source_->Read(position, kDataSize, buffer_,
217 base::Bind(&BufferedDataSourceTest::ReadCallback, 217 base::Bind(&BufferedDataSourceTest::ReadCallback,
218 base::Unretained(this))); 218 base::Unretained(this)));
219 message_loop_.RunUntilIdle(); 219 message_loop_.RunUntilIdle();
220 } 220 }
221 221
222 // Accessors for private variables on |data_source_|. 222 // Accessors for private variables on |data_source_|.
223 BufferedResourceLoader* loader() { 223 BufferedResourceLoader* loader() {
224 return data_source_->loader_.get(); 224 return data_source_->loader_.get();
225 } 225 }
226 ActiveLoader* active_loader() { return loader()->active_loader_.get(); }
226 WebURLLoader* url_loader() { 227 WebURLLoader* url_loader() {
227 return loader()->active_loader_->loader_.get(); 228 return loader()->active_loader_->loader_.get();
228 } 229 }
229 230
230 BufferedDataSource::Preload preload() { return data_source_->preload_; } 231 BufferedDataSource::Preload preload() { return data_source_->preload_; }
231 void set_preload(BufferedDataSource::Preload preload) { preload_ = preload; } 232 void set_preload(BufferedDataSource::Preload preload) { preload_ = preload; }
232 BufferedResourceLoader::DeferStrategy defer_strategy() { 233 BufferedResourceLoader::DeferStrategy defer_strategy() {
233 return loader()->defer_strategy_; 234 return loader()->defer_strategy_;
234 } 235 }
235 int data_source_bitrate() { return data_source_->bitrate_; } 236 int data_source_bitrate() { return data_source_->bitrate_; }
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 801
801 data_source_->MediaIsPlaying(); 802 data_source_->MediaIsPlaying();
802 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 803 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
803 set_might_be_reused_from_cache_in_future(false); 804 set_might_be_reused_from_cache_in_future(false);
804 data_source_->MediaIsPaused(); 805 data_source_->MediaIsPaused();
805 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 806 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
806 807
807 Stop(); 808 Stop();
808 } 809 }
809 810
811 TEST_F(BufferedDataSourceTest, ExternalResource_Response206_VerifyDefer) {
812 set_preload(BufferedDataSource::METADATA);
813 InitializeWith206Response();
814
815 EXPECT_EQ(BufferedDataSource::METADATA, preload());
816 EXPECT_FALSE(is_local_source());
817 EXPECT_TRUE(loader()->range_supported());
818 EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy());
819
820 // Read a bit from the beginning.
821 ReadAt(0);
822 EXPECT_CALL(*this, ReadCallback(kDataSize));
823 EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize - 1));
824 ReceiveData(kDataSize);
825
826 ASSERT_TRUE(active_loader());
827 EXPECT_TRUE(active_loader()->deferred());
828 }
829
830 TEST_F(BufferedDataSourceTest, ExternalResource_Response206_CancelAfterDefer) {
831 set_preload(BufferedDataSource::METADATA);
832 InitializeWith206Response();
833
834 EXPECT_EQ(BufferedDataSource::METADATA, preload());
835 EXPECT_FALSE(is_local_source());
836 EXPECT_TRUE(loader()->range_supported());
837 EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy());
838
839 data_source_->OnBufferingHaveEnough();
840
841 ASSERT_TRUE(active_loader());
842
843 // Read a bit from the beginning.
844 ReadAt(0);
845 EXPECT_CALL(*this, ReadCallback(kDataSize));
846 EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize - 1));
847 ReceiveData(kDataSize);
848
849 EXPECT_FALSE(active_loader());
850 }
851
810 } // namespace media 852 } // namespace media
OLDNEW
« no previous file with comments | « media/blink/buffered_data_source.cc ('k') | media/blink/buffered_resource_loader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698