Introducing gpu::CommandBufferId as a distinct, IdType<...>-based type.

This CL generalizes the pattern used by content::SavePackageId and
cc::SurfaceId and puts it into //base/id_type.h.  Using this pattern for
gpu::CommandBufferId should hopefully help avoid bugs like the mixup
fixed by https://crrev.com/365437.

BUG=514815, 565545
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
[email protected], [email protected]

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

Cr-Commit-Position: refs/heads/master@{#375620}
diff --git a/ppapi/proxy/ppb_graphics_3d_proxy.h b/ppapi/proxy/ppb_graphics_3d_proxy.h
index f6805da..e2b4dda 100644
--- a/ppapi/proxy/ppb_graphics_3d_proxy.h
+++ b/ppapi/proxy/ppb_graphics_3d_proxy.h
@@ -11,6 +11,7 @@
 
 #include "base/macros.h"
 #include "gpu/command_buffer/common/command_buffer.h"
+#include "gpu/command_buffer/common/command_buffer_id.h"
 #include "ppapi/c/pp_graphics_3d.h"
 #include "ppapi/c/pp_instance.h"
 #include "ppapi/proxy/interface_proxy.h"
@@ -41,7 +42,7 @@
   bool Init(gpu::gles2::GLES2Implementation* share_gles2,
             const gpu::Capabilities& capabilities,
             const SerializedHandle& shared_state,
-            uint64_t command_buffer_id);
+            gpu::CommandBufferId command_buffer_id);
 
   // Graphics3DTrusted API. These are not implemented in the proxy.
   PP_Bool SetGetBuffer(int32_t shm_id) override;
@@ -88,7 +89,7 @@
                    HostResource* result,
                    gpu::Capabilities* capabilities,
                    SerializedHandle* handle,
-                   uint64_t* command_buffer_id);
+                   gpu::CommandBufferId* command_buffer_id);
   void OnMsgSetGetBuffer(const HostResource& context, int32_t id);
   void OnMsgWaitForTokenInRange(const HostResource& context,
                                 int32_t start,