OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback_helpers.h" | 8 #include "base/callback_helpers.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 } | 122 } |
123 | 123 |
124 protected: | 124 protected: |
125 void SetReadyState(blink::WebMediaPlayer::ReadyState state) { | 125 void SetReadyState(blink::WebMediaPlayer::ReadyState state) { |
126 wmpi_->SetReadyState(state); | 126 wmpi_->SetReadyState(state); |
127 } | 127 } |
128 | 128 |
129 void SetPaused(bool is_paused) { wmpi_->paused_ = is_paused; } | 129 void SetPaused(bool is_paused) { wmpi_->paused_ = is_paused; } |
130 void SetSeeking(bool is_seeking) { wmpi_->seeking_ = is_seeking; } | 130 void SetSeeking(bool is_seeking) { wmpi_->seeking_ = is_seeking; } |
131 void SetEnded(bool is_ended) { wmpi_->ended_ = is_ended; } | 131 void SetEnded(bool is_ended) { wmpi_->ended_ = is_ended; } |
| 132 void SetFullscreen(bool is_fullscreen) { wmpi_->fullscreen_ = is_fullscreen; } |
132 | 133 |
133 void SetMetadata(bool has_audio, bool has_video) { | 134 void SetMetadata(bool has_audio, bool has_video) { |
134 wmpi_->SetNetworkState(blink::WebMediaPlayer::NetworkStateLoaded); | 135 wmpi_->SetNetworkState(blink::WebMediaPlayer::NetworkStateLoaded); |
135 wmpi_->SetReadyState(blink::WebMediaPlayer::ReadyStateHaveMetadata); | 136 wmpi_->SetReadyState(blink::WebMediaPlayer::ReadyStateHaveMetadata); |
136 wmpi_->pipeline_metadata_.has_audio = has_audio; | 137 wmpi_->pipeline_metadata_.has_audio = has_audio; |
137 wmpi_->pipeline_metadata_.has_video = has_video; | 138 wmpi_->pipeline_metadata_.has_video = has_video; |
138 } | 139 } |
139 | 140 |
140 WebMediaPlayerImpl::PlayState ComputePlayState() { | 141 WebMediaPlayerImpl::PlayState ComputePlayState() { |
141 wmpi_->is_idle_ = false; | 142 wmpi_->is_idle_ = false; |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 EXPECT_TRUE(state.is_suspended); | 326 EXPECT_TRUE(state.is_suspended); |
326 } | 327 } |
327 | 328 |
328 TEST_F(WebMediaPlayerImplTest, ComputePlayState_Paused_Seek) { | 329 TEST_F(WebMediaPlayerImplTest, ComputePlayState_Paused_Seek) { |
329 WebMediaPlayerImpl::PlayState state; | 330 WebMediaPlayerImpl::PlayState state; |
330 SetMetadata(true, true); | 331 SetMetadata(true, true); |
331 SetReadyState(blink::WebMediaPlayer::ReadyStateHaveFutureData); | 332 SetReadyState(blink::WebMediaPlayer::ReadyStateHaveFutureData); |
332 SetSeeking(true); | 333 SetSeeking(true); |
333 | 334 |
334 state = ComputePlayState(); | 335 state = ComputePlayState(); |
335 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::PAUSED_SEEK, | 336 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::PAUSED_BUT_NOT_IDLE, |
336 state.delegate_state); | 337 state.delegate_state); |
337 EXPECT_FALSE(state.is_memory_reporting_enabled); | 338 EXPECT_FALSE(state.is_memory_reporting_enabled); |
338 EXPECT_FALSE(state.is_suspended); | 339 EXPECT_FALSE(state.is_suspended); |
| 340 } |
| 341 |
| 342 TEST_F(WebMediaPlayerImplTest, ComputePlayState_Paused_Fullscreen) { |
| 343 WebMediaPlayerImpl::PlayState state; |
| 344 SetMetadata(true, true); |
| 345 SetReadyState(blink::WebMediaPlayer::ReadyStateHaveFutureData); |
| 346 SetFullscreen(true); |
| 347 |
| 348 state = ComputePlayState(); |
| 349 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::PAUSED_BUT_NOT_IDLE, |
| 350 state.delegate_state); |
| 351 EXPECT_FALSE(state.is_memory_reporting_enabled); |
| 352 EXPECT_FALSE(state.is_suspended); |
339 } | 353 } |
340 | 354 |
341 TEST_F(WebMediaPlayerImplTest, ComputePlayState_Ended) { | 355 TEST_F(WebMediaPlayerImplTest, ComputePlayState_Ended) { |
342 WebMediaPlayerImpl::PlayState state; | 356 WebMediaPlayerImpl::PlayState state; |
343 SetMetadata(true, true); | 357 SetMetadata(true, true); |
344 SetReadyState(blink::WebMediaPlayer::ReadyStateHaveFutureData); | 358 SetReadyState(blink::WebMediaPlayer::ReadyStateHaveFutureData); |
345 SetEnded(true); | 359 SetEnded(true); |
346 | 360 |
347 // The pipeline is not suspended immediately on ended. | 361 // The pipeline is not suspended immediately on ended. |
348 state = ComputePlayState(); | 362 state = ComputePlayState(); |
349 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::ENDED, state.delegate_state); | 363 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::ENDED, state.delegate_state); |
350 EXPECT_FALSE(state.is_memory_reporting_enabled); | 364 EXPECT_FALSE(state.is_memory_reporting_enabled); |
351 EXPECT_FALSE(state.is_suspended); | 365 EXPECT_FALSE(state.is_suspended); |
352 | 366 |
353 state = ComputeIdlePlayState(); | 367 state = ComputeIdlePlayState(); |
354 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::ENDED, state.delegate_state); | 368 EXPECT_EQ(WebMediaPlayerImpl::DelegateState::ENDED, state.delegate_state); |
355 EXPECT_FALSE(state.is_memory_reporting_enabled); | 369 EXPECT_FALSE(state.is_memory_reporting_enabled); |
356 EXPECT_TRUE(state.is_suspended); | 370 EXPECT_TRUE(state.is_suspended); |
357 } | 371 } |
358 | 372 |
359 } // namespace media | 373 } // namespace media |
OLD | NEW |