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:; style-src 'unsafe-inline';"> 26 <title data-l10n-id="newtab-page-title"></title> 27 <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> 28 <link rel="localization" href="branding/brand.ftl" /> 29 <link rel="localization" href="browser/branding/brandings.ftl" /> 30 <link rel="localization" href="browser/newtab/newtab.ftl" /> 31 <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> 32 <link rel="stylesheet" href="chrome://activity-stream/content/css/activity-stream.css" /> 33 </head> 34 <!-- Cached: {{ CACHE_TIME }} --> 35 <body class="activity-stream"> 36 <div id="header-asrouter-container" role="presentation"></div> 37 <div id="root"> 38 {{ MARKUP }} 39 </div> 40 <div id="footer-asrouter-container" role="presentation"></div> 41 <script src="about:home?jscache"></script> 42 </body> 43</html> 44