Add message sizing to basic IPC traits and struct macros.

BUG=577685

Review URL: https://codereview.chromium.org/1655333002

Cr-Commit-Position: refs/heads/master@{#373720}
diff --git a/ipc/param_traits_macros.h b/ipc/param_traits_macros.h
index 7c4cc692..1003440 100644
--- a/ipc/param_traits_macros.h
+++ b/ipc/param_traits_macros.h
@@ -13,6 +13,8 @@
   template <>                                                \
   struct IPC_MESSAGE_EXPORT ParamTraits<struct_name> {       \
     typedef struct_name param_type;                          \
+    static void GetSize(base::PickleSizer* sizer,            \
+                        const param_type& p);                \
     static void Write(base::Pickle* m, const param_type& p); \
     static bool Read(const base::Pickle* m,                  \
                      base::PickleIterator* iter,             \
@@ -53,6 +55,8 @@
   template <>                                                      \
   struct IPC_MESSAGE_EXPORT ParamTraits<enum_name> {               \
     typedef enum_name param_type;                                  \
+    static void GetSize(base::PickleSizer* sizer,                  \
+                        const param_type& p);                      \
     static void Write(base::Pickle* m, const param_type& p);       \
     static bool Read(const base::Pickle* m,                        \
                      base::PickleIterator* iter,                   \