New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 34 users
Status: Started
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment
upstream wayland backend for ozone
Project Member Reported by spang@chromium.org, Jan 18 2016 Back to list
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
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 2016
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 2016
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 2017
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 2017
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
Comment 20 Deleted
Owner: toniki...@chromium.org
Status: started
Summary: upstream wayland backend for ozone (was: upstream wayland backend for ozone (20% project))
Project Member Comment 22 by bugdroid1@chromium.org, Sep 18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bc3da7549bc8fe686fd286de0c12a2c144c9aad9

commit bc3da7549bc8fe686fd286de0c12a2c144c9aad9
Author: Maksim Sisov <msisov@igalia.com>
Date: Mon Sep 18 09:50:45 2017

[ozone/wayland] Add xdg_v6 support

This commit adds an xdg_v6 support.
Both ChromeOS and Linux builds will use that.

The way it is done is following:

WaylandWindow doesn't know now about the shell version used.
It uses XDGShellObjectsFactory now to construct xdg_surfaces (and
xdg_popups in the future). The decision on what version of shell to use
is based on the shell version, which WaylandConnection has.

XDGShellObjectsFactory creates an XdgSurfaceWrapper object, which is
inherited by XdgSurfaceWrapperV5 or XdgSurfaceWrapperV6 objects.
Shell version specific interface implementation is hidden there.

This solution should allow to add more shells in the future with as
minimal changes as possible.

The FakeServer is modified in such a way that FakeServer::Start() takes
a shell version number passed by gtest object and instantiates requested
shell version. As soon as the connection is established, tests start to
run.

BUG=666958, 578890

Change-Id: Iba239cb87db88b0779d7221a07bef5de730a47bd
Reviewed-on: https://chromium-review.googlesource.com/666959
Commit-Queue: Maksim Sisov <msisov@igalia.com>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502544}
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/BUILD.gn
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/fake_server.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/fake_server.h
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_connection.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_connection.h
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_connection_unittest.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_keyboard_unittest.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_object.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_object.h
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_pointer_unittest.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_surface_factory_unittest.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_test.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_test.h
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_window.cc
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_window.h
[modify] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/wayland_window_unittest.cc
[add] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/xdg_surface_wrapper.h
[add] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/xdg_surface_wrapper_v5.cc
[add] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/xdg_surface_wrapper_v5.h
[add] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/xdg_surface_wrapper_v6.cc
[add] https://crrev.com/bc3da7549bc8fe686fd286de0c12a2c144c9aad9/ui/ozone/platform/wayland/xdg_surface_wrapper_v6.h

Hi Antonio, is there a fix for https://bugs.chromium.org/p/chromium/issues/detail?id=671005 in the Igalia's chromium wayland port ? Thx.
Project Member Comment 24 by bugdroid1@chromium.org, Nov 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b7551c51c3459a00ecc4a6b89892f390e4f71e6

commit 2b7551c51c3459a00ecc4a6b89892f390e4f71e6
Author: Antonio Gomes <tonikitoo@igalia.com>
Date: Mon Nov 13 18:41:42 2017

[ozone/wayand] Implement cursor support

CL makes use of the existing BitmapCursorFactoryOzone implementation
to add pointer/mouse cursor support to Ozone/Wayland.

Implementation of wayland_cursor.cc|h is originally based on [1].

[1] https://github.com/01org/ozone-wayland/

TEST=chrome --mash/mus --ozone-platform=wayland

BUG=578890

Change-Id: Iccd0a23dd1329bfe32ac78af9379ba3fd739d63f
Reviewed-on: https://chromium-review.googlesource.com/644946
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: Michael Spang <spang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515990}
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/BUILD.gn
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/ozone_platform_wayland.cc
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_connection.cc
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_connection.h
[add] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_cursor.cc
[add] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_cursor.h
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_keyboard.cc
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_keyboard.h
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_pointer.cc
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_pointer.h
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_window.cc
[modify] https://crrev.com/2b7551c51c3459a00ecc4a6b89892f390e4f71e6/ui/ozone/platform/wayland/wayland_window.h

Cc: msi...@igalia.com
Project Member Comment 26 by bugdroid1@chromium.org, Dec 13 (4 days ago)
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c090989b717047829eab075c4960a3512014559

commit 1c090989b717047829eab075c4960a3512014559
Author: Maksim Sisov <msisov@igalia.com>
Date: Wed Dec 13 09:55:29 2017

[ozone/wayland] Add support for maximize/minimize/fullscreen.

This CL adds a preliminary support to maximize/minimize or set
Wayland windows to fullscreen.

WaylandWindow extends HandleSurfaceConfigure and stores new
states. As a result, Wayland windows will be sending changed
window states to the |delegate_| and notify ServerWindow
and thus aura::Window about changed states. This change is in
downstream now [1], but will be sent as a follow-up cl.

[1] https://github.com/Igalia/chromium

Bug: 784836, 578890
Change-Id: I4dee446b5d145ca2a15f168d78aacf7c96acb2e7
Reviewed-on: https://chromium-review.googlesource.com/768681
Commit-Queue: Maksim Sisov <msisov@igalia.com>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523733}
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/BUILD.gn
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/fake_server.cc
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/fake_server.h
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/wayland_window.cc
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/wayland_window.h
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/wayland_window_unittest.cc
[add] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/xdg_surface_wrapper.cc
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/xdg_surface_wrapper.h
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/xdg_surface_wrapper_v5.cc
[modify] https://crrev.com/1c090989b717047829eab075c4960a3512014559/ui/ozone/platform/wayland/xdg_surface_wrapper_v6.cc

Project Member Comment 27 by bugdroid1@chromium.org, Dec 13 (4 days ago)
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/05e053f3aece950d379f1fe874c1cf37d089ee80

commit 05e053f3aece950d379f1fe874c1cf37d089ee80
Author: Antonio Gomes <tonikitoo@igalia.com>
Date: Wed Dec 13 12:11:46 2017

[ozone/wayland] use KeyboardEvDev for keyboard handling

In WaylandKeyboard::Key's body, we deliberately duplicate some of the
logic in KeyboardEvdev::DispatchKey. The idea was to use the bits of
KeyboardEvDev needed for proper keyboard input handling.
It turns out that features like key repeat and specific cases involving
modifiers would need more duplication to get working.

Instead of continuing to duplicate stable and existing logic, this CL
adopts the use of KeyboardEvDev from WaylandKeyboard, fixing these
issues and being able to do some code clean ups (follow ups).

The CL also changes the KeyboardLayoutManager instantiation order in
OzonePlatformWayland::InitializeUI, so that it happens prior to
WaylandConnection instantiation.
Reason: once WaylandConnection creates WaylandKeyboard and (implicitly)
KeyboardEvDev, the later needs the KeyboardLayoutEngine properly set.

CL also reset modifiers upon ::Leave, for when alt+tab is supported to
change window focus (external window mode), where modifiers need to be
updated accordingly.

Last but not least, WaylandKeyboard::RepeatInfo sends delay and rate
information that is usefull for KeyboardEvdev. Thus, desired repeating
settings can be set. What is more, wayland documentation says if
rate is send as 0, then auto repeat should be turned off.

BUG=578890

Change-Id: I8ca392da7b10ba6c62f703e1e4b571c1e3d310a1
Reviewed-on: https://chromium-review.googlesource.com/822871
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523750}
[modify] https://crrev.com/05e053f3aece950d379f1fe874c1cf37d089ee80/ui/ozone/platform/wayland/BUILD.gn
[modify] https://crrev.com/05e053f3aece950d379f1fe874c1cf37d089ee80/ui/ozone/platform/wayland/ozone_platform_wayland.cc
[modify] https://crrev.com/05e053f3aece950d379f1fe874c1cf37d089ee80/ui/ozone/platform/wayland/wayland_keyboard.cc
[modify] https://crrev.com/05e053f3aece950d379f1fe874c1cf37d089ee80/ui/ozone/platform/wayland/wayland_keyboard.h

Sign in to add a comment