# Copyright 2017 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.

mojom = "//sandbox/mac/mojom/seatbelt_extension_token.mojom"
public_headers = [ "//sandbox/mac/seatbelt_extension_token.h" ]
traits_headers =
    [ "//sandbox/mac/mojom/seatbelt_extension_token_mojom_traits.h" ]
sources = [
  "//sandbox/mac/mojom/seatbelt_extension_token_mojom_traits.cc",
]
deps = [
  "//sandbox/mac:seatbelt_extension",
]
type_mappings = [ "sandbox.mac.mojom.SeatbeltExtensionToken=::sandbox::SeatbeltExtensionToken[move_only]" ]
