• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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