[Autofill] Introduce autofill/core/common/mojom

This change introduces a new autofill/core/common/mojom folder and moves
enum definitions from autofill_types.mojom there. While this CL doesn't
change any functionality, future CLs will attempt to remove the existing
EnumTraits specializations and directly use the Mojo enums.

Bug: 962853
Change-Id: I9342c6ab39975d8b5ee98b2b3180c50b23f9374e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1610771
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Fabio Tirelo <ftirelo@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661908}
diff --git a/chrome/common/importer/BUILD.gn b/chrome/common/importer/BUILD.gn
index 9fbb7030f..4a1d01f 100644
--- a/chrome/common/importer/BUILD.gn
+++ b/chrome/common/importer/BUILD.gn
@@ -10,7 +10,7 @@
   ]
 
   public_deps = [
-    "//components/autofill/content/common:mojo_types",
+    "//components/autofill/core/common/mojom:mojo_types",
     "//mojo/public/mojom/base",
     "//url/mojom:url_mojom_gurl",
   ]
diff --git a/chrome/common/importer/profile_import.mojom b/chrome/common/importer/profile_import.mojom
index 081955b..3733b3d 100644
--- a/chrome/common/importer/profile_import.mojom
+++ b/chrome/common/importer/profile_import.mojom
@@ -4,7 +4,7 @@
 
 module chrome.mojom;
 
-import "components/autofill/content/common/autofill_types.mojom";
+import "components/autofill/core/common/mojom/autofill_types.mojom";
 import "mojo/public/mojom/base/string16.mojom";
 import "url/mojom/url.mojom";
 
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 81f367bd..53d7702b 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -2548,7 +2548,7 @@
       "../utility/importer/firefox_importer_unittest_utils_mac.mojom",
     ]
     public_deps = [
-      "//components/autofill/content/common:mojo_types",
+      "//components/autofill/core/common/mojom:mojo_types",
       "//mojo/public/mojom/base",
     ]
   }
diff --git a/chrome/utility/importer/firefox_importer_unittest_utils_mac.mojom b/chrome/utility/importer/firefox_importer_unittest_utils_mac.mojom
index 9219b7e..499e773e 100644
--- a/chrome/utility/importer/firefox_importer_unittest_utils_mac.mojom
+++ b/chrome/utility/importer/firefox_importer_unittest_utils_mac.mojom
@@ -4,7 +4,7 @@
 
 module firefox_importer_unittest_utils_mac.mojom;
 
-import "components/autofill/content/common/autofill_types.mojom";
+import "components/autofill/core/common/mojom/autofill_types.mojom";
 import "mojo/public/mojom/base/file_path.mojom";
 import "mojo/public/mojom/base/string16.mojom";
 
diff --git a/components/BUILD.gn b/components/BUILD.gn
index ae2242b..188bfd3f 100644
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -208,8 +208,8 @@
     deps += [
       "//components/app_modal:unit_tests",
       "//components/autofill/content/browser:unit_tests",
-      "//components/autofill/content/common:unit_tests",
       "//components/autofill/content/renderer:unit_tests",
+      "//components/autofill/core/common/mojom:unit_tests",
       "//components/cast_certificate:unit_tests",
       "//components/cast_channel:unit_tests",
       "//components/certificate_transparency:unit_tests",
diff --git a/components/autofill/content/common/BUILD.gn b/components/autofill/content/common/BUILD.gn
index 3fb742d..c4ad7b9 100644
--- a/components/autofill/content/common/BUILD.gn
+++ b/components/autofill/content/common/BUILD.gn
@@ -11,52 +11,9 @@
   ]
 
   public_deps = [
-    ":mojo_types",
+    "//components/autofill/core/common/mojom:mojo_types",
     "//mojo/public/mojom/base",
     "//ui/gfx/geometry/mojo",
     "//url/mojom:url_mojom_gurl",
   ]
 }
-
-mojom("mojo_types") {
-  sources = [
-    "autofill_types.mojom",
-  ]
-
-  public_deps = [
-    "//mojo/public/mojom/base",
-    "//ui/gfx/geometry/mojo",
-    "//url/mojom:url_mojom_gurl",
-    "//url/mojom:url_mojom_origin",
-  ]
-}
-
-mojom("mojo_test_types") {
-  sources = [
-    "test_autofill_types.mojom",
-  ]
-
-  public_deps = [
-    ":mojo_types",
-  ]
-}
-
-source_set("unit_tests") {
-  testonly = true
-  sources = [
-    "autofill_types_struct_traits_unittest.cc",
-  ]
-
-  public_deps = [
-    ":mojo_test_types",
-  ]
-
-  deps = [
-    "//base",
-    "//base/test:test_support",
-    "//components/autofill/core/browser:test_support",
-    "//components/password_manager/core/common",
-    "//mojo/public/cpp/bindings",
-    "//testing/gtest",
-  ]
-}
diff --git a/components/autofill/content/common/autofill_agent.mojom b/components/autofill/content/common/autofill_agent.mojom
index 6138f4b..391bac0 100644
--- a/components/autofill/content/common/autofill_agent.mojom
+++ b/components/autofill/content/common/autofill_agent.mojom
@@ -4,7 +4,7 @@
 
 module autofill.mojom;
 
-import "components/autofill/content/common/autofill_types.mojom";
+import "components/autofill/core/common/mojom/autofill_types.mojom";
 import "mojo/public/mojom/base/string16.mojom";
 
 // There is one instance of this interface per render frame in the render
diff --git a/components/autofill/content/common/autofill_driver.mojom b/components/autofill/content/common/autofill_driver.mojom
index 765affb..3274079 100644
--- a/components/autofill/content/common/autofill_driver.mojom
+++ b/components/autofill/content/common/autofill_driver.mojom
@@ -4,7 +4,7 @@
 
 module autofill.mojom;
 
-import "components/autofill/content/common/autofill_types.mojom";
+import "components/autofill/core/common/mojom/autofill_types.mojom";
 import "mojo/public/mojom/base/string16.mojom";
 import "mojo/public/mojom/base/text_direction.mojom";
 import "mojo/public/mojom/base/time.mojom";
diff --git a/components/autofill/content/common/test_autofill_types.mojom b/components/autofill/content/common/test_autofill_types.mojom
deleted file mode 100644
index c24e36bc..0000000
--- a/components/autofill/content/common/test_autofill_types.mojom
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2016 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.
-
-module autofill.mojom;
-
-import "components/autofill/content/common/autofill_types.mojom";
-
-interface TypeTraitsTest {
-  PassFormData(FormData s) => (FormData passed);
-  PassFormFieldData(FormFieldData s) => (FormFieldData passed);
-  PassFormDataPredictions(FormDataPredictions s) => (FormDataPredictions passed);
-  PassFormFieldDataPredictions(FormFieldDataPredictions s) => (FormFieldDataPredictions passed);
-  PassPasswordForm(PasswordForm s) => (PasswordForm passed);
-  PassPasswordFormFillData(PasswordFormFillData s) => (PasswordFormFillData passed);
-  PassFormsPredictionsMap(FormsPredictionsMap s) => (FormsPredictionsMap passed);
-  PassPasswordFormGenerationData(PasswordFormGenerationData s) => (PasswordFormGenerationData passed);
-  PassNewPasswordFormGenerationData(NewPasswordFormGenerationData s) => (NewPasswordFormGenerationData passed);
-  PassPasswordGenerationUIData(PasswordGenerationUIData s) => (PasswordGenerationUIData passed);
-};
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
index c7af09b..4d8479c 100644
--- a/components/autofill/content/renderer/password_autofill_agent.cc
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
@@ -23,7 +23,6 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
-#include "components/autofill/content/common/autofill_types.mojom.h"
 #include "components/autofill/content/renderer/form_autofill_util.h"
 #include "components/autofill/content/renderer/password_form_conversion_utils.h"
 #include "components/autofill/content/renderer/password_generation_agent.h"
@@ -32,6 +31,7 @@
 #include "components/autofill/core/common/autofill_constants.h"
 #include "components/autofill/core/common/autofill_util.h"
 #include "components/autofill/core/common/form_field_data.h"
+#include "components/autofill/core/common/mojom/autofill_types.mojom.h"
 #include "components/autofill/core/common/password_form_fill_data.h"
 #include "content/public/renderer/document_state.h"
 #include "content/public/renderer/render_frame.h"
diff --git a/components/autofill/core/common/mojom/BUILD.gn b/components/autofill/core/common/mojom/BUILD.gn
new file mode 100644
index 0000000..98e1ed0
--- /dev/null
+++ b/components/autofill/core/common/mojom/BUILD.gn
@@ -0,0 +1,48 @@
+# Copyright 2019 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.
+
+import("//mojo/public/tools/bindings/mojom.gni")
+
+mojom("mojo_types") {
+  sources = [
+    "autofill_types.mojom",
+  ]
+
+  public_deps = [
+    "//mojo/public/mojom/base",
+    "//ui/gfx/geometry/mojo",
+    "//url/mojom:url_mojom_gurl",
+    "//url/mojom:url_mojom_origin",
+  ]
+}
+
+mojom("mojo_test_types") {
+  sources = [
+    "test_autofill_types.mojom",
+  ]
+
+  public_deps = [
+    ":mojo_types",
+  ]
+}
+
+source_set("unit_tests") {
+  testonly = true
+  sources = [
+    "autofill_types_struct_traits_unittest.cc",
+  ]
+
+  public_deps = [
+    ":mojo_test_types",
+  ]
+
+  deps = [
+    "//base",
+    "//base/test:test_support",
+    "//components/autofill/core/browser:test_support",
+    "//components/password_manager/core/common",
+    "//mojo/public/cpp/bindings",
+    "//testing/gtest",
+  ]
+}
diff --git a/components/autofill/core/common/mojom/DEPS b/components/autofill/core/common/mojom/DEPS
new file mode 100644
index 0000000..ef8ad28
--- /dev/null
+++ b/components/autofill/core/common/mojom/DEPS
@@ -0,0 +1,3 @@
+include_rules = [
+  "+mojo/public",
+]
diff --git a/components/autofill/core/common/mojom/OWNERS b/components/autofill/core/common/mojom/OWNERS
new file mode 100644
index 0000000..2c44a46
--- /dev/null
+++ b/components/autofill/core/common/mojom/OWNERS
@@ -0,0 +1,6 @@
+per-file *.mojom=set noparent
+per-file *.mojom=file://ipc/SECURITY_OWNERS
+per-file *_struct_traits*.*=set noparent
+per-file *_struct_traits*.*=file://ipc/SECURITY_OWNERS
+per-file *.typemap=set noparent
+per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/autofill/content/common/autofill_types.mojom b/components/autofill/core/common/mojom/autofill_types.mojom
similarity index 100%
rename from components/autofill/content/common/autofill_types.mojom
rename to components/autofill/core/common/mojom/autofill_types.mojom
diff --git a/components/autofill/content/common/autofill_types.typemap b/components/autofill/core/common/mojom/autofill_types.typemap
similarity index 91%
rename from components/autofill/content/common/autofill_types.typemap
rename to components/autofill/core/common/mojom/autofill_types.typemap
index 9033346..917c37a 100644
--- a/components/autofill/content/common/autofill_types.typemap
+++ b/components/autofill/core/common/mojom/autofill_types.typemap
@@ -2,7 +2,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-mojom = "//components/autofill/content/common/autofill_types.mojom"
+mojom = "//components/autofill/core/common/mojom/autofill_types.mojom"
 public_headers = [
   "//components/autofill/core/common/filling_status.h",
   "//components/autofill/core/common/form_data.h",
@@ -17,9 +17,9 @@
   "//components/autofill/core/common/submission_source.h",
 ]
 traits_headers =
-    [ "//components/autofill/content/common/autofill_types_struct_traits.h" ]
+    [ "//components/autofill/core/common/mojom/autofill_types_struct_traits.h" ]
 sources = [
-  "//components/autofill/content/common/autofill_types_struct_traits.cc",
+  "//components/autofill/core/common/mojom/autofill_types_struct_traits.cc",
 ]
 deps = [
   "//base",
diff --git a/components/autofill/content/common/autofill_types_struct_traits.cc b/components/autofill/core/common/mojom/autofill_types_struct_traits.cc
similarity index 99%
rename from components/autofill/content/common/autofill_types_struct_traits.cc
rename to components/autofill/core/common/mojom/autofill_types_struct_traits.cc
index f7b9a6a..adc0d4a 100644
--- a/components/autofill/content/common/autofill_types_struct_traits.cc
+++ b/components/autofill/core/common/mojom/autofill_types_struct_traits.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/autofill/content/common/autofill_types_struct_traits.h"
+#include "components/autofill/core/common/mojom/autofill_types_struct_traits.h"
 
 #include "base/i18n/rtl.h"
 #include "mojo/public/cpp/base/string16_mojom_traits.h"
diff --git a/components/autofill/content/common/autofill_types_struct_traits.h b/components/autofill/core/common/mojom/autofill_types_struct_traits.h
similarity index 98%
rename from components/autofill/content/common/autofill_types_struct_traits.h
rename to components/autofill/core/common/mojom/autofill_types_struct_traits.h
index 43a16f5..af8800b 100644
--- a/components/autofill/content/common/autofill_types_struct_traits.h
+++ b/components/autofill/core/common/mojom/autofill_types_struct_traits.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_AUTOFILL_CONTENT_COMMON_AUTOFILL_TYPES_STRUCT_TRAITS_H_
-#define COMPONENTS_AUTOFILL_CONTENT_COMMON_AUTOFILL_TYPES_STRUCT_TRAITS_H_
+#ifndef COMPONENTS_AUTOFILL_CORE_COMMON_MOJOM_AUTOFILL_TYPES_STRUCT_TRAITS_H_
+#define COMPONENTS_AUTOFILL_CORE_COMMON_MOJOM_AUTOFILL_TYPES_STRUCT_TRAITS_H_
 
 #include <map>
 #include <string>
@@ -12,11 +12,11 @@
 
 #include "base/i18n/rtl.h"
 #include "base/strings/string16.h"
-#include "components/autofill/content/common/autofill_types.mojom.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/form_data_predictions.h"
 #include "components/autofill/core/common/form_field_data.h"
 #include "components/autofill/core/common/form_field_data_predictions.h"
+#include "components/autofill/core/common/mojom/autofill_types.mojom.h"
 #include "components/autofill/core/common/password_form.h"
 #include "components/autofill/core/common/password_form_field_prediction_map.h"
 #include "components/autofill/core/common/password_form_fill_data.h"
@@ -735,4 +735,4 @@
 
 }  // namespace mojo
 
-#endif  // COMPONENTS_AUTOFILL_CONTENT_COMMON_AUTOFILL_TYPES_STRUCT_TRAITS_H_
+#endif  // COMPONENTS_AUTOFILL_CORE_COMMON_MOJOM_AUTOFILL_TYPES_STRUCT_TRAITS_H_
diff --git a/components/autofill/content/common/autofill_types_struct_traits_unittest.cc b/components/autofill/core/common/mojom/autofill_types_struct_traits_unittest.cc
similarity index 91%
rename from components/autofill/content/common/autofill_types_struct_traits_unittest.cc
rename to components/autofill/core/common/mojom/autofill_types_struct_traits_unittest.cc
index d750fa4..8a9c1e52 100644
--- a/components/autofill/content/common/autofill_types_struct_traits_unittest.cc
+++ b/components/autofill/core/common/mojom/autofill_types_struct_traits_unittest.cc
@@ -8,11 +8,11 @@
 #include "base/run_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/scoped_task_environment.h"
-#include "components/autofill/content/common/test_autofill_types.mojom.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
 #include "components/autofill/core/common/button_title_type.h"
 #include "components/autofill/core/common/form_data.h"
 #include "components/autofill/core/common/form_field_data.h"
+#include "components/autofill/core/common/mojom/test_autofill_types.mojom.h"
 #include "components/autofill/core/common/password_generation_util.h"
 #include "components/autofill/core/common/signatures_util.h"
 #include "mojo/public/cpp/bindings/binding_set.h"
@@ -276,58 +276,58 @@
 };
 
 void ExpectFormFieldData(const FormFieldData& expected,
-                         const base::Closure& closure,
+                         base::OnceClosure closure,
                          const FormFieldData& passed) {
   EXPECT_EQ(expected, passed);
   EXPECT_EQ(expected.value, passed.value);
   EXPECT_EQ(expected.typed_value, passed.typed_value);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 void ExpectFormData(const FormData& expected,
-                    const base::Closure& closure,
+                    base::OnceClosure closure,
                     const FormData& passed) {
   EXPECT_EQ(expected, passed);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 void ExpectFormFieldDataPredictions(const FormFieldDataPredictions& expected,
-                                    const base::Closure& closure,
+                                    base::OnceClosure closure,
                                     const FormFieldDataPredictions& passed) {
   EXPECT_EQ(expected, passed);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 void ExpectFormDataPredictions(const FormDataPredictions& expected,
-                               const base::Closure& closure,
+                               base::OnceClosure closure,
                                const FormDataPredictions& passed) {
   EXPECT_EQ(expected, passed);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 void ExpectPasswordFormFillData(const PasswordFormFillData& expected,
-                                const base::Closure& closure,
+                                base::OnceClosure closure,
                                 const PasswordFormFillData& passed) {
   CheckEqualPasswordFormFillData(expected, passed);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 void ExpectPasswordFormGenerationData(
     const PasswordFormGenerationData& expected,
-    const base::Closure& closure,
+    base::OnceClosure closure,
     const PasswordFormGenerationData& passed) {
   CheckEqualPasswordFormGenerationData(expected, passed);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 void ExpectNewPasswordFormGenerationData(
     const NewPasswordFormGenerationData& expected,
-    const base::Closure& closure,
+    base::OnceClosure closure,
     const NewPasswordFormGenerationData& passed) {
   EXPECT_EQ(expected.new_password_renderer_id, passed.new_password_renderer_id);
   EXPECT_EQ(expected.confirmation_password_renderer_id,
             passed.confirmation_password_renderer_id);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 void ExpectPasswordGenerationUIData(
@@ -339,17 +339,17 @@
 }
 
 void ExpectPasswordForm(const PasswordForm& expected,
-                        const base::Closure& closure,
+                        base::OnceClosure closure,
                         const PasswordForm& passed) {
   EXPECT_EQ(expected, passed);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 void ExpectFormsPredictionsMap(const FormsPredictionsMap& expected,
-                               const base::Closure& closure,
+                               base::OnceClosure closure,
                                const FormsPredictionsMap& passed) {
   EXPECT_EQ(expected, passed);
-  closure.Run();
+  std::move(closure).Run();
 }
 
 TEST_F(AutofillTypeTraitsTestImpl, PassFormFieldData) {
@@ -376,7 +376,7 @@
   base::RunLoop loop;
   mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
   proxy->PassFormFieldData(
-      input, base::Bind(&ExpectFormFieldData, input, loop.QuitClosure()));
+      input, base::BindOnce(&ExpectFormFieldData, input, loop.QuitClosure()));
   loop.Run();
 }
 
@@ -390,8 +390,8 @@
 
   base::RunLoop loop;
   mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
-  proxy->PassFormData(input,
-                      base::Bind(&ExpectFormData, input, loop.QuitClosure()));
+  proxy->PassFormData(
+      input, base::BindOnce(&ExpectFormData, input, loop.QuitClosure()));
   loop.Run();
 }
 
@@ -402,8 +402,8 @@
   base::RunLoop loop;
   mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
   proxy->PassFormFieldDataPredictions(
-      input,
-      base::Bind(&ExpectFormFieldDataPredictions, input, loop.QuitClosure()));
+      input, base::BindOnce(&ExpectFormFieldDataPredictions, input,
+                            loop.QuitClosure()));
   loop.Run();
 }
 
@@ -423,7 +423,8 @@
   base::RunLoop loop;
   mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
   proxy->PassFormDataPredictions(
-      input, base::Bind(&ExpectFormDataPredictions, input, loop.QuitClosure()));
+      input,
+      base::BindOnce(&ExpectFormDataPredictions, input, loop.QuitClosure()));
   loop.Run();
 }
 
@@ -433,8 +434,9 @@
 
   base::RunLoop loop;
   mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
-  proxy->PassPasswordFormFillData(input, base::Bind(&ExpectPasswordFormFillData,
-                                                    input, loop.QuitClosure()));
+  proxy->PassPasswordFormFillData(
+      input,
+      base::BindOnce(&ExpectPasswordFormFillData, input, loop.QuitClosure()));
   loop.Run();
 }
 
@@ -452,8 +454,8 @@
   base::RunLoop loop;
   mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
   proxy->PassPasswordFormGenerationData(
-      input,
-      base::Bind(&ExpectPasswordFormGenerationData, input, loop.QuitClosure()));
+      input, base::BindOnce(&ExpectPasswordFormGenerationData, input,
+                            loop.QuitClosure()));
   loop.Run();
 }
 
@@ -489,7 +491,7 @@
   base::RunLoop loop;
   mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
   proxy->PassPasswordForm(
-      input, base::Bind(&ExpectPasswordForm, input, loop.QuitClosure()));
+      input, base::BindOnce(&ExpectPasswordForm, input, loop.QuitClosure()));
   loop.Run();
 }
 
@@ -500,7 +502,8 @@
   base::RunLoop loop;
   mojom::TypeTraitsTestPtr proxy = GetTypeTraitsTestProxy();
   proxy->PassFormsPredictionsMap(
-      input, base::Bind(&ExpectFormsPredictionsMap, input, loop.QuitClosure()));
+      input,
+      base::BindOnce(&ExpectFormsPredictionsMap, input, loop.QuitClosure()));
   loop.Run();
 }
 
diff --git a/components/autofill/core/common/mojom/test_autofill_types.mojom b/components/autofill/core/common/mojom/test_autofill_types.mojom
new file mode 100644
index 0000000..b9c40d98
--- /dev/null
+++ b/components/autofill/core/common/mojom/test_autofill_types.mojom
@@ -0,0 +1,27 @@
+// Copyright 2016 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.
+
+module autofill.mojom;
+
+import "components/autofill/core/common/mojom/autofill_types.mojom";
+
+interface TypeTraitsTest {
+  PassFormData(FormData s) => (FormData passed);
+  PassFormFieldData(FormFieldData s) => (FormFieldData passed);
+  PassFormDataPredictions(FormDataPredictions s) =>
+      (FormDataPredictions passed);
+  PassFormFieldDataPredictions(FormFieldDataPredictions s) =>
+      (FormFieldDataPredictions passed);
+  PassPasswordForm(PasswordForm s) => (PasswordForm passed);
+  PassPasswordFormFillData(PasswordFormFillData s) =>
+      (PasswordFormFillData passed);
+  PassFormsPredictionsMap(FormsPredictionsMap s) =>
+      (FormsPredictionsMap passed);
+  PassPasswordFormGenerationData(PasswordFormGenerationData s) =>
+      (PasswordFormGenerationData passed);
+  PassNewPasswordFormGenerationData(NewPasswordFormGenerationData s) =>
+      (NewPasswordFormGenerationData passed);
+  PassPasswordGenerationUIData(PasswordGenerationUIData s) =>
+      (PasswordGenerationUIData passed);
+};
diff --git a/components/typemaps.gni b/components/typemaps.gni
index e4019a5dd..0b9c513 100644
--- a/components/typemaps.gni
+++ b/components/typemaps.gni
@@ -4,7 +4,7 @@
 
 typemaps = [
   "//components/account_id/interfaces/account_id.typemap",
-  "//components/autofill/content/common/autofill_types.typemap",
+  "//components/autofill/core/common/mojom/autofill_types.typemap",
   "//components/chrome_cleaner/public/typemaps/chrome_prompt.typemap",
   "//components/content_capture/common/content_capture.typemap",
   "//components/content_settings/core/common/content_settings.typemap",