Skip to content
Permalink
Browse files

Bump wayland to 1.17.0 and wayland-protocols to 1.18

Pulls latest stable of wayland-protocol to get a few minor spec fixes
to xdg-shell stable before we implement support for it.

Also pulls in latest stable of wayland core, as the in-tree version at
the time of commit is 3.5 years old, with upstream containing many
fixes since then.

Bug: 997631
Change-Id: I135ef605635b9f50576d078cd024aa7901805126
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1937075
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Cr-Commit-Position: refs/heads/master@{#720743}
  • Loading branch information
kennylevinsen authored and Commit Bot committed Dec 3, 2019
1 parent 5fd71ce commit b581b3e15e7f434487f631e4216370ec04fb382b
@@ -513,6 +513,7 @@ Keith Chen <keitchen@amazon.com>
Kenneth Rohde Christiansen <kenneth.r.christiansen@intel.com>
Kenneth Strickland <ken.strickland@gmail.com>
Kenneth Zhou <knthzh@gmail.com>
Kenny Levinsen <kl@kl.wtf>
Keonho Kim <keonho07.kim@samsung.com>
Ketan Goyal <ketan.goyal@samsung.com>
Kevin Gibbons <bakkot@gmail.com>
4 DEPS
@@ -1471,13 +1471,13 @@ deps = {

# Display server protocol for Linux.
'src/third_party/wayland/src': {
'url': Var('chromium_git') + '/external/anongit.freedesktop.org/git/wayland/wayland.git' + '@' + '1361da9cd5a719b32d978485a29920429a31ed25',
'url': Var('chromium_git') + '/external/anongit.freedesktop.org/git/wayland/wayland.git' + '@' + 'e091839dd08354289e501a47219e0c7a6472dff3',
'condition': 'checkout_linux',
},

# Wayland protocols that add functionality not available in the core protocol.
'src/third_party/wayland-protocols/src': {
'url': Var('chromium_git') + '/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git' + '@' + '57423eac60cc234ebfad15f394488a47f69afe16',
'url': Var('chromium_git') + '/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git' + '@' + '630fb089103a1d0eab1a684b853ab5c4d2b252aa',
'condition': 'checkout_linux',
},

@@ -1,6 +1,6 @@
Name: wayland-protocols
URL: http://wayland.freedesktop.org/
Version: 57423eac60cc234ebfad15f394488a47f69afe16
Version: 1.18
License: MIT
License File: src/COPYING
Security Critical: yes
@@ -1,6 +1,6 @@
Name: wayland
URL: http://wayland.freedesktop.org/
Version: 1.13.0
Version: 1.17.0
License: MIT
License File: src/COPYING
Security Critical: yes
@@ -7,12 +7,6 @@
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1

/* Define to 1 if you have the <execinfo.h> header file. */
#define HAVE_EXECINFO_H 1

/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

@@ -28,6 +22,9 @@
/* Define to 1 if you have the `posix_fallocate' function. */
#define HAVE_POSIX_FALLOCATE 1

/* Define to 1 if you have the `prctl' function. */
#define HAVE_PRCTL 1

/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1

@@ -40,6 +37,9 @@
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1

/* Define to 1 if you have the <sys/prctl.h> header file. */
#define HAVE_SYS_PRCTL_H 1

/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1

@@ -56,25 +56,25 @@
#define PACKAGE "wayland"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=wayland&version=1.13.0"
#define PACKAGE_BUGREPORT "https://gitlab.freedesktop.org/wayland/wayland/issues/"

/* Define to the full name of this package. */
#define PACKAGE_NAME "wayland"

/* Define to the full name and version of this package. */
#define PACKAGE_STRING "wayland 1.13.0"
#define PACKAGE_STRING "wayland 1.17.0"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "wayland"

/* Define to the home page for this package. */
#define PACKAGE_URL "http://wayland.freedesktop.org/"
#define PACKAGE_URL "https://wayland.freedesktop.org/"

/* Define to the version of this package. */
#define PACKAGE_VERSION "1.13.0"
#define PACKAGE_VERSION "1.17.0"

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Version number of package */
#define VERSION "1.13.0"
#define VERSION "1.17.0"
@@ -1,4 +1,4 @@
/* Generated by wayland-scanner 1.13.0 */
/* Generated by wayland-scanner 1.17.0 */

#ifndef WAYLAND_CLIENT_PROTOCOL_H
#define WAYLAND_CLIENT_PROTOCOL_H
@@ -375,6 +375,9 @@ extern const struct wl_interface wl_data_device_manager_interface;
*
* It allows clients to associate a wl_shell_surface with
* a basic surface.
*
* Note! This protocol is deprecated and not intended for production use.
* For desktop-style user interfaces, use xdg_shell.
* @section page_iface_wl_shell_api API
* See @ref iface_wl_shell.
*/
@@ -386,6 +389,9 @@ extern const struct wl_interface wl_data_device_manager_interface;
*
* It allows clients to associate a wl_shell_surface with
* a basic surface.
*
* Note! This protocol is deprecated and not intended for production use.
* For desktop-style user interfaces, use xdg_shell.
*/
extern const struct wl_interface wl_shell_interface;
/**
@@ -831,6 +837,10 @@ enum wl_display_error {
* server is out of memory
*/
WL_DISPLAY_ERROR_NO_MEMORY = 2,
/**
* implementation error in compositor
*/
WL_DISPLAY_ERROR_IMPLEMENTATION = 3,
};
#endif /* WL_DISPLAY_ERROR_ENUM */

@@ -957,6 +967,12 @@ wl_display_sync(struct wl_display *wl_display)
* This request creates a registry object that allows the client
* to list and bind the global objects available from the
* compositor.
*
* It should be noted that the server side resources consumed in
* response to a get_registry request can only be released when the
* client disconnects, not when the client side proxy is destroyed.
* Therefore, clients should invoke get_registry as infrequently as
* possible to avoid wasting memory.
*/
static inline struct wl_registry *
wl_display_get_registry(struct wl_display *wl_display)
@@ -3468,9 +3484,9 @@ wl_surface_attach(struct wl_surface *wl_surface, struct wl_buffer *buffer, int32
* and clears pending damage. The server will clear the current
* damage as it repaints the surface.
*
* Alternatively, damage can be posted with wl_surface.damage_buffer
* which uses buffer coordinates instead of surface coordinates,
* and is probably the preferred and intuitive way of doing this.
* Note! New clients should not use this request. Instead damage can be
* posted with wl_surface.damage_buffer which uses buffer coordinates
* instead of surface coordinates.
*/
static inline void
wl_surface_damage(struct wl_surface *wl_surface, int32_t x, int32_t y, int32_t width, int32_t height)
@@ -4513,6 +4529,9 @@ struct wl_keyboard_listener {
*
* This event provides a file descriptor to the client which can
* be memory-mapped to provide a keyboard mapping description.
*
* From version 7 onwards, the fd must be mapped with MAP_PRIVATE
* by the recipient, as MAP_SHARED may fail.
* @param format keymap format
* @param fd keymap file descriptor
* @param size keymap size, in bytes
@@ -5060,6 +5079,17 @@ struct wl_output_listener {
* The geometry event describes geometric properties of the
* output. The event is sent when binding to the output object and
* whenever any of the properties change.
*
* The physical size can be set to zero if it doesn't make sense
* for this output (e.g. for projectors or virtual outputs).
*
* Note: wl_output only advertises partial information about the
* output position and identification. Some compositors, for
* instance those not implementing a desktop-style output layout or
* those exposing virtual outputs, might fake this information.
* Instead of using x and y, clients should use
* xdg_output.logical_position. Instead of using make and model,
* clients should use xdg_output.name and xdg_output.description.
* @param x x position within the global compositor space
* @param y y position within the global compositor space
* @param physical_width width in millimeters of the output
@@ -5094,7 +5124,17 @@ struct wl_output_listener {
* output device. This is not necessarily the same as the output
* size in the global compositor space. For instance, the output
* may be scaled, as described in wl_output.scale, or transformed,
* as described in wl_output.transform.
* as described in wl_output.transform. Clients willing to retrieve
* the output size in the global compositor space should use
* xdg_output.logical_size instead.
*
* Clients should not use the refresh rate to schedule frames.
* Instead, they should use the wl_surface.frame event or the
* presentation-time protocol.
*
* Note: this information is not always meaningful for all outputs.
* Some compositors, such as those exposing virtual outputs, might
* fake the refresh rate or the size.
* @param flags bitfield of mode flags
* @param width width of the mode in hardware units
* @param height height of the mode in hardware units
@@ -5367,6 +5407,14 @@ wl_subcompositor_destroy(struct wl_subcompositor *wl_subcompositor)
* The to-be sub-surface must not already have another role, and it
* must not have an existing wl_subsurface object. Otherwise a protocol
* error is raised.
*
* Adding sub-surfaces to a parent is a double-buffered operation on the
* parent (see wl_surface.commit). The effect of adding a sub-surface
* becomes visible on the next time the state of the parent surface is
* applied.
*
* This request modifies the behaviour of wl_surface.commit request on
* the sub-surface, see the documentation on wl_subsurface interface.
*/
static inline struct wl_subsurface *
wl_subcompositor_get_subsurface(struct wl_subcompositor *wl_subcompositor, struct wl_surface *surface, struct wl_surface *parent)
@@ -5449,7 +5497,7 @@ wl_subsurface_get_version(struct wl_subsurface *wl_subsurface)
* that was turned into a sub-surface with a
* wl_subcompositor.get_subsurface request. The wl_surface's association
* to the parent is deleted, and the wl_surface loses its role as
* a sub-surface. The wl_surface is unmapped.
* a sub-surface. The wl_surface is unmapped immediately.
*/
static inline void
wl_subsurface_destroy(struct wl_subsurface *wl_subsurface)
@@ -1,4 +1,4 @@
/* Generated by wayland-scanner 1.13.0 */
/* Generated by wayland-scanner 1.17.0 */

#ifndef WAYLAND_CLIENT_PROTOCOL_H
#define WAYLAND_CLIENT_PROTOCOL_H
@@ -375,6 +375,9 @@ extern const struct wl_interface wl_data_device_manager_interface;
*
* It allows clients to associate a wl_shell_surface with
* a basic surface.
*
* Note! This protocol is deprecated and not intended for production use.
* For desktop-style user interfaces, use xdg_shell.
* @section page_iface_wl_shell_api API
* See @ref iface_wl_shell.
*/
@@ -386,6 +389,9 @@ extern const struct wl_interface wl_data_device_manager_interface;
*
* It allows clients to associate a wl_shell_surface with
* a basic surface.
*
* Note! This protocol is deprecated and not intended for production use.
* For desktop-style user interfaces, use xdg_shell.
*/
extern const struct wl_interface wl_shell_interface;
/**
@@ -831,6 +837,10 @@ enum wl_display_error {
* server is out of memory
*/
WL_DISPLAY_ERROR_NO_MEMORY = 2,
/**
* implementation error in compositor
*/
WL_DISPLAY_ERROR_IMPLEMENTATION = 3,
};
#endif /* WL_DISPLAY_ERROR_ENUM */

@@ -957,6 +967,12 @@ wl_display_sync(struct wl_display *wl_display)
* This request creates a registry object that allows the client
* to list and bind the global objects available from the
* compositor.
*
* It should be noted that the server side resources consumed in
* response to a get_registry request can only be released when the
* client disconnects, not when the client side proxy is destroyed.
* Therefore, clients should invoke get_registry as infrequently as
* possible to avoid wasting memory.
*/
static inline struct wl_registry *
wl_display_get_registry(struct wl_display *wl_display)
@@ -3468,9 +3484,9 @@ wl_surface_attach(struct wl_surface *wl_surface, struct wl_buffer *buffer, int32
* and clears pending damage. The server will clear the current
* damage as it repaints the surface.
*
* Alternatively, damage can be posted with wl_surface.damage_buffer
* which uses buffer coordinates instead of surface coordinates,
* and is probably the preferred and intuitive way of doing this.
* Note! New clients should not use this request. Instead damage can be
* posted with wl_surface.damage_buffer which uses buffer coordinates
* instead of surface coordinates.
*/
static inline void
wl_surface_damage(struct wl_surface *wl_surface, int32_t x, int32_t y, int32_t width, int32_t height)
@@ -4513,6 +4529,9 @@ struct wl_keyboard_listener {
*
* This event provides a file descriptor to the client which can
* be memory-mapped to provide a keyboard mapping description.
*
* From version 7 onwards, the fd must be mapped with MAP_PRIVATE
* by the recipient, as MAP_SHARED may fail.
* @param format keymap format
* @param fd keymap file descriptor
* @param size keymap size, in bytes
@@ -5060,6 +5079,17 @@ struct wl_output_listener {
* The geometry event describes geometric properties of the
* output. The event is sent when binding to the output object and
* whenever any of the properties change.
*
* The physical size can be set to zero if it doesn't make sense
* for this output (e.g. for projectors or virtual outputs).
*
* Note: wl_output only advertises partial information about the
* output position and identification. Some compositors, for
* instance those not implementing a desktop-style output layout or
* those exposing virtual outputs, might fake this information.
* Instead of using x and y, clients should use
* xdg_output.logical_position. Instead of using make and model,
* clients should use xdg_output.name and xdg_output.description.
* @param x x position within the global compositor space
* @param y y position within the global compositor space
* @param physical_width width in millimeters of the output
@@ -5094,7 +5124,17 @@ struct wl_output_listener {
* output device. This is not necessarily the same as the output
* size in the global compositor space. For instance, the output
* may be scaled, as described in wl_output.scale, or transformed,
* as described in wl_output.transform.
* as described in wl_output.transform. Clients willing to retrieve
* the output size in the global compositor space should use
* xdg_output.logical_size instead.
*
* Clients should not use the refresh rate to schedule frames.
* Instead, they should use the wl_surface.frame event or the
* presentation-time protocol.
*
* Note: this information is not always meaningful for all outputs.
* Some compositors, such as those exposing virtual outputs, might
* fake the refresh rate or the size.
* @param flags bitfield of mode flags
* @param width width of the mode in hardware units
* @param height height of the mode in hardware units
@@ -5367,6 +5407,14 @@ wl_subcompositor_destroy(struct wl_subcompositor *wl_subcompositor)
* The to-be sub-surface must not already have another role, and it
* must not have an existing wl_subsurface object. Otherwise a protocol
* error is raised.
*
* Adding sub-surfaces to a parent is a double-buffered operation on the
* parent (see wl_surface.commit). The effect of adding a sub-surface
* becomes visible on the next time the state of the parent surface is
* applied.
*
* This request modifies the behaviour of wl_surface.commit request on
* the sub-surface, see the documentation on wl_subsurface interface.
*/
static inline struct wl_subsurface *
wl_subcompositor_get_subsurface(struct wl_subcompositor *wl_subcompositor, struct wl_surface *surface, struct wl_surface *parent)
@@ -5449,7 +5497,7 @@ wl_subsurface_get_version(struct wl_subsurface *wl_subsurface)
* that was turned into a sub-surface with a
* wl_subcompositor.get_subsurface request. The wl_surface's association
* to the parent is deleted, and the wl_surface loses its role as
* a sub-surface. The wl_surface is unmapped.
* a sub-surface. The wl_surface is unmapped immediately.
*/
static inline void
wl_subsurface_destroy(struct wl_subsurface *wl_subsurface)

0 comments on commit b581b3e

Please sign in to comment.
You can’t perform that action at this time.