page.html.template (3113B)
1 #if 0 2 # 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 # 7 # This template file is used to construct the cached about:home document. 8 # The following template strings are used: 9 # 10 # {{ CACHE_TIME }}: 11 # A date string representing when the cache was generated. 12 # 13 # {{ MARKUP }}: 14 # The generated DOM content from ReactDOMServer for the cache. 15 # 16 # Also note the final script load of about:home?jscache. This loads the cached 17 # script, which does the important work of telling React how to connect the 18 # cached page state to the pre-existing DOM that's being rendered. 19 # 20 #endif 21 <!doctype html> 22 <html> 23 <head> 24 <meta charset="utf-8"> 25 <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob: chrome:; style-src 'unsafe-inline';"> 26 <meta name="color-scheme" content="light dark"> 27 <meta name="viewport" content="width=device-width, initial-scale=1" /> 28 <title data-l10n-id="newtab-page-title"></title> 29 <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> 30 <link rel="localization" href="branding/brand.ftl" /> 31 <link rel="localization" href="toolkit/branding/brandings.ftl" /> 32 <link rel="localization" href="browser/newtab/newtab.ftl" /> 33 <link rel="localization" href="toolkit/global/mozMessageBar.ftl" /> 34 <link rel="stylesheet" href="chrome://global/skin/design-system/tokens-brand.css"> 35 <link rel="stylesheet" href="chrome://newtab/content/css/activity-stream.css" /> 36 </head> 37 <!-- Cached: {{ CACHE_TIME }} --> 38 <body class="activity-stream"> 39 <div id="header-asrouter-container" role="presentation"></div> 40 <div id="root"> 41 {{ MARKUP }} 42 </div> 43 <div id="footer-asrouter-container" role="presentation"></div> 44 <script src="about:home?jscache"></script> 45 <script async type="module" src="chrome://global/content/elements/moz-toggle.mjs"></script> 46 <script async type="module" src="chrome://global/content/elements/moz-badge.mjs"></script> 47 <script async type="module" src="chrome://global/content/elements/moz-button.mjs"></script> 48 <script async type="module" src="chrome://global/content/elements/moz-button-group.mjs"></script> 49 <script async type="module" src="chrome://global/content/elements/moz-box-button.mjs"></script> 50 <script async type="module" src="chrome://global/content/elements/moz-message-bar.mjs"></script> 51 <script async type="module" src="chrome://global/content/elements/moz-radio-group.mjs"></script> 52 <script async type="module" src="chrome://global/content/elements/moz-select.mjs"></script> 53 <script async type="module" src="chrome://global/content/elements/moz-reorderable-list.mjs"></script> 54 <script async type="module" src="chrome://global/content/elements/panel-list.js"></script> 55 <script async type="module" src="chrome://global/content/elements/moz-support-link.mjs"></script> 56 </body> 57 </html>