From f4fced5a94b9befa4252512a2dce39d0c78fc240 Mon Sep 17 00:00:00 2001 From: Joel Hockey Date: Mon, 8 Aug 2022 05:00:28 +0000 Subject: [PATCH] Cross-origin isolate Terminal to allow SharedArrayBuffer SharedArrayBuffer is required for wasm ssh. Bug: 1350479 Change-Id: I70b09baf8fa19450dafdf385e60844ea3bf183e6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3812982 Commit-Queue: Joel Hockey Reviewed-by: Dominic Schulz Cr-Commit-Position: refs/heads/main@{#1032422} --- chrome/browser/ash/web_applications/terminal_source.cc | 10 ++++++++++ chrome/browser/ash/web_applications/terminal_source.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/chrome/browser/ash/web_applications/terminal_source.cc b/chrome/browser/ash/web_applications/terminal_source.cc index 1349c9c8e942c..9f7aa34614f7a 100644 --- a/chrome/browser/ash/web_applications/terminal_source.cc +++ b/chrome/browser/ash/web_applications/terminal_source.cc @@ -235,3 +235,13 @@ std::string TerminalSource::GetContentSecurityPolicy( return content::URLDataSource::GetContentSecurityPolicy(directive); } } + +// Required for wasm SharedArrayBuffer. +std::string TerminalSource::GetCrossOriginOpenerPolicy() { + return "same-origin"; +} + +// Required for wasm SharedArrayBuffer. +std::string TerminalSource::GetCrossOriginEmbedderPolicy() { + return "require-corp"; +} diff --git a/chrome/browser/ash/web_applications/terminal_source.h b/chrome/browser/ash/web_applications/terminal_source.h index 4907df790b1ff..8e39d8cdd4121 100644 --- a/chrome/browser/ash/web_applications/terminal_source.h +++ b/chrome/browser/ash/web_applications/terminal_source.h @@ -46,6 +46,8 @@ class TerminalSource : public content::URLDataSource { const ui::TemplateReplacements* GetReplacements() override; std::string GetContentSecurityPolicy( network::mojom::CSPDirectiveName directive) override; + std::string GetCrossOriginOpenerPolicy() override; + std::string GetCrossOriginEmbedderPolicy() override; Profile* profile_; std::string source_;