color: forbid get_information for client-created
Requests wp_color_management_output_v1.get_image_description
and
wp_color_management_surface_v1.get_preferred
already explicitly document that
get_information
is allowed. Finish the definitions by adding notes that
image description objects created from client's data do not allow
get_information
, and define the protocol error for the violation.
The principal reason to forbid get_information
is the Wayland design
paradigm: if a client sets some data, it is up to the client to save
that data too if it needs it later. Asking the compositor for what the
client already knew is just useless overhead.
The practical reason to forbid get_information
, especially for the ICC
factory, is to not require the compositor to store exactly the same data
the client gave it. If a compositor uses an internal representation of a
client given ICC file, then the compositor should not need to keep
also a copy of the ICC file around just in case the client might ask
for it.
This also avoids questions around whether a compositor should return exactly the same data a client gave, or is a similar representation enough.