# Copyright 2019 The Chromium Authors
# 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("//arkweb//build/features/features.gni")
component("shared_mojom_traits") {
output_name = "cc_shared_mojom_traits"
defines = [ "IS_CC_SHARED_MOJOM_TRAITS_IMPL" ]
sources = [
"render_frame_metadata_mojom_traits.cc",
"render_frame_metadata_mojom_traits.h",
]
public_deps = [
":mojom_shared",
"//cc",
"//mojo/public/cpp/base:shared_typemap_traits",
"//ui/gfx/geometry/mojom:mojom_traits",
]
}
mojom("mojom") {
generate_java = true
sources = [
"browser_controls_state.mojom",
"overscroll_behavior.mojom",
"render_frame_metadata.mojom",
"touch_action.mojom",
]
enabled_features = []
if (is_android || is_ohos || is_arkweb) {
enabled_features += [ "is_android_or_ios_or_arkweb" ]
enabled_features += [ "arkweb_menu" ]
}
public_deps = [
":mojom_browser_controls",
"//mojo/public/mojom/base",
"//services/viz/public/mojom",
"//skia/public/mojom",
"//ui/gfx/geometry/mojom",
]
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"
shared_typemap = [
{
types = [
{
mojom = "cc.mojom.BrowserControlsState"
cpp = "::cc::BrowserControlsState"
},
]
traits_headers = [ "//cc/ipc/cc_param_traits_macros.h" ]
traits_public_deps = [ "//cc/ipc" ]
},
{
types = [
{
mojom = "cc.mojom.TouchAction"
cpp = "::cc::TouchAction"
},
]
traits_headers = [ "//cc/ipc/cc_param_traits_macros.h" ]
traits_public_deps = [ "//cc/ipc" ]
},
{
types = [
{
mojom = "cc.mojom.OverscrollBehavior"
cpp = "::cc::OverscrollBehavior"
},
]
traits_headers = [ "//cc/ipc/cc_param_traits_macros.h" ]
traits_public_deps = [ "//cc/ipc" ]
},
{
types = [
{
mojom = "cc.mojom.RenderFrameMetadata"
cpp = "::cc::RenderFrameMetadata"
},
]
traits_headers = [ "//cc/mojom/render_frame_metadata_mojom_traits.h" ]
traits_public_deps = [ ":shared_mojom_traits" ]
},
]
cpp_typemaps = shared_typemap
blink_cpp_typemaps = shared_typemap
deps = [ "//services/viz/public/mojom:surfaces" ]
}
mojom("mojom_browser_controls") {
generate_java = true
sources = [
"browser_controls_offset_tag_modifications.mojom",
"browser_controls_offset_tags.mojom",
"browser_controls_params.mojom",
]
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"
shared_typemaps = [
{
types = [
{
mojom = "cc.mojom.BrowserControlsOffsetTagModifications"
cpp = "::cc::BrowserControlsOffsetTagModifications"
},
{
mojom = "cc.mojom.BrowserControlsOffsetTags"
cpp = "::cc::BrowserControlsOffsetTags"
},
]
traits_headers = [
"//cc/mojom/browser_controls_offset_tag_modifications_mojom_traits.h",
]
traits_public_deps = [ "//components/viz/common" ]
},
{
types = [
{
mojom = "cc.mojom.BrowserControlsParams"
cpp = "::cc::BrowserControlsParams"
},
]
traits_headers = [ "browser_controls_params_mojom_traits.h" ]
},
]
cpp_typemaps = shared_typemaps
blink_cpp_typemaps = shared_typemaps
deps = [ "//services/viz/public/mojom:surfaces" ]
}
mojom("mojom_layer_trees") {
generate_java = true
sources = [
"element_id.mojom",
"hit_test_opaqueness.mojom",
"layer_selection_bound.mojom",
"layer_tree_debug_state.mojom",
"layer_type.mojom",
"missing_tile_reason.mojom",
"paint_flags.mojom",
"render_surface_reason.mojom",
"scrollbar_animator.mojom",
"synced_scroll_offset.mojom",
"ui_resource_id.mojom",
]
cpp_typemaps = [
{
types = [
{
mojom = "cc.mojom.ElementId"
cpp = "::cc::ElementId"
nullable_is_same_type = true
copyable_pass_by_value = true
},
]
traits_headers = [ "element_id_mojom_traits.h" ]
traits_public_deps = [ "//cc/paint" ]
},
{
types = [
{
mojom = "cc.mojom.HitTestOpaqueness"
cpp = "::cc::HitTestOpaqueness"
},
]
traits_headers = [ "hit_test_opaqueness_mojom_traits.h" ]
},
{
types = [
{
mojom = "cc.mojom.FilterQuality"
cpp = "::cc::PaintFlags::FilterQuality"
},
{
mojom = "cc.mojom.DynamicRangeLimit"
cpp = "::cc::PaintFlags::DynamicRangeLimitMixture"
},
]
traits_headers = [ "paint_flags_mojom_traits.h" ]
traits_public_deps = [ "//cc/paint" ]
},
{
types = [
{
mojom = "cc.mojom.RenderSurfaceReason"
cpp = "::cc::RenderSurfaceReason"
},
]
traits_headers = [ "render_surface_reason_mojom_traits.h" ]
},
{
types = [
{
mojom = "cc.mojom.ScrollbarAnimator"
cpp = "::cc::LayerTreeSettings::ScrollbarAnimator"
},
]
traits_headers = [ "scrollbar_animator_mojom_traits.h" ]
},
{
types = [
{
mojom = "cc.mojom.SyncedScrollOffset"
cpp = "::scoped_refptr<::cc::SyncedScrollOffset>"
nullable_is_same_type = true
copyable_pass_by_value = true
},
]
traits_headers = [ "//cc/mojom/synced_scroll_offset_mojom_traits.h" ]
traits_sources = [ "//cc/mojom/synced_scroll_offset_mojom_traits.cc" ]
traits_public_deps = [ "//ui/gfx/geometry/mojom" ]
},
{
types = [
{
mojom = "cc.mojom.UIResourceId"
cpp = "::cc::UIResourceId"
copyable_pass_by_value = true
},
]
traits_headers = [ "ui_resource_id_mojom_traits.h" ]
},
{
types = [
{
mojom = "cc.mojom.LayerTreeDebugState"
cpp = "::cc::LayerTreeDebugState"
},
]
traits_headers = [ "layer_tree_debug_state_mojom_traits.h" ]
},
{
types = [
{
mojom = "cc.mojom.LayerSelectionBound"
cpp = "::cc::LayerSelectionBound"
},
{
mojom = "cc.mojom.LayerSelection"
cpp = "::cc::LayerSelection"
},
]
traits_headers = [ "//cc/mojom/layer_selection_bound_mojom_traits.h" ]
traits_sources = [ "//cc/mojom/layer_selection_bound_mojom_traits.cc" ]
traits_public_deps = [ "//cc:layer_selection_bound" ]
},
]
public_deps = [
"//skia/public/mojom",
"//ui/gfx/geometry/mojom",
"//ui/gfx/mojom",
]
}