Snap for 11878282 from a9b7d87734bb1b5d2d5e407e68c4595dfcc5e1fd to sdk-release
Change-Id: I5baad6793bf5ac5be5133fcf26daade0b4d585b5
diff --git a/chromium.org/unstable/aura-output-management/aura-output-management.xml b/chromium.org/unstable/aura-output-management/aura-output-management.xml
new file mode 100644
index 0000000..7427ead
--- /dev/null
+++ b/chromium.org/unstable/aura-output-management/aura-output-management.xml
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="aura_output_management">
+
+ <copyright>
+ Copyright 2024 The Chromium Authors
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+ </copyright>
+
+ <interface name="zaura_output_manager_v2" version="1">
+ <description summary="aura output manager singleton">
+ A global responsible for propagating atomic output configuration changes
+ to clients. An output configuration is a union of added / removed outputs
+ and updated output metrics.
+
+ Added outputs arrive at the client as wl_registry.global events, removed
+ outputs as wl_registry.global_remove events and updated output metrics as
+ a sequence of events defined on the zaura_output_manager_v2 interface.
+ This is followed by the manager's done event which signals the end of the
+ transaction.
+
+ The change should be processed by clients in a way that transitions from
+ one output configuration state to another without exposing the
+ intermediate output state to the rest of the application.
+
+ Participating servers should emit the zaura_output_manager_v2 global
+ before any wl_output globals in the sequence of wl_registry.global events.
+
+ Participating clients should bind the zaura_output_manager_v2 before any
+ wl_output globals. This ordering is required to ensure clients receive all
+ necessary output configuration information before receiving any further
+ server events that may reference bound wl_outputs.
+
+ Clients can expect that all events comprising a configuration change are
+ sent synchronously, one after the other, before any other server events
+ that leverage the output as an event param.
+ </description>
+
+ <event name="done" since="1">
+ <description
+ summary="sent all information about the output configuration change">
+ This event is sent after all added, changed and removed output events
+ for a given wl_output have been dispatched to the client.
+ </description>
+ </event>
+
+ <event name="display_id" since="1">
+ <description summary="advertise the output's display id">
+ This event describes the 64bit display id assigned to each display by
+ ChromeOS. The value is opaque and should not be interpreted.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="display_id_hi" type="uint" />
+ <arg name="display_id_lo" type="uint" />
+ </event>
+
+ <event name="logical_position" since="1">
+ <description
+ summary="position of the output within the global compositor space">
+ The position event describes the location of the wl_output within the
+ global compositor space.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="x" type="int"
+ summary="x position within the global compositor space" />
+ <arg name="y" type="int"
+ summary="y position within the global compositor space" />
+ </event>
+
+ <event name="logical_size" since="1">
+ <description summary="size of the output in the global compositor space">
+ The logical_size event describes the logical size of the output in the
+ global compositor space.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="width" type="int" summary="width in global compositor space" />
+ <arg name="height" type="int"
+ summary="height in global compositor space" />
+ </event>
+
+ <event name="physical_size" since="1">
+ <description summary="size of the output in pixels">
+ The physical resolution of the display in pixels. The value should not
+ include any overscan insets or display rotation, except for any panel
+ orientation adjustment.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="width" type="int"
+ summary="width in global compositor space" />
+ <arg name="height" type="int"
+ summary="height in global compositor space" />
+ </event>
+
+ <event name="work_area_insets" since="1">
+ <description summary="advertise the work area insets for the output">
+ This event describes the work area insets for the output in logical
+ screen coordinates, from which the work area can be calculated.
+
+ The event is sent when binding to the output object and subsequently as
+ output state changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="top" type="int" />
+ <arg name="left" type="int" />
+ <arg name="bottom" type="int" />
+ <arg name="right" type="int" />
+ </event>
+
+ <event name="device_scale_factor" since="1">
+ <description summary="advertise device scale factor for the output">
+ The scale factor of the output device. We reinterpret_cast the float
+ scale factor into a 32-bit uint and later cast back into a float. This
+ is because wayland does not support native transport of floats. As
+ different CPU architectures may use different endian representations for
+ IEEE 754 floats, this protocol implicitly assumes that the caller and
+ receiver are the same machine.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="device_scale_factor" type="uint"
+ summary="display scale factor, in float format" />
+ </event>
+
+ <event name="logical_transform" since="1">
+ <description summary="logical transform of the output">
+ This event describes the logical transform for the output. Whereas
+ panel transform corresponds to the display's panel rotation, the logical
+ transform corresponds to the display's logical rotation.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="transform" type="int" enum="wl_output.transform"
+ summary="transform that maps framebuffer to output" />
+ </event>
+
+ <event name="panel_transform" since="1">
+ <description summary="panel transform of the output">
+ This event describes the panel transform for the output, which is the
+ associated display's panel rotation.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="transform" type="int" enum="wl_output.transform"
+ summary="transform that maps framebuffer to output" />
+ </event>
+
+ <event name="name" since="1">
+ <description summary="human-readable name of this output">
+ The name is a UTF-8 string with no convention defined for its contents.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="name" type="string" summary="output name" />
+ </event>
+
+ <event name="description" since="1">
+ <description summary="human-readable description of this output">
+ The description is a UTF-8 string with no convention defined for its
+ contents.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="description" type="string" summary="output description" />
+ </event>
+
+ <event name="overscan_insets" since="1">
+ <description summary="advertise the overscan insets for the output">
+ This event describes the overscan insets for the output in physical
+ pixels.
+
+ The event is sent immediately after the wl_registry.global event for the
+ output and subsequently in latter display configuration changes.
+ </description>
+ <arg name="output_name" type="uint" />
+ <arg name="top" type="int" />
+ <arg name="left" type="int" />
+ <arg name="bottom" type="int" />
+ <arg name="right" type="int" />
+ </event>
+
+ <event name="activated" since="1">
+ <description summary="target display for new windows">
+ Notifies that this output is now active output. It is typically used as
+ a target when a new window is created without specific bounds.
+ </description>
+ <arg name="output_name" type="uint" />
+ </event>
+ </interface>
+</protocol>