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

Unified Diff: content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc

Issue 2445533002: Don't suspend the pipeline before HaveFutureData while decoding progressing (Closed)
Patch Set: fix compiler error from rebase Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc
diff --git a/content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc b/content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc
index 31d983d3b79b34d013a83f17fad24fd5df64bcb5..30fc19df0b00dea03e14810df9a2f5c10dbeb81d 100644
--- a/content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc
+++ b/content/renderer/media/renderer_webmediaplayer_delegate_browsertest.cc
@@ -20,10 +20,19 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+using testing::NiceMock;
+using testing::Return;
+using testing::StrictMock;
+
namespace media {
+namespace {
+constexpr base::TimeDelta kIdleTimeout = base::TimeDelta::FromSeconds(1);
+}
+
ACTION_P(RunClosure, closure) {
closure.Run();
+ return true;
}
class MockWebMediaPlayerDelegateObserver
@@ -35,7 +44,7 @@ class MockWebMediaPlayerDelegateObserver
// WebMediaPlayerDelegate::Observer implementation.
MOCK_METHOD0(OnHidden, void());
MOCK_METHOD0(OnShown, void());
- MOCK_METHOD1(OnSuspendRequested, void(bool));
+ MOCK_METHOD1(OnSuspendRequested, bool(bool));
MOCK_METHOD0(OnPlay, void());
MOCK_METHOD0(OnPause, void());
MOCK_METHOD1(OnVolumeMultiplierUpdate, void(double));
@@ -48,13 +57,15 @@ class RendererWebMediaPlayerDelegateTest : public content::RenderViewTest {
void SetUp() override {
RenderViewTest::SetUp();
+ // Start the tick clock off at a non-null value.
+ tick_clock_.Advance(base::TimeDelta::FromSeconds(1234));
delegate_manager_.reset(
new RendererWebMediaPlayerDelegate(view_->GetMainRenderFrame()));
+ delegate_manager_->SetIdleCleanupParamsForTesting(kIdleTimeout,
+ &tick_clock_, false);
}
void TearDown() override {
- // Destruct the controller prior to any other tear down to avoid out of
- // order destruction relative to the test render frame.
delegate_manager_.reset();
RenderViewTest::TearDown();
}
@@ -78,14 +89,22 @@ class RendererWebMediaPlayerDelegateTest : public content::RenderViewTest {
delegate_manager_->OnMediaDelegatePause(delegate_id);
}
+ void SetIsLowEndDeviceForTesting() {
+ delegate_manager_->SetIdleCleanupParamsForTesting(kIdleTimeout,
+ &tick_clock_, true);
+ }
+
std::unique_ptr<RendererWebMediaPlayerDelegate> delegate_manager_;
+ StrictMock<MockWebMediaPlayerDelegateObserver> observer_1_, observer_2_,
+ observer_3_;
+ base::SimpleTestTickClock tick_clock_;
private:
DISALLOW_COPY_AND_ASSIGN(RendererWebMediaPlayerDelegateTest);
};
TEST_F(RendererWebMediaPlayerDelegateTest, SendsMessagesCorrectly) {
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer;
+ StrictMock<MockWebMediaPlayerDelegateObserver> observer;
const int delegate_id = delegate_manager_->AddObserver(&observer);
// Verify the playing message.
@@ -138,211 +157,150 @@ TEST_F(RendererWebMediaPlayerDelegateTest, SendsMessagesCorrectly) {
MediaPlayerDelegateHostMsg_OnMediaDestroyed::Read(msg, &result));
EXPECT_EQ(delegate_id, std::get<0>(result));
}
-
- delegate_manager_->RemoveObserver(delegate_id);
}
TEST_F(RendererWebMediaPlayerDelegateTest, DeliversObserverNotifications) {
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer;
- const int delegate_id = delegate_manager_->AddObserver(&observer);
+ const int delegate_id = delegate_manager_->AddObserver(&observer_1_);
- EXPECT_CALL(observer, OnHidden());
+ EXPECT_CALL(observer_1_, OnHidden());
delegate_manager_->WasHidden();
- EXPECT_CALL(observer, OnShown());
+ EXPECT_CALL(observer_1_, OnShown());
delegate_manager_->WasShown();
- EXPECT_CALL(observer, OnPause());
+ EXPECT_CALL(observer_1_, OnPause());
MediaPlayerDelegateMsg_Pause pause_msg(0, delegate_id);
delegate_manager_->OnMessageReceived(pause_msg);
- EXPECT_CALL(observer, OnPlay());
+ EXPECT_CALL(observer_1_, OnPlay());
MediaPlayerDelegateMsg_Play play_msg(0, delegate_id);
delegate_manager_->OnMessageReceived(play_msg);
const double kTestMultiplier = 0.5;
- EXPECT_CALL(observer, OnVolumeMultiplierUpdate(kTestMultiplier));
+ EXPECT_CALL(observer_1_, OnVolumeMultiplierUpdate(kTestMultiplier));
MediaPlayerDelegateMsg_UpdateVolumeMultiplier volume_msg(0, delegate_id,
kTestMultiplier);
delegate_manager_->OnMessageReceived(volume_msg);
- EXPECT_CALL(observer, OnSuspendRequested(true));
+ EXPECT_CALL(observer_1_, OnSuspendRequested(true));
MediaPlayerDelegateMsg_SuspendAllMediaPlayers suspend_msg(0);
delegate_manager_->OnMessageReceived(suspend_msg);
+}
- delegate_manager_->RemoveObserver(delegate_id);
+TEST_F(RendererWebMediaPlayerDelegateTest, TheTimerIsInitiallyStopped) {
+ ASSERT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
+}
+
+TEST_F(RendererWebMediaPlayerDelegateTest, AddingAnObserverStartsTheTimer) {
+ delegate_manager_->AddObserver(&observer_1_);
+ ASSERT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
+}
+
+TEST_F(RendererWebMediaPlayerDelegateTest, RemovingAllObserversStopsTheTimer) {
+ delegate_manager_->RemoveObserver(
+ delegate_manager_->AddObserver(&observer_1_));
+ ASSERT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
+}
+
+TEST_F(RendererWebMediaPlayerDelegateTest, PlayingDelegatesAreNotIdle) {
+ const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1_);
+ delegate_manager_->DidPlay(delegate_id_1, true, true, false,
+ media::MediaContentType::Persistent);
+ ASSERT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
}
TEST_F(RendererWebMediaPlayerDelegateTest, PlaySuspendsLowEndIdleDelegates) {
- // Start the tick clock off at a non-null value.
- base::SimpleTestTickClock tick_clock;
- tick_clock.Advance(base::TimeDelta::FromSeconds(1234));
+ SetIsLowEndDeviceForTesting();
- const base::TimeDelta kIdleTimeout = base::TimeDelta::FromSeconds(10);
- delegate_manager_->SetIdleCleanupParamsForTesting(kIdleTimeout, &tick_clock,
- true);
- EXPECT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- // Add two observers, both of which should keep the idle timer running.
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_1;
- const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_2;
- const int delegate_id_2 = delegate_manager_->AddObserver(&observer_2);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
+ const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1_);
+ delegate_manager_->AddObserver(&observer_2_);
// Calling play on the first player should suspend the other idle player.
- EXPECT_CALL(observer_2, OnSuspendRequested(false))
- .WillOnce(RunClosure(base::Bind(
- &RendererWebMediaPlayerDelegate::PlayerGone,
- base::Unretained(delegate_manager_.get()), delegate_id_2)));
- base::RunLoop run_loop;
- base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
- run_loop.QuitClosure());
- tick_clock.Advance(base::TimeDelta::FromMicroseconds(1));
+ EXPECT_CALL(observer_2_, OnSuspendRequested(false));
+ tick_clock_.Advance(base::TimeDelta::FromMicroseconds(1));
delegate_manager_->DidPlay(delegate_id_1, true, true, false,
media::MediaContentType::Persistent);
- run_loop.Run();
}
TEST_F(RendererWebMediaPlayerDelegateTest, MaxLowEndIdleDelegates) {
- // Start the tick clock off at a non-null value.
- base::SimpleTestTickClock tick_clock;
- tick_clock.Advance(base::TimeDelta::FromSeconds(1234));
+ SetIsLowEndDeviceForTesting();
- const base::TimeDelta kIdleTimeout = base::TimeDelta::FromSeconds(10);
- delegate_manager_->SetIdleCleanupParamsForTesting(kIdleTimeout, &tick_clock,
- true);
- EXPECT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- // Add two observers, both of which should keep the idle timer running.
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_1;
- const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_2;
- const int delegate_id_2 = delegate_manager_->AddObserver(&observer_2);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- tick_clock.Advance(base::TimeDelta::FromMicroseconds(1));
+ delegate_manager_->AddObserver(&observer_1_);
+ delegate_manager_->AddObserver(&observer_2_);
// Just adding a third idle observer should suspend the others.
- EXPECT_CALL(observer_1, OnSuspendRequested(false))
- .WillOnce(RunClosure(base::Bind(
- &RendererWebMediaPlayerDelegate::PlayerGone,
- base::Unretained(delegate_manager_.get()), delegate_id_1)));
- EXPECT_CALL(observer_2, OnSuspendRequested(false))
- .WillOnce(RunClosure(base::Bind(
- &RendererWebMediaPlayerDelegate::PlayerGone,
- base::Unretained(delegate_manager_.get()), delegate_id_2)));
-
- base::RunLoop run_loop;
- base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
- run_loop.QuitClosure());
-
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_3;
- delegate_manager_->AddObserver(&observer_3);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- run_loop.Run();
+ EXPECT_CALL(observer_1_, OnSuspendRequested(false));
+ EXPECT_CALL(observer_2_, OnSuspendRequested(false));
+ tick_clock_.Advance(base::TimeDelta::FromMicroseconds(1));
+ delegate_manager_->AddObserver(&observer_3_);
}
-TEST_F(RendererWebMediaPlayerDelegateTest, ReentrantIdleDelegates) {
- // Start the tick clock off at a non-null value.
- base::SimpleTestTickClock tick_clock;
- tick_clock.Advance(base::TimeDelta::FromSeconds(1234));
-
- const base::TimeDelta kIdleTimeout = base::TimeDelta::FromSeconds(10);
- delegate_manager_->SetIdleCleanupParamsForTesting(kIdleTimeout, &tick_clock,
- true);
- EXPECT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- // Add two observers, both of which should keep the idle timer running.
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_1;
- const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_2;
- const int delegate_id_2 = delegate_manager_->AddObserver(&observer_2);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_3;
- EXPECT_CALL(observer_1, OnSuspendRequested(false))
+// Make sure it's safe to call DidPause(), which modifies the idle delegate
+// list, from OnSuspendRequested(), which iterates over the idle delegate list.
+TEST_F(RendererWebMediaPlayerDelegateTest, ReentrantDelegateCallsAreSafe) {
+ const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1_);
+ EXPECT_CALL(observer_1_, OnSuspendRequested(false))
.WillOnce(RunClosure(base::Bind(&RendererWebMediaPlayerDelegate::DidPause,
base::Unretained(delegate_manager_.get()),
delegate_id_1, false)));
- EXPECT_CALL(observer_2, OnSuspendRequested(false))
- .WillOnce(RunClosure(base::Bind(&RendererWebMediaPlayerDelegate::DidPause,
- base::Unretained(delegate_manager_.get()),
- delegate_id_2, false)));
- base::RunLoop run_loop;
- base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
- run_loop.QuitClosure());
- tick_clock.Advance(base::TimeDelta::FromMicroseconds(1));
- // Adding the third observer should force idle cleanup.
- delegate_manager_->AddObserver(&observer_3);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
- run_loop.Run();
+ // Run an idle cleanup.
+ tick_clock_.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
+ base::RunLoop().RunUntilIdle();
+}
+
+TEST_F(RendererWebMediaPlayerDelegateTest,
+ SuspendRequestsAreOnlySentOnceIfHandled) {
+ delegate_manager_->AddObserver(&observer_1_);
+ // Return true from OnSuspendRequested() to indicate that it was handled. So
+ // even though the player did not call PlayerGone() it should be removed from
+ // future idle cleanup polls.
+ EXPECT_CALL(observer_1_, OnSuspendRequested(false)).WillOnce(Return(true));
+ tick_clock_.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
+ base::RunLoop().RunUntilIdle();
+}
+
+TEST_F(RendererWebMediaPlayerDelegateTest,
+ SuspendRequestsAreSentAgainIfNotHandled) {
+ delegate_manager_->AddObserver(&observer_1_);
+ // Return false from OnSuspendRequested() to indicate that it was not handled.
+ // The observer should get another OnSuspendRequested.
+ EXPECT_CALL(observer_1_, OnSuspendRequested(false))
+ .WillOnce(Return(false))
+ .WillOnce(Return(true));
+ tick_clock_.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
+ base::RunLoop().RunUntilIdle();
}
TEST_F(RendererWebMediaPlayerDelegateTest, IdleDelegatesAreSuspended) {
- // Start the tick clock off at a non-null value.
- base::SimpleTestTickClock tick_clock;
- tick_clock.Advance(base::TimeDelta::FromSeconds(1234));
-
- const base::TimeDelta kIdleTimeout = base::TimeDelta::FromSeconds(2);
- delegate_manager_->SetIdleCleanupParamsForTesting(kIdleTimeout, &tick_clock,
- false);
- EXPECT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- // Just adding an observer should start the idle timer.
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_1;
- const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- // Starting playback should not have an idle timer.
+ // Add one non-idle observer and one idle observer.
+ const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1_);
delegate_manager_->DidPlay(delegate_id_1, true, true, false,
media::MediaContentType::Persistent);
- EXPECT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
+ delegate_manager_->AddObserver(&observer_2_);
- // Never calling DidPlay() but calling DidPause() should count as idle.
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_2;
- const int delegate_id_2 = delegate_manager_->AddObserver(&observer_2);
- delegate_manager_->DidPause(delegate_id_2, false);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- // Adding the observer should instantly queue the timeout task, once run the
- // second delegate should be expired while the first is kept alive.
+ // The idle cleanup task should suspend the second delegate while the first is
+ // kept alive.
{
- EXPECT_CALL(observer_2, OnSuspendRequested(false))
- .WillOnce(RunClosure(base::Bind(
- &RendererWebMediaPlayerDelegate::PlayerGone,
- base::Unretained(delegate_manager_.get()), delegate_id_2)));
- base::RunLoop run_loop;
- base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
- run_loop.QuitClosure());
- tick_clock.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
- run_loop.Run();
+ EXPECT_CALL(observer_2_, OnSuspendRequested(false)).WillOnce(Return(true));
+ tick_clock_.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
+ base::RunLoop().RunUntilIdle();
}
// Pausing should count as idle if playback didn't reach end of stream, but
// in this case the player will not remove the MediaSession.
delegate_manager_->DidPause(delegate_id_1, false /* reached_end_of_stream */);
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_3;
- const int delegate_id_3 = delegate_manager_->AddObserver(&observer_3);
+ const int delegate_id_3 = delegate_manager_->AddObserver(&observer_3_);
delegate_manager_->DidPlay(delegate_id_3, true, true, false,
media::MediaContentType::Persistent);
- // Adding the observer should instantly queue the timeout task, once run no
- // delegates should have been expired.
+ // Adding the observer should instantly queue the timeout task. Once run only
+ // the first player should be suspended.
{
- EXPECT_CALL(observer_1, OnSuspendRequested(false))
- .Times(testing::AtLeast(1));
+ EXPECT_CALL(observer_1_, OnSuspendRequested(false)).WillOnce(Return(true));
base::RunLoop run_loop;
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
run_loop.QuitClosure());
- tick_clock.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
+ tick_clock_.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
run_loop.Run();
}
@@ -352,61 +310,20 @@ TEST_F(RendererWebMediaPlayerDelegateTest, IdleDelegatesAreSuspended) {
// Pausing after reaching end of stream should count as idle.
delegate_manager_->DidPause(delegate_id_1, true /* reached_end_of_stream */);
- // Once the timeout task runs the first delegate should be expired while the
+ // Once the timeout task runs the first delegate should be suspended while the
// third is kept alive.
{
- EXPECT_CALL(observer_1, OnSuspendRequested(false))
- .WillOnce(RunClosure(base::Bind(
- &RendererWebMediaPlayerDelegate::PlayerGone,
- base::Unretained(delegate_manager_.get()), delegate_id_1)));
+ EXPECT_CALL(observer_1_, OnSuspendRequested(false)).WillOnce(Return(true));
base::RunLoop run_loop;
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
run_loop.QuitClosure());
- tick_clock.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
+ tick_clock_.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
run_loop.Run();
}
-
- delegate_manager_->RemoveObserver(delegate_id_1);
- delegate_manager_->RemoveObserver(delegate_id_2);
- delegate_manager_->RemoveObserver(delegate_id_3);
- EXPECT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-}
-
-TEST_F(RendererWebMediaPlayerDelegateTest, IdleDelegatesIgnoresSuspendRequest) {
- // Start the tick clock off at a non-null value.
- base::SimpleTestTickClock tick_clock;
- tick_clock.Advance(base::TimeDelta::FromSeconds(1234));
-
- const base::TimeDelta kIdleTimeout = base::TimeDelta::FromSeconds(2);
- delegate_manager_->SetIdleCleanupParamsForTesting(kIdleTimeout, &tick_clock,
- false);
- EXPECT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- testing::StrictMock<MockWebMediaPlayerDelegateObserver> observer_1;
- const int delegate_id_1 = delegate_manager_->AddObserver(&observer_1);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- // Calling DidPause() should instantly queue the timeout task.
- delegate_manager_->DidPause(delegate_id_1, false);
- EXPECT_TRUE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
-
- // Wait for the suspend request, but don't call PlayerGone().
- EXPECT_CALL(observer_1, OnSuspendRequested(false)).Times(testing::AtLeast(1));
- base::RunLoop run_loop;
- base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
- run_loop.QuitClosure());
- tick_clock.Advance(kIdleTimeout + base::TimeDelta::FromMicroseconds(1));
- run_loop.Run();
-
- // Even though the player did not call PlayerGone() it should be removed from
- // future idle cleanup polls.
- EXPECT_FALSE(delegate_manager_->IsIdleCleanupTimerRunningForTesting());
- delegate_manager_->RemoveObserver(delegate_id_1);
}
TEST_F(RendererWebMediaPlayerDelegateTest, PlayingVideosSet) {
- MockWebMediaPlayerDelegateObserver observer;
- int delegate_id = delegate_manager_->AddObserver(&observer);
+ int delegate_id = delegate_manager_->AddObserver(&observer_1_);
EXPECT_FALSE(HasPlayingVideo(delegate_id));
// Playing a local video adds it to the set.
@@ -453,7 +370,7 @@ TEST_F(RendererWebMediaPlayerDelegateTest, PlayingVideosSet) {
}
TEST_F(RendererWebMediaPlayerDelegateTest, IsPlayingBackgroundVideo) {
- testing::NiceMock<MockWebMediaPlayerDelegateObserver> observer;
+ NiceMock<MockWebMediaPlayerDelegateObserver> observer;
int delegate_id = delegate_manager_->AddObserver(&observer);
EXPECT_FALSE(delegate_manager_->IsPlayingBackgroundVideo());
@@ -467,13 +384,13 @@ TEST_F(RendererWebMediaPlayerDelegateTest, IsPlayingBackgroundVideo) {
CallOnMediaDelegatePause(delegate_id);
EXPECT_TRUE(delegate_manager_->IsPlayingBackgroundVideo());
- // Pausing a currently playing video does clears the flag.
+ // Pausing a currently playing video clears the flag.
delegate_manager_->DidPlay(delegate_id, true, true, false,
MediaContentType::Persistent);
CallOnMediaDelegatePause(delegate_id);
EXPECT_FALSE(delegate_manager_->IsPlayingBackgroundVideo());
- // TODO(avayvod): this test can't mock IsHidden() method.
+ // TODO(avayvod): this test can't mock the IsHidden() method.
// Just test that the value changes or doesn't depending on whether the video
// is currently playing.
bool old_value = !delegate_manager_->IsHidden();
@@ -491,7 +408,7 @@ TEST_F(RendererWebMediaPlayerDelegateTest, IsPlayingBackgroundVideo) {
#if defined(OS_ANDROID)
TEST_F(RendererWebMediaPlayerDelegateTest, Histograms) {
- testing::NiceMock<MockWebMediaPlayerDelegateObserver> observer;
+ NiceMock<MockWebMediaPlayerDelegateObserver> observer;
int delegate_id = delegate_manager_->AddObserver(&observer);
base::HistogramTester histogram_tester;
histogram_tester.ExpectTotalCount("Media.Android.BackgroundVideoTime", 0);
« no previous file with comments | « content/renderer/media/renderer_webmediaplayer_delegate.cc ('k') | content/renderer/media/webmediaplayer_ms.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698