blob: 38d35a7a9e9e0794dcf706d8bedc3245dc467089 [file] [log] [blame]
# Copyright 2020 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")
import("//third_party/blink/public/public_features.gni")
mojom_component("tokens") {
output_prefix = "tokens_mojom"
macro_prefix = "TOKENS_MOJOM"
sources = [ "tokens.mojom" ]
shared_cpp_typemaps = [
{
types = [
# FRAME TOKENS
{
mojom = "blink.mojom.LocalFrameToken"
cpp = "::blink::LocalFrameToken"
},
{
mojom = "blink.mojom.RemoteFrameToken"
cpp = "::blink::RemoteFrameToken"
},
{
mojom = "blink.mojom.FrameToken"
cpp = "::blink::FrameToken"
},
# WORKER TOKENS
{
mojom = "blink.mojom.DedicatedWorkerToken"
cpp = "::blink::DedicatedWorkerToken"
},
{
mojom = "blink.mojom.ServiceWorkerToken"
cpp = "::blink::ServiceWorkerToken"
},
{
mojom = "blink.mojom.SharedWorkerToken"
cpp = "::blink::SharedWorkerToken"
},
{
mojom = "blink.mojom.WorkerToken"
cpp = "::blink::WorkerToken"
},
# WORKLET TOKENS
{
mojom = "blink.mojom.AnimationWorkletToken"
cpp = "::blink::AnimationWorkletToken"
},
{
mojom = "blink.mojom.AudioWorkletToken"
cpp = "::blink::AudioWorkletToken"
},
{
mojom = "blink.mojom.PaintWorkletToken"
cpp = "::blink::PaintWorkletToken"
},
{
mojom = "blink.mojom.WorkletToken"
cpp = "::blink::WorkletToken"
},
# OTHER TOKENS
#
# Keep this section last.
#
# If you have multiple tokens that make a thematic group, please lift
# them to their own section, in alphabetical order. If adding a new
# token here, please keep the following list in alphabetic order.
{
mojom = "blink.mojom.ExecutionContextToken"
cpp = "::blink::ExecutionContextToken"
},
{
mojom = "blink.mojom.PortalToken"
cpp = "::blink::PortalToken"
},
{
mojom = "blink.mojom.V8ContextToken"
cpp = "::blink::V8ContextToken"
},
]
traits_headers = [
"//third_party/blink/public/common/tokens/token_mojom_traits_helper.h",
"//third_party/blink/public/common/tokens/tokens_mojom_traits.h",
]
traits_public_deps = [ ":tokens_traits" ]
},
]
cpp_typemaps = shared_cpp_typemaps
blink_cpp_typemaps = shared_cpp_typemaps
public_deps = [ "//mojo/public/mojom/base" ]
export_class_attribute = "BLINK_COMMON_EXPORT"
export_define = "BLINK_COMMON_IMPLEMENTATION=1"
export_header = "third_party/blink/public/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"
generate_java = true
}
source_set("tokens_traits_headers") {
configs += [ "//third_party/blink/common:blink_common_implementation" ]
sources = [
"//third_party/blink/public/common/tokens/token_mojom_traits_helper.h",
"//third_party/blink/public/common/tokens/tokens_mojom_traits.h",
]
public_deps = [
":tokens_shared",
"//third_party/blink/public/common/tokens:tokens_headers",
]
}
component("tokens_traits") {
configs += [ "//third_party/blink/common:blink_common_implementation" ]
sources = [ "//third_party/blink/common/tokens/tokens_mojom_traits.cc" ]
public_deps = [ ":tokens_traits_headers" ]
}