Commit 04970754 authored by Antonio Gomes's avatar Antonio Gomes Committed by Commit Bot

Merge blink-specific media_devices typemap into the original (2/2)

This CL is the final effort in order to unify both media_devices.typemap
and media_devices_for_blink.typemap definitions.

BUG=704136
R=guidou@chromium.org

Change-Id: I4a004f08eb863984c82d63e23c84dd4884fa7f49
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2105795
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#750952}
parent 75373457
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
mojom = "//third_party/blink/public/mojom/mediastream/media_devices.mojom"
public_headers = [
"//third_party/blink/public/common/mediastream/media_devices.h",
"//third_party/blink/public/common/common_export.h",
]
traits_headers = [
"//third_party/blink/public/common/mediastream/media_devices_mojom_traits.h",
]
type_mappings = [
"blink.mojom.MediaDeviceType=::blink::MediaDeviceType",
"blink.mojom.FacingMode=::media::VideoFacingMode",
]
......@@ -200,8 +200,8 @@ void MediaDevices::ContextDestroyed() {
}
void MediaDevices::OnDevicesChanged(
blink::MediaDeviceType type,
Vector<mojom::blink::MediaDeviceInfoPtr> device_infos) {
MediaDeviceType type,
const Vector<WebMediaDeviceInfo>& device_infos) {
Document* document = Document::From(GetExecutionContext());
DCHECK(document);
......@@ -260,7 +260,7 @@ void MediaDevices::Dispose() {
void MediaDevices::DevicesEnumerated(
ScriptPromiseResolver* resolver,
Vector<Vector<mojom::blink::MediaDeviceInfoPtr>> enumeration,
const Vector<Vector<WebMediaDeviceInfo>>& enumeration,
Vector<mojom::blink::VideoInputDeviceCapabilitiesPtr>
video_input_capabilities,
Vector<mojom::blink::AudioInputDeviceCapabilitiesPtr>
......@@ -300,14 +300,14 @@ void MediaDevices::DevicesEnumerated(
for (wtf_size_t j = 0; j < enumeration[i].size(); ++j) {
mojom::blink::MediaDeviceType device_type =
static_cast<mojom::blink::MediaDeviceType>(i);
mojom::blink::MediaDeviceInfoPtr device_info =
std::move(enumeration[i][j]);
WebMediaDeviceInfo device_info = enumeration[i][j];
if (device_type == mojom::blink::MediaDeviceType::MEDIA_AUDIO_INPUT ||
device_type == mojom::blink::MediaDeviceType::MEDIA_VIDEO_INPUT) {
InputDeviceInfo* input_device_info =
MakeGarbageCollected<InputDeviceInfo>(
device_info->device_id, device_info->label,
device_info->group_id, device_type);
String::FromUTF8(device_info.device_id),
String::FromUTF8(device_info.label),
String::FromUTF8(device_info.group_id), device_type);
if (device_type == mojom::blink::MediaDeviceType::MEDIA_VIDEO_INPUT &&
!video_input_capabilities.IsEmpty()) {
input_device_info->SetVideoInputCapabilities(
......@@ -321,8 +321,9 @@ void MediaDevices::DevicesEnumerated(
media_devices.push_back(input_device_info);
} else {
media_devices.push_back(MakeGarbageCollected<MediaDeviceInfo>(
device_info->device_id, device_info->label, device_info->group_id,
device_type));
String::FromUTF8(device_info.device_id),
String::FromUTF8(device_info.label),
String::FromUTF8(device_info.group_id), device_type));
}
}
}
......
......@@ -69,7 +69,7 @@ class MODULES_EXPORT MediaDevices final
// mojom::blink::MediaDevicesListener implementation.
void OnDevicesChanged(MediaDeviceType,
Vector<mojom::blink::MediaDeviceInfoPtr>) override;
const Vector<WebMediaDeviceInfo>&) override;
// Callback for testing only.
using EnumerateDevicesTestCallback =
......@@ -110,7 +110,7 @@ class MODULES_EXPORT MediaDevices final
void StopObserving();
void Dispose();
void DevicesEnumerated(ScriptPromiseResolver*,
Vector<Vector<mojom::blink::MediaDeviceInfoPtr>>,
const Vector<Vector<WebMediaDeviceInfo>>&,
Vector<mojom::blink::VideoInputDeviceCapabilitiesPtr>,
Vector<mojom::blink::AudioInputDeviceCapabilitiesPtr>);
void OnDispatcherHostConnectionError();
......
......@@ -43,49 +43,45 @@ class MockMediaDevicesDispatcherHost
bool request_video_input_capabilities,
bool request_audio_input_capabilities,
EnumerateDevicesCallback callback) override {
Vector<Vector<MediaDeviceInfoPtr>> enumeration(static_cast<size_t>(
Vector<Vector<WebMediaDeviceInfo>> enumeration(static_cast<size_t>(
blink::mojom::blink::MediaDeviceType::NUM_MEDIA_DEVICE_TYPES));
Vector<mojom::blink::VideoInputDeviceCapabilitiesPtr>
video_input_capabilities;
Vector<mojom::blink::AudioInputDeviceCapabilitiesPtr>
audio_input_capabilities;
MediaDeviceInfoPtr device_info;
WebMediaDeviceInfo device_info;
if (request_audio_input) {
device_info = mojom::blink::MediaDeviceInfo::New();
device_info->device_id = kFakeAudioInputDeviceId1;
device_info->label = "Fake Audio Input 1";
device_info->group_id = kFakeCommonGroupId1;
device_info.device_id = kFakeAudioInputDeviceId1;
device_info.label = "Fake Audio Input 1";
device_info.group_id = kFakeCommonGroupId1;
enumeration[static_cast<size_t>(
blink::mojom::blink::MediaDeviceType::MEDIA_AUDIO_INPUT)]
.push_back(std::move(device_info));
.push_back(device_info);
device_info = mojom::blink::MediaDeviceInfo::New();
device_info->device_id = kFakeAudioInputDeviceId2;
device_info->label = "Fake Audio Input 2";
device_info->group_id = "fake_group 2";
device_info.device_id = kFakeAudioInputDeviceId2;
device_info.label = "Fake Audio Input 2";
device_info.group_id = "fake_group 2";
enumeration[static_cast<size_t>(
blink::mojom::blink::MediaDeviceType::MEDIA_AUDIO_INPUT)]
.push_back(std::move(device_info));
.push_back(device_info);
// TODO(crbug.com/935960): add missing mocked capabilities and related
// tests when media::AudioParameters is visible in this context.
}
if (request_video_input) {
device_info = mojom::blink::MediaDeviceInfo::New();
device_info->device_id = kFakeVideoInputDeviceId1;
device_info->label = "Fake Video Input 1";
device_info->group_id = kFakeCommonGroupId1;
device_info.device_id = kFakeVideoInputDeviceId1;
device_info.label = "Fake Video Input 1";
device_info.group_id = kFakeCommonGroupId1;
enumeration[static_cast<size_t>(
blink::mojom::blink::MediaDeviceType::MEDIA_VIDEO_INPUT)]
.push_back(std::move(device_info));
.push_back(device_info);
device_info = mojom::blink::MediaDeviceInfo::New();
device_info->device_id = kFakeVideoInputDeviceId2;
device_info->label = "Fake Video Input 2";
device_info->group_id = kFakeVideoInputGroupId2;
device_info.device_id = kFakeVideoInputDeviceId2;
device_info.label = "Fake Video Input 2";
device_info.group_id = kFakeVideoInputGroupId2;
enumeration[static_cast<size_t>(
blink::mojom::blink::MediaDeviceType::MEDIA_VIDEO_INPUT)]
.push_back(std::move(device_info));
.push_back(device_info);
if (request_video_input_capabilities) {
mojom::blink::VideoInputDeviceCapabilitiesPtr capabilities =
......@@ -103,13 +99,12 @@ class MockMediaDevicesDispatcherHost
}
}
if (request_audio_output) {
device_info = mojom::blink::MediaDeviceInfo::New();
device_info->device_id = kFakeAudioOutputDeviceId1;
device_info->label = "Fake Audio Input 1";
device_info->group_id = kFakeCommonGroupId1;
device_info.device_id = kFakeAudioOutputDeviceId1;
device_info.label = "Fake Audio Input 1";
device_info.group_id = kFakeCommonGroupId1;
enumeration[static_cast<size_t>(
blink::mojom::blink::MediaDeviceType::MEDIA_AUDIO_OUTPUT)]
.push_back(std::move(device_info));
.push_back(device_info);
}
std::move(callback).Run(std::move(enumeration),
std::move(video_input_capabilities),
......@@ -185,7 +180,7 @@ class MediaDevicesTest : public testing::Test {
void SimulateDeviceChange() {
DCHECK(listener());
listener()->OnDevicesChanged(MEDIA_DEVICE_TYPE_AUDIO_INPUT,
Vector<MediaDeviceInfoPtr>());
Vector<WebMediaDeviceInfo>());
}
void DevicesEnumerated(const MediaDeviceInfoVector& device_infos) {
......
......@@ -26,7 +26,7 @@ typemaps = [
"//third_party/blink/renderer/platform/mojo/time.typemap",
"//third_party/blink/renderer/platform/network/encoded_form_data_element.typemap",
"//third_party/blink/renderer/platform/network/encoded_form_data.typemap",
"//third_party/blink/public/common/mediastream/media_devices_for_blink.typemap",
"//third_party/blink/public/common/mediastream/media_devices.typemap",
"//third_party/blink/public/common/mediastream/media_stream.typemap",
"//third_party/blink/public/common/screen_orientation/screen_orientation_lock_types.typemap",
"//third_party/blink/public/mojom/bluetooth/bluetooth.typemap",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment