diff --git a/src/vs/workbench/contrib/webview/browser/pre/index-no-csp.html b/src/vs/workbench/contrib/webview/browser/pre/index-no-csp.html
index 70c85003ce21f..8b22da1420429 100644
--- a/src/vs/workbench/contrib/webview/browser/pre/index-no-csp.html
+++ b/src/vs/workbench/contrib/webview/browser/pre/index-no-csp.html
@@ -596,7 +596,7 @@
} else {
return; // let the browser handle this
}
- } else if (!onElectron && (isCloseTab(e) || isNewWindow(e))) {
+ } else if (!onElectron && (isCloseTab(e) || isNewWindow(e) || isHelp(e) || isRefresh(e))) {
// Prevent Ctrl+W closing window / Ctrl+N opening new window in PWA.
// (No effect in a regular browser tab.)
e.preventDefault();
@@ -701,6 +701,24 @@
return hasMeta && e.keyCode === 78;
}
+ /**
+ * @param {KeyboardEvent} e
+ * @return {boolean}
+ */
+ function isHelp(e) {
+ // 112: keyCode of "F1"
+ return e.keyCode === 112;
+ }
+
+ /**
+ * @param {KeyboardEvent} e
+ * @return {boolean}
+ */
+ function isRefresh(e) {
+ // 116: keyCode of "F5"
+ return e.keyCode === 116;
+ }
+
let isHandlingScroll = false;
/**
diff --git a/src/vs/workbench/contrib/webview/browser/pre/index.html b/src/vs/workbench/contrib/webview/browser/pre/index.html
index 3d4b24036e01f..277a619ddc7a0 100644
--- a/src/vs/workbench/contrib/webview/browser/pre/index.html
+++ b/src/vs/workbench/contrib/webview/browser/pre/index.html
@@ -5,7 +5,7 @@
+ content="default-src 'none'; script-src 'sha256-MbYFw/X6HjRtVlnfFTL3ylPDt3RsDzWrYVjfrzKJbMA=' 'self'; frame-src 'self'; style-src 'unsafe-inline';">