|
@@ -5,6 +5,7 @@
|
|
|
#include "brightray/browser/media/media_stream_devices_controller.h"
|
|
|
|
|
|
#include <memory>
|
|
|
+#include <utility>
|
|
|
|
|
|
#include "brightray/browser/media/media_capture_devices_dispatcher.h"
|
|
|
#include "content/public/browser/desktop_media_id.h"
|
|
@@ -27,9 +28,9 @@ bool HasAnyAvailableDevice() {
|
|
|
|
|
|
MediaStreamDevicesController::MediaStreamDevicesController(
|
|
|
const content::MediaStreamRequest& request,
|
|
|
- const content::MediaResponseCallback& callback)
|
|
|
+ content::MediaResponseCallback callback)
|
|
|
: request_(request),
|
|
|
- callback_(callback),
|
|
|
+ callback_(std::move(callback)),
|
|
|
// For MEDIA_OPEN_DEVICE requests (Pepper) we always request both webcam
|
|
|
// and microphone to avoid popping two infobars.
|
|
|
microphone_requested_(
|
|
@@ -41,9 +42,9 @@ MediaStreamDevicesController::MediaStreamDevicesController(
|
|
|
|
|
|
MediaStreamDevicesController::~MediaStreamDevicesController() {
|
|
|
if (!callback_.is_null()) {
|
|
|
- callback_.Run(content::MediaStreamDevices(),
|
|
|
- content::MEDIA_DEVICE_INVALID_STATE,
|
|
|
- std::unique_ptr<content::MediaStreamUI>());
|
|
|
+ std::move(callback_).Run(content::MediaStreamDevices(),
|
|
|
+ content::MEDIA_DEVICE_INVALID_STATE,
|
|
|
+ std::unique_ptr<content::MediaStreamUI>());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -140,18 +141,14 @@ void MediaStreamDevicesController::Accept() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- content::MediaResponseCallback cb = callback_;
|
|
|
- callback_.Reset();
|
|
|
- cb.Run(devices, content::MEDIA_DEVICE_OK,
|
|
|
- std::unique_ptr<content::MediaStreamUI>());
|
|
|
+ std::move(callback_).Run(devices, content::MEDIA_DEVICE_OK,
|
|
|
+ std::unique_ptr<content::MediaStreamUI>());
|
|
|
}
|
|
|
|
|
|
void MediaStreamDevicesController::Deny(
|
|
|
content::MediaStreamRequestResult result) {
|
|
|
- content::MediaResponseCallback cb = callback_;
|
|
|
- callback_.Reset();
|
|
|
- cb.Run(content::MediaStreamDevices(), result,
|
|
|
- std::unique_ptr<content::MediaStreamUI>());
|
|
|
+ std::move(callback_).Run(content::MediaStreamDevices(), result,
|
|
|
+ std::unique_ptr<content::MediaStreamUI>());
|
|
|
}
|
|
|
|
|
|
void MediaStreamDevicesController::HandleUserMediaRequest() {
|
|
@@ -185,12 +182,10 @@ void MediaStreamDevicesController::HandleUserMediaRequest() {
|
|
|
content::MEDIA_DESKTOP_VIDEO_CAPTURE, screen_id.ToString(), "Screen"));
|
|
|
}
|
|
|
|
|
|
- content::MediaResponseCallback cb = callback_;
|
|
|
- callback_.Reset();
|
|
|
- cb.Run(devices,
|
|
|
- devices.empty() ? content::MEDIA_DEVICE_INVALID_STATE
|
|
|
- : content::MEDIA_DEVICE_OK,
|
|
|
- std::unique_ptr<content::MediaStreamUI>());
|
|
|
+ std::move(callback_).Run(devices,
|
|
|
+ devices.empty() ? content::MEDIA_DEVICE_INVALID_STATE
|
|
|
+ : content::MEDIA_DEVICE_OK,
|
|
|
+ std::unique_ptr<content::MediaStreamUI>());
|
|
|
}
|
|
|
|
|
|
} // namespace brightray
|