chromium/third_party/blink/public/mojom/storage_key/BUILD.gn

# Copyright 2022 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")

mojom("storage_key") {
  sources = [
    "ancestor_chain_bit.mojom",
    "storage_key.mojom",
  ]

  public_deps = [
    "//mojo/public/mojom/base",
    "//services/network/public/mojom:mojom_schemeful_site",
    "//url/mojom:url_mojom_gurl",
    "//url/mojom:url_mojom_origin",
  ]

  cpp_typemaps = [
    {
      types = [
        {
          mojom = "blink.mojom.StorageKey"
          cpp = "::blink::StorageKey"
        },
      ]
      traits_headers = [ "//third_party/blink/public/common/storage_key/storage_key_mojom_traits.h" ]
    },
  ]

  blink_cpp_typemaps = [
    {
      types = [
        {
          mojom = "blink.mojom.StorageKey"
          cpp = "::blink::BlinkStorageKey"
        },
      ]
      traits_headers = [ "//third_party/blink/renderer/platform/storage/blink_storage_key_mojom_traits.h" ]
    },
  ]

  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

  webui_module_path = "/"

  # Used from other Blink locations that rely on legacy bindings.
  generate_legacy_js_bindings = true
}