0

Reland "Reland "OnionSoup: Move web_bluetooth.mojom to public/mojom/bluetooth""

This is a reland of 12b303006b

It adds mojom_platform to 'interfaces' from //content/public/common/BUILD.gn
to fix compilation error from mac_rel.

Original change's description:
> Reland "OnionSoup: Move web_bluetooth.mojom to public/mojom/bluetooth"
>
> This is a reland of d5b00821af
>
> It updates //BUILD.gn and //content/public/common/BUILD.gn
> in addition to the previous change to fix the dependency
> problem.
>
> Original change's description:
> > OnionSoup: Move web_bluetooth.mojom to public/mojom/bluetooth
> >
> > This CL moves bluetooth folder from public/platform/modules to
> > public/mojom/ to gather mojom files to mojom folder with
> > creating web_bluetooth_mojo_bindings.
> >
> > Bug: 919393
> > Change-Id: I42037e1c9738b03969e927dd00f6b24c2873b364
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1530369
> > Reviewed-by: Kentaro Hara <haraken@chromium.org>
> > Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> > Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
> > Reviewed-by: John Budorick <jbudorick@chromium.org>
> > Reviewed-by: Doug Turner <dougt@chromium.org>
> > Reviewed-by: Colin Blundell <blundell@chromium.org>
> > Commit-Queue: Julie Jeongeun Kim <jkim@igalia.com>
> > Cr-Commit-Position: refs/heads/master@{#649061}
>
> Bug: 919393
> Change-Id: I61de3e625205e54959ad8d36c84eefa95f861035
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1559368
> Reviewed-by: John Budorick <jbudorick@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Colin Blundell <blundell@chromium.org>
> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Commit-Queue: Julie Jeongeun Kim <jkim@igalia.com>
> Cr-Commit-Position: refs/heads/master@{#652487}

Bug: 919393
Change-Id: Iae407fa213a9f9335b7bbc695c87369d124c745e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1575560
Commit-Queue: Julie Jeongeun Kim <jkim@igalia.com>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#657547}
This commit is contained in:
Julie Jeongeun Kim
2019-05-08 01:32:09 +00:00
committed by Commit Bot
parent c8709e4d7e
commit 4f1b5aa7c6
42 changed files with 82 additions and 118 deletions

@@ -1017,7 +1017,7 @@ if (!is_ios) {
"//skia/public/interfaces:interfaces_js_data_deps", "//skia/public/interfaces:interfaces_js_data_deps",
"//testing/buildbot/filters:blink_web_tests_filter", "//testing/buildbot/filters:blink_web_tests_filter",
"//third_party/blink/public:blink_devtools_frontend_resources_files", "//third_party/blink/public:blink_devtools_frontend_resources_files",
"//third_party/blink/public:mojo_bindings_js_data_deps", "//third_party/blink/public/mojom:mojom_platform_js_data_deps",
"//third_party/mesa_headers", "//third_party/mesa_headers",
"//tools/imagediff", "//tools/imagediff",
] ]

@@ -11,15 +11,15 @@ mojom("interfaces") {
] ]
public_deps = [ public_deps = [
"//third_party/blink/public:mojo_bindings", "//third_party/blink/public/mojom:mojom_platform",
"//ui/gfx/geometry/mojo", "//ui/gfx/geometry/mojo",
"//url/mojom:url_mojom_gurl", "//url/mojom:url_mojom_gurl",
] ]
overridden_deps = [ "//third_party/blink/public:mojo_bindings" ] overridden_deps = [ "//third_party/blink/public/mojom:mojom_platform" ]
component_deps = [ "//content/public/common" ] component_deps = [ "//content/public/common" ]
overridden_deps_blink = [ "//third_party/blink/public:mojo_bindings" ] overridden_deps_blink = [ "//third_party/blink/public/mojom:mojom_platform" ]
component_deps_blink = [ "//third_party/blink/renderer/platform" ] component_deps_blink = [ "//third_party/blink/renderer/platform" ]
cpp_only = true cpp_only = true

@@ -180,11 +180,11 @@ jumbo_source_set("browser") {
"//third_party/angle:angle_common", "//third_party/angle:angle_common",
"//third_party/blink/public:blink_headers", "//third_party/blink/public:blink_headers",
"//third_party/blink/public:buildflags", "//third_party/blink/public:buildflags",
"//third_party/blink/public:mojo_bindings",
"//third_party/blink/public:resources", "//third_party/blink/public:resources",
"//third_party/blink/public:scaled_resources", "//third_party/blink/public:scaled_resources",
"//third_party/blink/public/common", "//third_party/blink/public/common",
"//third_party/blink/public/mojom:mojom_broadcastchannel_bindings", "//third_party/blink/public/mojom:mojom_broadcastchannel_bindings",
"//third_party/blink/public/mojom:web_bluetooth_mojo_bindings",
"//third_party/boringssl", "//third_party/boringssl",
"//third_party/brotli:dec", "//third_party/brotli:dec",
"//third_party/icu", "//third_party/icu",

@@ -125,13 +125,6 @@ include_rules = [
"+third_party/blink/public/web/web_tree_scope_type.h", "+third_party/blink/public/web/web_tree_scope_type.h",
"+third_party/blink/public/web/web_triggering_event_info.h", "+third_party/blink/public/web/web_triggering_event_info.h",
# Allow mojo generated files in WebKit. These files use STL types and
# don't use WTF types.
"+third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h",
"+third_party/blink/public/platform/modules/cookie_store/cookie_store.mojom.h",
"+third_party/blink/public/platform/modules/mediastream/media_devices.mojom.h",
"+third_party/blink/public/platform/modules/websockets/websocket.mojom.h",
# DO NOT ADD ANY CHROME OR COMPONENTS INCLUDES HERE!!! # DO NOT ADD ANY CHROME OR COMPONENTS INCLUDES HERE!!!
# See https://sites.google.com/a/chromium.org/dev/developers/content-module # See https://sites.google.com/a/chromium.org/dev/developers/content-module
# for more information. # for more information.

@@ -14,7 +14,7 @@
#include "base/optional.h" #include "base/optional.h"
#include "content/common/bluetooth/web_bluetooth_device_id.h" #include "content/common/bluetooth/web_bluetooth_device_id.h"
#include "content/common/content_export.h" #include "content/common/content_export.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
namespace device { namespace device {
class BluetoothUUID; class BluetoothUUID;

@@ -13,7 +13,7 @@
#include "base/strings/string_piece.h" #include "base/strings/string_piece.h"
#include "content/common/content_export.h" #include "content/common/content_export.h"
#include "device/bluetooth/bluetooth_uuid.h" #include "device/bluetooth/bluetooth_uuid.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
namespace content { namespace content {

@@ -14,7 +14,7 @@
#include "base/timer/timer.h" #include "base/timer/timer.h"
#include "content/common/content_export.h" #include "content/common/content_export.h"
#include "content/public/browser/bluetooth_chooser.h" #include "content/public/browser/bluetooth_chooser.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
namespace device { namespace device {
class BluetoothAdapter; class BluetoothAdapter;

@@ -8,7 +8,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
namespace base { namespace base {
class TimeDelta; class TimeDelta;

@@ -12,7 +12,7 @@
#include "base/optional.h" #include "base/optional.h"
#include "content/common/bluetooth/web_bluetooth_device_id.h" #include "content/common/bluetooth/web_bluetooth_device_id.h"
#include "content/common/content_export.h" #include "content/common/content_export.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
#include "url/origin.h" #include "url/origin.h"
namespace device { namespace device {

@@ -23,7 +23,7 @@
#include "device/bluetooth/bluetooth_remote_gatt_service.h" #include "device/bluetooth/bluetooth_remote_gatt_service.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/interface_ptr_set.h" #include "mojo/public/cpp/bindings/interface_ptr_set.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
namespace url { namespace url {
class Origin; class Origin;

@@ -64,6 +64,7 @@
#include "third_party/blink/public/common/feature_policy/feature_policy.h" #include "third_party/blink/public/common/feature_policy/feature_policy.h"
#include "third_party/blink/public/common/frame/frame_owner_element_type.h" #include "third_party/blink/public/common/frame/frame_owner_element_type.h"
#include "third_party/blink/public/common/frame/user_activation_update_type.h" #include "third_party/blink/public/common/frame/user_activation_update_type.h"
#include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
#include "third_party/blink/public/mojom/choosers/file_chooser.mojom.h" #include "third_party/blink/public/mojom/choosers/file_chooser.mojom.h"
#include "third_party/blink/public/mojom/commit_result/commit_result.mojom.h" #include "third_party/blink/public/mojom/commit_result/commit_result.mojom.h"
#include "third_party/blink/public/mojom/devtools/devtools_agent.mojom.h" #include "third_party/blink/public/mojom/devtools/devtools_agent.mojom.h"
@@ -74,7 +75,6 @@
#include "third_party/blink/public/mojom/service_worker/service_worker_provider.mojom.h" #include "third_party/blink/public/mojom/service_worker/service_worker_provider.mojom.h"
#include "third_party/blink/public/mojom/webauthn/authenticator.mojom.h" #include "third_party/blink/public/mojom/webauthn/authenticator.mojom.h"
#include "third_party/blink/public/mojom/worker/dedicated_worker_host_factory.mojom.h" #include "third_party/blink/public/mojom/worker/dedicated_worker_host_factory.mojom.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h"
#include "third_party/blink/public/platform/web_focus_type.h" #include "third_party/blink/public/platform/web_focus_type.h"
#include "third_party/blink/public/platform/web_insecure_request_policy.h" #include "third_party/blink/public/platform/web_insecure_request_policy.h"
#include "third_party/blink/public/platform/web_scroll_types.h" #include "third_party/blink/public/platform/web_scroll_types.h"

@@ -100,7 +100,7 @@
#if defined(OS_LINUX) #if defined(OS_LINUX)
#include "components/services/font/font_service_app.h" #include "components/services/font/font_service_app.h"
#include "components/services/font/public/interfaces/constants.mojom.h" #include "components/services/font/public/interfaces/constants.mojom.h" // nogncheck
#endif #endif
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)

@@ -112,7 +112,6 @@ target(link_target_type, "child") {
"//storage/common", "//storage/common",
"//third_party/blink/public:blink_headers", "//third_party/blink/public:blink_headers",
"//third_party/blink/public:buildflags", "//third_party/blink/public:buildflags",
"//third_party/blink/public:mojo_bindings",
"//third_party/blink/public:resources", "//third_party/blink/public:resources",
"//third_party/blink/public:scaled_resources", "//third_party/blink/public:scaled_resources",
"//third_party/blink/public/common", "//third_party/blink/public/common",

@@ -529,8 +529,8 @@ mojom("mojo_bindings") {
"//services/viz/public/interfaces", "//services/viz/public/interfaces",
"//services/ws/public/mojom", "//services/ws/public/mojom",
"//skia/public/interfaces", "//skia/public/interfaces",
"//third_party/blink/public:mojo_bindings",
"//third_party/blink/public/mojom:mojom_core", "//third_party/blink/public/mojom:mojom_core",
"//third_party/blink/public/mojom:web_bluetooth_mojo_bindings",
"//third_party/blink/public/mojom:web_feature_mojo_bindings", "//third_party/blink/public/mojom:web_feature_mojo_bindings",
"//ui/base/ime/mojo", "//ui/base/ime/mojo",
"//ui/base/mojo", "//ui/base/mojo",

@@ -50,7 +50,6 @@ include_rules = [
"+third_party/blink/public/platform/web_touch_event.h", "+third_party/blink/public/platform/web_touch_event.h",
"+third_party/blink/public/platform/linux/web_fallback_font.h", "+third_party/blink/public/platform/linux/web_fallback_font.h",
"+third_party/blink/public/platform/mac/web_scrollbar_theme.h", "+third_party/blink/public/platform/mac/web_scrollbar_theme.h",
"+third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h",
"+third_party/blink/public/platform/modules/device_orientation/WebDeviceMotionData.h", "+third_party/blink/public/platform/modules/device_orientation/WebDeviceMotionData.h",
"+third_party/blink/public/platform/modules/device_orientation/WebDeviceOrientationData.h", "+third_party/blink/public/platform/modules/device_orientation/WebDeviceOrientationData.h",
"+third_party/blink/public/platform/modules/mediastream/media_devices.mojom.h", "+third_party/blink/public/platform/modules/mediastream/media_devices.mojom.h",

@@ -5,5 +5,8 @@ file://content/browser/bluetooth/OWNERS
per-file *_struct_traits*.*=set noparent per-file *_struct_traits*.*=set noparent
per-file *_struct_traits*.*=file://ipc/SECURITY_OWNERS per-file *_struct_traits*.*=file://ipc/SECURITY_OWNERS
per-file *.typemap=set noparent
per-file *.typemap=file://ipc/SECURITY_OWNERS
# TEAM: web-bluetooth@chromium.org # TEAM: web-bluetooth@chromium.org
# COMPONENT: Blink>Bluetooth # COMPONENT: Blink>Bluetooth

@@ -2,8 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
mojom = mojom = "//third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom"
"//third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom"
public_headers = [ "//content/common/bluetooth/web_bluetooth_device_id.h" ] public_headers = [ "//content/common/bluetooth/web_bluetooth_device_id.h" ]
traits_headers = traits_headers =
[ "//content/common/bluetooth/web_bluetooth_device_id_struct_traits.h" ] [ "//content/common/bluetooth/web_bluetooth_device_id_struct_traits.h" ]

@@ -8,7 +8,7 @@
#include <string> #include <string>
#include "content/common/bluetooth/web_bluetooth_device_id.h" #include "content/common/bluetooth/web_bluetooth_device_id.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
namespace mojo { namespace mojo {

@@ -388,7 +388,6 @@ jumbo_source_set("browser_sources") {
# We expose storage headers for quota and blob storage context in the public API. # We expose storage headers for quota and blob storage context in the public API.
"//storage/browser", "//storage/browser",
"//third_party/blink/public:mojo_bindings",
] ]
deps = [ deps = [
"//cc", "//cc",

@@ -243,7 +243,7 @@ jumbo_source_set("common_sources") {
"//services/service_manager/public/cpp", "//services/service_manager/public/cpp",
"//services/service_manager/public/mojom", "//services/service_manager/public/mojom",
"//third_party/blink/public:blink_headers", "//third_party/blink/public:blink_headers",
"//third_party/blink/public:mojo_bindings", "//third_party/blink/public/mojom:mojom_platform_headers",
"//ui/accessibility", "//ui/accessibility",
"//ui/surface", "//ui/surface",
"//url/ipc:url_ipc", "//url/ipc:url_ipc",
@@ -381,7 +381,6 @@ mojom("interfaces") {
"//services/network/public/mojom", "//services/network/public/mojom",
"//services/network/public/mojom:mojom_ip_address", "//services/network/public/mojom:mojom_ip_address",
"//services/network/public/mojom:websocket_mojom", "//services/network/public/mojom:websocket_mojom",
"//third_party/blink/public:mojo_bindings",
"//ui/accessibility:ax_enums_mojo", "//ui/accessibility:ax_enums_mojo",
"//url/mojom:url_mojom_gurl", "//url/mojom:url_mojom_gurl",
"//url/mojom:url_mojom_origin", "//url/mojom:url_mojom_origin",
@@ -393,6 +392,7 @@ mojom("interfaces") {
"web_contents_ns_view_bridge.mojom", "web_contents_ns_view_bridge.mojom",
] ]
public_deps += [ public_deps += [
"//third_party/blink/public/mojom:mojom_platform",
"//ui/gfx/geometry/mojo", "//ui/gfx/geometry/mojo",
"//ui/gfx/image/mojo:interfaces", "//ui/gfx/image/mojo:interfaces",
] ]

@@ -635,7 +635,6 @@ target(link_target_type, "renderer") {
"//storage/common", "//storage/common",
"//third_party/blink/public:blink", "//third_party/blink/public:blink",
"//third_party/blink/public:buildflags", "//third_party/blink/public:buildflags",
"//third_party/blink/public:mojo_bindings",
"//third_party/blink/public/common", "//third_party/blink/public/common",
"//third_party/boringssl", "//third_party/boringssl",
"//third_party/icu", "//third_party/icu",

@@ -32,7 +32,7 @@
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
#include "third_party/blink/public/common/frame/frame_owner_element_type.h" #include "third_party/blink/public/common/frame/frame_owner_element_type.h"
#include "third_party/blink/public/common/frame/frame_policy.h" #include "third_party/blink/public/common/frame/frame_policy.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom.h"
#include "third_party/blink/public/platform/web_mixed_content_context_type.h" #include "third_party/blink/public/platform/web_mixed_content_context_type.h"
#include "third_party/blink/public/web/web_tree_scope_type.h" #include "third_party/blink/public/web/web_tree_scope_type.h"
#include "ui/base/page_transition_types.h" #include "ui/base/page_transition_types.h"

@@ -54,7 +54,6 @@ jumbo_source_set("utility") {
"//services/video_capture/public/mojom:constants", "//services/video_capture/public/mojom:constants",
"//services/viz:lib", "//services/viz:lib",
"//third_party/blink/public:blink_headers", "//third_party/blink/public:blink_headers",
"//third_party/blink/public:mojo_bindings",
"//url", "//url",
] ]

@@ -58,7 +58,6 @@ mojom("mojom") {
visibility_blink = [ visibility_blink = [
"//third_party/blink/renderer/bindings/modules/v8:generate_mojo_bindings", "//third_party/blink/renderer/bindings/modules/v8:generate_mojo_bindings",
"//third_party/blink/renderer/platform:blink_platform_public_deps", "//third_party/blink/renderer/platform:blink_platform_public_deps",
"//third_party/blink/public:mojo_bindings_blink",
"//third_party/blink/public/mojom:mojom_platform_blink", "//third_party/blink/public/mojom:mojom_platform_blink",
] ]
} }

@@ -546,8 +546,6 @@ source_set("blink_headers") {
] ]
deps = [ deps = [
":generate_mojo_bindings",
":mojo_bindings_blink_headers",
"//base:base", "//base:base",
"//cc:cc", "//cc:cc",
"//cc/paint:paint", "//cc/paint:paint",
@@ -659,61 +657,3 @@ repack("scaled_resources_200_percent") {
":scaled_resources", ":scaled_resources",
] ]
} }
# TODO: Move these into blink/public/mojom.
mojom("mojo_bindings") {
visibility = [
"//content/*",
"//chrome/common:mojo_bindings",
]
visibility_blink =
[ "//third_party/blink/renderer/platform:blink_platform_public_deps" ]
sources = [
"platform/modules/bluetooth/web_bluetooth.mojom",
]
public_deps = [
"//components/services/font/public/interfaces",
"//device/bluetooth/public/mojom",
"//mojo/public/mojom/base",
"//services/device/public/mojom",
"//services/network/public/mojom",
"//services/service_manager/public/mojom",
"//skia/public/interfaces",
"//third_party/blink/public/mojom:mojom_platform",
"//ui/gfx/geometry/mojo",
"//url/mojom:url_mojom_gurl",
"//url/mojom:url_mojom_origin",
]
overridden_deps = [ "//third_party/blink/public/mojom:mojom_platform" ]
component_deps = [ "//third_party/blink/public/common" ]
component_output_prefix = "blink_mojo_bindings"
# The chromium variant must be linked with content and use the same export
# settings in component build because of the WebBluetoothDeviceId typemap
# inside content.
export_class_attribute = "CONTENT_EXPORT"
export_define = "CONTENT_IMPLEMENTATION=1"
export_header = "content/common/content_export.h"
# Similarly, the blink variant must be linked with the platform component
# since it uses types from it in its typemaps.
export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
}
# Note that this intentionally depends on the generator target of the mojom
# target instead of the mojom target itself directly. This is to ensure that the
# dependencies are header-only and don't link against any bindings code.
group("generate_mojo_bindings") {
deps = [
# It's important to generate both the regular and the Blink variants. The
# Blink public API exposes a number of Mojo interfaces; omitting it will
# cause non-deterministic compile failures for code that uses the regular
# variant of the generated files.
":mojo_bindings_blink_headers",
":mojo_bindings_headers",
]
}

@@ -5,13 +5,15 @@
#ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_MEDIASTREAM_MEDIA_DEVICES_MOJOM_TRAITS_H_ #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_MEDIASTREAM_MEDIA_DEVICES_MOJOM_TRAITS_H_
#define THIRD_PARTY_BLINK_PUBLIC_COMMON_MEDIASTREAM_MEDIA_DEVICES_MOJOM_TRAITS_H_ #define THIRD_PARTY_BLINK_PUBLIC_COMMON_MEDIASTREAM_MEDIA_DEVICES_MOJOM_TRAITS_H_
#include "third_party/blink/public/common/common_export.h"
#include "third_party/blink/public/common/mediastream/media_devices.h" #include "third_party/blink/public/common/mediastream/media_devices.h"
#include "third_party/blink/public/mojom/mediastream/media_devices.mojom.h" #include "third_party/blink/public/mojom/mediastream/media_devices.mojom.h"
namespace mojo { namespace mojo {
template <> template <>
struct EnumTraits<blink::mojom::MediaDeviceType, blink::MediaDeviceType> { struct BLINK_COMMON_EXPORT
EnumTraits<blink::mojom::MediaDeviceType, blink::MediaDeviceType> {
static blink::mojom::MediaDeviceType ToMojom(blink::MediaDeviceType type); static blink::mojom::MediaDeviceType ToMojom(blink::MediaDeviceType type);
static bool FromMojom(blink::mojom::MediaDeviceType input, static bool FromMojom(blink::mojom::MediaDeviceType input,
@@ -19,7 +21,8 @@ struct EnumTraits<blink::mojom::MediaDeviceType, blink::MediaDeviceType> {
}; };
template <> template <>
struct EnumTraits<blink::mojom::FacingMode, media::VideoFacingMode> { struct BLINK_COMMON_EXPORT
EnumTraits<blink::mojom::FacingMode, media::VideoFacingMode> {
static blink::mojom::FacingMode ToMojom(media::VideoFacingMode facing_mode); static blink::mojom::FacingMode ToMojom(media::VideoFacingMode facing_mode);
static bool FromMojom(blink::mojom::FacingMode input, static bool FromMojom(blink::mojom::FacingMode input,
@@ -27,8 +30,8 @@ struct EnumTraits<blink::mojom::FacingMode, media::VideoFacingMode> {
}; };
template <> template <>
struct StructTraits<blink::mojom::MediaDeviceInfoDataView, struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::MediaDeviceInfoDataView,
blink::WebMediaDeviceInfo> { blink::WebMediaDeviceInfo> {
static const std::string& device_id(const blink::WebMediaDeviceInfo& info) { static const std::string& device_id(const blink::WebMediaDeviceInfo& info) {
return info.device_id; return info.device_id;
} }

@@ -5,6 +5,7 @@
#ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_MEDIASTREAM_MEDIA_STREAM_MOJOM_TRAITS_H_ #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_MEDIASTREAM_MEDIA_STREAM_MOJOM_TRAITS_H_
#define THIRD_PARTY_BLINK_PUBLIC_COMMON_MEDIASTREAM_MEDIA_STREAM_MOJOM_TRAITS_H_ #define THIRD_PARTY_BLINK_PUBLIC_COMMON_MEDIASTREAM_MEDIA_STREAM_MOJOM_TRAITS_H_
#include "third_party/blink/public/common/common_export.h"
#include "third_party/blink/public/common/mediastream/media_stream_controls.h" #include "third_party/blink/public/common/mediastream/media_stream_controls.h"
#include "third_party/blink/public/common/mediastream/media_stream_request.h" #include "third_party/blink/public/common/mediastream/media_stream_request.h"
#include "third_party/blink/public/mojom/mediastream/media_stream.mojom.h" #include "third_party/blink/public/mojom/mediastream/media_stream.mojom.h"
@@ -12,7 +13,8 @@
namespace mojo { namespace mojo {
template <> template <>
struct EnumTraits<blink::mojom::MediaStreamType, blink::MediaStreamType> { struct BLINK_COMMON_EXPORT
EnumTraits<blink::mojom::MediaStreamType, blink::MediaStreamType> {
static blink::mojom::MediaStreamType ToMojom(blink::MediaStreamType type); static blink::mojom::MediaStreamType ToMojom(blink::MediaStreamType type);
static bool FromMojom(blink::mojom::MediaStreamType input, static bool FromMojom(blink::mojom::MediaStreamType input,
@@ -20,8 +22,8 @@ struct EnumTraits<blink::mojom::MediaStreamType, blink::MediaStreamType> {
}; };
template <> template <>
struct EnumTraits<blink::mojom::MediaStreamRequestResult, struct BLINK_COMMON_EXPORT EnumTraits<blink::mojom::MediaStreamRequestResult,
blink::MediaStreamRequestResult> { blink::MediaStreamRequestResult> {
static blink::mojom::MediaStreamRequestResult ToMojom( static blink::mojom::MediaStreamRequestResult ToMojom(
blink::MediaStreamRequestResult result); blink::MediaStreamRequestResult result);
@@ -30,8 +32,8 @@ struct EnumTraits<blink::mojom::MediaStreamRequestResult,
}; };
template <> template <>
struct StructTraits<blink::mojom::MediaStreamDeviceDataView, struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::MediaStreamDeviceDataView,
blink::MediaStreamDevice> { blink::MediaStreamDevice> {
static const blink::MediaStreamType& type( static const blink::MediaStreamType& type(
const blink::MediaStreamDevice& device) { const blink::MediaStreamDevice& device) {
return device.type; return device.type;
@@ -79,7 +81,8 @@ struct StructTraits<blink::mojom::MediaStreamDeviceDataView,
}; };
template <> template <>
struct StructTraits<blink::mojom::TrackControlsDataView, blink::TrackControls> { struct BLINK_COMMON_EXPORT
StructTraits<blink::mojom::TrackControlsDataView, blink::TrackControls> {
static bool requested(const blink::TrackControls& controls) { static bool requested(const blink::TrackControls& controls) {
return controls.requested; return controls.requested;
} }
@@ -98,8 +101,8 @@ struct StructTraits<blink::mojom::TrackControlsDataView, blink::TrackControls> {
}; };
template <> template <>
struct StructTraits<blink::mojom::StreamControlsDataView, struct BLINK_COMMON_EXPORT
blink::StreamControls> { StructTraits<blink::mojom::StreamControlsDataView, blink::StreamControls> {
static const blink::TrackControls& audio( static const blink::TrackControls& audio(
const blink::StreamControls& controls) { const blink::StreamControls& controls) {
return controls.audio; return controls.audio;

@@ -326,6 +326,37 @@ mojom("mojom_modules") {
export_header_blink = "third_party/blink/renderer/modules/modules_export.h" export_header_blink = "third_party/blink/renderer/modules/modules_export.h"
} }
mojom("web_bluetooth_mojo_bindings") {
visibility = [
"//content/browser:browser",
"//content/common:mojo_bindings",
]
visibility_blink =
[ "//third_party/blink/renderer/platform:blink_platform_public_deps" ]
sources = [
"bluetooth/web_bluetooth.mojom",
]
public_deps = [
"//device/bluetooth/public/mojom",
]
# The chromium variant must be linked with content and use the same export
# settings in component build because of the WebBluetoothDeviceId typemap
# inside content.
export_class_attribute = "CONTENT_EXPORT"
export_define = "CONTENT_IMPLEMENTATION=1"
export_header = "content/common/content_export.h"
# Similarly, the blink variant must be linked with the platform component
# since it uses types from it in its typemaps.
export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
}
# The mojom_broadcastchannel_bindings is separated from the rest of mojom files # The mojom_broadcastchannel_bindings is separated from the rest of mojom files
# to allow blink/renderer/core to depend on this. # to allow blink/renderer/core to depend on this.
mojom("mojom_broadcastchannel_bindings") { mojom("mojom_broadcastchannel_bindings") {

@@ -2,8 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
mojom = mojom = "//third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom"
"//third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom"
public_headers = public_headers =
[ "//third_party/blink/renderer/platform/wtf/text/wtf_string.h" ] [ "//third_party/blink/renderer/platform/wtf/text/wtf_string.h" ]
traits_headers = traits_headers =

@@ -296,7 +296,6 @@ jumbo_source_set("testing") {
deps = [ deps = [
":bindings_core_v8_generated", ":bindings_core_v8_generated",
"//skia", "//skia",
"//third_party/blink/public:generate_mojo_bindings",
"//third_party/blink/renderer/core:all_generators", "//third_party/blink/renderer/core:all_generators",
"//third_party/blink/renderer/platform", "//third_party/blink/renderer/platform",
"//v8", "//v8",

@@ -5,7 +5,7 @@ for the [Web Bluetooth specification]. It uses the Web Bluetooth Service
[mojom] to communicate with the [Web Bluetooth Service]. [mojom] to communicate with the [Web Bluetooth Service].
[Web Bluetooth specification]: https://webbluetoothcg.github.io/web-bluetooth/ [Web Bluetooth specification]: https://webbluetoothcg.github.io/web-bluetooth/
[mojom]: ../../../public/platform/modules/bluetooth/web_bluetooth.mojom [mojom]: ../../../public/mojom/bluetooth/web_bluetooth.mojom
[Web Bluetooth Service]: /content/browser/bluetooth/ [Web Bluetooth Service]: /content/browser/bluetooth/

@@ -6,7 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_H_
#include <memory> #include <memory>
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/modules/bluetooth/bluetooth_device.h" #include "third_party/blink/renderer/modules/bluetooth/bluetooth_device.h"
#include "third_party/blink/renderer/platform/bindings/script_wrappable.h" #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"

@@ -6,7 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_DEVICE_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_DEVICE_H_
#include <memory> #include <memory>
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom-blink.h"
#include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h" #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
#include "third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_server.h" #include "third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_server.h"
#include "third_party/blink/renderer/modules/event_target_modules.h" #include "third_party/blink/renderer/modules/event_target_modules.h"

@@ -5,7 +5,7 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_ERROR_H_ #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_ERROR_H_
#define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_ERROR_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_ERROR_H_
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom-blink.h"
#include "third_party/blink/renderer/platform/heap/handle.h" #include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/wtf/allocator.h" #include "third_party/blink/renderer/platform/wtf/allocator.h"

@@ -6,7 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_REMOTE_GATT_CHARACTERISTIC_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_REMOTE_GATT_CHARACTERISTIC_H_
#include "mojo/public/cpp/bindings/associated_binding_set.h" #include "mojo/public/cpp/bindings/associated_binding_set.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/active_script_wrappable.h" #include "third_party/blink/renderer/bindings/core/v8/active_script_wrappable.h"
#include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h" #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
#include "third_party/blink/renderer/core/typed_arrays/dom_array_piece.h" #include "third_party/blink/renderer/core/typed_arrays/dom_array_piece.h"

@@ -6,7 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVER_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVER_H_
#include "mojo/public/cpp/bindings/associated_binding_set.h" #include "mojo/public/cpp/bindings/associated_binding_set.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom-blink.h"
#include "third_party/blink/renderer/bindings/modules/v8/string_or_unsigned_long.h" #include "third_party/blink/renderer/bindings/modules/v8/string_or_unsigned_long.h"
#include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h" #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
#include "third_party/blink/renderer/modules/bluetooth/bluetooth_device.h" #include "third_party/blink/renderer/modules/bluetooth/bluetooth_device.h"

@@ -6,7 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_BLUETOOTH_BLUETOOTH_REMOTE_GATT_SERVICE_H_
#include <memory> #include <memory>
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom-blink.h"
#include "third_party/blink/renderer/bindings/modules/v8/string_or_unsigned_long.h" #include "third_party/blink/renderer/bindings/modules/v8/string_or_unsigned_long.h"
#include "third_party/blink/renderer/modules/bluetooth/bluetooth_device.h" #include "third_party/blink/renderer/modules/bluetooth/bluetooth_device.h"
#include "third_party/blink/renderer/platform/bindings/script_wrappable.h" #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"

@@ -194,9 +194,9 @@ group("blink_platform_public_deps") {
"//skia", "//skia",
"//third_party:jpeg", "//third_party:jpeg",
"//third_party/blink/public:blink_headers", "//third_party/blink/public:blink_headers",
"//third_party/blink/public:mojo_bindings_blink",
"//third_party/blink/public/common", "//third_party/blink/public/common",
"//third_party/blink/public/mojom:mojom_platform_blink", "//third_party/blink/public/mojom:mojom_platform_blink",
"//third_party/blink/public/mojom:web_bluetooth_mojo_bindings_blink",
"//third_party/blink/renderer/platform/heap:blink_heap_buildflags", "//third_party/blink/renderer/platform/heap:blink_heap_buildflags",
"//third_party/blink/renderer/platform/network:make_generated", "//third_party/blink/renderer/platform/network:make_generated",
"//third_party/blink/renderer/platform/wtf", "//third_party/blink/renderer/platform/wtf",

@@ -24,7 +24,7 @@ typemaps = [
"//third_party/blink/renderer/platform/mojo/time.typemap", "//third_party/blink/renderer/platform/mojo/time.typemap",
"//third_party/blink/renderer/platform/network/encoded_form_data.typemap", "//third_party/blink/renderer/platform/network/encoded_form_data.typemap",
"//third_party/blink/renderer/platform/network/http_request_headers.typemap", "//third_party/blink/renderer/platform/network/http_request_headers.typemap",
"//third_party/blink/public/platform/modules/bluetooth/bluetooth.typemap",
"//third_party/blink/public/common/manifest/display_mode.typemap", "//third_party/blink/public/common/manifest/display_mode.typemap",
"//third_party/blink/public/common/screen_orientation/screen_orientation_lock_types.typemap", "//third_party/blink/public/common/screen_orientation/screen_orientation_lock_types.typemap",
"//third_party/blink/public/mojom/bluetooth/bluetooth.typemap",
] ]

@@ -6,7 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_BLUETOOTH_STRUCT_TRAITS_H_ #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_MOJO_BLUETOOTH_STRUCT_TRAITS_H_
#include "device/bluetooth/public/mojom/uuid.mojom-blink.h" #include "device/bluetooth/public/mojom/uuid.mojom-blink.h"
#include "third_party/blink/public/platform/modules/bluetooth/web_bluetooth.mojom-blink.h" #include "third_party/blink/public/mojom/bluetooth/web_bluetooth.mojom-blink.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
namespace mojo { namespace mojo {