| Index: ui/ozone/platform/wayland/wayland_object.cc
 | 
| diff --git a/ui/ozone/platform/wayland/wayland_object.cc b/ui/ozone/platform/wayland/wayland_object.cc
 | 
| index 378bf4ef2e6556856bce250e126be52387993e62..06d9c5019da917335a002d3bdf1cd2cf2bd01f88 100644
 | 
| --- a/ui/ozone/platform/wayland/wayland_object.cc
 | 
| +++ b/ui/ozone/platform/wayland/wayland_object.cc
 | 
| @@ -10,6 +10,13 @@
 | 
|  namespace wl {
 | 
|  namespace {
 | 
|  
 | 
| +void delete_keyboard(wl_keyboard* keyboard) {
 | 
| +  if (wl_keyboard_get_version(keyboard) >= WL_KEYBOARD_RELEASE_SINCE_VERSION)
 | 
| +    wl_keyboard_release(keyboard);
 | 
| +  else
 | 
| +    wl_keyboard_destroy(keyboard);
 | 
| +}
 | 
| +
 | 
|  void delete_pointer(wl_pointer* pointer) {
 | 
|    if (wl_pointer_get_version(pointer) >= WL_POINTER_RELEASE_SINCE_VERSION)
 | 
|      wl_pointer_release(pointer);
 | 
| @@ -40,6 +47,10 @@ void (*ObjectTraits<wl_display>::deleter)(wl_display*) = &wl_display_disconnect;
 | 
|  const wl_interface* ObjectTraits<wl_output>::interface = &wl_output_interface;
 | 
|  void (*ObjectTraits<wl_output>::deleter)(wl_output*) = &wl_output_destroy;
 | 
|  
 | 
| +const wl_interface* ObjectTraits<wl_keyboard>::interface =
 | 
| +    &wl_keyboard_interface;
 | 
| +void (*ObjectTraits<wl_keyboard>::deleter)(wl_keyboard*) = &delete_keyboard;
 | 
| +
 | 
|  const wl_interface* ObjectTraits<wl_pointer>::interface = &wl_pointer_interface;
 | 
|  void (*ObjectTraits<wl_pointer>::deleter)(wl_pointer*) = &delete_pointer;
 | 
|  
 | 
| 
 |