| Index: components/exo/wayland/server.cc
|
| diff --git a/components/exo/wayland/server.cc b/components/exo/wayland/server.cc
|
| index 122aaee598c8506598cfdbd8d4c6b16903adb491..4c0ad5dac40319a717d2fe34a07e6fc6a13bf6aa 100644
|
| --- a/components/exo/wayland/server.cc
|
| +++ b/components/exo/wayland/server.cc
|
| @@ -1476,11 +1476,11 @@ void remote_surface_restore(wl_client* client, wl_resource* resource) {
|
| }
|
|
|
| void remote_surface_pin(wl_client* client, wl_resource* resource) {
|
| - GetUserDataAs<ShellSurface>(resource)->SetPinned(true);
|
| + GetUserDataAs<ShellSurface>(resource)->SetPinned(true, /* trusted */ false);
|
| }
|
|
|
| void remote_surface_unpin(wl_client* client, wl_resource* resource) {
|
| - GetUserDataAs<ShellSurface>(resource)->SetPinned(false);
|
| + GetUserDataAs<ShellSurface>(resource)->SetPinned(false, /* trusted */ false);
|
| }
|
|
|
| void remote_surface_unfullscreen(wl_client* client, wl_resource* resource) {
|
| @@ -1533,6 +1533,12 @@ void remote_surface_activate(wl_client* client,
|
| GetUserDataAs<ShellSurface>(resource)->Activate();
|
| }
|
|
|
| +void remote_surface_pin_with_trusted_flag(wl_client* client,
|
| + wl_resource* resource,
|
| + int32_t trusted) {
|
| + GetUserDataAs<ShellSurface>(resource)->SetPinned(true, trusted);
|
| +}
|
| +
|
| const struct zwp_remote_surface_v1_interface remote_surface_implementation = {
|
| remote_surface_destroy,
|
| remote_surface_set_app_id,
|
| @@ -1551,7 +1557,8 @@ const struct zwp_remote_surface_v1_interface remote_surface_implementation = {
|
| remote_surface_set_system_modal,
|
| remote_surface_unset_system_modal,
|
| remote_surface_set_rectangular_shadow_background_opacity,
|
| - remote_surface_activate};
|
| + remote_surface_activate,
|
| + remote_surface_pin_with_trusted_flag};
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // notification_surface_interface:
|
| @@ -1796,6 +1803,7 @@ void HandleRemoteSurfaceStateChangedCallback(
|
| zwp_remote_surface_v1_send_unset_fullscreen(resource);
|
| break;
|
| case ash::wm::WINDOW_STATE_TYPE_PINNED:
|
| + case ash::wm::WINDOW_STATE_TYPE_TRUSTED_PINNED:
|
| if (wl_resource_get_version(resource) >= 3)
|
| zwp_remote_surface_v1_send_unset_pinned(resource);
|
| break;
|
| @@ -1824,6 +1832,11 @@ void HandleRemoteSurfaceStateChangedCallback(
|
| if (wl_resource_get_version(resource) >= 3)
|
| zwp_remote_surface_v1_send_set_pinned(resource);
|
| break;
|
| + case ash::wm::WINDOW_STATE_TYPE_TRUSTED_PINNED:
|
| + state_type = ZWP_REMOTE_SHELL_V1_STATE_TYPE_TRUSTED_PINNED;
|
| + if (wl_resource_get_version(resource) >= 3)
|
| + zwp_remote_surface_v1_send_set_pinned(resource);
|
| + break;
|
| default:
|
| break;
|
| }
|
| @@ -1896,7 +1909,7 @@ const struct zwp_remote_shell_v1_interface remote_shell_implementation = {
|
| remote_shell_destroy, remote_shell_get_remote_surface,
|
| remote_shell_get_notification_surface};
|
|
|
| -const uint32_t remote_shell_version = 10;
|
| +const uint32_t remote_shell_version = 11;
|
|
|
| void bind_remote_shell(wl_client* client,
|
| void* data,
|
|
|