exo: Allow a shell surface to act as an overlay
Set up an overlay manager that allows an exo::ShellSurface to become an
overlay on top of a different window.
The initial use case is for a Android Play Billing popup to overlay a
Trusted Web App, when the app invokes a Payments API.
The shell surface must use the revised
aura_shell_surface::set_client_surface_str_id request to set a valid
overlay token.
The code to have the payment component hook into the overlay manager is
in a followup CL.
Bug: b:172592701
Test: Test Payment app shows the Play Store overlay
Change-Id: I7929b0a28ac4f4dd6e069632ada3419062f1b794
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2519929
Commit-Queue: Daniel Nicoara <[email protected]>
Auto-Submit: Lloyd Pique <[email protected]>
Reviewed-by: Daniel Nicoara <[email protected]>
Reviewed-by: Mitsuru Oshima <[email protected]>
Cr-Commit-Position: refs/heads/master@{#826508}
diff --git a/chrome/browser/exo_parts.h b/chrome/browser/exo_parts.h
index 26de8da..26a9de57 100644
--- a/chrome/browser/exo_parts.h
+++ b/chrome/browser/exo_parts.h
@@ -9,6 +9,10 @@
#include "base/macros.h"
+namespace ash {
+class ArcOverlayManager;
+}
+
namespace exo {
class WaylandServerController;
}
@@ -23,6 +27,7 @@
private:
ExoParts();
+ std::unique_ptr<ash::ArcOverlayManager> arc_overlay_manager_;
std::unique_ptr<exo::WaylandServerController> wayland_server_;
DISALLOW_COPY_AND_ASSIGN(ExoParts);