1# Copyright 2016 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//mojo/public/tools/bindings/mojom.gni") 6 7mojom("url_mojom_gurl") { 8 generate_java = true 9 sources = [ "url.mojom" ] 10 11 cpp_typemaps = [ 12 { 13 types = [ 14 { 15 mojom = "url.mojom.Url" 16 cpp = "::GURL" 17 }, 18 ] 19 traits_headers = [ "//url/mojom/url_gurl_mojom_traits.h" ] 20 traits_public_deps = [ 21 ":mojom_traits", 22 "//url", 23 ] 24 }, 25 ] 26 27 blink_cpp_typemaps = [ 28 { 29 types = [ 30 { 31 mojom = "url.mojom.Url" 32 cpp = "::blink::KURL" 33 force_serialize = true 34 }, 35 ] 36 traits_headers = [ 37 "//third_party/blink/renderer/platform/mojo/kurl_mojom_traits.h", 38 "//third_party/blink/renderer/platform/weborigin/kurl_hash.h", 39 ] 40 traits_public_deps = [ "//url" ] 41 }, 42 ] 43 44 webui_module_path = "chrome://resources/mojo/url/mojom" 45} 46 47mojom("url_mojom_origin") { 48 generate_java = true 49 sources = [ "origin.mojom" ] 50 51 public_deps = [ 52 ":url_mojom_gurl", 53 "//mojo/public/mojom/base", 54 ] 55 56 check_includes_blink = false 57 58 cpp_typemaps = [ 59 { 60 types = [ 61 { 62 mojom = "url.mojom.Origin" 63 cpp = "::url::Origin" 64 }, 65 ] 66 traits_headers = [ "//url/mojom/origin_mojom_traits.h" ] 67 traits_public_deps = [ 68 ":mojom_traits", 69 "//url", 70 ] 71 }, 72 ] 73 74 blink_cpp_typemaps = [ 75 { 76 types = [ 77 { 78 mojom = "url.mojom.Origin" 79 cpp = "::scoped_refptr<const ::blink::SecurityOrigin>" 80 nullable_is_same_type = true 81 }, 82 ] 83 traits_headers = [ "//third_party/blink/renderer/platform/mojo/security_origin_mojom_traits.h" ] 84 traits_public_deps = [ "//url" ] 85 }, 86 ] 87 88 webui_module_path = "chrome://resources/mojo/url/mojom" 89} 90 91mojom("url_mojom_scheme_host_port") { 92 generate_java = true 93 sources = [ "scheme_host_port.mojom" ] 94 95 cpp_typemaps = [ 96 { 97 types = [ 98 { 99 mojom = "url.mojom.SchemeHostPort" 100 cpp = "::url::SchemeHostPort" 101 }, 102 ] 103 traits_headers = [ "//url/mojom/scheme_host_port_mojom_traits.h" ] 104 traits_public_deps = [ "//url" ] 105 }, 106 ] 107} 108 109mojom("test_url_mojom_gurl") { 110 sources = [ "url_test.mojom" ] 111 112 public_deps = [ 113 ":url_mojom_gurl", 114 ":url_mojom_origin", 115 ":url_mojom_scheme_host_port", 116 ] 117} 118 119component("mojom_traits") { 120 output_name = "url_mojom_traits" 121 122 sources = [ 123 "origin_mojom_traits.cc", 124 "origin_mojom_traits.h", 125 "scheme_host_port_mojom_traits.cc", 126 "scheme_host_port_mojom_traits.h", 127 "url_gurl_mojom_traits.cc", 128 "url_gurl_mojom_traits.h", 129 ] 130 131 defines = [ "IS_URL_MOJOM_TRAITS_IMPL" ] 132 133 public_deps = [ 134 ":url_mojom_gurl_shared", 135 ":url_mojom_origin_shared", 136 ":url_mojom_scheme_host_port", 137 "//base", 138 "//mojo/public/cpp/base:shared_typemap_traits", 139 "//url", 140 ] 141} 142