#include <app_manager.h>
#endif
-#if defined(TIZEN_MULTIMEDIA_SUPPORT)
+#if defined(TIZEN_MULTIMEDIA)
+#include "base/functional/callback.h"
#include "content/public/browser/media_capture_devices.h"
-#include "media/capture/video/tizen/video_capture_device_tizen.h"
+#include "third_party/blink/public/mojom/mediastream/media_stream.mojom.h"
#endif
#if defined(TIZEN_AUTOFILL_SUPPORT)
namespace content {
-#if BUILDFLAG(IS_TIZEN) && defined(TIZEN_MULTIMEDIA_SUPPORT)
-static const MediaStreamDevice* GetRequestedVideoDevice(
+#if BUILDFLAG(IS_TIZEN) && defined(TIZEN_MULTIMEDIA)
+static const blink::MediaStreamDevice* GetRequestedAudioDevice(
const std::string& device_id) {
- const MediaStreamDevices& video_devices =
+ const blink::MediaStreamDevices& audio_devices =
+ MediaCaptureDevices::GetInstance()->GetAudioCaptureDevices();
+ if (audio_devices.empty())
+ return NULL;
+ if (device_id.length() == 0)
+ return &(*audio_devices.begin());
+
+ for (blink::MediaStreamDevices::const_iterator i = audio_devices.begin();
+ i != audio_devices.end(); i++) {
+ if (i->id.compare(device_id) == 0)
+ return &(*i);
+ }
+
+ NOTREACHED();
+ return nullptr;
+}
+
+/* LCOV_EXCL_START */
+static const blink::MediaStreamDevice* GetRequestedVideoDevice(
+ const std::string& device_id) {
+ const blink::MediaStreamDevices& video_devices =
MediaCaptureDevices::GetInstance()->GetVideoCaptureDevices();
if (video_devices.empty())
- return NULL;
+ return nullptr;
if (device_id.length() == 0)
return &(*video_devices.begin());
- return video_devices.FindById(device_id);
+
+ for (blink::MediaStreamDevices::const_iterator i = video_devices.begin();
+ i != video_devices.end(); i++) {
+ if (i->id.compare(device_id) == 0)
+ return &(*i);
+ }
+
+ NOTREACHED();
+ return nullptr;
}
+/* LCOV_EXCL_STOP */
#endif
WebContentsDelegateEfl::WebContentsDelegateEfl(EWebView* view)
return is_fullscreen_;
}
-#if defined(TIZEN_MULTIMEDIA_SUPPORT)
+#if defined(TIZEN_MULTIMEDIA)
+/* LCOV_EXCL_START */
void WebContentsDelegateEfl::RequestMediaAccessAllow(
const MediaStreamRequest& request,
MediaResponseCallback callback) {
- MediaStreamDevices devices;
-
- if (request.audio_type == MEDIA_DEVICE_AUDIO_CAPTURE) {
- devices.push_back(
- MediaStreamDevice(request.audio_type, "default", "Default"));
+ blink::mojom::StreamDevicesSet stream_devices_set;
+ stream_devices_set.stream_devices.emplace_back(
+ blink::mojom::StreamDevices::New());
+ blink::mojom::StreamDevices& stream_devices =
+ *stream_devices_set.stream_devices[0];
+
+ if (request.audio_type ==
+ blink::mojom::MediaStreamType::DEVICE_AUDIO_CAPTURE) {
+ const blink::MediaStreamDevice* audio_device =
+ GetRequestedAudioDevice(request.requested_audio_device_id);
+ if (audio_device) {
+ stream_devices.audio_device = *audio_device;
+ } else {
+ std::move(callback).Run(
+ blink::mojom::StreamDevicesSet(),
+ blink::mojom::MediaStreamRequestResult::NOT_SUPPORTED,
+ std::unique_ptr<MediaStreamUI>());
+ return;
+ }
}
- if (request.video_type == MEDIA_DEVICE_VIDEO_CAPTURE) {
-#if BUILDFLAG(IS_TIZEN)
- const MediaStreamDevice* video_device =
+ if (request.video_type ==
+ blink::mojom::MediaStreamType::DEVICE_VIDEO_CAPTURE) {
+ const blink::MediaStreamDevice* video_device =
GetRequestedVideoDevice(request.requested_video_device_id);
if (video_device) {
- devices.push_back(*video_device);
+ stream_devices.video_device = *video_device;
} else {
- std::move(callback).Run(MediaStreamDevices(), MEDIA_DEVICE_NOT_SUPPORTED,
- std::unique_ptr<MediaStreamUI>());
+ std::move(callback).Run(
+ blink::mojom::StreamDevicesSet(),
+ blink::mojom::MediaStreamRequestResult::NOT_SUPPORTED,
+ std::unique_ptr<MediaStreamUI>());
+ return;
}
-#else
- devices.push_back(
- MediaStreamDevice(request.video_type, "/dev/video0", "1"));
-#endif
}
- std::move(callback).Run(devices, MEDIA_DEVICE_OK,
+ std::move(callback).Run(stream_devices_set,
+ blink::mojom::MediaStreamRequestResult::OK,
std::unique_ptr<MediaStreamUI>());
}
+/* LCOV_EXCL_STOP */
void WebContentsDelegateEfl::RequestMediaAccessDeny(
const MediaStreamRequest& request,
MediaResponseCallback callback) {
- LOG(ERROR) << __FUNCTION__ << " Decline request with empty list";
- std::move(callback).Run(MediaStreamDevices(), MEDIA_DEVICE_NOT_SUPPORTED,
+ std::move(callback).Run(blink::mojom::StreamDevicesSet(),
+ blink::mojom::MediaStreamRequestResult::NOT_SUPPORTED,
std::unique_ptr<MediaStreamUI>());
}
bool WebContentsDelegateEfl::CheckMediaAccessPermission(
- WebContents* web_contents,
+ RenderFrameHost* render_frame_host,
const GURL& security_origin,
- MediaStreamType type) {
+ blink::mojom::MediaStreamType type) {
return true;
}
Eina_Bool callback_result = EINA_FALSE;
if (!web_view_->InvokeViewUserMediaPermissionCallback(
media_permission_request.get(), &callback_result)) {
- web_view_->SmartCallback<EWebViewCallbacks::UserMediaPermission>().call(
- media_permission_request.get());
+ web_view_->SmartCallback<EWebViewCallbacks::UserMediaPermission>()
+ .call( // LCOV_EXCL_LINE
+ media_permission_request.get());
}
// if policy is suspended, the API takes over the policy object lifetime
// and policy will be deleted after decision is made
if (media_permission_request->IsSuspended())
- ignore_result(media_permission_request.release());
- else if (!media_permission_request->IsDecided()) {
- callback.Run(MediaStreamDevices(), MEDIA_DEVICE_NOT_SUPPORTED,
- std::unique_ptr<MediaStreamUI>());
- }
+ std::ignore = media_permission_request.release();
+ /* LCOV_EXCL_START */
+ else if (!media_permission_request->IsDecided())
+ media_permission_request->ProceedPermissionCallback(false);
+ /* LCOV_EXCL_STOP */
}
#endif