Commits:
-
6d2b4add
by Henry Wilkes at 2024-10-29T21:02:40+00:00
fixup! Bug 16940: After update, load local change notes.
Bug 42186: Revert the entire commit.
-
201d50e6
by Henry Wilkes at 2024-10-29T21:02:40+00:00
fixup! Add TorStrings module for localization
Bug 42186: Drop about:tbupdate.
-
b4b207fa
by Henry Wilkes at 2024-10-29T21:02:40+00:00
fixup! Bug 7494: Create local home page for TBB.
Bug 42186: Move override page logic to about:tor commit.
15 changed files:
Changes:
browser/actors/AboutTBUpdateChild.sys.mjs
deleted
1
|
|
-// Copyright (c) 2020, The Tor Project, Inc.
|
2
|
|
-// See LICENSE for licensing information.
|
3
|
|
-//
|
4
|
|
-// vim: set sw=2 sts=2 ts=8 et syntax=_javascript_:
|
5
|
|
-
|
6
|
|
-import { RemotePageChild } from "resource://gre/actors/RemotePageChild.sys.mjs";
|
7
|
|
-
|
8
|
|
-export class AboutTBUpdateChild extends RemotePageChild {} |
browser/actors/AboutTBUpdateParent.sys.mjs
deleted
1
|
|
-// Copyright (c) 2020, The Tor Project, Inc.
|
2
|
|
-// See LICENSE for licensing information.
|
3
|
|
-//
|
4
|
|
-// vim: set sw=2 sts=2 ts=8 et syntax=_javascript_:
|
5
|
|
-
|
6
|
|
-import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
|
7
|
|
-
|
8
|
|
-const kRequestUpdateMessageName = "FetchUpdateData";
|
9
|
|
-
|
10
|
|
-/**
|
11
|
|
- * This code provides services to the about:tbupdate page. Whenever
|
12
|
|
- * about:tbupdate needs to do something chrome-privileged, it sends a
|
13
|
|
- * message that's handled here. It is modeled after Mozilla's about:home
|
14
|
|
- * implementation.
|
15
|
|
- */
|
16
|
|
-export class AboutTBUpdateParent extends JSWindowActorParent {
|
17
|
|
- async receiveMessage(aMessage) {
|
18
|
|
- if (aMessage.name == kRequestUpdateMessageName) {
|
19
|
|
- return this.getReleaseNoteInfo();
|
20
|
|
- }
|
21
|
|
- return undefined;
|
22
|
|
- }
|
23
|
|
-
|
24
|
|
- get moreInfoURL() {
|
25
|
|
- try {
|
26
|
|
- return Services.prefs.getCharPref("torbrowser.post_update.url");
|
27
|
|
- } catch (e) {}
|
28
|
|
-
|
29
|
|
- // Use the default URL as a fallback.
|
30
|
|
- return Services.urlFormatter.formatURLPref("startup.homepage_override_url");
|
31
|
|
- }
|
32
|
|
-
|
33
|
|
- // Read the text from the beginning of the changelog file that is located
|
34
|
|
- // at TorBrowser/Docs/ChangeLog.txt (or,
|
35
|
|
- // TorBrowser.app/Contents/Resources/TorBrowser/Docs/ on macOS, to support
|
36
|
|
- // Gatekeeper signing) and return an object that contains the following
|
37
|
|
- // properties:
|
38
|
|
- // version e.g., Tor Browser 8.5
|
39
|
|
- // releaseDate e.g., March 31 2019
|
40
|
|
- // releaseNotes details of changes (lines 2 - end of ChangeLog.txt)
|
41
|
|
- // We attempt to parse the first line of ChangeLog.txt to extract the
|
42
|
|
- // version and releaseDate. If parsing fails, we return the entire first
|
43
|
|
- // line in version and omit releaseDate.
|
44
|
|
- async getReleaseNoteInfo() {
|
45
|
|
- let info = { moreInfoURL: this.moreInfoURL };
|
46
|
|
-
|
47
|
|
- try {
|
48
|
|
- // "XREExeF".parent is the directory that contains firefox, i.e.,
|
49
|
|
- // Browser/ or, TorBrowser.app/Contents/MacOS/ on macOS.
|
50
|
|
- let f = Services.dirsvc.get("XREExeF", Ci.nsIFile).parent;
|
51
|
|
- if (AppConstants.platform === "macosx") {
|
52
|
|
- f = f.parent;
|
53
|
|
- f.append("Resources");
|
54
|
|
- }
|
55
|
|
- f.append("TorBrowser");
|
56
|
|
- f.append("Docs");
|
57
|
|
- f.append("ChangeLog.txt");
|
58
|
|
-
|
59
|
|
- // NOTE: We load in the entire file, but only use the first few lines
|
60
|
|
- // before the first blank line.
|
61
|
|
- const logLines = (await IOUtils.readUTF8(f.path))
|
62
|
|
- .replace(/\n\r?\n.*/ms, "")
|
63
|
|
- .split(/\n\r?/);
|
64
|
|
-
|
65
|
|
- // Read the first line to get the version and date.
|
66
|
|
- // Assume everything after the last "-" is the date.
|
67
|
|
- const firstLine = logLines.shift();
|
68
|
|
- const match = firstLine?.match(/(.*)-+(.*)/);
|
69
|
|
- if (match) {
|
70
|
|
- info.version = match[1].trim();
|
71
|
|
- info.releaseDate = match[2].trim();
|
72
|
|
- } else {
|
73
|
|
- // No date.
|
74
|
|
- info.version = firstLine?.trim();
|
75
|
|
- }
|
76
|
|
-
|
77
|
|
- // We want to read the rest of the release notes as a tree. Each entry
|
78
|
|
- // will contain the text for that line.
|
79
|
|
- // We choose a negative index for the top node of this tree to ensure no
|
80
|
|
- // line will appear less indented.
|
81
|
|
- const topEntry = { indent: -1, children: undefined };
|
82
|
|
- let prevEntry = topEntry;
|
83
|
|
-
|
84
|
|
- for (let line of logLines) {
|
85
|
|
- const indent = line.match(/^ */)[0];
|
86
|
|
- line = line.trim();
|
87
|
|
- if (line.startsWith("*")) {
|
88
|
|
- // Treat as a bullet point.
|
89
|
|
- let entry = {
|
90
|
|
- text: line.replace(/^\*\s/, ""),
|
91
|
|
- indent: indent.length,
|
92
|
|
- };
|
93
|
|
- let parentEntry;
|
94
|
|
- if (entry.indent > prevEntry.indent) {
|
95
|
|
- // A sub-list of the previous item.
|
96
|
|
- prevEntry.children = [];
|
97
|
|
- parentEntry = prevEntry;
|
98
|
|
- } else {
|
99
|
|
- // Same list or end of sub-list.
|
100
|
|
- // Search for the first parent whose indent comes before ours.
|
101
|
|
- parentEntry = prevEntry.parent;
|
102
|
|
- while (entry.indent <= parentEntry.indent) {
|
103
|
|
- parentEntry = parentEntry.parent;
|
104
|
|
- }
|
105
|
|
- }
|
106
|
|
- entry.parent = parentEntry;
|
107
|
|
- parentEntry.children.push(entry);
|
108
|
|
- prevEntry = entry;
|
109
|
|
- } else if (prevEntry === topEntry) {
|
110
|
|
- // Unexpected, missing bullet point on first line.
|
111
|
|
- // Place as its own bullet point instead, and set as prevEntry for the
|
112
|
|
- // next loop.
|
113
|
|
- prevEntry = { text: line, indent: indent.length, parent: topEntry };
|
114
|
|
- topEntry.children = [prevEntry];
|
115
|
|
- } else {
|
116
|
|
- // Append to the previous bullet point.
|
117
|
|
- prevEntry.text += ` ${line}`;
|
118
|
|
- }
|
119
|
|
- }
|
120
|
|
-
|
121
|
|
- info.releaseNotes = topEntry.children;
|
122
|
|
- } catch (e) {
|
123
|
|
- console.error(e);
|
124
|
|
- }
|
125
|
|
-
|
126
|
|
- return info;
|
127
|
|
- }
|
128
|
|
-} |
browser/actors/moz.build
... |
... |
@@ -90,9 +90,3 @@ FINAL_TARGET_FILES.actors += [ |
90
|
90
|
BROWSER_CHROME_MANIFESTS += [
|
91
|
91
|
"test/browser/browser.toml",
|
92
|
92
|
] |
93
|
|
-
|
94
|
|
-if CONFIG["BASE_BROWSER_UPDATE"]:
|
95
|
|
- FINAL_TARGET_FILES.actors += [
|
96
|
|
- "AboutTBUpdateChild.sys.mjs",
|
97
|
|
- "AboutTBUpdateParent.sys.mjs",
|
98
|
|
- ] |
browser/base/content/abouttbupdate/aboutTBUpdate.css
deleted
1
|
|
-/*
|
2
|
|
- * Copyright (c) 2019, The Tor Project, Inc.
|
3
|
|
- * See LICENSE for licensing information.
|
4
|
|
- *
|
5
|
|
- * vim: set sw=2 sts=2 ts=8 et syntax=css:
|
6
|
|
- */
|
7
|
|
-
|
8
|
|
-:root {
|
9
|
|
- --abouttor-text-color: white;
|
10
|
|
- --abouttor-bg-toron-color: #420C5D;
|
11
|
|
-}
|
12
|
|
-
|
13
|
|
-body {
|
14
|
|
- font-family: Helvetica, Arial, sans-serif;
|
15
|
|
- color: var(--abouttor-text-color);
|
16
|
|
- background-color: var(--abouttor-bg-toron-color);
|
17
|
|
- margin-block: 40px;
|
18
|
|
- margin-inline: 50px;
|
19
|
|
- display: grid;
|
20
|
|
- grid-template-columns: auto auto;
|
21
|
|
- align-items: baseline;
|
22
|
|
- gap: 40px 50px;
|
23
|
|
-}
|
24
|
|
-
|
25
|
|
-body > *:not([hidden]) {
|
26
|
|
- display: contents;
|
27
|
|
-}
|
28
|
|
-
|
29
|
|
-.label-column {
|
30
|
|
- grid-column: 1;
|
31
|
|
-}
|
32
|
|
-
|
33
|
|
-.content {
|
34
|
|
- grid-column: 2;
|
35
|
|
-}
|
36
|
|
-
|
37
|
|
-.content.en-US-content {
|
38
|
|
- font-family: monospace;
|
39
|
|
- line-height: 1.4;
|
40
|
|
-}
|
41
|
|
-
|
42
|
|
-.label-column, .content {
|
43
|
|
- margin: 0;
|
44
|
|
- padding: 0;
|
45
|
|
- font-size: 1rem;
|
46
|
|
- font-weight: normal;
|
47
|
|
-}
|
48
|
|
-
|
49
|
|
-a {
|
50
|
|
- color: inherit;
|
51
|
|
-}
|
52
|
|
-
|
53
|
|
-.no-line-break {
|
54
|
|
- white-space: nowrap;
|
55
|
|
-}
|
56
|
|
-
|
57
|
|
-ul {
|
58
|
|
- padding-inline: 1em 0;
|
59
|
|
-}
|
60
|
|
-
|
61
|
|
-h3, h4 {
|
62
|
|
- font-size: 1.1rem;
|
63
|
|
- font-weight: bold;
|
64
|
|
-}
|
65
|
|
-
|
66
|
|
-h3.build-system-heading {
|
67
|
|
- font-size: 1.5rem;
|
68
|
|
- font-weight: normal;
|
69
|
|
- margin-block-start: 3em;
|
70
|
|
-} |
browser/base/content/abouttbupdate/aboutTBUpdate.js
deleted
1
|
|
-// Copyright (c) 2020, The Tor Project, Inc.
|
2
|
|
-// See LICENSE for licensing information.
|
3
|
|
-//
|
4
|
|
-// vim: set sw=2 sts=2 ts=8 et syntax=_javascript_:
|
5
|
|
-
|
6
|
|
-/* eslint-env mozilla/remote-page */
|
7
|
|
-
|
8
|
|
-/**
|
9
|
|
- * An object representing a bullet point in the release notes.
|
10
|
|
- *
|
11
|
|
- * typedef {Object} ReleaseBullet
|
12
|
|
- * @property {string} text - The text for this bullet point.
|
13
|
|
- * @property {?Array<ReleaseBullet>} children - A sub-list of bullet points.
|
14
|
|
- */
|
15
|
|
-
|
16
|
|
-/**
|
17
|
|
- * Fill an element with the given list of release bullet points.
|
18
|
|
- *
|
19
|
|
- * @param {Element} container - The element to fill with bullet points.
|
20
|
|
- * @param {Array<ReleaseBullet>} bulletPoints - The list of bullet points.
|
21
|
|
- * @param {string} [childTag="h3"] - The element tag name to use for direct
|
22
|
|
- * children. Initially, the children are h3 sub-headings.
|
23
|
|
- */
|
24
|
|
-function fillReleaseNotes(container, bulletPoints, childTag = "h3") {
|
25
|
|
- for (const { text, children } of bulletPoints) {
|
26
|
|
- const childEl = document.createElement(childTag);
|
27
|
|
- // Keep dashes like "[tor-browser]" on the same line by nowrapping the word.
|
28
|
|
- for (const [index, part] of text.split(/(\S+-\S+)/).entries()) {
|
29
|
|
- if (!part) {
|
30
|
|
- continue;
|
31
|
|
- }
|
32
|
|
- const span = document.createElement("span");
|
33
|
|
- span.textContent = part;
|
34
|
|
- span.classList.toggle("no-line-break", index % 2);
|
35
|
|
- childEl.appendChild(span);
|
36
|
|
- }
|
37
|
|
- container.appendChild(childEl);
|
38
|
|
- if (children) {
|
39
|
|
- if (childTag == "h3" && text.toLowerCase() === "build system") {
|
40
|
|
- // Special case: treat the "Build System" heading's children as
|
41
|
|
- // sub-headings.
|
42
|
|
- childEl.classList.add("build-system-heading");
|
43
|
|
- fillReleaseNotes(container, children, "h4");
|
44
|
|
- } else {
|
45
|
|
- const listEl = document.createElement("ul");
|
46
|
|
- fillReleaseNotes(listEl, children, "li");
|
47
|
|
- if (childTag == "li") {
|
48
|
|
- // Insert within the "li" element.
|
49
|
|
- childEl.appendChild(listEl);
|
50
|
|
- } else {
|
51
|
|
- container.appendChild(listEl);
|
52
|
|
- }
|
53
|
|
- }
|
54
|
|
- }
|
55
|
|
- }
|
56
|
|
-}
|
57
|
|
-
|
58
|
|
-/**
|
59
|
|
- * Set the content for the specified container, or hide it if we have no
|
60
|
|
- * content.
|
61
|
|
- *
|
62
|
|
- * @template C
|
63
|
|
- * @param {string} containerId - The id for the container.
|
64
|
|
- * @param {?C} content - The content for this container, or a falsey value if
|
65
|
|
- * the container has no content.
|
66
|
|
- * @param {function(contentEl: Elemenet, content: C)} [fillContent] - A function
|
67
|
|
- * to fill the ".content" contentEl with the given 'content'. If unspecified,
|
68
|
|
- * the 'content' will become the contentEl's textContent.
|
69
|
|
- */
|
70
|
|
-function setContent(containerId, content, fillContent) {
|
71
|
|
- const container = document.getElementById(containerId);
|
72
|
|
- if (!content) {
|
73
|
|
- container.hidden = true;
|
74
|
|
- return;
|
75
|
|
- }
|
76
|
|
- const contentEl = container.querySelector(".content");
|
77
|
|
- // Release notes are only in English.
|
78
|
|
- contentEl.setAttribute("lang", "en-US");
|
79
|
|
- contentEl.setAttribute("dir", "ltr");
|
80
|
|
- contentEl.classList.add("en-US-content");
|
81
|
|
- if (fillContent) {
|
82
|
|
- fillContent(contentEl, content);
|
83
|
|
- } else {
|
84
|
|
- contentEl.textContent = content;
|
85
|
|
- }
|
86
|
|
-}
|
87
|
|
-
|
88
|
|
-/**
|
89
|
|
- * Callback when we receive the update details.
|
90
|
|
- *
|
91
|
|
- * @param {Object} aData - The update details.
|
92
|
|
- * @param {?string} aData.version - The update version.
|
93
|
|
- * @param {?string} aData.releaseDate - The release date.
|
94
|
|
- * @param {?string} aData.moreInfoURL - A URL for more info.
|
95
|
|
- * @param {?Array<ReleaseBullet>} aData.releaseNotes - Release notes as bullet
|
96
|
|
- * points.
|
97
|
|
- */
|
98
|
|
-function onUpdate(aData) {
|
99
|
|
- setContent("version-row", aData.version);
|
100
|
|
- setContent("releasedate-row", aData.releaseDate);
|
101
|
|
- setContent("releasenotes", aData.releaseNotes, fillReleaseNotes);
|
102
|
|
-
|
103
|
|
- if (aData.moreInfoURL) {
|
104
|
|
- document.getElementById("infolink").setAttribute("href", aData.moreInfoURL);
|
105
|
|
- } else {
|
106
|
|
- document.getElementById("fullinfo").hidden = true;
|
107
|
|
- }
|
108
|
|
-}
|
109
|
|
-
|
110
|
|
-RPMSendQuery("FetchUpdateData").then(onUpdate); |
browser/base/content/abouttbupdate/aboutTBUpdate.xhtml
deleted
1
|
|
-<?xml version="1.0" encoding="UTF-8"?>
|
2
|
|
-
|
3
|
|
-<!DOCTYPE html [ <!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
|
4
|
|
-%htmlDTD;
|
5
|
|
-<!ENTITY % tbUpdateDTD SYSTEM "chrome://browser/locale/aboutTBUpdate.dtd">
|
6
|
|
-%tbUpdateDTD; ]>
|
7
|
|
-
|
8
|
|
-<html xmlns="http://www.w3.org/1999/xhtml">
|
9
|
|
- <head>
|
10
|
|
- <meta
|
11
|
|
- http-equiv="Content-Security-Policy"
|
12
|
|
- content="default-src chrome:; object-src 'none'"
|
13
|
|
- />
|
14
|
|
- <title>&aboutTBUpdate.changelogTitle;</title>
|
15
|
|
- <link
|
16
|
|
- rel="stylesheet"
|
17
|
|
- type="text/css"
|
18
|
|
- href="">"chrome://browser/content/abouttbupdate/aboutTBUpdate.css"
|
19
|
|
- />
|
20
|
|
- <script
|
21
|
|
- src="">"chrome://browser/content/abouttbupdate/aboutTBUpdate.js"
|
22
|
|
- type="text/_javascript_"
|
23
|
|
- />
|
24
|
|
- <!-- Hack: we are not using Fluent translations in this page (yet), but we use
|
25
|
|
- - this tag so it sets up the page automatically for us. -->
|
26
|
|
- <link rel="localization" href="branding/brand.ftl" />
|
27
|
|
- </head>
|
28
|
|
- <body>
|
29
|
|
- <!-- NOTE: We don't use the <dl>, <dt> and <dd> elements to form name-value
|
30
|
|
- - pairs because this semantics is relatively new, whilst firefox
|
31
|
|
- - currently still maps these to the more limited "definitionlist", "term"
|
32
|
|
- - and "definition" roles. -->
|
33
|
|
- <div id="version-row">
|
34
|
|
- <span class="label-column">&aboutTBUpdate.version;</span>
|
35
|
|
- <span class="content"></span>
|
36
|
|
- </div>
|
37
|
|
- <div id="releasedate-row">
|
38
|
|
- <span class="label-column">&aboutTBUpdate.releaseDate;</span>
|
39
|
|
- <span class="content"></span>
|
40
|
|
- </div>
|
41
|
|
- <div id="fullinfo">
|
42
|
|
- <p class="content">
|
43
|
|
- &aboutTBUpdate.linkPrefix;<a id="infolink">&aboutTBUpdate.linkLabel;</a
|
44
|
|
- >&aboutTBUpdate.linkSuffix;
|
45
|
|
- </p>
|
46
|
|
- </div>
|
47
|
|
- <section id="releasenotes">
|
48
|
|
- <h2 class="label-column">&aboutTBUpdate.releaseNotes;</h2>
|
49
|
|
- <div class="content"></div>
|
50
|
|
- </section>
|
51
|
|
- </body>
|
52
|
|
-</html> |
browser/base/content/browser.js
... |
... |
@@ -771,10 +771,6 @@ if (Services.prefs.getBoolPref("browser.profiles.enabled")) { |
771
|
771
|
gInitialPages.push("about:profilemanager");
|
772
|
772
|
}
|
773
|
773
|
|
774
|
|
-if (AppConstants.BASE_BROWSER_UPDATE) {
|
775
|
|
- gInitialPages.push("about:tbupdate");
|
776
|
|
-}
|
777
|
|
-
|
778
|
774
|
function isInitialPage(url) {
|
779
|
775
|
if (!(url instanceof Ci.nsIURI)) {
|
780
|
776
|
try {
|
browser/base/jar.mn
... |
... |
@@ -33,11 +33,6 @@ browser.jar: |
33
|
33
|
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
|
34
|
34
|
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
|
35
|
35
|
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
|
36
|
|
-#ifdef BASE_BROWSER_UPDATE
|
37
|
|
- content/browser/abouttbupdate/aboutTBUpdate.xhtml (content/abouttbupdate/aboutTBUpdate.xhtml)
|
38
|
|
- content/browser/abouttbupdate/aboutTBUpdate.js (content/abouttbupdate/aboutTBUpdate.js)
|
39
|
|
- content/browser/abouttbupdate/aboutTBUpdate.css (content/abouttbupdate/aboutTBUpdate.css)
|
40
|
|
-#endif
|
41
|
36
|
content/browser/blanktab.html (content/blanktab.html)
|
42
|
37
|
content/browser/browser.css (content/browser.css)
|
43
|
38
|
content/browser/browser.js (content/browser.js)
|
browser/components/BrowserContentHandler.sys.mjs
... |
... |
@@ -783,16 +783,6 @@ nsBrowserContentHandler.prototype = { |
783
|
783
|
// into account because that requires waiting for the session file
|
784
|
784
|
// to be read. If a crash occurs after updating, before restarting,
|
785
|
785
|
// we may open the startPage in addition to restoring the session.
|
786
|
|
- //
|
787
|
|
- // Tor Browser: Instead of opening the post-update "override page"
|
788
|
|
- // directly, we ensure that about:tor will be opened in a special
|
789
|
|
- // mode that notifies the user that their browser was updated.
|
790
|
|
- // The about:tor page will provide a link to the override page
|
791
|
|
- // where the user can learn more about the update, as well as a
|
792
|
|
- // link to the Tor Browser changelog page (about:tbupdate). The
|
793
|
|
- // override page URL comes from the openURL attribute within the
|
794
|
|
- // updates.xml file or, if no showURL action is present, from the
|
795
|
|
- // startup.homepage_override_url pref.
|
796
|
786
|
willRestoreSession =
|
797
|
787
|
lazy.SessionStartup.isAutomaticRestoreEnabled();
|
798
|
788
|
|
... |
... |
@@ -887,6 +877,13 @@ nsBrowserContentHandler.prototype = { |
887
|
877
|
old_forkVersion
|
888
|
878
|
);
|
889
|
879
|
if (overridePage && AppConstants.BASE_BROWSER_UPDATE) {
|
|
880
|
+ // Tor Browser: Instead of opening the post-update "override page"
|
|
881
|
+ // directly, we ensure that about:tor will be opened, which should
|
|
882
|
+ // notify the user that their browser was updated.
|
|
883
|
+ //
|
|
884
|
+ // The overridePage comes from the openURL attribute within the
|
|
885
|
+ // updates.xml file or, if no showURL action is present, from the
|
|
886
|
+ // startup.homepage_override_url pref.
|
890
|
887
|
Services.prefs.setCharPref(
|
891
|
888
|
"torbrowser.post_update.url",
|
892
|
889
|
overridePage
|
browser/components/BrowserGlue.sys.mjs
... |
... |
@@ -1022,21 +1022,6 @@ let JSWINDOWACTORS = { |
1022
|
1022
|
},
|
1023
|
1023
|
};
|
1024
|
1024
|
|
1025
|
|
-if (AppConstants.BASE_BROWSER_UPDATE) {
|
1026
|
|
- JSWINDOWACTORS.AboutTBUpdate = {
|
1027
|
|
- parent: {
|
1028
|
|
- esModuleURI: "resource:///actors/AboutTBUpdateParent.sys.mjs",
|
1029
|
|
- },
|
1030
|
|
- child: {
|
1031
|
|
- esModuleURI: "resource:///actors/AboutTBUpdateChild.sys.mjs",
|
1032
|
|
- events: {
|
1033
|
|
- DOMWindowCreated: { capture: true },
|
1034
|
|
- },
|
1035
|
|
- },
|
1036
|
|
- matches: ["about:tbupdate"],
|
1037
|
|
- };
|
1038
|
|
-}
|
1039
|
|
-
|
1040
|
1025
|
ChromeUtils.defineLazyGetter(
|
1041
|
1026
|
lazy,
|
1042
|
1027
|
"WeaveService",
|
browser/components/about/AboutRedirector.cpp
... |
... |
@@ -166,13 +166,6 @@ static const RedirEntry kRedirMap[] = { |
166
|
166
|
nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
|
167
|
167
|
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
|
168
|
168
|
nsIAboutModule::HIDE_FROM_ABOUTABOUT},
|
169
|
|
-#ifdef BASE_BROWSER_UPDATE
|
170
|
|
- {"tbupdate", "chrome://browser/content/abouttbupdate/aboutTBUpdate.xhtml",
|
171
|
|
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
|
172
|
|
- nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
|
173
|
|
- nsIAboutModule::HIDE_FROM_ABOUTABOUT |
|
174
|
|
- nsIAboutModule::IS_SECURE_CHROME_UI},
|
175
|
|
-#endif
|
176
|
169
|
// The correct URI must be obtained by GetManualChromeURI
|
177
|
170
|
{"manual", "about:blank",
|
178
|
171
|
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
|
browser/components/about/components.conf
... |
... |
@@ -35,9 +35,6 @@ pages = [ |
35
|
35
|
'welcomeback',
|
36
|
36
|
]
|
37
|
37
|
|
38
|
|
-if defined('BASE_BROWSER_UPDATE'):
|
39
|
|
- pages.append('tbupdate')
|
40
|
|
-
|
41
|
38
|
Classes = [
|
42
|
39
|
{
|
43
|
40
|
'cid': '{7e4bb6ad-2fc4-4dc6-89ef-23e8e5ccf980}',
|
toolkit/modules/RemotePageAccessManager.sys.mjs
... |
... |
@@ -237,9 +237,6 @@ export let RemotePageAccessManager = { |
237
|
237
|
RPMAddMessageListener: ["*"],
|
238
|
238
|
RPMRemoveMessageListener: ["*"],
|
239
|
239
|
},
|
240
|
|
- "about:tbupdate": {
|
241
|
|
- RPMSendQuery: ["FetchUpdateData"],
|
242
|
|
- },
|
243
|
240
|
"about:torconnect": {
|
244
|
241
|
RPMAddMessageListener: [
|
245
|
242
|
"torconnect:state-change",
|
toolkit/torbutton/chrome/locale/en-US/aboutTBUpdate.dtd
deleted
1
|
|
-<!-- Copyright (c) 2022, The Tor Project, Inc.
|
2
|
|
- - This Source Code Form is subject to the terms of the Mozilla Public
|
3
|
|
- - License, v. 2.0. If a copy of the MPL was not distributed with this
|
4
|
|
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
5
|
|
-
|
6
|
|
-<!ENTITY aboutTBUpdate.changelogTitle "Tor Browser Changelog">
|
7
|
|
-<!ENTITY aboutTBUpdate.version "Version">
|
8
|
|
-<!ENTITY aboutTBUpdate.releaseDate "Release Date">
|
9
|
|
-<!ENTITY aboutTBUpdate.releaseNotes "Release Notes">
|
10
|
|
-<!-- LOCALIZATION NOTE: the following entities are used to create the link to
|
11
|
|
- - obtain more information about the latest update.
|
12
|
|
- - The markup on the page looks like this:
|
13
|
|
- - &aboutTBUpdate.linkPrefix;<a href="">&aboutTBUpdate.linkLabel;</a>&aboutTBUpdate.linkSuffix;
|
14
|
|
- - So, linkPrefix is what precedes the link, linkLabel is the link itself,
|
15
|
|
- - and linkSuffix is a text after the link. -->
|
16
|
|
-<!ENTITY aboutTBUpdate.linkPrefix "For the most up-to-date information about this release, ">
|
17
|
|
-<!ENTITY aboutTBUpdate.linkLabel "visit our website">
|
18
|
|
-<!ENTITY aboutTBUpdate.linkSuffix "."> |
toolkit/torbutton/jar.mn
... |
... |
@@ -7,8 +7,5 @@ torbutton.jar: |
7
|
7
|
# browser branding
|
8
|
8
|
% override chrome://branding/locale/brand.properties chrome://torbutton/locale/brand.properties
|
9
|
9
|
|
10
|
|
-# Strings for the about:tbupdate page
|
11
|
|
-% override chrome://browser/locale/aboutTBUpdate.dtd chrome://torbutton/locale/aboutTBUpdate.dtd
|
12
|
|
-
|
13
|
10
|
% locale torbutton en-US %locale/en-US/
|
14
|
11
|
locale/en-US/ (chrome/locale/en-US/*) |
|