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

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

Issue 1918173002: Add support for device-change notifications to MediaStreamDispatcher and MediaStreamDispatcherHost (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unnecessary comment Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/media_stream_dispatcher_unittest.cc
diff --git a/content/renderer/media/media_stream_dispatcher_unittest.cc b/content/renderer/media/media_stream_dispatcher_unittest.cc
index 5ed18dfd173ccd9101a903881bb06b7820be2b9f..29e73b2949533f4028b9fad701df0e70bb1b1f73 100644
--- a/content/renderer/media/media_stream_dispatcher_unittest.cc
+++ b/content/renderer/media/media_stream_dispatcher_unittest.cc
@@ -38,7 +38,7 @@ class MockMediaStreamDispatcherEventHandler
public base::SupportsWeakPtr<MockMediaStreamDispatcherEventHandler> {
public:
MockMediaStreamDispatcherEventHandler()
- : request_id_(-1) {}
+ : request_id_(-1), did_receive_devices_changed_(false) {}
void OnStreamGenerated(
int request_id,
@@ -88,6 +88,8 @@ class MockMediaStreamDispatcherEventHandler
void OnDeviceOpenFailed(int request_id) override { request_id_ = request_id; }
+ void OnDevicesChanged() override { did_receive_devices_changed_ = true; }
+
void ResetStoredParameters() {
request_id_ = -1;
label_ = "";
@@ -101,6 +103,7 @@ class MockMediaStreamDispatcherEventHandler
std::string device_stopped_label_;
StreamDeviceInfo audio_device_;
StreamDeviceInfo video_device_;
+ bool did_receive_devices_changed_;
};
class MediaStreamDispatcherUnderTest : public MediaStreamDispatcher {
@@ -409,4 +412,23 @@ TEST_F(MediaStreamDispatcherTest, DeviceClosed) {
StreamDeviceInfo::kNoId);
}
+// Test that the MediaStreamDispatcherEventHandler is notified when the message
+// MediaStreamMsg_DevicesChanged is received.
+TEST_F(MediaStreamDispatcherTest, DevicesChanged) {
+ std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler1(
+ new MockMediaStreamDispatcherEventHandler);
+ std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler2(
+ new MockMediaStreamDispatcherEventHandler);
+ dispatcher_->SubscribeToDeviceChangeNotifications(handler1->AsWeakPtr(),
+ security_origin_);
+ dispatcher_->SubscribeToDeviceChangeNotifications(handler2->AsWeakPtr(),
+ security_origin_);
+ dispatcher_->OnMessageReceived(MediaStreamMsg_DevicesChanged(kRouteId));
+ dispatcher_->CancelDeviceChangeNotifications(handler1->AsWeakPtr());
+ dispatcher_->CancelDeviceChangeNotifications(handler2->AsWeakPtr());
+
+ EXPECT_EQ(true, handler1->did_receive_devices_changed_);
+ EXPECT_EQ(true, handler2->did_receive_devices_changed_);
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698