Bug 1093358 - Add mobile/android AppConstants.jsm. r=mfinkle,f=rnewman

I did as much conversion to "real Javascript" as I could stomach.  It
is, unfortunately, not feasible to remove all preprocessing from CSS
and XHTML files.
This commit is contained in:
Nick Alexander 2015-01-20 15:17:58 -08:00
parent f529490488
commit 705ea0bd14
11 changed files with 221 additions and 119 deletions

View File

@ -1,4 +1,3 @@
#filter substitution
// -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*-
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this

View File

@ -1,4 +1,3 @@
#filter substitution
// -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*-
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@ -10,6 +9,7 @@ let Ci = Components.interfaces;
let Cu = Components.utils;
let Cr = Components.results;
Cu.import("resource://gre/modules/AppConstants.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/AddonManager.jsm");
@ -17,9 +17,9 @@ Cu.import('resource://gre/modules/Payment.jsm');
Cu.import("resource://gre/modules/NotificationDB.jsm");
Cu.import("resource://gre/modules/SpatialNavigation.jsm");
#ifdef ACCESSIBILITY
Cu.import("resource://gre/modules/accessibility/AccessFu.jsm");
#endif
if (AppConstants.ACCESSIBILITY) {
Cu.import("resource://gre/modules/accessibility/AccessFu.jsm");
}
XPCOMUtils.defineLazyModuleGetter(this, "DownloadNotifications",
"resource://gre/modules/DownloadNotifications.jsm");
@ -57,10 +57,10 @@ XPCOMUtils.defineLazyModuleGetter(this, "LoginManagerParent",
XPCOMUtils.defineLazyModuleGetter(this, "Task", "resource://gre/modules/Task.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "OS", "resource://gre/modules/osfile.jsm");
#ifdef MOZ_SAFE_BROWSING
XPCOMUtils.defineLazyModuleGetter(this, "SafeBrowsing",
"resource://gre/modules/SafeBrowsing.jsm");
#endif
if (AppConstants.MOZ_SAFE_BROWSING) {
XPCOMUtils.defineLazyModuleGetter(this, "SafeBrowsing",
"resource://gre/modules/SafeBrowsing.jsm");
}
XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils",
"resource://gre/modules/PrivateBrowsingUtils.jsm");
@ -87,10 +87,10 @@ XPCOMUtils.defineLazyServiceGetter(this, "uuidgen",
XPCOMUtils.defineLazyModuleGetter(this, "SimpleServiceDiscovery",
"resource://gre/modules/SimpleServiceDiscovery.jsm");
#ifdef NIGHTLY_BUILD
XPCOMUtils.defineLazyModuleGetter(this, "ShumwayUtils",
"resource://shumway/ShumwayUtils.jsm");
#endif
if (AppConstants.NIGHTLY_BUILD) {
XPCOMUtils.defineLazyModuleGetter(this, "ShumwayUtils",
"resource://shumway/ShumwayUtils.jsm");
}
XPCOMUtils.defineLazyModuleGetter(this, "WebappManager",
"resource://gre/modules/WebappManager.jsm");
@ -113,8 +113,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "Notifications",
XPCOMUtils.defineLazyModuleGetter(this, "GMPInstallManager",
"resource://gre/modules/GMPInstallManager.jsm");
// Lazily-loaded browser scripts:
[
let lazilyLoadedBrowserScripts = [
["SelectHelper", "chrome://browser/content/SelectHelper.js"],
["InputWidgetHelper", "chrome://browser/content/InputWidgetHelper.js"],
["MasterPassword", "chrome://browser/content/MasterPassword.js"],
@ -123,10 +122,13 @@ XPCOMUtils.defineLazyModuleGetter(this, "GMPInstallManager",
["Linkifier", "chrome://browser/content/Linkify.js"],
["ZoomHelper", "chrome://browser/content/ZoomHelper.js"],
["CastingApps", "chrome://browser/content/CastingApps.js"],
#ifdef NIGHTLY_BUILD
["WebcompatReporter", "chrome://browser/content/WebcompatReporter.js"],
#endif
].forEach(function (aScript) {
];
if (AppConstants.NIGHTLY_BUILD) {
lazilyLoadedBrowserScripts.push(
["WebcompatReporter", "chrome://browser/content/WebcompatReporter.js"]);
}
lazilyLoadedBrowserScripts.forEach(function (aScript) {
let [name, script] = aScript;
XPCOMUtils.defineLazyGetter(window, name, function() {
let sandbox = {};
@ -135,10 +137,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "GMPInstallManager",
});
});
[
#ifdef MOZ_WEBRTC
["WebrtcUI", ["getUserMedia:request", "recording-device-events"], "chrome://browser/content/WebrtcUI.js"],
#endif
let lazilyLoadedObserverScripts = [
["MemoryObserver", ["memory-pressure", "Memory:Dump"], "chrome://browser/content/MemoryObserver.js"],
["ConsoleAPI", ["console-api-log-event"], "chrome://browser/content/ConsoleAPI.js"],
["FindHelper", ["FindInPage:Opened", "FindInPage:Closed", "Tab:Selected"], "chrome://browser/content/FindHelper.js"],
@ -148,7 +147,13 @@ XPCOMUtils.defineLazyModuleGetter(this, "GMPInstallManager",
["SelectionHandler", ["TextSelection:Get"], "chrome://browser/content/SelectionHandler.js"],
["EmbedRT", ["GeckoView:ImportScript"], "chrome://browser/content/EmbedRT.js"],
["Reader", ["Reader:Added", "Reader:Removed", "Gesture:DoubleTap"], "chrome://browser/content/Reader.js"],
].forEach(function (aScript) {
];
if (AppConstants.MOZ_WEBRTC) {
lazilyLoadedObserverScripts.push(
["WebrtcUI", ["getUserMedia:request", "recording-device-events"], "chrome://browser/content/WebrtcUI.js"])
}
lazilyLoadedObserverScripts.forEach(function (aScript) {
let [name, notifications, script] = aScript;
XPCOMUtils.defineLazyGetter(window, name, function() {
let sandbox = {};
@ -227,10 +232,10 @@ XPCOMUtils.defineLazyServiceGetter(this, "DOMUtils",
XPCOMUtils.defineLazyServiceGetter(window, "URIFixup",
"@mozilla.org/docshell/urifixup;1", "nsIURIFixup");
#ifdef MOZ_WEBRTC
XPCOMUtils.defineLazyServiceGetter(this, "MediaManagerService",
"@mozilla.org/mediaManagerService;1", "nsIMediaManagerService");
#endif
if (AppConstants.MOZ_WEBRTC) {
XPCOMUtils.defineLazyServiceGetter(this, "MediaManagerService",
"@mozilla.org/mediaManagerService;1", "nsIMediaManagerService");
}
const kStateActive = 0x00000001; // :active pseudoclass for elements
@ -287,12 +292,6 @@ function convertFromTwipsToPx(aSize) {
return aSize/240 * 16.0;
}
#ifdef MOZ_CRASHREPORTER
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyServiceGetter(this, "CrashReporter",
"@mozilla.org/xre/app-info;1", "nsICrashReporter");
#endif
XPCOMUtils.defineLazyGetter(this, "ContentAreaUtils", function() {
let ContentAreaUtils = {};
Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", ContentAreaUtils);
@ -382,17 +381,18 @@ var BrowserApp = {
}, 1000 * 60);
}, Ci.nsIThread.DISPATCH_NORMAL);
#ifdef MOZ_SAFE_BROWSING
Services.tm.mainThread.dispatch(function() {
// Bug 778855 - Perf regression if we do this here. To be addressed in bug 779008.
SafeBrowsing.init();
}, Ci.nsIThread.DISPATCH_NORMAL);
#endif
#ifdef NIGHTLY_BUILD
WebcompatReporter.init();
Telemetry.addData("TRACKING_PROTECTION_ENABLED",
Services.prefs.getBoolPref("privacy.trackingprotection.enabled"));
#endif
if (AppConstants.MOZ_SAFE_BROWSING) {
Services.tm.mainThread.dispatch(function() {
// Bug 778855 - Perf regression if we do this here. To be addressed in bug 779008.
SafeBrowsing.init();
}, Ci.nsIThread.DISPATCH_NORMAL);
}
if (AppConstants.NIGHTLY_BUILD) {
WebcompatReporter.init();
Telemetry.addData("TRACKING_PROTECTION_ENABLED",
Services.prefs.getBoolPref("privacy.trackingprotection.enabled"));
}
} catch(ex) { console.log(ex); }
}, false);
@ -483,12 +483,12 @@ var BrowserApp = {
Distribution.init();
Tabs.init();
SearchEngines.init();
#ifdef ACCESSIBILITY
AccessFu.attach(window);
#endif
#ifdef NIGHTLY_BUILD
ShumwayUtils.init();
#endif
if (AppConstants.ACCESSIBILITY) {
AccessFu.attach(window);
}
if (AppConstants.NIGHTLY_BUILD) {
ShumwayUtils.init();
}
let url = null;
if ("arguments" in window) {
@ -548,7 +548,7 @@ var BrowserApp = {
savedMilestone = Services.prefs.getCharPref("browser.startup.homepage_override.mstone");
} catch (e) {
}
#expand let ourMilestone = "__MOZ_APP_VERSION__";
let ourMilestone = AppConstants.MOZ_APP_VERSION;
this._startupStatus = "";
if (ourMilestone != savedMilestone) {
Services.prefs.setCharPref("browser.startup.homepage_override.mstone", ourMilestone);
@ -1335,14 +1335,15 @@ var BrowserApp = {
pref.value = MasterPassword.enabled;
prefs.push(pref);
continue;
#ifdef MOZ_CRASHREPORTER
// Crash reporter submit pref must be fetched from nsICrashReporter service.
case "datareporting.crashreporter.submitEnabled":
pref.type = "bool";
pref.value = CrashReporter.submitReports;
prefs.push(pref);
let crashReporterBuilt = "nsICrashReporter" in Ci && Services.appinfo instanceof Ci.nsICrashReporter;
if (crashReporterBuilt) {
pref.type = "bool";
pref.value = Services.appinfo.submitReports;
prefs.push(pref);
}
continue;
#endif
}
try {
@ -1421,12 +1422,14 @@ var BrowserApp = {
Services.prefs.setBoolPref(SearchEngines.PREF_SUGGEST_PROMPTED, true);
break;
#ifdef MOZ_CRASHREPORTER
// Crash reporter preference is in a service; set and return.
case "datareporting.crashreporter.submitEnabled":
CrashReporter.submitReports = json.value;
let crashReporterBuilt = "nsICrashReporter" in Ci && Services.appinfo instanceof Ci.nsICrashReporter;
if (crashReporterBuilt) {
Services.appinfo.submitReports = json.value;
}
return;
#endif
// When sending to Java, we normalized special preferences that use
// integers and strings to represent booleans. Here, we convert them back
// to their actual types so we can store them.
@ -3066,8 +3069,7 @@ var DesktopUserAgent = {
},
onRequest: function(channel, defaultUA) {
#ifdef NIGHTLY_BUILD
if (this.TCO_DOMAIN == channel.URI.host) {
if (AppConstants.NIGHTLY_BUILD && this.TCO_DOMAIN == channel.URI.host) {
// Force the referrer
channel.referrer = channel.URI;
@ -3075,7 +3077,6 @@ var DesktopUserAgent = {
// "Gecko/x.y Firefox/x.y" part
return defaultUA.replace(this.TCO_REPLACE, "");
}
#endif
let channelWindow = this._getWindowForRequest(channel);
let tab = BrowserApp.getTabForWindow(channelWindow);
@ -5868,12 +5869,9 @@ let HealthReportStatusListener = {
PREF_ACCEPT_LANG: "intl.accept_languages",
PREF_BLOCKLIST_ENABLED: "extensions.blocklist.enabled",
PREF_TELEMETRY_ENABLED:
#ifdef MOZ_TELEMETRY_REPORTING
"toolkit.telemetry.enabled",
#else
PREF_TELEMETRY_ENABLED: AppConstants.MOZ_TELEMETRY_REPORTING ?
"toolkit.telemetry.enabled" :
null,
#endif
init: function () {
try {

View File

@ -24,18 +24,18 @@ chrome.jar:
content/Reader.js (content/Reader.js)
content/aboutHome.xhtml (content/aboutHome.xhtml)
content/aboutRights.xhtml (content/aboutRights.xhtml)
* content/aboutApps.xhtml (content/aboutApps.xhtml)
* content/aboutApps.js (content/aboutApps.js)
content/aboutApps.xhtml (content/aboutApps.xhtml)
content/aboutApps.js (content/aboutApps.js)
content/blockedSite.xhtml (content/blockedSite.xhtml)
content/languages.properties (content/languages.properties)
content/browser.xul (content/browser.xul)
* content/browser.js (content/browser.js)
content/browser.js (content/browser.js)
content/bindings/checkbox.xml (content/bindings/checkbox.xml)
content/bindings/settings.xml (content/bindings/settings.xml)
content/netError.xhtml (content/netError.xhtml)
content/SelectHelper.js (content/SelectHelper.js)
content/SelectionHandler.js (content/SelectionHandler.js)
* content/WebappRT.js (content/WebappRT.js)
content/WebappRT.js (content/WebappRT.js)
content/EmbedRT.js (content/EmbedRT.js)
content/InputWidgetHelper.js (content/InputWidgetHelper.js)
content/WebrtcUI.js (content/WebrtcUI.js)
@ -53,7 +53,7 @@ chrome.jar:
content/CastingApps.js (content/CastingApps.js)
#ifdef MOZ_SERVICES_HEALTHREPORT
content/aboutHealthReport.xhtml (content/aboutHealthReport.xhtml)
* content/aboutHealthReport.js (content/aboutHealthReport.js)
content/aboutHealthReport.js (content/aboutHealthReport.js)
#endif
#ifdef MOZ_DEVICES
content/aboutDevices.xhtml (content/aboutDevices.xhtml)

View File

@ -3,8 +3,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/AppConstants.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
let modules = {
// about:
@ -30,11 +32,9 @@ let modules = {
},
rights: {
#ifdef MOZ_OFFICIAL_BRANDING
uri: "chrome://browser/content/aboutRights.xhtml",
#else
uri: "chrome://global/content/aboutRights-unbranded.xhtml",
#endif
uri: AppConstants.MOZ_OFFICIAL_BRANDING ?
"chrome://browser/content/aboutRights.xhtml" :
"chrome://global/content/aboutRights-unbranded.xhtml",
privileged: false
},
blocked: {
@ -72,24 +72,25 @@ let modules = {
uri: "chrome://browser/content/aboutPrivateBrowsing.xhtml",
privileged: true
},
#ifdef MOZ_SERVICES_HEALTHREPORT
healthreport: {
}
if (AppConstants.MOZ_SERVICES_HEALTHREPORT) {
modules['healthreport'] = {
uri: "chrome://browser/content/aboutHealthReport.xhtml",
privileged: true
},
#endif
#ifdef MOZ_DEVICES
devices: {
};
}
if (AppConstants.MOZ_DEVICES) {
modules['devices'] = {
uri: "chrome://browser/content/aboutDevices.xhtml",
privileged: true
},
#endif
#ifdef NIGHTLY_BUILD
passwords: {
};
}
if (AppConstants.NIGHTLY_BUILD) {
modules['passwords'] = {
uri: "chrome://browser/content/aboutPasswords.xhtml",
privileged: true
}
#endif
};
}
function AboutRedirector() {}

View File

@ -2,12 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#filter substitution
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/AppConstants.jsm");
Cu.import("resource://gre/modules/FileUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
@ -27,13 +26,13 @@ const ENVVAR_UPDATE_DIR = "UPDATES_DIRECTORY";
const WEBAPPS_DIR = "webappsDir";
const DOWNLOAD_DIR = "DfltDwnld";
const SYSTEM_DIST_PATH = "/system/@ANDROID_PACKAGE_NAME@/distribution";
const SYSTEM_DIST_PATH = `/system/${AppConstants.ANDROID_PACKAGE_NAME}/distribution`;
function DirectoryProvider() {}
DirectoryProvider.prototype = {
classID: Components.ID("{ef0f7a87-c1ee-45a8-8d67-26f586e46a4b}"),
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDirectoryServiceProvider,
Ci.nsIDirectoryServiceProvider2]),
@ -172,4 +171,3 @@ DirectoryProvider.prototype = {
};
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([DirectoryProvider]);

View File

@ -10,11 +10,6 @@ const Cr = Components.results;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
#ifdef MOZ_CRASHREPORTER
XPCOMUtils.defineLazyServiceGetter(this, "CrashReporter",
"@mozilla.org/xre/app-info;1", "nsICrashReporter");
#endif
XPCOMUtils.defineLazyModuleGetter(this, "Task", "resource://gre/modules/Task.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "OS", "resource://gre/modules/osfile.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Messaging", "resource://gre/modules/Messaging.jsm");
@ -565,7 +560,10 @@ SessionStore.prototype = {
},
_updateCrashReportURL: function ss_updateCrashReportURL(aWindow) {
#ifdef MOZ_CRASHREPORTER
let crashReporterBuilt = "nsICrashReporter" in Ci && Services.appinfo instanceof Ci.nsICrashReporter;
if (!crashReporterBuilt)
return;
if (!aWindow.BrowserApp.selectedBrowser)
return;
@ -577,14 +575,13 @@ SessionStore.prototype = {
}
catch (ex) { } // ignore failures on about: URIs
CrashReporter.annotateCrashReport("URL", currentURI.spec);
Services.appinfo.annotateCrashReport("URL", currentURI.spec);
}
catch (ex) {
// don't make noise when crashreporter is built but not enabled
if (ex.result != Components.results.NS_ERROR_NOT_INITIALIZED)
Components.utils.reportError("SessionStore:" + ex);
if (ex.result != Cr.NS_ERROR_NOT_INITIALIZED)
Cu.reportError("SessionStore:" + ex);
}
#endif
},
_serializeHistoryEntry: function _serializeHistoryEntry(aEntry) {

View File

@ -1,6 +1,6 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const Ci = Components.interfaces;
const Cc = Components.classes;

View File

@ -11,16 +11,22 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'MobileComponents'
EXTRA_COMPONENTS += [
'AboutRedirector.js',
'ActivitiesGlue.js',
'AddonUpdateService.js',
'BlocklistPrompt.js',
'BrowserCLH.js',
'ColorPicker.js',
'ContentDispatchChooser.js',
'ContentPermissionPrompt.js',
'DirectoryProvider.js',
'FilePicker.js',
'HelperAppDialog.js',
'LoginManagerPrompter.js',
'NSSDialogService.js',
'PromptService.js',
'SessionStore.js',
'Sidebar.js',
'SiteSpecificUserAgent.js',
'Snippets.js',
'TabSource.js',
@ -34,16 +40,10 @@ if CONFIG['MOZ_PAY']:
'PaymentsUI.js'
]
# Keep it this way if at all possible. If you need preprocessing,
# consider adding fields to AppConstants.jsm.
EXTRA_PP_COMPONENTS += [
'AboutRedirector.js',
'BrowserCLH.js',
'DirectoryProvider.js',
'HelperAppDialog.js',
'MobileComponents.manifest',
'SessionStore.js',
'Sidebar.js',
]
DEFINES['ANDROID_PACKAGE_NAME'] = CONFIG['ANDROID_PACKAGE_NAME']
DIRS += ['build']

View File

@ -0,0 +1,97 @@
#filter substitution;
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
this.EXPORTED_SYMBOLS = ["AppConstants"];
// Immutable for export.
let AppConstants = Object.freeze({
// See this wiki page for more details about channel specific build
// defines: https://wiki.mozilla.org/Platform/Channel-specific_build_defines
NIGHTLY_BUILD:
#ifdef NIGHTLY_BUILD
true,
#else
false,
#endif
RELEASE_BUILD:
#ifdef RELEASE_BUILD
true,
#else
false,
#endif
ACCESSIBILITY:
#ifdef MOZ_ACCESSIBILITY
true,
#else
false,
#endif
// Official corresponds, roughly, to whether this build is performed
// on Mozilla's continuous integration infrastructure. You should
// disable developer-only functionality when this flag is set.
MOZILLA_OFFICIAL:
#ifdef MOZILLA_OFFICIAL
true,
#else
false,
#endif
MOZ_OFFICIAL_BRANDING:
#ifdef MOZ_OFFICIAL_BRANDING
true,
#else
false,
#endif
MOZ_SERVICES_HEALTHREPORT:
#ifdef MOZ_SERVICES_HEALTHREPORT
true,
#else
false,
#endif
MOZ_DEVICES:
#ifdef MOZ_DEVICES
true,
#else
false,
#endif
MOZ_DEVICES:
#ifdef MOZ_DEVICES
true,
#else
false,
#endif
MOZ_SAFE_BROWSING:
#ifdef MOZ_SAFE_BROWSING
true,
#else
false,
#endif
MOZ_TELEMETRY_REPORTING:
#ifdef MOZ_TELEMETRY_REPORTING
true,
#else
false,
#endif
MOZ_WEBRTC:
#ifdef MOZ_WEBRTC
true,
#else
false,
#endif
MOZ_APP_VERSION: "@MOZ_APP_VERSION@",
ANDROID_PACKAGE_NAME: "@ANDROID_PACKAGE_NAME@",
});

View File

@ -27,9 +27,21 @@ EXTRA_JS_MODULES += [
'SharedPreferences.jsm',
'SSLExceptions.jsm',
'TabMirror.jsm',
'WebappManager.jsm',
'WebappManagerWorker.js',
]
for var in ('ANDROID_PACKAGE_NAME', 'MOZ_APP_VERSION'):
DEFINES[var] = CONFIG[var]
for var in ('NIGHTLY_BUILD', 'RELEASE_BUILD', 'MOZ_ACCESSIBILITY',
'MOZILLA_OFFICIAL', 'MOZ_OFFICIAL_BRANDING', 'MOZ_SERVICES_HEALTHREPORT',
'MOZ_DEVICES', 'MOZ_DEVICES', 'MOZ_SAFE_BROWSING',
'MOZ_TELEMETRY_REPORTING', 'MOZ_WEBRTC'):
if CONFIG[var]:
DEFINES[var] = 1
# Keep it this way if at all possible.
EXTRA_PP_JS_MODULES += [
'WebappManager.jsm',
'AppConstants.jsm',
]

View File

@ -20,7 +20,7 @@ chrome.jar:
skin/aboutHealthReport.css (aboutHealthReport.css)
#endif
skin/aboutMemory.css (aboutMemory.css)
* skin/aboutPrivateBrowsing.css (aboutPrivateBrowsing.css)
skin/aboutPrivateBrowsing.css (aboutPrivateBrowsing.css)
skin/aboutReader.css (aboutReader.css)
skin/aboutSupport.css (aboutSupport.css)
skin/browser.css (browser.css)