summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/public/mojom/BUILD.gn
blob: 87fcdf89727050c291a6bbf13b8b6f3f8470fd23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# 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.

import("//mojo/public/tools/bindings/mojom.gni")

# This target includes all mojom interfaces which can be used from
# Source/platform. In particular these mojom interfaces can't use types that
# are typemapped to a type in Source/core.
mojom("mojom_platform") {
  sources = [
    "array_buffer/array_buffer_contents.mojom",
    "blob/blob.mojom",
    "blob/blob_registry.mojom",
    "blob/blob_url_store.mojom",
    "blob/data_element.mojom",
    "blob/serialized_blob.mojom",
    "clipboard/clipboard.mojom",
    "color_chooser/color_chooser.mojom",
    "cookie_store/cookie_store.mojom",
    "dom_storage/session_storage_namespace.mojom",
    "dom_storage/storage_area.mojom",
    "dom_storage/storage_partition_service.mojom",
    "feature_policy/feature_policy.mojom",
    "file/file_utilities.mojom",
    "frame/find_in_page.mojom",
    "leak_detector/leak_detector.mojom",
    "loader/navigation_predictor.mojom",
    "loader/pause_subresource_loading_handle.mojom",
    "loader/previews_resource_loading_hints.mojom",
    "manifest/display_mode.mojom",
    "manifest/manifest.mojom",
    "manifest/manifest_manager.mojom",
    "net/ip_address_space.mojom",
    "page/display_cutout.mojom",
    "page/page_visibility_state.mojom",
    "plugins/plugin_registry.mojom",
    "quota/quota_dispatcher_host.mojom",
    "quota/quota_types.mojom",
    "service_worker/dispatch_fetch_event_params.mojom",
    "service_worker/navigation_preload_state.mojom",
    "service_worker/service_worker_client.mojom",
    "service_worker/service_worker_error_type.mojom",
    "service_worker/service_worker_event_status.mojom",
    "service_worker/service_worker_installed_scripts_manager.mojom",
    "service_worker/service_worker_provider_type.mojom",
    "service_worker/service_worker_state.mojom",
    "service_worker/service_worker_stream_handle.mojom",
    "shared_worker/shared_worker_creation_context_type.mojom",
    "speech/speech_recognition_error.mojom",
    "speech/speech_recognition_grammar.mojom",
    "speech/speech_recognition_result.mojom",
    "speech/speech_recognizer.mojom",
    "use_counter/css_property_id.mojom",
    "web_package/web_package_internals.mojom",
  ]

  public_deps = [
    ":speech_recognition_error_code",
    "//mojo/public/mojom/base",
    "//services/device/public/mojom",
    "//services/network/public/mojom",

    # TODO(https://crbug.com/822804): Remove when mojom bindings deps checks
    # get fixed.
    "//services/network/public/mojom:data_pipe_interfaces",
    "//skia/public/interfaces",
    "//ui/gfx/geometry/mojo",
    "//url/mojom:url_mojom_gurl",
    "//url/mojom:url_mojom_origin",
  ]

  export_class_attribute = "BLINK_COMMON_EXPORT"
  export_define = "BLINK_COMMON_IMPLEMENTATION=1"
  export_header = "third_party/blink/common/common_export.h"

  export_class_attribute_blink = "PLATFORM_EXPORT"
  export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
  export_header_blink = "third_party/blink/renderer/platform/platform_export.h"
}

# Kept separate from "mojom_platform" because the Java bindings are needed by
# Android's implementation of speech recognition.
mojom("speech_recognition_error_code") {
  sources = [
    "speech/speech_recognition_error_code.mojom",
  ]
}

# This target can include mojom interfaces which do use types that are
# typemapped to a type in Source/core. This also means these interfaces are not
# available from Source/platform.
# Note that service_worker_object.mojom and service_worker.mojom depend
# on message_port.mojom, and service_worker_registration.mojom depends
# on service_worker_object.mojom, so we put these three service worker
# mojom files here rather than mojom_platform target.
# In future we may have a separate mojom target for the things that may have
# modules dependencies if it looks necessary, at that time we can put all of
# those high-level service worker mojom files there.
mojom("mojom_core") {
  sources = [
    "message_port/message_port.mojom",
    "service_worker/service_worker.mojom",
    "service_worker/service_worker_object.mojom",
    "service_worker/service_worker_registration.mojom",
  ]

  public_deps = [
    ":mojom_platform",
    "//mojo/public/mojom/base",
    "//skia/public/interfaces",
    "//url/mojom:url_mojom_gurl",
  ]

  overridden_deps_blink = [ ":mojom_platform" ]
  component_deps_blink = [ "//third_party/blink/renderer/platform" ]

  export_class_attribute = "BLINK_COMMON_EXPORT"
  export_define = "BLINK_COMMON_IMPLEMENTATION=1"
  export_header = "third_party/blink/common/common_export.h"

  export_class_attribute_blink = "CORE_EXPORT"
  export_define_blink = "BLINK_CORE_IMPLEMENTATION=1"
  export_header_blink = "third_party/blink/renderer/core/core_export.h"
}