Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Issue 578890 upstream wayland backend for ozone (20% project)
Starred by 22 users Project Member Reported by spang@chromium.org, Jan 18 2016 Back to list
Status: Untriaged
Owner: ----
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment
We can support running chromium on wayland natively by adding a new platform //ui/ozone/platform/wayland.

It can be done by upstreaming (with any changes requested during review) https://github.com/01org/ozone-wayland

Eventually, we can have a linux chromium that runs on either x11 or wayland based on runtime environment.

We actually already have wayland in third_party for //components/exo.
 
Project Member Comment 1 by bugdroid1@chromium.org, Jan 20 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1624ad1b62af5efad5454dd604f7fab5bd7f67ea

commit 1624ad1b62af5efad5454dd604f7fab5bd7f67ea
Author: forney <forney@google.com>
Date: Wed Jan 20 05:10:37 2016

third_party/wayland: Add wayland_client and wayland_protocol targets to wayland.gyp

This matches the targets present in BUILD.gn.

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#370307}

[modify] http://crrev.com/1624ad1b62af5efad5454dd604f7fab5bd7f67ea/third_party/wayland/wayland.gyp

Cc: dongseon...@intel.com kalyan.k...@intel.com tiago.vi...@intel.com
Project Member Comment 3 by bugdroid1@chromium.org, Feb 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/44616bf0c27ddb9d93f838019a2b845cf62289c6

commit 44616bf0c27ddb9d93f838019a2b845cf62289c6
Author: forney <forney@google.com>
Date: Mon Feb 01 21:44:07 2016

Add initial SHM-only Wayland Ozone implementation

This is just the bare minimum to get a window on the screen.

Things like cursor handling, input handling, and vsync provider will come in
subsequent commits.

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#372770}

[modify] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/build/common.gypi
[modify] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/media/ozone/media_ozone_platform.cc
[modify] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/BUILD.gn
[modify] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/ozone.gni
[modify] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/ozone.gyp
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/BUILD.gn
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/client_native_pixmap_factory_wayland.cc
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/client_native_pixmap_factory_wayland.h
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/ozone_platform_wayland.cc
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/ozone_platform_wayland.h
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/wayland.gypi
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/wayland_display.cc
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/wayland_display.h
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/wayland_object.h
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/wayland_surface_factory.cc
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/wayland_surface_factory.h
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/wayland_window.cc
[add] http://crrev.com/44616bf0c27ddb9d93f838019a2b845cf62289c6/ui/ozone/platform/wayland/wayland_window.h

Project Member Comment 4 by bugdroid1@chromium.org, Feb 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3

commit ee3223b8f37b4a7ad13a73808d7be8d59bf635d3
Author: forney <forney@google.com>
Date: Sun Feb 14 02:55:12 2016

ozone/platform/wayland: Add some tests

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#375377}

[modify] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/BUILD.gn
[modify] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/BUILD.gn
[add] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/fake_server.cc
[add] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/fake_server.h
[add] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/mock_platform_window_delegate.cc
[add] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/mock_platform_window_delegate.h
[modify] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/wayland.gypi
[modify] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/wayland_display.h
[add] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/wayland_display_unittest.cc
[modify] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/wayland_surface_factory.cc
[modify] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/wayland_surface_factory.h
[add] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/wayland_surface_factory_unittest.cc
[modify] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/wayland_window.h
[add] http://crrev.com/ee3223b8f37b4a7ad13a73808d7be8d59bf635d3/ui/ozone/platform/wayland/wayland_window_unittest.cc

Project Member Comment 5 by bugdroid1@chromium.org, Feb 18 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/65f0685b1d98f975c8fcd16bef72789410fa8bbb

commit 65f0685b1d98f975c8fcd16bef72789410fa8bbb
Author: forney <forney@google.com>
Date: Thu Feb 18 00:47:43 2016

ozone/platform/wayland: Ensure that globals are bound with supported versions

Also, make sure that test objects inherit the versions from the parent.

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#376052}

[modify] http://crrev.com/65f0685b1d98f975c8fcd16bef72789410fa8bbb/ui/ozone/platform/wayland/fake_server.cc
[modify] http://crrev.com/65f0685b1d98f975c8fcd16bef72789410fa8bbb/ui/ozone/platform/wayland/wayland_display.cc

Project Member Comment 7 by bugdroid1@chromium.org, Mar 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dbdd487f447892b2b3b06e366e72553c21bdb2cb

commit dbdd487f447892b2b3b06e366e72553c21bdb2cb
Author: forney <forney@google.com>
Date: Wed Mar 02 12:55:55 2016

ozone/platform/wayland: Drop WaylandWindow::GetWidget()

It was only used in tests and WaylandDisplay::{Add,Remove}Window, and
WaylandWindow can just provide the widget as an argument.

This way we can drop WaylandWindowInitializeTest, and just use the widget from
OnAcceleratedWidgetAvailable in all tests. This more closely matches reality.

Also, inline and rename GetSurface() -> surface() because it is a simple
accessor.

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#378733}

[modify] https://crrev.com/dbdd487f447892b2b3b06e366e72553c21bdb2cb/ui/ozone/platform/wayland/wayland_display.cc
[modify] https://crrev.com/dbdd487f447892b2b3b06e366e72553c21bdb2cb/ui/ozone/platform/wayland/wayland_display.h
[modify] https://crrev.com/dbdd487f447892b2b3b06e366e72553c21bdb2cb/ui/ozone/platform/wayland/wayland_surface_factory.cc
[modify] https://crrev.com/dbdd487f447892b2b3b06e366e72553c21bdb2cb/ui/ozone/platform/wayland/wayland_surface_factory_unittest.cc
[modify] https://crrev.com/dbdd487f447892b2b3b06e366e72553c21bdb2cb/ui/ozone/platform/wayland/wayland_test.cc
[modify] https://crrev.com/dbdd487f447892b2b3b06e366e72553c21bdb2cb/ui/ozone/platform/wayland/wayland_test.h
[modify] https://crrev.com/dbdd487f447892b2b3b06e366e72553c21bdb2cb/ui/ozone/platform/wayland/wayland_window.cc
[modify] https://crrev.com/dbdd487f447892b2b3b06e366e72553c21bdb2cb/ui/ozone/platform/wayland/wayland_window.h

Project Member Comment 8 by bugdroid1@chromium.org, Mar 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d26b74d5bbbd340fbbd1070071e32a4425a9ba8a

commit d26b74d5bbbd340fbbd1070071e32a4425a9ba8a
Author: dongseong.hwang <dongseong.hwang@intel.com>
Date: Thu Mar 03 20:16:17 2016

ozone/platform/wayland: build fix about CreateNativePixmapFromHandle()

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#379069}

[modify] https://crrev.com/d26b74d5bbbd340fbbd1070071e32a4425a9ba8a/ui/ozone/platform/wayland/wayland_surface_factory.cc
[modify] https://crrev.com/d26b74d5bbbd340fbbd1070071e32a4425a9ba8a/ui/ozone/platform/wayland/wayland_surface_factory.h

Project Member Comment 9 by bugdroid1@chromium.org, Mar 3 2016
Labels: merge-merged-2666
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d26b74d5bbbd340fbbd1070071e32a4425a9ba8a

commit d26b74d5bbbd340fbbd1070071e32a4425a9ba8a
Author: dongseong.hwang <dongseong.hwang@intel.com>
Date: Thu Mar 03 20:16:17 2016

ozone/platform/wayland: build fix about CreateNativePixmapFromHandle()

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#379069}

[modify] https://crrev.com/d26b74d5bbbd340fbbd1070071e32a4425a9ba8a/ui/ozone/platform/wayland/wayland_surface_factory.cc
[modify] https://crrev.com/d26b74d5bbbd340fbbd1070071e32a4425a9ba8a/ui/ozone/platform/wayland/wayland_surface_factory.h

Project Member Comment 10 by bugdroid1@chromium.org, Mar 10 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5fb40e71b18c6c32dce4451821c7866fe80ea5e9

commit 5fb40e71b18c6c32dce4451821c7866fe80ea5e9
Author: forney <forney@google.com>
Date: Thu Mar 10 16:41:26 2016

ozone/platform/wayland: Use more realistic event processing and request flushing in tests

Now, we use a MessageLoop and wait for idle to determine when the client has
processed pending events.

This uncovered a number of situations where Wayland platform was not flushing
the connection. To resolve this, add a ScheduleFlush method to flush at some
later time, and call it when we send requests.

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#380419}

[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/fake_server.cc
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/fake_server.h
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/wayland_display.cc
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/wayland_display.h
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/wayland_display_unittest.cc
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/wayland_surface_factory.cc
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/wayland_test.cc
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/wayland_test.h
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/wayland_window.cc
[modify] https://crrev.com/5fb40e71b18c6c32dce4451821c7866fe80ea5e9/ui/ozone/platform/wayland/wayland_window_unittest.cc

Project Member Comment 11 by bugdroid1@chromium.org, Mar 11 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1329450837ca9818a2da0210f681b4cb037f3e08

commit 1329450837ca9818a2da0210f681b4cb037f3e08
Author: forney <forney@google.com>
Date: Fri Mar 11 05:16:09 2016

ozone/platform/wayland: Implement pointer handling

Only version 4 of wl_pointer is handled currently for simplicity. Version 5 was released only recently in wayland-1.10, and compositors should support both versions.

BUG=578890

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

Cr-Commit-Position: refs/heads/master@{#380516}

[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/BUILD.gn
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/fake_server.cc
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/fake_server.h
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland.gypi
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_display.cc
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_display.h
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_object.cc
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_object.h
[add] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_pointer.cc
[add] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_pointer.h
[add] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_pointer_unittest.cc
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_test.cc
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_test.h
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_window.cc
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_window.h
[modify] https://crrev.com/1329450837ca9818a2da0210f681b4cb037f3e08/ui/ozone/platform/wayland/wayland_window_unittest.cc

Project Member Comment 13 by bugdroid1@chromium.org, Sep 2
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/54041d62f2ece007b0e289fa66ad89ecc3c39135

commit 54041d62f2ece007b0e289fa66ad89ecc3c39135
Author: fwang <fwang@igalia.com>
Date: Fri Sep 02 12:43:46 2016

ozone/platform/wayland: Add missing header base/bind.h

CL includes the header defining base::Bind in order to fix
the following build error for Ozone/Wayland:

ui/ozone/platform/wayland/wayland_window.cc:156:27: error:
 no member named 'Bind' in namespace 'base' native_event,
 base::Bind(&PlatformWindowDelegate::DispatchEvent,
                    ~~~~~~^
ui/ozone/platform/wayland/wayland_window.cc:157:38: error:
no member named 'Unretained' in namespace 'base'
base::Unretained(delegate_)));

BUG=578890
R=spang@chromium.org

Review-Url: https://codereview.chromium.org/2297743003
Cr-Commit-Position: refs/heads/master@{#416247}

[modify] https://crrev.com/54041d62f2ece007b0e289fa66ad89ecc3c39135/ui/ozone/platform/wayland/wayland_window.cc

Cc: thomasanderson@chromium.org
Project Member Comment 15 by bugdroid1@chromium.org, Sep 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de57ce2d6a43b6593c770f583ccf06b8779e3ccb

commit de57ce2d6a43b6593c770f583ccf06b8779e3ccb
Author: joone.hur <joone.hur@intel.com>
Date: Tue Sep 27 09:25:32 2016

ozone/platform/wayland: Add support for wl_output_interface

WaylandScreen is used to keep track of the current outputs
(display) that are available to Wayland clients.

This is a part of upstream work for the ozone-wayland project:
https://github.com/01org/ozone-wayland

BUG=578890
TEST=WaylandDisplayTest.Output

Review-Url: https://codereview.chromium.org/2042503002
Cr-Commit-Position: refs/heads/master@{#421157}

[modify] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/BUILD.gn
[modify] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/fake_server.cc
[modify] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/fake_server.h
[modify] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/wayland_connection.cc
[modify] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/wayland_connection.h
[modify] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/wayland_connection_unittest.cc
[modify] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/wayland_object.cc
[modify] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/wayland_object.h
[add] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/wayland_output.cc
[add] https://crrev.com/de57ce2d6a43b6593c770f583ccf06b8779e3ccb/ui/ozone/platform/wayland/wayland_output.h

Cc: joone....@intel.com
Project Member Comment 17 by bugdroid1@chromium.org, Jan 20
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e5a535bb5a2fc99a090f81bde71ed50e974efa60

commit e5a535bb5a2fc99a090f81bde71ed50e974efa60
Author: tonikitoo <tonikitoo@igalia.com>
Date: Fri Jan 20 21:29:41 2017

Add a KeyboardLayoutEngine::SetCurrentLayoutFromBuffer implementation

Some servers (read Wayland here) do the XKB initialization and provide
clients with a file descriptor that can be mmap'ed in order to retrieve
the keyboard layout string.

Today the method XkbKeyboardLayoutEngine::SetCurrentLayoutByName is
(ab)used to support this case (where the client provides the keyboard
layout string not the name), which is not ideal.

CL adds a method that solely handles this case, cleaning up
XkbKeyboardLayoutEngine::SetCurrentLayoutByName. The method will be used
later on when the CL that adds keyboard/wayland support lands.

BUG=578890

Review-Url: https://codereview.chromium.org/2645703005
Cr-Commit-Position: refs/heads/master@{#445171}

[modify] https://crrev.com/e5a535bb5a2fc99a090f81bde71ed50e974efa60/ui/events/ozone/layout/keyboard_layout_engine.h
[modify] https://crrev.com/e5a535bb5a2fc99a090f81bde71ed50e974efa60/ui/events/ozone/layout/keyboard_layout_engine_unittest.cc
[modify] https://crrev.com/e5a535bb5a2fc99a090f81bde71ed50e974efa60/ui/events/ozone/layout/no/no_keyboard_layout_engine.cc
[modify] https://crrev.com/e5a535bb5a2fc99a090f81bde71ed50e974efa60/ui/events/ozone/layout/no/no_keyboard_layout_engine.h
[modify] https://crrev.com/e5a535bb5a2fc99a090f81bde71ed50e974efa60/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.cc
[modify] https://crrev.com/e5a535bb5a2fc99a090f81bde71ed50e974efa60/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.h
[modify] https://crrev.com/e5a535bb5a2fc99a090f81bde71ed50e974efa60/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
[modify] https://crrev.com/e5a535bb5a2fc99a090f81bde71ed50e974efa60/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.h

Project Member Comment 18 by bugdroid1@chromium.org, Jan 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f304472fe1220599ab63ef2a51ad5cfdedca805f

commit f304472fe1220599ab63ef2a51ad5cfdedca805f
Author: tonikitoo <tonikitoo@igalia.com>
Date: Fri Jan 27 01:52:39 2017

[ozone/wayland] Implement basic keyboard handling support

CL implements basic keyboard support on Ozone's Wayland backend as well
as some testing.

Modifiers work as follows: when the wayland compositor calls out the
client hook notifying of a modifier key state changed, we update
XkbKeyboardLayoutEngine::xkb_state_ with it.

Based on the original work of Michael Forney <forney@google.com>, in [1].

[1] https://codereview.chromium.org/1841083003/

BUG=578890

Review-Url: https://codereview.chromium.org/2639053002
Cr-Commit-Position: refs/heads/master@{#446529}

[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.h
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/BUILD.gn
[add] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/DEPS
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/fake_server.cc
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/fake_server.h
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/ozone_platform_wayland.cc
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_connection.cc
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_connection.h
[add] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_keyboard.cc
[add] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_keyboard.h
[add] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_keyboard_unittest.cc
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_object.cc
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_object.h
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_window.cc
[modify] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_window.h
[add] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_xkb_keyboard_layout_engine.cc
[add] https://crrev.com/f304472fe1220599ab63ef2a51ad5cfdedca805f/ui/ozone/platform/wayland/wayland_xkb_keyboard_layout_engine.h

Cc: julien.isorce@chromium.org
Sign in to add a comment