Commit a2581936 authored by Alex Catarineu's avatar Alex Catarineu Committed by Matthew Finkel
Browse files

Bug 10760: Integrate TorButton to TorBrowser core

Because of the non-restartless nature of Torbutton, it required
a two-stage installation process. On mobile, it was a problem,
because it was not loading when the user opened the browser for
the first time.

Moving it to tor-browser and making it a system extension allows it
to load when the user opens the browser for first time.

Additionally, this patch also fixes Bug 27611.

Bug 26321: New Circuit and New Identity menu items

Bug 14392: Make about:tor behave like other initial pages.

Bug 25013: Add torbutton as a tor-browser submodule
parent 11d28e15
[submodule "toolkit/torproject/torbutton"]
path = toolkit/torproject/torbutton
url = https://git.torproject.org/torbutton.git
...@@ -7,11 +7,11 @@ ...@@ -7,11 +7,11 @@
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?> <?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/aboutDialog.css" type="text/css"?> <?xml-stylesheet href="chrome://browser/content/aboutDialog.css" type="text/css"?>
<?xml-stylesheet href="chrome://branding/content/aboutDialog.css" type="text/css"?> <?xml-stylesheet href="chrome://branding/content/aboutDialog.css" type="text/css"?>
<?xml-stylesheet href="chrome://torbutton/skin/aboutDialog.css" type="text/css"?>
<!-- We need to include the localization DTDs until we migrate to Fluent -->
<!DOCTYPE window [ <!DOCTYPE window [
#ifdef XP_MACOSX
#include browser-doctype.inc #include browser-doctype.inc
#endif
]> ]>
<window xmlns:html="http://www.w3.org/1999/xhtml" <window xmlns:html="http://www.w3.org/1999/xhtml"
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
data-l10n-id="aboutDialog-title" data-l10n-id="aboutDialog-title"
#endif #endif
role="dialog" role="dialog"
aria-describedby="version distribution distributionId communityDesc contributeDesc trademark" aria-describedby="version distribution distributionId projectDesc helpDesc trademark trademarkTor"
> >
#ifdef XP_MACOSX #ifdef XP_MACOSX
#include macWindow.inc.xhtml #include macWindow.inc.xhtml
...@@ -146,24 +146,36 @@ ...@@ -146,24 +146,36 @@
<label is="text-link" useoriginprincipal="true" href="about:credits" data-l10n-name="community-exp-creditsLink"/> <label is="text-link" useoriginprincipal="true" href="about:credits" data-l10n-name="community-exp-creditsLink"/>
</description> </description>
</vbox> </vbox>
<description class="text-blurb" id="communityDesc" data-l10n-id="community-2"> <!-- Keep communityDesc and contributeDesc to avoid JS errors trying to hide them -->
<label is="text-link" href="https://www.mozilla.org/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-name="community-mozillaLink"/> <description class="text-blurb" id="communityDesc" data-l10n-id="community-2" hidden="true"></description>
<label is="text-link" useoriginprincipal="true" href="about:credits" data-l10n-name="community-creditsLink"/> <description class="text-blurb" id="contributeDesc" data-l10n-id="helpus" hidden="true"></description>
<description class="text-blurb" id="projectDesc">
&project.start;
<label is="text-link" href="https://www.torproject.org/">
&project.tpoLink;
</label>&project.end;
</description> </description>
<description class="text-blurb" id="contributeDesc" data-l10n-id="helpus"> <description class="text-blurb" id="helpDesc">
<label is="text-link" href="https://donate.mozilla.org/?utm_source=firefox&#38;utm_medium=referral&#38;utm_campaign=firefox_about&#38;utm_content=firefox_about" data-l10n-name="helpus-donateLink"/> &help.start;
<label is="text-link" href="https://www.mozilla.org/contribute/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-name="helpus-getInvolvedLink"/> <label is="text-link" href="https://donate.torproject.org/">
&help.donateLink;
</label>
&help.or;
<label is="text-link" href="https://community.torproject.org/">
&help.getInvolvedLink;
</label>&help.end;
</description> </description>
</vbox> </vbox>
</vbox> </vbox>
</hbox> </hbox>
<vbox id="bottomBox"> <vbox id="bottomBox">
<hbox pack="center"> <hbox id="newBottom" pack="center" position="1">
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license" data-l10n-id="bottomLinks-license"/> <label is="text-link" class="bottom-link" href="https://support.torproject.org/">&bottomLinks.questions;</label>
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:rights" data-l10n-id="bottomLinks-rights"/> <label is="text-link" class="bottom-link" href="https://community.torproject.org/relay/">&bottomLinks.grow;</label>
<label is="text-link" class="bottom-link" href="https://www.mozilla.org/privacy/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-id="bottomLinks-privacy"/> <label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license">&bottomLinks.license;</label>
</hbox> </hbox>
<description id="trademark" data-l10n-id="trademarkInfo"></description> <description id="trademark" data-l10n-id="trademarkInfo"></description>
<description id="trademarkTor">&tor.TrademarkStatement;</description>
</vbox> </vbox>
</vbox> </vbox>
......
...@@ -12,3 +12,9 @@ ...@@ -12,3 +12,9 @@
%syncBrandDTD; %syncBrandDTD;
<!ENTITY % brandingsDTD SYSTEM "chrome://browser/locale/brandings.dtd"> <!ENTITY % brandingsDTD SYSTEM "chrome://browser/locale/brandings.dtd">
%brandingsDTD; %brandingsDTD;
<!ENTITY % torbuttonDTD SYSTEM "chrome://torbutton/locale/torbutton.dtd">
%torbuttonDTD;
<!ENTITY % aboutTorDTD SYSTEM "chrome://torbutton/locale/aboutTor.dtd">
%aboutTorDTD;
<!ENTITY % aboutDialogDTD SYSTEM "chrome://torbutton/locale/aboutDialog.dtd">
%aboutDialogDTD;
...@@ -38,6 +38,18 @@ ...@@ -38,6 +38,18 @@
command="Tools:NonFissionWindow" command="Tools:NonFissionWindow"
accesskey="s" label="New Non-Fission Window"/> accesskey="s" label="New Non-Fission Window"/>
#endif #endif
<menuseparator/>
<menuitem id="menu_newIdentity"
accesskey="&torbutton.context_menu.new_identity_key;"
key="torbutton-new-identity-key"
label="&torbutton.context_menu.new_identity;"
oncommand="torbutton_new_identity();"/>
<menuitem id="menu_newCircuit"
accesskey="&torbutton.context_menu.new_circuit_key;"
key="torbutton-new-circuit-key"
label="&torbutton.context_menu.new_circuit;"
oncommand="torbutton_new_circuit();"/>
<menuseparator/>
<menuitem id="menu_openLocation" <menuitem id="menu_openLocation"
hidden="true" hidden="true"
command="Browser:OpenLocation" command="Browser:OpenLocation"
...@@ -476,21 +488,39 @@ ...@@ -476,21 +488,39 @@
<menupopup id="menu_HelpPopup" onpopupshowing="buildHelpMenu();"> <menupopup id="menu_HelpPopup" onpopupshowing="buildHelpMenu();">
<!-- Note: Items under here are cloned to the AppMenu Help submenu. The cloned items <!-- Note: Items under here are cloned to the AppMenu Help submenu. The cloned items
have their strings defined by appmenu-data-l10n-id. --> have their strings defined by appmenu-data-l10n-id. -->
<menuitem id="menu_openHelp" #ifdef MOZ_UPDATER
<menuitem id="checkForUpdates"
data-l10n-id="menu-help-check-for-update"
appmenu-data-l10n-id="appmenu-help-check-for-update"
class="menuitem-iconic"
oncommand="openAboutDialog();"/>
#endif
<!-- dummy elements to avoid 'getElementById' errors -->
<box id="feedbackPage"/>
<box id="helpSafeMode"/>
<box id="menu_HelpPopup_reportPhishingtoolmenu"/>
<box id="menu_HelpPopup_reportPhishingErrortoolmenu"/>
<!-- Add Tor Browser manual link -->
<menuitem id="torBrowserUserManual"
oncommand="gBrowser.selectedTab = gBrowser.addTab('https://tb-manual.torproject.org/' + Services.locale.requestedLocale, {triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()});"
label="&aboutTor.torbrowser_user_manual.label;"
accesskey="&aboutTor.torbrowser_user_manual.accesskey;"/>
<!-- Bug 18905: Hide unused help menu items -->
<!-- <menuitem id="menu_openHelp"
oncommand="openHelpLink('firefox-help')" oncommand="openHelpLink('firefox-help')"
onclick="checkForMiddleClick(this, event);" onclick="checkForMiddleClick(this, event);"
data-l10n-id="menu-get-help" data-l10n-id="menu-get-help"
appmenu-data-l10n-id="appmenu-get-help" appmenu-data-l10n-id="appmenu-get-help"
#ifdef XP_MACOSX #ifdef XP_MACOSX
key="key_openHelpMac"/> key="key_openHelpMac"/> -->
#else #else
/> /> -->
#endif #endif
<menuitem id="feedbackPage" <!-- <menuitem id="feedbackPage"
oncommand="openFeedbackPage()" oncommand="openFeedbackPage()"
onclick="checkForMiddleClick(this, event);" onclick="checkForMiddleClick(this, event);"
data-l10n-id="menu-help-feedback-page" data-l10n-id="menu-help-feedback-page"
appmenu-data-l10n-id="appmenu-help-feedback-page"/> appmenu-data-l10n-id="appmenu-help-feedback-page"/> -->
<menuitem id="helpSafeMode" <menuitem id="helpSafeMode"
oncommand="safeModeRestart();" oncommand="safeModeRestart();"
data-l10n-id="menu-help-enter-troubleshoot-mode2" data-l10n-id="menu-help-enter-troubleshoot-mode2"
...@@ -506,19 +536,20 @@ ...@@ -506,19 +536,20 @@
appmenu-data-l10n-id="appmenu-help-report-site-issue" appmenu-data-l10n-id="appmenu-help-report-site-issue"
hidden="true"/> hidden="true"/>
<menuitem id="menu_HelpPopup_reportPhishingtoolmenu" <menuitem id="menu_HelpPopup_reportPhishingtoolmenu"
<!-- <menuitem id="menu_HelpPopup_reportPhishingtoolmenu"
disabled="true" disabled="true"
oncommand="openUILink(gSafeBrowsing.getReportURL('Phish'), event, {triggeringPrincipal: Services.scriptSecurityManager.createNullPrincipal({})});" oncommand="openUILink(gSafeBrowsing.getReportURL('Phish'), event, {triggeringPrincipal: Services.scriptSecurityManager.createNullPrincipal({})});"
onclick="checkForMiddleClick(this, event);" onclick="checkForMiddleClick(this, event);"
hidden="true" hidden="true"
data-l10n-id="menu-help-report-deceptive-site" data-l10n-id="menu-help-report-deceptive-site"
appmenu-data-l10n-id="appmenu-help-report-deceptive-site"/> appmenu-data-l10n-id="appmenu-help-report-deceptive-site"/> -->
<menuitem id="menu_HelpPopup_reportPhishingErrortoolmenu" <!-- <menuitem id="menu_HelpPopup_reportPhishingErrortoolmenu"
disabled="true" disabled="true"
oncommand="ReportFalseDeceptiveSite();" oncommand="ReportFalseDeceptiveSite();"
onclick="checkForMiddleClick(this, event);" onclick="checkForMiddleClick(this, event);"
data-l10n-id="menu-help-not-deceptive" data-l10n-id="menu-help-not-deceptive"
appmenu-data-l10n-id="appmenu-help-not-deceptive" appmenu-data-l10n-id="appmenu-help-not-deceptive"
hidden="true"/> hidden="true"/> -->
<menuseparator id="aboutSeparator"/> <menuseparator id="aboutSeparator"/>
<menuitem id="aboutName" <menuitem id="aboutName"
oncommand="openAboutDialog();" oncommand="openAboutDialog();"
......
...@@ -383,4 +383,6 @@ ...@@ -383,4 +383,6 @@
data-l10n-id="hide-other-apps-shortcut" data-l10n-id="hide-other-apps-shortcut"
modifiers="accel,alt"/> modifiers="accel,alt"/>
#endif #endif
<key id="torbutton-new-identity-key" modifiers="accel shift" key="U" oncommand="torbutton_new_identity()"/>
<key id="torbutton-new-circuit-key" modifiers="accel shift" key="L" oncommand="torbutton_new_circuit()"/>
</keyset> </keyset>
...@@ -708,6 +708,7 @@ var gPageIcons = { ...@@ -708,6 +708,7 @@ var gPageIcons = {
}; };
var gInitialPages = [ var gInitialPages = [
"about:tor",
"about:blank", "about:blank",
"about:newtab", "about:newtab",
"about:home", "about:home",
......
...@@ -29,6 +29,8 @@ ...@@ -29,6 +29,8 @@
<?xml-stylesheet href="chrome://browser/skin/searchbar.css" type="text/css"?> <?xml-stylesheet href="chrome://browser/skin/searchbar.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/places/tree-icons.css" type="text/css"?> <?xml-stylesheet href="chrome://browser/skin/places/tree-icons.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css" type="text/css"?> <?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css" type="text/css"?>
<?xml-stylesheet href="chrome://torbutton/skin/tor-circuit-display.css" type="text/css"?>
<?xml-stylesheet href="chrome://torbutton/skin/torbutton.css" type="text/css"?>
# All DTD information is stored in a separate file so that it can be shared by # All DTD information is stored in a separate file so that it can be shared by
# hiddenWindowMac.xhtml. # hiddenWindowMac.xhtml.
...@@ -105,11 +107,18 @@ ...@@ -105,11 +107,18 @@
Services.scriptloader.loadSubScript("chrome://browser/content/places/places-menupopup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/places/places-menupopup.js", this);
Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this);
Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
Services.scriptloader.loadSubScript("chrome://torbutton/content/tor-circuit-display.js", this);
Services.scriptloader.loadSubScript("chrome://torbutton/content/torbutton.js", this);
window.onload = gBrowserInit.onLoad.bind(gBrowserInit); window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
window.onunload = gBrowserInit.onUnload.bind(gBrowserInit); window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
window.onclose = WindowIsClosing; window.onclose = WindowIsClosing;
//onLoad Handler
try {
window.addEventListener("load", torbutton_init, false);
} catch (e) {}
window.addEventListener("MozBeforeInitialXULLayout", window.addEventListener("MozBeforeInitialXULLayout",
gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true }); gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
...@@ -791,7 +800,8 @@ ...@@ -791,7 +800,8 @@
class="subviewbutton subviewbutton-iconic" class="subviewbutton subviewbutton-iconic"
label="&newPrivateWindow.label;" label="&newPrivateWindow.label;"
key="key_privatebrowsing" key="key_privatebrowsing"
command="Tools:PrivateBrowsing"/> command="Tools:PrivateBrowsing"
hidden="true"/>
#ifdef NIGHTLY_BUILD #ifdef NIGHTLY_BUILD
<toolbarbutton id="appMenu-fission-window-button" <toolbarbutton id="appMenu-fission-window-button"
class="subviewbutton subviewbutton-iconic" class="subviewbutton subviewbutton-iconic"
...@@ -807,7 +817,19 @@ ...@@ -807,7 +817,19 @@
<toolbarbutton id="appMenuRestoreLastSession" <toolbarbutton id="appMenuRestoreLastSession"
label="&appMenuHistory.restoreSession.label;" label="&appMenuHistory.restoreSession.label;"
class="subviewbutton subviewbutton-iconic" class="subviewbutton subviewbutton-iconic"
command="Browser:RestoreLastSession"/> command="Browser:RestoreLastSession"
hidden="true"/>
<toolbarseparator/>
<toolbarbutton id="appMenuNewIdentity"
class="subviewbutton subviewbutton-iconic"
key="torbutton-new-identity-key"
label="&torbutton.context_menu.new_identity;"
oncommand="torbutton_new_identity();"/>
<toolbarbutton id="appMenuNewCircuit"
class="subviewbutton subviewbutton-iconic"
key="torbutton-new-circuit-key"
label="&torbutton.context_menu.new_circuit;"
oncommand="torbutton_new_circuit();"/>
<toolbarseparator/> <toolbarseparator/>
<toolbaritem id="appMenu-zoom-controls" class="toolbaritem-combined-buttons" closemenu="none"> <toolbaritem id="appMenu-zoom-controls" class="toolbaritem-combined-buttons" closemenu="none">
<!-- Use a spacer, because panel sizing code gets confused when using CSS methods. --> <!-- Use a spacer, because panel sizing code gets confused when using CSS methods. -->
......
...@@ -88,6 +88,50 @@ ...@@ -88,6 +88,50 @@
oncommand="gIdentityHandler.showSecuritySubView();"/> oncommand="gIdentityHandler.showSecuritySubView();"/>
</hbox> </hbox>
<!-- Circuit display section -->
<hbox id="circuit-display-container" class="identity-popup-section">
<vbox id="circuit-display-content" flex="1" role="group"
aria-labelledby="circuit-display-headline">
<hbox id="circuit-display-header" align="center">
<label id="circuit-display-headline"
role="heading" aria-level="2">&torbutton.circuit_display.title;</label>
</hbox>
<html:ul id="circuit-display-nodes" dir="auto"/>
</vbox>
<vbox id="circuit-reload-content" flex="1">
<html:button id="circuit-reload-button"
onclick="torbutton_new_circuit()">&torbutton.circuit_display.new_circuit;</html:button>
<hbox id="circuit-guard-note-container"/>
</vbox>
</hbox>
<!-- Permissions Section -->
<hbox class="identity-popup-section"
when-connection="not-secure secure secure-ev secure-cert-user-overridden file extension cert-error-page https-only-error-page">
<vbox id="identity-popup-permissions-content" flex="1" role="group"
aria-labelledby="identity-popup-permissions-headline">
<hbox id="identity-popup-permissions-header" align="center">
<label id="identity-popup-permissions-headline"
role="heading" aria-level="2"
data-l10n-id="identity-permissions"/>
</hbox>
<vbox id="identity-popup-permission-list">
<vbox id="identity-popup-permission-list-default-anchor" class="identity-popup-permission-list-anchor"/>
<vbox class="identity-popup-permission-list-anchor" anchorfor="3rdPartyStorage">
<vbox id="identity-popup-storage-access-permission-list-header">
<hbox align="center" role="group">
<image class="identity-popup-permission-icon storage-access-icon"/>
<label data-l10n-id="identity-permissions-storage-access-header" class="identity-popup-permission-header-label"/>
</hbox>
<description id="identity-popup-storage-access-permission-list-hint" data-l10n-id="identity-permissions-storage-access-hint"></description>
</vbox>
</vbox>
</vbox>
<description id="identity-popup-permission-reload-hint" data-l10n-id="identity-permissions-reload-hint"></description>
<description id="identity-popup-permission-empty-hint" data-l10n-id="identity-permissions-empty"></description>
</vbox>
</hbox>
<!-- Clear Site Data Button --> <!-- Clear Site Data Button -->
<vbox hidden="true" <vbox hidden="true"
id="identity-popup-clear-sitedata-footer" id="identity-popup-clear-sitedata-footer"
......
...@@ -260,6 +260,8 @@ ...@@ -260,6 +260,8 @@
@RESPATH@/browser/chrome/torlauncher/* @RESPATH@/browser/chrome/torlauncher/*
@RESPATH@/browser/@PREF_DIR@/torlauncher-prefs.js @RESPATH@/browser/@PREF_DIR@/torlauncher-prefs.js
#endif #endif
@RESPATH@/chrome/torbutton.manifest
@RESPATH@/chrome/torbutton/*
@RESPATH@/chrome/toolkit@JAREXT@ @RESPATH@/chrome/toolkit@JAREXT@
@RESPATH@/chrome/toolkit.manifest @RESPATH@/chrome/toolkit.manifest
@RESPATH@/chrome/recording.manifest @RESPATH@/chrome/recording.manifest
......
...@@ -155,7 +155,11 @@ static const RedirEntry kRedirMap[] = { ...@@ -155,7 +155,11 @@ static const RedirEntry kRedirMap[] = {
{"crashcontent", "about:blank", {"crashcontent", "about:blank",
nsIAboutModule::HIDE_FROM_ABOUTABOUT | nsIAboutModule::HIDE_FROM_ABOUTABOUT |
nsIAboutModule::URI_CAN_LOAD_IN_CHILD | nsIAboutModule::URI_CAN_LOAD_IN_CHILD |
nsIAboutModule::URI_MUST_LOAD_IN_CHILD}}; nsIAboutModule::URI_MUST_LOAD_IN_CHILD},
{"tor", "chrome://torbutton/content/aboutTor/aboutTor.xhtml",
nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT}};
static const int kRedirTotal = mozilla::ArrayLength(kRedirMap); static const int kRedirTotal = mozilla::ArrayLength(kRedirMap);
NS_IMETHODIMP NS_IMETHODIMP
......
...@@ -29,6 +29,7 @@ about_pages = [ ...@@ -29,6 +29,7 @@ about_pages = [
'srcdoc', 'srcdoc',
'support', 'support',
'telemetry', 'telemetry',
'tor',
'url-classifier', 'url-classifier',
'webrtc', 'webrtc',
] ]
......
...@@ -132,6 +132,10 @@ ...@@ -132,6 +132,10 @@
@BINPATH@/chrome/devtools@JAREXT@ @BINPATH@/chrome/devtools@JAREXT@
@BINPATH@/chrome/devtools.manifest @BINPATH@/chrome/devtools.manifest
; Torbutton
@BINPATH@/chrome/torbutton@JAREXT@
@BINPATH@/chrome/torbutton.manifest
; [Default Preferences] ; [Default Preferences]
; All the pref files must be part of base to prevent migration bugs ; All the pref files must be part of base to prevent migration bugs
#ifndef MOZ_ANDROID_FAT_AAR_ARCHITECTURES #ifndef MOZ_ANDROID_FAT_AAR_ARCHITECTURES
......
...@@ -22,6 +22,7 @@ DIRS += [ ...@@ -22,6 +22,7 @@ DIRS += [
"mozapps/preferences", "mozapps/preferences",
"profile", "profile",
"themes", "themes",
"torproject/torbutton",
] ]
if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["MOZ_DEFAULT_BROWSER_AGENT"]: if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["MOZ_DEFAULT_BROWSER_AGENT"]:
......
...@@ -1472,6 +1472,15 @@ var XPIStates = { ...@@ -1472,6 +1472,15 @@ var XPIStates = {
for (let [id, file] of loc.readAddons()) { for (let [id, file] of loc.readAddons()) {
knownIds.delete(id); knownIds.delete(id);
// Uninstall torbutton if it is installed in the user profile
if (id === "torbutton@torproject.org" &&
loc.name === KEY_APP_PROFILE) {
logger.debug("Uninstalling torbutton from user profile.");
loc.installer.uninstallAddon(id);
changed = true;
continue;
}
// Since it is now part of the browser, uninstall the Tor Launcher // Since it is now part of the browser, uninstall the Tor Launcher
// extension. This will remove the Tor Launcher .xpi from user // extension. This will remove the Tor Launcher .xpi from user
// profiles on macOS. // profiles on macOS.
......
torbutton @ 5264bddf
Subproject commit 5264bddf8bc71cbb4e88921b55e7b95fa4522b69
...@@ -75,7 +75,11 @@ function getGlobalScriptIncludes(scriptPath) { ...@@ -75,7 +75,11 @@ function getGlobalScriptIncludes(scriptPath) {
"browser/components/search/content/" "browser/components/search/content/"
) )
.replace("chrome://browser/content/", "browser/base/content/") .replace("chrome://browser/content/", "browser/base/content/")
.replace("chrome://global/content/", "toolkit/content/"); .replace("chrome://global/content/", "toolkit/content/")
.replace(
"chrome://torbutton/content/",
"toolkit/torproject/torbutton/chrome/content/"
);
for (let mapping of Object.getOwnPropertyNames(MAPPINGS)) { for (let mapping of Object.getOwnPropertyNames(MAPPINGS)) {
if (sourceFile.includes(mapping)) { if (sourceFile.includes(mapping)) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment