780a673017
Fixes #933.
111 lines
4.9 KiB
HTML
111 lines
4.9 KiB
HTML
<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
|
|
<!-- Disable pinch zooming -->
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
|
|
|
|
<!-- Content Security Policy -->
|
|
<meta
|
|
http-equiv="Content-Security-Policy"
|
|
content="
|
|
default-src 'self';
|
|
img-src 'self' https: data: blob:;
|
|
media-src 'none';
|
|
script-src 'self' 'unsafe-eval' https: 'sha256-bpJydy1E+3Mx9MyBtkOIA3yyzM2wdyIz115+Sgq21+0=' 'sha256-meDZW3XhN5JmdjFUrWGhTouRKBiWYtXHltaKnqn/WMo=';
|
|
child-src 'self';
|
|
frame-src 'self';
|
|
worker-src 'self';
|
|
style-src 'self' 'unsafe-inline';
|
|
connect-src 'self' ws: wss: https:;
|
|
font-src 'self' blob:;
|
|
manifest-src 'self';
|
|
">
|
|
|
|
<!-- Workbench Configuration -->
|
|
<meta id="vscode-workbench-web-configuration" data-settings="{{WORKBENCH_WEB_CONFIGURATION}}">
|
|
|
|
<!-- Workarounds/Hacks (remote user data uri) -->
|
|
<meta id="vscode-remote-user-data-uri" data-settings="{{REMOTE_USER_DATA_URI}}">
|
|
<!-- NOTE@coder: Added the commit for use in caching, the product for the
|
|
extensions gallery URL, and nls for language support. -->
|
|
<meta id="vscode-remote-commit" data-settings="{{COMMIT}}">
|
|
<meta id="vscode-remote-product-configuration" data-settings="{{PRODUCT_CONFIGURATION}}">
|
|
<meta id="vscode-remote-nls-configuration" data-settings="{{NLS_CONFIGURATION}}">
|
|
|
|
<!-- Workbench Icon/Manifest/CSS -->
|
|
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
|
|
<link rel="manifest" href="./manifest.json">
|
|
<link rel="apple-touch-icon" href="./static-{{COMMIT}}/out/vs/server/src/media/code-server.png" />
|
|
<link data-name="vs/workbench/workbench.web.api" rel="stylesheet" href="./static-{{COMMIT}}/out/vs/workbench/workbench.web.api.css">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
<!-- Prefetch to avoid waterfall -->
|
|
<link rel="prefetch" href="./static-{{COMMIT}}/node_modules/semver-umd/lib/semver-umd.js">
|
|
<link rel="prefetch" href="./static-{{COMMIT}}/node_modules/@microsoft/applicationinsights-web/dist/applicationinsights-web.js">
|
|
</head>
|
|
|
|
<body aria-label="">
|
|
</body>
|
|
|
|
<!-- Startup (do not modify order of script tags!) -->
|
|
<!-- NOTE:coder: Modified to work against the current path and use the commit for caching. -->
|
|
<script>
|
|
// NOTE: Changes to inline scripts require update of content security policy
|
|
const basePath = window.location.pathname.replace(/\/+$/, '');
|
|
const base = window.location.origin + basePath;
|
|
const el = document.getElementById('vscode-remote-commit');
|
|
const commit = el ? el.getAttribute('data-settings') : "";
|
|
const staticBase = base + '/static-' + commit;
|
|
let nlsConfig;
|
|
try {
|
|
nlsConfig = JSON.parse(document.getElementById('vscode-remote-nls-configuration').getAttribute('data-settings'));
|
|
if (nlsConfig._resolvedLanguagePackCoreLocation) {
|
|
const bundles = Object.create(null);
|
|
nlsConfig.loadBundle = (bundle, language, cb) => {
|
|
let result = bundles[bundle];
|
|
if (result) {
|
|
return cb(undefined, result);
|
|
}
|
|
// FIXME: Only works if path separators are /.
|
|
const path = nlsConfig._resolvedLanguagePackCoreLocation
|
|
+ '/' + bundle.replace(/\//g, '!') + '.nls.json';
|
|
fetch(`${base}/resource/?path=${encodeURIComponent(path)}`)
|
|
.then((response) => response.json())
|
|
.then((json) => {
|
|
bundles[bundle] = json;
|
|
cb(undefined, json);
|
|
})
|
|
.catch(cb);
|
|
};
|
|
}
|
|
} catch (error) { /* Probably fine. */ }
|
|
self.require = {
|
|
baseUrl: `${staticBase}/out`,
|
|
paths: {
|
|
'vscode-textmate': `${staticBase}/node_modules/vscode-textmate/release/main`,
|
|
'onigasm-umd': `${staticBase}/node_modules/onigasm-umd/release/main`,
|
|
'xterm': `${staticBase}/node_modules/xterm/lib/xterm.js`,
|
|
'xterm-addon-search': `${staticBase}/node_modules/xterm-addon-search/lib/xterm-addon-search.js`,
|
|
'xterm-addon-web-links': `${staticBase}/node_modules/xterm-addon-web-links/lib/xterm-addon-web-links.js`,
|
|
'semver-umd': `${staticBase}/node_modules/semver-umd/lib/semver-umd.js`,
|
|
'@microsoft/applicationinsights-web': `${staticBase}/node_modules/@microsoft/applicationinsights-web/dist/applicationinsights-web.js`,
|
|
},
|
|
'vs/nls': nlsConfig,
|
|
};
|
|
</script>
|
|
<script src="./static-{{COMMIT}}/out/vs/loader.js"></script>
|
|
<script src="./static-{{COMMIT}}/out/vs/workbench/workbench.web.api.nls.js"></script>
|
|
<script src="./static-{{COMMIT}}/out/vs/workbench/workbench.web.api.js"></script>
|
|
<!-- TODO@coder: This errors with multiple anonymous define calls (one is
|
|
workbench.js and one is semver-umd.js). For now use the same method found in
|
|
workbench-dev.html. Appears related to the timing of the script load events. -->
|
|
<!-- <script src="./static-{{COMMIT}}/out/vs/workbench/workbench.js"></script> -->
|
|
<script>
|
|
// NOTE: Changes to inline scripts require update of content security policy
|
|
require(['vs/code/browser/workbench/workbench'], function() {});
|
|
</script>
|
|
</html>
|