| Index: content/browser/media/capture/web_contents_audio_input_stream_unittest.cc
|
| diff --git a/content/browser/media/capture/web_contents_audio_input_stream_unittest.cc b/content/browser/media/capture/web_contents_audio_input_stream_unittest.cc
|
| index 95592a854dc471f35a6504b6021a41bc52ae2a3a..7f0e31925c63c7454e483ea24e104d45847a13d5 100644
|
| --- a/content/browser/media/capture/web_contents_audio_input_stream_unittest.cc
|
| +++ b/content/browser/media/capture/web_contents_audio_input_stream_unittest.cc
|
| @@ -41,9 +41,9 @@ namespace content {
|
| namespace {
|
|
|
| const int kRenderProcessId = 123;
|
| -const int kRenderViewId = 456;
|
| +const int kRenderFrameId = 456;
|
| const int kAnotherRenderProcessId = 789;
|
| -const int kAnotherRenderViewId = 1;
|
| +const int kAnotherRenderFrameId = 1;
|
|
|
| const AudioParameters& TestAudioParameters() {
|
| static const AudioParameters params(
|
| @@ -59,12 +59,8 @@ class MockAudioMirroringManager : public AudioMirroringManager {
|
| MockAudioMirroringManager() : AudioMirroringManager() {}
|
| virtual ~MockAudioMirroringManager() {}
|
|
|
| - MOCK_METHOD3(StartMirroring,
|
| - void(int render_process_id, int render_view_id,
|
| - MirroringDestination* destination));
|
| - MOCK_METHOD3(StopMirroring,
|
| - void(int render_process_id, int render_view_id,
|
| - MirroringDestination* destination));
|
| + MOCK_METHOD1(StartMirroring, void(MirroringDestination* destination));
|
| + MOCK_METHOD1(StopMirroring, void(MirroringDestination* destination));
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(MockAudioMirroringManager);
|
| @@ -72,10 +68,10 @@ class MockAudioMirroringManager : public AudioMirroringManager {
|
|
|
| class MockWebContentsTracker : public WebContentsTracker {
|
| public:
|
| - MockWebContentsTracker() : WebContentsTracker() {}
|
| + MockWebContentsTracker() : WebContentsTracker(false) {}
|
|
|
| MOCK_METHOD3(Start,
|
| - void(int render_process_id, int render_view_id,
|
| + void(int render_process_id, int render_frame_id,
|
| const ChangeCallback& callback));
|
| MOCK_METHOD0(Stop, void());
|
|
|
| @@ -187,7 +183,7 @@ class WebContentsAudioInputStreamTest : public testing::Test {
|
| wcais_(NULL),
|
| destination_(NULL),
|
| current_render_process_id_(kRenderProcessId),
|
| - current_render_view_id_(kRenderViewId),
|
| + current_render_frame_id_(kRenderFrameId),
|
| on_data_event_(false, false) {
|
| audio_thread_.Start();
|
| }
|
| @@ -210,16 +206,19 @@ class WebContentsAudioInputStreamTest : public testing::Test {
|
| EXPECT_CALL(*mock_vais_, Close()); // At Close() time.
|
|
|
| ASSERT_EQ(kRenderProcessId, current_render_process_id_);
|
| - ASSERT_EQ(kRenderViewId, current_render_view_id_);
|
| - EXPECT_CALL(*mock_tracker_.get(), Start(kRenderProcessId, kRenderViewId, _))
|
| + ASSERT_EQ(kRenderFrameId, current_render_frame_id_);
|
| + EXPECT_CALL(*mock_tracker_.get(),
|
| + Start(kRenderProcessId, kRenderFrameId, _))
|
| .WillOnce(DoAll(
|
| SaveArg<2>(&change_callback_),
|
| - WithArgs<0, 1>(Invoke(&change_callback_,
|
| - &WebContentsTracker::ChangeCallback::Run))));
|
| + WithArgs<0, 1>(Invoke(this,
|
| + &WebContentsAudioInputStreamTest::
|
| + SimulateChangeCallback))));
|
| +
|
| EXPECT_CALL(*mock_tracker_.get(), Stop()); // At Close() time.
|
|
|
| wcais_ = new WebContentsAudioInputStream(
|
| - current_render_process_id_, current_render_view_id_,
|
| + current_render_process_id_, current_render_frame_id_,
|
| mock_mirroring_manager_.get(),
|
| mock_tracker_, mock_vais_);
|
| wcais_->Open();
|
| @@ -229,13 +228,11 @@ class WebContentsAudioInputStreamTest : public testing::Test {
|
| EXPECT_CALL(*mock_vais_, Start(&mock_input_callback_));
|
| EXPECT_CALL(*mock_vais_, Stop()); // At Stop() time.
|
|
|
| - EXPECT_CALL(*mock_mirroring_manager_,
|
| - StartMirroring(kRenderProcessId, kRenderViewId, NotNull()))
|
| - .WillOnce(SaveArg<2>(&destination_))
|
| + EXPECT_CALL(*mock_mirroring_manager_, StartMirroring(NotNull()))
|
| + .WillOnce(SaveArg<0>(&destination_))
|
| .RetiresOnSaturation();
|
| // At Stop() time, or when the mirroring target changes:
|
| - EXPECT_CALL(*mock_mirroring_manager_,
|
| - StopMirroring(kRenderProcessId, kRenderViewId, NotNull()))
|
| + EXPECT_CALL(*mock_mirroring_manager_, StopMirroring(NotNull()))
|
| .WillOnce(Assign(
|
| &destination_,
|
| static_cast<AudioMirroringManager::MirroringDestination*>(NULL)))
|
| @@ -309,38 +306,24 @@ class WebContentsAudioInputStreamTest : public testing::Test {
|
| const int next_render_process_id =
|
| current_render_process_id_ == kRenderProcessId ?
|
| kAnotherRenderProcessId : kRenderProcessId;
|
| - const int next_render_view_id =
|
| - current_render_view_id_ == kRenderViewId ?
|
| - kAnotherRenderViewId : kRenderViewId;
|
| -
|
| - EXPECT_CALL(*mock_mirroring_manager_,
|
| - StartMirroring(next_render_process_id, next_render_view_id,
|
| - NotNull()))
|
| - .WillOnce(SaveArg<2>(&destination_))
|
| - .RetiresOnSaturation();
|
| - // At Stop() time, or when the mirroring target changes:
|
| - EXPECT_CALL(*mock_mirroring_manager_,
|
| - StopMirroring(next_render_process_id, next_render_view_id,
|
| - NotNull()))
|
| - .WillOnce(Assign(
|
| - &destination_,
|
| - static_cast<AudioMirroringManager::MirroringDestination*>(NULL)))
|
| + const int next_render_frame_id =
|
| + current_render_frame_id_ == kRenderFrameId ?
|
| + kAnotherRenderFrameId : kRenderFrameId;
|
| +
|
| + EXPECT_CALL(*mock_mirroring_manager_, StartMirroring(NotNull()))
|
| + .WillOnce(SaveArg<0>(&destination_))
|
| .RetiresOnSaturation();
|
|
|
| - // Simulate OnTargetChange() callback from WebContentsTracker.
|
| - EXPECT_FALSE(change_callback_.is_null());
|
| - change_callback_.Run(next_render_process_id, next_render_view_id);
|
| + SimulateChangeCallback(next_render_process_id, next_render_frame_id);
|
|
|
| current_render_process_id_ = next_render_process_id;
|
| - current_render_view_id_ = next_render_view_id;
|
| + current_render_frame_id_ = next_render_frame_id;
|
| }
|
|
|
| void LoseMirroringTarget() {
|
| EXPECT_CALL(mock_input_callback_, OnError(_));
|
|
|
| - // Simulate OnTargetChange() callback from WebContentsTracker.
|
| - EXPECT_FALSE(change_callback_.is_null());
|
| - change_callback_.Run(-1, -1);
|
| + SimulateChangeCallback(-1, -1);
|
| }
|
|
|
| void Stop() {
|
| @@ -370,6 +353,17 @@ class WebContentsAudioInputStreamTest : public testing::Test {
|
| }
|
|
|
| private:
|
| + void SimulateChangeCallback(int render_process_id, int render_frame_id) {
|
| + ASSERT_FALSE(change_callback_.is_null());
|
| + if (render_process_id == -1 || render_frame_id == -1) {
|
| + change_callback_.Run(NULL);
|
| + } else {
|
| + // For our tests, any non-NULL value will suffice since it will not be
|
| + // dereferenced.
|
| + change_callback_.Run(reinterpret_cast<RenderWidgetHost*>(0xdeadbee5));
|
| + }
|
| + }
|
| +
|
| scoped_ptr<TestBrowserThreadBundle> thread_bundle_;
|
| base::Thread audio_thread_;
|
|
|
| @@ -392,9 +386,9 @@ class WebContentsAudioInputStreamTest : public testing::Test {
|
| // to simulate: 1) calls to AddInput(); and 2) diverting audio data.
|
| AudioMirroringManager::MirroringDestination* destination_;
|
|
|
| - // Current target RenderView. These get flipped in ChangedMirroringTarget().
|
| + // Current target RenderFrame. These get flipped in ChangedMirroringTarget().
|
| int current_render_process_id_;
|
| - int current_render_view_id_;
|
| + int current_render_frame_id_;
|
|
|
| // Streams provided by calls to WebContentsAudioInputStream::AddInput(). Each
|
| // is started with a simulated source of audio data.
|
|
|