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, |