summaryrefslogtreecommitdiffstats
path: root/toolkit
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit')
-rw-r--r--toolkit/components/startup/nsAppStartup.cpp5
-rw-r--r--toolkit/components/thumbnails/BackgroundPageThumbs.jsm15
-rw-r--r--toolkit/components/thumbnails/PageThumbs.jsm13
-rw-r--r--toolkit/components/thumbnails/blankthumb.inc87
-rw-r--r--toolkit/components/thumbnails/moz.build6
-rw-r--r--toolkit/content/aboutSupport.js15
-rw-r--r--toolkit/content/tests/chrome/window_browser_drop.xul14
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutRights.dtd2
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutSupport.properties12
-rw-r--r--toolkit/modules/LightweightThemeConsumer.jsm10
-rw-r--r--toolkit/modules/Troubleshoot.jsm33
-rw-r--r--toolkit/modules/tests/browser/browser_Troubleshoot.js26
-rw-r--r--toolkit/mozapps/downloads/content/downloads.js10
-rw-r--r--toolkit/mozapps/extensions/content/newaddon.js7
-rw-r--r--toolkit/mozapps/extensions/jar.mn2
-rw-r--r--toolkit/mozapps/handling/content/dialog.xul5
-rw-r--r--toolkit/mozapps/handling/jar.mn2
-rw-r--r--toolkit/mozapps/webextensions/jar.mn2
-rw-r--r--toolkit/themes/shared/jar.inc.mn1
19 files changed, 213 insertions, 54 deletions
diff --git a/toolkit/components/startup/nsAppStartup.cpp b/toolkit/components/startup/nsAppStartup.cpp
index fde00d1db..391389605 100644
--- a/toolkit/components/startup/nsAppStartup.cpp
+++ b/toolkit/components/startup/nsAppStartup.cpp
@@ -1020,8 +1020,13 @@ nsAppStartup::CreateInstanceWithProfile(nsIToolkitProfile* aProfile)
return rv;
}
+#if defined(XP_WIN)
+ const char *args[] = { "-no-remote", "-P", profileName.get() };
+ rv = process->Run(false, args, 3);
+#else
const char *args[] = { "-P", profileName.get() };
rv = process->Run(false, args, 2);
+#endif
if (NS_WARN_IF(NS_FAILED(rv))) {
return rv;
}
diff --git a/toolkit/components/thumbnails/BackgroundPageThumbs.jsm b/toolkit/components/thumbnails/BackgroundPageThumbs.jsm
index bd52e77e9..7b86fa07c 100644
--- a/toolkit/components/thumbnails/BackgroundPageThumbs.jsm
+++ b/toolkit/components/thumbnails/BackgroundPageThumbs.jsm
@@ -368,9 +368,12 @@ Capture.prototype = {
tel("CAPTURE_QUEUE_TIME_MS", this.startDate - this.creationDate);
// timeout timer
- let timeout = typeof(this.options.timeout) == "number" ?
- this.options.timeout :
- DEFAULT_CAPTURE_TIMEOUT;
+ let timeout;
+ if (this.options && typeof(this.options.timeout) == "number") {
+ timeout = this.options.timeout;
+ } else {
+ timeout = DEFAULT_CAPTURE_TIMEOUT;
+ }
this._timeoutTimer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
this._timeoutTimer.initWithCallback(this, timeout,
Ci.nsITimer.TYPE_ONE_SHOT);
@@ -468,11 +471,9 @@ Capture.prototype = {
};
if (!data) {
- // If this background attempt failed, cause a dummy file to be saved, so
+ // If this background attempt failed, cause a placeholder file to be saved, so
// that gets loaded instead of attempting again (and again).
- // XXX: Perhaps we can create a placeholder image to use instead of "null"
- // here, so it has something to show to the user?
- PageThumbs._store(this.url, this.url, null, true)
+ PageThumbs._store(this.url, this.url, atob(BLANKTHUMB), true)
.then(done, done);
return;
}
diff --git a/toolkit/components/thumbnails/PageThumbs.jsm b/toolkit/components/thumbnails/PageThumbs.jsm
index 9bd3ae4b3..5c7754b31 100644
--- a/toolkit/components/thumbnails/PageThumbs.jsm
+++ b/toolkit/components/thumbnails/PageThumbs.jsm
@@ -28,6 +28,9 @@ const MAX_THUMBNAIL_AGE_SECS = 172800; // 2 days == 60*60*24*2 == 172800 secs.
*/
const THUMBNAIL_DIRECTORY = "thumbnails";
+// contains base64 version of a placeholder thumbnail
+#include blankthumb.inc
+
Cu.import("resource://gre/modules/XPCOMUtils.jsm", this);
Cu.import("resource://gre/modules/PromiseWorker.jsm", this);
Cu.import("resource://gre/modules/Promise.jsm", this);
@@ -609,7 +612,15 @@ this.PageThumbsStorage = {
writeData: function Storage_writeData(aURL, aData, aNoOverwrite) {
let path = this.getFilePathForURL(aURL);
this.ensurePath();
- aData = new Uint8Array(aData);
+
+ // XXX: We try/catch here since 'null' isn't accepted until we implement
+ // ES2017's new Uint8Array(); allowance.
+ try {
+ aData = new Uint8Array(aData);
+ } catch(e) {
+ aData = new Uint8Array(0);
+ }
+
let msg = [
path,
aData,
diff --git a/toolkit/components/thumbnails/blankthumb.inc b/toolkit/components/thumbnails/blankthumb.inc
new file mode 100644
index 000000000..06577c19c
--- /dev/null
+++ b/toolkit/components/thumbnails/blankthumb.inc
@@ -0,0 +1,87 @@
+const BLANKTHUMB =
+"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";
+
diff --git a/toolkit/components/thumbnails/moz.build b/toolkit/components/thumbnails/moz.build
index 9bc218b6a..d4003c635 100644
--- a/toolkit/components/thumbnails/moz.build
+++ b/toolkit/components/thumbnails/moz.build
@@ -14,9 +14,13 @@ EXTRA_COMPONENTS += [
EXTRA_JS_MODULES += [
'BackgroundPageThumbs.jsm',
- 'PageThumbs.jsm',
'PageThumbsWorker.js',
'PageThumbUtils.jsm',
]
+EXTRA_PP_JS_MODULES += [
+ 'PageThumbs.jsm',
+]
+
+
JAR_MANIFESTS += ['jar.mn']
diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
index 4e42a5687..b1d7ab5f6 100644
--- a/toolkit/content/aboutSupport.js
+++ b/toolkit/content/aboutSupport.js
@@ -180,9 +180,12 @@ var snapshotFormatters = {
title = key;
}
}
+ let td = $.new("td", value);
+ td.style["white-space"] = "pre-wrap";
+
return $.new("tr", [
$.new("th", title, "column"),
- $.new("td", value),
+ td,
]);
}
@@ -306,8 +309,16 @@ var snapshotFormatters = {
apzInfo.length
? apzInfo.join("; ")
: localizedMsg(["apzNone"]));
- addRowFromKey("features", "webglRenderer");
+ addRowFromKey("features", "webgl1WSIInfo");
+ addRowFromKey("features", "webgl1Renderer");
+ addRowFromKey("features", "webgl1Version");
+ addRowFromKey("features", "webgl1DriverExtensions");
+ addRowFromKey("features", "webgl1Extensions");
+ addRowFromKey("features", "webgl2WSIInfo");
addRowFromKey("features", "webgl2Renderer");
+ addRowFromKey("features", "webgl2Version");
+ addRowFromKey("features", "webgl2DriverExtensions");
+ addRowFromKey("features", "webgl2Extensions");
addRowFromKey("features", "supportsHardwareH264", "hardwareH264");
addRowFromKey("features", "currentAudioBackend", "audioBackend");
addRowFromKey("features", "direct2DEnabled", "#Direct2D");
diff --git a/toolkit/content/tests/chrome/window_browser_drop.xul b/toolkit/content/tests/chrome/window_browser_drop.xul
index 8a22ccce9..2d9bcd2a1 100644
--- a/toolkit/content/tests/chrome/window_browser_drop.xul
+++ b/toolkit/content/tests/chrome/window_browser_drop.xul
@@ -31,7 +31,7 @@ function dropOnRemoteBrowserAsync(browser, data, shouldExpectStateChange) {
});
}
- let dataTransfer = new content.DataTransfer("dragstart", false);
+ let dataTransfer = new content.DataTransfer();
for (let i = 0; i < data.length; i++) {
let types = data[i];
for (let j = 0; j < types.length; j++) {
@@ -166,18 +166,6 @@ function* dropLinksOnBrowser(browser, type) {
data: "http://www.mozilla.org/\nMozilla.org\nhttp://www.example.com/\nExample.com" } ] ],
"text/x-moz-url with 2 URLs drop on browser " + type);
- // Dropping multiple items should open multiple pages.
- yield* expectLink(browser,
- [ { url: "http://www.example.com/",
- name: "Example.com" },
- { url: "http://www.mozilla.org/",
- name: "http://www.mozilla.org/" }],
- [ [ { type: "text/x-moz-url",
- data: "http://www.example.com/\nExample.com" } ],
- [ { type: "text/plain",
- data: "http://www.mozilla.org/" } ] ],
- "text/x-moz-url and text/plain drop on browser " + type);
-
// Dropping single item with multiple types should open single page.
yield* expectLink(browser,
[ { url: "http://www.example.org/",
diff --git a/toolkit/locales/en-US/chrome/global/aboutRights.dtd b/toolkit/locales/en-US/chrome/global/aboutRights.dtd
index dfd5a1668..8ccbbb177 100644
--- a/toolkit/locales/en-US/chrome/global/aboutRights.dtd
+++ b/toolkit/locales/en-US/chrome/global/aboutRights.dtd
@@ -87,7 +87,7 @@
<!-- points 1-7 text for branded builds -->
<!ENTITY rights2.webservices-term1 "&vendorShortName; and its contributors, licensors and partners work to provide the most accurate and up-to-date Services. However, we cannot guarantee that this information is comprehensive and error-free. For example, for the Location Aware Service all locations returned by our service provider are estimates only and neither we nor our service provider guarantee the accuracy of the locations provided.">
<!ENTITY rights.webservices-term2 "&vendorShortName; may discontinue or change the Services at its discretion.">
-<!ENTITY rights2.webservices-term3 "You are welcome to use these Services with the accompanying version of &brandShortName;, and &vendorShortName; grants you its rights to do so. &vendorShortName; and its licensors reserve all other rights in the Services. These terms are not intended to limit any rights granted under open source licenses applicable to &brandShortName; and to corresponding source code versions of &brandShortName;, however these (optional) services are provided asa convenience to you, and in no way extend your software rights to the Services.">
+<!ENTITY rights2.webservices-term3 "You are welcome to use these Services with the accompanying version of &brandShortName;, and &vendorShortName; grants you its rights to do so. &vendorShortName; and its licensors reserve all other rights in the Services. These terms are not intended to limit any rights granted under open source licenses applicable to &brandShortName; and to corresponding source code versions of &brandShortName;, however these (optional) services are provided as a convenience to you, and in no way extend your software rights to the Services.">
<!ENTITY rights.webservices-term4 "The Services are provided &quot;as-is&quot; and &quot;as-available&quot;. &vendorShortName;, its contributors, licensors and distributors disclaim all warranties, whether express or implied, including without limitation warranties that the Services are merchantable and fit for your particular purposes. You bear the entire risk as to selecting the Services for your purposes and as to the quality and performance of the Services. If your jurisdiction does not allow disclaiming of warranties, then you should not use &brandShortName; or Services.">
<!ENTITY rights.webservices-term5 "Except as required by law, &vendorShortName;, its contributors, licensors, and distributors will not be liable for any indirect, special, incidental, consequential, punitive, or exemplary damages arising out of or in any way relating to the use of &brandShortName; and the Services. The collective liability under these terms will not exceed $500 (five hundred dollars). If your jurisdiction does not allow the exclusion or limitation of damages, then you should not use &brandShortName; or Services.">
<!ENTITY rights.webservices-term6 "&vendorShortName; may update these terms as necessary from time to time. These terms may not be modified or canceled without &vendorShortName;'s written agreement.">
diff --git a/toolkit/locales/en-US/chrome/global/aboutSupport.properties b/toolkit/locales/en-US/chrome/global/aboutSupport.properties
index 0bc612b79..564292e3d 100644
--- a/toolkit/locales/en-US/chrome/global/aboutSupport.properties
+++ b/toolkit/locales/en-US/chrome/global/aboutSupport.properties
@@ -71,8 +71,16 @@ gpuRAM = RAM
gpuDriverVersion = Driver Version
gpuDriverDate = Driver Date
gpuActive = Active
-webglRenderer = WebGL Renderer
-webgl2Renderer = WebGL2 Renderer
+webgl1WSIInfo = WebGL 1 Driver WSI Info
+webgl1Renderer = WebGL 1 Driver Renderer
+webgl1Version = WebGL 1 Driver Version
+webgl1DriverExtensions = WebGL 1 Driver Extensions
+webgl1Extensions = WebGL 1 Extensions
+webgl2WSIInfo = WebGL 2 Driver WSI Info
+webgl2Renderer = WebGL 2 Driver Renderer
+webgl2Version = WebGL 2 Driver Version
+webgl2DriverExtensions = WebGL 2 Driver Extensions
+webgl2Extensions = WebGL 2 Extensions
GPU1 = GPU #1
GPU2 = GPU #2
blocklistedBug = Blocklisted due to known issues
diff --git a/toolkit/modules/LightweightThemeConsumer.jsm b/toolkit/modules/LightweightThemeConsumer.jsm
index 1dd4c976a..cd456eac2 100644
--- a/toolkit/modules/LightweightThemeConsumer.jsm
+++ b/toolkit/modules/LightweightThemeConsumer.jsm
@@ -22,10 +22,12 @@ this.LightweightThemeConsumer =
this._win = aDocument.defaultView;
this._footerId = aDocument.documentElement.getAttribute("lightweightthemesfooter");
+/* XXX: If we want to disable LWTs for PB mode, this would be needed.
+ * Perhaps make this pref-controlled in the future if people want it?
if (PrivateBrowsingUtils.isWindowPrivate(this._win) &&
!PrivateBrowsingUtils.permanentPrivateBrowsing) {
return;
- }
+ } */
let screen = this._win.screen;
this._lastScreenWidth = screen.width;
@@ -87,12 +89,16 @@ LightweightThemeConsumer.prototype = {
},
destroy: function () {
+/* XXX: If we want to disable LWTs for PB mode, this would be needed.
if (!PrivateBrowsingUtils.isWindowPrivate(this._win) ||
PrivateBrowsingUtils.permanentPrivateBrowsing) {
Services.obs.removeObserver(this, "lightweight-theme-styling-update");
this._win.removeEventListener("resize", this);
- }
+ } */
+
+ Services.obs.removeObserver(this, "lightweight-theme-styling-update");
+ this._win.removeEventListener("resize", this);
this._win = this._doc = null;
},
diff --git a/toolkit/modules/Troubleshoot.jsm b/toolkit/modules/Troubleshoot.jsm
index cea7c8f29..8d84eec8c 100644
--- a/toolkit/modules/Troubleshoot.jsm
+++ b/toolkit/modules/Troubleshoot.jsm
@@ -419,7 +419,13 @@ var dataProviders = {
.createInstance(Ci.nsIDOMParser)
.parseFromString("<html/>", "text/html");
- function GetWebGLInfo(contextType) {
+ function GetWebGLInfo(data, keyPrefix, contextType) {
+ data[keyPrefix + "Renderer"] = "-";
+ data[keyPrefix + "Version"] = "-";
+ data[keyPrefix + "DriverExtensions"] = "-";
+ data[keyPrefix + "Extensions"] = "-";
+ data[keyPrefix + "WSIInfo"] = "-";
+
let canvas = doc.createElement("canvas");
canvas.width = 1;
canvas.height = 1;
@@ -446,16 +452,22 @@ var dataProviders = {
creationError = e.toString();
}
}
- if (!gl)
- return creationError || "(no info)";
+ if (!gl) {
+ data[keyPrefix + "Renderer"] = creationError || "(no creation error info)";
+ return;
+ }
+ data[keyPrefix + "Extensions"] = gl.getSupportedExtensions().join(" ");
- let infoExt = gl.getExtension("WEBGL_debug_renderer_info");
+ let ext = gl.getExtension("MOZ_debug_get");
// This extension is unconditionally available to chrome. No need to check.
- let vendor = gl.getParameter(infoExt.UNMASKED_VENDOR_WEBGL);
- let renderer = gl.getParameter(infoExt.UNMASKED_RENDERER_WEBGL);
+ let vendor = ext.getParameter(gl.VENDOR);
+ let renderer = ext.getParameter(gl.RENDERER);
- let contextInfo = vendor + " -- " + renderer;
+ data[keyPrefix + "Renderer"] = vendor + " -- " + renderer;
+ data[keyPrefix + "Version"] = ext.getParameter(gl.VERSION);
+ data[keyPrefix + "DriverExtensions"] = ext.getParameter(ext.EXTENSIONS);
+ data[keyPrefix + "WSIInfo"] = ext.getParameter(ext.WSI_INFO);
// Eagerly free resources.
@@ -463,14 +475,11 @@ var dataProviders = {
if (loseExt) {
loseExt.loseContext();
}
-
-
- return contextInfo;
}
- data.webglRenderer = GetWebGLInfo("webgl");
- data.webgl2Renderer = GetWebGLInfo("webgl2");
+ GetWebGLInfo(data, "webgl1", "webgl");
+ GetWebGLInfo(data, "webgl2", "webgl2");
let infoInfo = gfxInfo.getInfo();
diff --git a/toolkit/modules/tests/browser/browser_Troubleshoot.js b/toolkit/modules/tests/browser/browser_Troubleshoot.js
index 7f0069dc9..4124be1fb 100644
--- a/toolkit/modules/tests/browser/browser_Troubleshoot.js
+++ b/toolkit/modules/tests/browser/browser_Troubleshoot.js
@@ -298,12 +298,36 @@ const SNAPSHOT_SCHEMA = {
clearTypeParameters: {
type: "string",
},
- webglRenderer: {
+ webgl1Renderer: {
+ type: "string",
+ },
+ webgl1Version: {
+ type: "string",
+ },
+ webgl1DriverExtensions: {
+ type: "string",
+ },
+ webgl1Extensions: {
+ type: "string",
+ },
+ webgl1WSIInfo: {
type: "string",
},
webgl2Renderer: {
type: "string",
},
+ webgl2Version: {
+ type: "string",
+ },
+ webgl2DriverExtensions: {
+ type: "string",
+ },
+ webgl2Extensions: {
+ type: "string",
+ },
+ webgl2WSIInfo: {
+ type: "string",
+ },
info: {
type: "object",
},
diff --git a/toolkit/mozapps/downloads/content/downloads.js b/toolkit/mozapps/downloads/content/downloads.js
index 92a9f7593..2fdb19a74 100644
--- a/toolkit/mozapps/downloads/content/downloads.js
+++ b/toolkit/mozapps/downloads/content/downloads.js
@@ -7,7 +7,7 @@
// Globals
const PREF_BDM_CLOSEWHENDONE = "browser.download.manager.closeWhenDone";
-const PREF_BDM_ALERTONEXEOPEN = "browser.download.manager.alertOnEXEOpen";
+const PREF_BDM_CONFIRMOPENEXE = "browser.download.confirmOpenExecutable";
const PREF_BDM_SCANWHENDONE = "browser.download.manager.scanWhenDone";
const nsLocalFile = Components.Constructor("@mozilla.org/file/local;1",
@@ -78,7 +78,6 @@ var gStr = {
downloadsTitleFiles: "downloadsTitleFiles",
downloadsTitlePercent: "downloadsTitlePercent",
fileExecutableSecurityWarningTitle: "fileExecutableSecurityWarningTitle",
- fileExecutableSecurityWarningDontAsk: "fileExecutableSecurityWarningDontAsk"
};
// The statement to query for downloads that are active or match the search
@@ -251,7 +250,7 @@ function openDownload(aDownload)
var pref = Cc["@mozilla.org/preferences-service;1"].
getService(Ci.nsIPrefBranch);
try {
- dontAsk = !pref.getBoolPref(PREF_BDM_ALERTONEXEOPEN);
+ dontAsk = !pref.getBoolPref(PREF_BDM_CONFIRMOPENEXE);
} catch (e) { }
if (AppConstants.platform == "win") {
@@ -273,16 +272,13 @@ function openDownload(aDownload)
var message = strings.getFormattedString("fileExecutableSecurityWarning", [name, name]);
let title = gStr.fileExecutableSecurityWarningTitle;
- let dontAsk = gStr.fileExecutableSecurityWarningDontAsk;
var promptSvc = Cc["@mozilla.org/embedcomp/prompt-service;1"].
getService(Ci.nsIPromptService);
- var checkbox = { value: false };
- var open = promptSvc.confirmCheck(window, title, message, dontAsk, checkbox);
+ var open = promptSvc.confirm(window, title, message);
if (!open)
return;
- pref.setBoolPref(PREF_BDM_ALERTONEXEOPEN, !checkbox.value);
}
}
try {
diff --git a/toolkit/mozapps/extensions/content/newaddon.js b/toolkit/mozapps/extensions/content/newaddon.js
index b1ad5631b..79978a698 100644
--- a/toolkit/mozapps/extensions/content/newaddon.js
+++ b/toolkit/mozapps/extensions/content/newaddon.js
@@ -42,7 +42,10 @@ function initialize() {
// If the add-on doesn't exist or it is already enabled or it has already
// been seen or it cannot be enabled then this UI is useless, just close it.
// This shouldn't normally happen unless session restore restores the tab.
- if (!aAddon || !aAddon.userDisabled || aAddon.seen ||
+ if (!aAddon || !aAddon.userDisabled ||
+#ifdef MOZ_WEBEXTENSIONS
+ aAddon.seen ||
+#endif
!(aAddon.permissions & AddonManager.PERM_CAN_ENABLE)) {
window.close();
return;
@@ -79,6 +82,7 @@ function initialize() {
document.getElementById("location").hidden = true;
}
+#ifdef MOZ_WEBEXTENSIONS
// Only mark the add-on as seen if the page actually gets focus
if (document.hasFocus()) {
aAddon.markAsSeen();
@@ -86,6 +90,7 @@ function initialize() {
else {
document.addEventListener("focus", () => aAddon.markAsSeen(), false);
}
+#endif
var event = document.createEvent("Events");
event.initEvent("AddonDisplayed", true, true);
diff --git a/toolkit/mozapps/extensions/jar.mn b/toolkit/mozapps/extensions/jar.mn
index e95d93ca0..c4d8874c9 100644
--- a/toolkit/mozapps/extensions/jar.mn
+++ b/toolkit/mozapps/extensions/jar.mn
@@ -26,7 +26,7 @@ toolkit.jar:
content/mozapps/extensions/eula.xul (content/eula.xul)
content/mozapps/extensions/eula.js (content/eula.js)
content/mozapps/extensions/newaddon.xul (content/newaddon.xul)
- content/mozapps/extensions/newaddon.js (content/newaddon.js)
+* content/mozapps/extensions/newaddon.js (content/newaddon.js)
content/mozapps/extensions/setting.xml (content/setting.xml)
content/mozapps/extensions/pluginPrefs.xul (content/pluginPrefs.xul)
content/mozapps/extensions/gmpPrefs.xul (content/gmpPrefs.xul)
diff --git a/toolkit/mozapps/handling/content/dialog.xul b/toolkit/mozapps/handling/content/dialog.xul
index f73ce6d7f..2e2dab4e4 100644
--- a/toolkit/mozapps/handling/content/dialog.xul
+++ b/toolkit/mozapps/handling/content/dialog.xul
@@ -45,8 +45,13 @@
<description id="remember-text"/>
<hbox class="dialog-button-box" pack="end">
+#ifdef XP_WIN
+ <button dlgtype="accept" label="&accept;" icon="open" class="dialog-button"/>
+ <button dlgtype="cancel" icon="cancel" class="dialog-button"/>
+#else
<button dlgtype="cancel" icon="cancel" class="dialog-button"/>
<button dlgtype="accept" label="&accept;" icon="open" class="dialog-button"/>
+#endif
</hbox>
</dialog>
diff --git a/toolkit/mozapps/handling/jar.mn b/toolkit/mozapps/handling/jar.mn
index d6225ecca..8c338a0db 100644
--- a/toolkit/mozapps/handling/jar.mn
+++ b/toolkit/mozapps/handling/jar.mn
@@ -6,5 +6,5 @@ toolkit.jar:
% content mozapps %content/mozapps/
content/mozapps/handling/handler.css (content/handler.css)
content/mozapps/handling/handler.xml (content/handler.xml)
- content/mozapps/handling/dialog.xul (content/dialog.xul)
+* content/mozapps/handling/dialog.xul (content/dialog.xul)
content/mozapps/handling/dialog.js (content/dialog.js)
diff --git a/toolkit/mozapps/webextensions/jar.mn b/toolkit/mozapps/webextensions/jar.mn
index ad3c45710..0c63396cc 100644
--- a/toolkit/mozapps/webextensions/jar.mn
+++ b/toolkit/mozapps/webextensions/jar.mn
@@ -23,7 +23,7 @@ toolkit.jar:
content/mozapps/extensions/eula.xul (../extensions/content/eula.xul)
content/mozapps/extensions/eula.js (content/eula.js)
content/mozapps/extensions/newaddon.xul (content/newaddon.xul)
- content/mozapps/extensions/newaddon.js (../extensions/content/newaddon.js)
+* content/mozapps/extensions/newaddon.js (../extensions/content/newaddon.js)
content/mozapps/extensions/pluginPrefs.xul (../extensions/content/pluginPrefs.xul)
content/mozapps/extensions/gmpPrefs.xul (../extensions/content/gmpPrefs.xul)
content/mozapps/extensions/OpenH264-license.txt (../extensions/content/OpenH264-license.txt)
diff --git a/toolkit/themes/shared/jar.inc.mn b/toolkit/themes/shared/jar.inc.mn
index e361e744f..375568827 100644
--- a/toolkit/themes/shared/jar.inc.mn
+++ b/toolkit/themes/shared/jar.inc.mn
@@ -9,7 +9,6 @@
toolkit.jar:
% skin global classic/1.0 %skin/classic/global/
-% skin help classic/1.0 %skin/classic/help/
% skin mozapps classic/1.0 %skin/classic/mozapps/
skin/classic/global/about.css (../../shared/about.css)
skin/classic/global/aboutCache.css (../../shared/aboutCache.css)