HTTP Permissions-Policy window-management

Typ

Die window-management-Direktive steuert den Zugriff auf die Window Management API für Multi-Monitor und Multi-Window-Steuerung.

Syntax

Die Direktive definiert eine Allowlist für Ursprünge, die erweiterte Window-Management-Features nutzen dürfen.

http
Permissions-Policy: window-management=(self)
Permissions-Policy: window-management=(self "https://app.workspace.com")
Permissions-Policy: window-management=()

Direktiven

Die Direktive unterstützt Standard-Allowlist-Werte für präzise Zugriffssteuerung.

self
Erlaubt Window-Management nur für das Hauptdokument des gleichen Ursprungs. Eingebettete iFrames von anderen Ursprüngen werden blockiert.
origin-list
Liste von Ursprüngen in Anführungszeichen, z.B. "https://dashboard.multi-monitor.example.com", die zusätzlich zum Hauptdokument Window-Management verwenden dürfen. Für Multi-Monitor-Apps.

Beispiele

Die folgenden Beispiele zeigen typische Anwendungsfälle für Trading-Platforms, Video-Editing und Multi-Monitor-Dashboards.

Trading-Platform mit Multi-Monitor-Support

Eine Trading-Anwendung nutzt Window Management API für optimale Fensterplatzierung auf mehreren Monitoren.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: window-management=(self), fullscreen=(self)

<!DOCTYPE html>
<html>
<head><title>Trading Platform</title></head>
<body>
  <button id="setup-monitors">Setup Multi-Monitor Layout</button>
  <script>
    document.getElementById('setup-monitors').addEventListener('click', async () => {
      const screens = await window.getScreenDetails();
      const primaryScreen = screens.screens.find(s => s.isPrimary);
      const secondaryScreen = screens.screens.find(s => !s.isPrimary);

      // Open charts on secondary monitor
      if (secondaryScreen) {
        window.open('/charts', 'charts', `left=${secondaryScreen.availLeft},top=${secondaryScreen.availTop},width=1920,height=1080`);
      }
    });
  </script>
</body>
</html>

Multi-Monitor-Dashboard-Widget

Eine Dashboard-Plattform erlaubt einem Widget Window-Management für optimal platzierte Fenster.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: window-management=(self "https://dashboard.workspace.example.com")

<!DOCTYPE html>
<html>
<head><title>Workspace</title></head>
<body>
  <iframe src="https://dashboard.workspace.example.com/layout-manager"
          allow="window-management"></iframe>
</body>
</html>

REST-API ohne Window-Management

Ein API-Endpunkt deaktiviert Window-Management-APIs.

http
HTTP/1.1 200 OK
Content-Type: application/json
Permissions-Policy: window-management=()

{
  "status": "success",
  "data": []
}

Vorteile für die Systemarchitektur

  • Ermöglicht professionelle Multi-Monitor-Workflows für Power-User
  • Verhindert unerwünschte Window-Manipulation durch Drittanbieter
  • Unterstützt präzise Fensterpositionierung über mehrere Displays
  • Reduziert Fingerprinting-Risiken durch Screen-Enumeration-Kontrolle

Spezifikation

Definiert in der W3C Window Management API Spezifikation. Chromium-basierte Browser. Erfordert HTTPS und explizite Nutzer-Permission. Experimenteller Status.

Weitere Spezifikationen

Permissions-Policy Header, Content-Security-Policy Header