diff --git a/b2g/installer/package-manifest.in b/b2g/installer/package-manifest.in
index 299e65e9ac..10a367cffe 100644
--- a/b2g/installer/package-manifest.in
+++ b/b2g/installer/package-manifest.in
@@ -308,6 +308,7 @@
@BINPATH@/components/toolkit_finalizationwitness.xpt
@BINPATH@/components/toolkit_formautofill.xpt
@BINPATH@/components/toolkit_osfile.xpt
+@BINPATH@/components/toolkit_perfmonitoring.xpt
@BINPATH@/components/toolkit_xulstore.xpt
@BINPATH@/components/toolkitprofile.xpt
#ifdef MOZ_ENABLE_XREMOTE
diff --git a/browser/app/nsBrowserApp.cpp b/browser/app/nsBrowserApp.cpp
index 317f57db77..d5c71583dc 100644
--- a/browser/app/nsBrowserApp.cpp
+++ b/browser/app/nsBrowserApp.cpp
@@ -35,10 +35,6 @@
#include "nsIFile.h"
#include "nsStringGlue.h"
-// Easy access to a five second startup delay used to get
-// a debugger attached in the metro environment.
-// #define DEBUG_delay_start_metro
-
#ifdef XP_WIN
// we want a wmain entry point
#include "nsWindowsWMain.cpp"
@@ -56,12 +52,6 @@ using namespace mozilla;
#define kOSXResourcesFolder "Resources"
#endif
#define kDesktopFolder "browser"
-#define kMetroFolder "metro"
-#define kMetroAppIniFilename "metroapp.ini"
-#ifdef XP_WIN
-#define kMetroTestFile "tests.ini"
-const char* kMetroConsoleIdParam = "testconsoleid=";
-#endif
static void Output(const char *fmt, ... )
{
@@ -114,40 +104,6 @@ static bool IsArg(const char* arg, const char* s)
return false;
}
-#ifdef XP_WIN
-/*
- * AttachToTestHarness - Windows helper for when we are running
- * in the immersive environment. Firefox is launched by Windows in
- * response to a request by metrotestharness, which is launched by
- * runtests.py. As such stdout in fx doesn't point to the right
- * stream. This helper touches up stdout such that test output gets
- * routed to a named pipe metrotestharness creates and dumps to its
- * stdout.
- */
-static void AttachToTestHarness()
-{
- // attach to the metrotestharness named logging pipe
- HANDLE winOut = CreateFileA("\\\\.\\pipe\\metrotestharness",
- GENERIC_WRITE,
- FILE_SHARE_WRITE, 0,
- OPEN_EXISTING, 0, 0);
-
- if (winOut == INVALID_HANDLE_VALUE) {
- OutputDebugStringW(L"Could not create named logging pipe.\n");
- return;
- }
-
- // Set the c runtime handle
- int stdOut = _open_osfhandle((intptr_t)winOut, _O_APPEND);
- if (stdOut == -1) {
- OutputDebugStringW(L"Could not open c-runtime handle.\n");
- return;
- }
- FILE *fp = _fdopen(stdOut, "a");
- *stdout = *fp;
-}
-#endif
-
XRE_GetFileFromPathType XRE_GetFileFromPath;
XRE_CreateAppDataType XRE_CreateAppData;
XRE_FreeAppDataType XRE_FreeAppData;
@@ -426,6 +382,7 @@ InitXPCOMGlue(const char *argv0, nsIFile **xreDirectory)
return rv;
}
+ // This will set this thread as the main thread.
NS_LogInit();
// chop XPCOM_DLL off exePath
@@ -447,9 +404,6 @@ InitXPCOMGlue(const char *argv0, nsIFile **xreDirectory)
int main(int argc, char* argv[])
{
-#ifdef DEBUG_delay_start_metro
- Sleep(5000);
-#endif
uint64_t start = TimeStamp_Now();
#ifdef XP_MACOSX
diff --git a/browser/base/content/abouthealthreport/abouthealth.js b/browser/base/content/abouthealthreport/abouthealth.js
new file mode 100644
index 0000000000..7abb0b467a
--- /dev/null
+++ b/browser/base/content/abouthealthreport/abouthealth.js
@@ -0,0 +1,127 @@
+/* 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";
+
+const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+
+Cu.import("resource://gre/modules/Preferences.jsm");
+Cu.import("resource://gre/modules/Services.jsm");
+
+const prefs = new Preferences("datareporting.healthreport.");
+
+let healthReportWrapper = {
+ init: function () {
+ let iframe = document.getElementById("remote-report");
+ iframe.addEventListener("load", healthReportWrapper.initRemotePage, false);
+ iframe.src = this._getReportURI().spec;
+ iframe.onload = () => {
+ MozSelfSupport.getHealthReportPayload().then(this.updatePayload,
+ this.handleInitFailure);
+ };
+ prefs.observe("uploadEnabled", this.updatePrefState, healthReportWrapper);
+ },
+
+ uninit: function () {
+ prefs.ignore("uploadEnabled", this.updatePrefState, healthReportWrapper);
+ },
+
+ _getReportURI: function () {
+ let url = Services.urlFormatter.formatURLPref("datareporting.healthreport.about.reportUrl");
+ return Services.io.newURI(url, null, null);
+ },
+
+ setDataSubmission: function (enabled) {
+ MozSelfSupport.healthReportDataSubmissionEnabled = enabled;
+ this.updatePrefState();
+ },
+
+ updatePrefState: function () {
+ try {
+ let prefs = {
+ enabled: MozSelfSupport.healthReportDataSubmissionEnabled,
+ };
+ healthReportWrapper.injectData("prefs", prefs);
+ }
+ catch (ex) {
+ healthReportWrapper.reportFailure(healthReportWrapper.ERROR_PREFS_FAILED);
+ }
+ },
+
+ refreshPayload: function () {
+ MozSelfSupport.getHealthReportPayload().then(this.updatePayload,
+ this.handlePayloadFailure);
+ },
+
+ updatePayload: function (payload) {
+ healthReportWrapper.injectData("payload", JSON.stringify(payload));
+ },
+
+ injectData: function (type, content) {
+ let report = this._getReportURI();
+
+ // file URIs can't be used for targetOrigin, so we use "*" for this special case
+ // in all other cases, pass in the URL to the report so we properly restrict the message dispatch
+ let reportUrl = report.scheme == "file" ? "*" : report.spec;
+
+ let data = {
+ type: type,
+ content: content
+ }
+
+ let iframe = document.getElementById("remote-report");
+ iframe.contentWindow.postMessage(data, reportUrl);
+ },
+
+ handleRemoteCommand: function (evt) {
+ switch (evt.detail.command) {
+ case "DisableDataSubmission":
+ this.setDataSubmission(false);
+ break;
+ case "EnableDataSubmission":
+ this.setDataSubmission(true);
+ break;
+ case "RequestCurrentPrefs":
+ this.updatePrefState();
+ break;
+ case "RequestCurrentPayload":
+ this.refreshPayload();
+ break;
+ default:
+ Cu.reportError("Unexpected remote command received: " + evt.detail.command + ". Ignoring command.");
+ break;
+ }
+ },
+
+ initRemotePage: function () {
+ let iframe = document.getElementById("remote-report").contentDocument;
+ iframe.addEventListener("RemoteHealthReportCommand",
+ function onCommand(e) {healthReportWrapper.handleRemoteCommand(e);},
+ false);
+ healthReportWrapper.updatePrefState();
+ },
+
+ // error handling
+ ERROR_INIT_FAILED: 1,
+ ERROR_PAYLOAD_FAILED: 2,
+ ERROR_PREFS_FAILED: 3,
+
+ reportFailure: function (error) {
+ let details = {
+ errorType: error,
+ }
+ healthReportWrapper.injectData("error", details);
+ },
+
+ handleInitFailure: function () {
+ healthReportWrapper.reportFailure(healthReportWrapper.ERROR_INIT_FAILED);
+ },
+
+ handlePayloadFailure: function () {
+ healthReportWrapper.reportFailure(healthReportWrapper.ERROR_PAYLOAD_FAILED);
+ },
+}
+
+window.addEventListener("load", function () { healthReportWrapper.init(); });
+window.addEventListener("unload", function () { healthReportWrapper.uninit(); });
diff --git a/browser/branding/official/VisualElements_150.png b/browser/branding/official/VisualElements_150.png
deleted file mode 100644
index aa784449d1..0000000000
Binary files a/browser/branding/official/VisualElements_150.png and /dev/null differ
diff --git a/browser/branding/official/VisualElements_70.png b/browser/branding/official/VisualElements_70.png
deleted file mode 100644
index e785bfbc1b..0000000000
Binary files a/browser/branding/official/VisualElements_70.png and /dev/null differ
diff --git a/browser/branding/official/palemoon.VisualElementsManifest.xml b/browser/branding/official/palemoon.VisualElementsManifest.xml
deleted file mode 100644
index e9e1f136aa..0000000000
--- a/browser/branding/official/palemoon.VisualElementsManifest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
diff --git a/browser/branding/shared/branding.mozbuild b/browser/branding/shared/branding.mozbuild
index 0636be64a3..b7e23f0dc9 100644
--- a/browser/branding/shared/branding.mozbuild
+++ b/browser/branding/shared/branding.mozbuild
@@ -14,13 +14,6 @@ JS_PREFERENCE_FILES += [
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
- FINAL_TARGET_FILES['..'] += [
- 'palemoon.VisualElementsManifest.xml',
- ]
- FINAL_TARGET_FILES.VisualElements += [
- 'VisualElements_150.png',
- 'VisualElements_70.png',
- ]
BRANDING_FILES += [
'../shared/newtab.ico',
'../shared/newwindow.ico',
@@ -52,4 +45,4 @@ elif CONFIG['MOZ_WIDGET_GTK']:
DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
DEFINES['MOZ_BRANDING_DIRECTORY'] = CONFIG['MOZ_BRANDING_DIRECTORY']
DEFINES['MOZILLA_UAVERSION_U'] = CONFIG['MOZILLA_UAVERSION_U']
-DEFINES['MOZILLA_COMPATVERSION_U'] = CONFIG['MOZILLA_COMPATVERSION_U']
\ No newline at end of file
+DEFINES['MOZILLA_COMPATVERSION_U'] = CONFIG['MOZILLA_COMPATVERSION_U']
diff --git a/browser/branding/unofficial/VisualElements_150.png b/browser/branding/unofficial/VisualElements_150.png
deleted file mode 100644
index 3fc7deb5b0..0000000000
Binary files a/browser/branding/unofficial/VisualElements_150.png and /dev/null differ
diff --git a/browser/branding/unofficial/VisualElements_70.png b/browser/branding/unofficial/VisualElements_70.png
deleted file mode 100644
index be9f6670a8..0000000000
Binary files a/browser/branding/unofficial/VisualElements_70.png and /dev/null differ
diff --git a/browser/branding/unofficial/palemoon.VisualElementsManifest.xml b/browser/branding/unofficial/palemoon.VisualElementsManifest.xml
deleted file mode 100644
index 070bfc99af..0000000000
--- a/browser/branding/unofficial/palemoon.VisualElementsManifest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
diff --git a/browser/branding/unstable/VisualElements_150.png b/browser/branding/unstable/VisualElements_150.png
deleted file mode 100644
index 320623dc10..0000000000
Binary files a/browser/branding/unstable/VisualElements_150.png and /dev/null differ
diff --git a/browser/branding/unstable/VisualElements_70.png b/browser/branding/unstable/VisualElements_70.png
deleted file mode 100644
index cb4c868459..0000000000
Binary files a/browser/branding/unstable/VisualElements_70.png and /dev/null differ
diff --git a/browser/branding/unstable/palemoon.VisualElementsManifest.xml b/browser/branding/unstable/palemoon.VisualElementsManifest.xml
deleted file mode 100644
index 3bdebe2b76..0000000000
--- a/browser/branding/unstable/palemoon.VisualElementsManifest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
diff --git a/browser/build.mk b/browser/build.mk
index fc692eda5f..0117564409 100644
--- a/browser/build.mk
+++ b/browser/build.mk
@@ -49,9 +49,4 @@ mochitest:: mochitest-browser-chrome
.PHONY: mochitest-browser-chrome
-mochitest-metro-chrome:
- $(RUN_MOCHITEST) --metro-immersive --browser-chrome
- $(CHECK_TEST_ERROR)
-
-
endif
diff --git a/browser/components/moz.build b/browser/components/moz.build
index 1c1098f0a2..c87b6330af 100644
--- a/browser/components/moz.build
+++ b/browser/components/moz.build
@@ -17,6 +17,7 @@ DIRS += [
'search',
'sessionstore',
'shell',
+ 'selfsupport',
'migration',
]
@@ -41,4 +42,4 @@ EXTRA_PP_COMPONENTS += [
EXTRA_JS_MODULES += [
'distribution.js',
-]
\ No newline at end of file
+]
diff --git a/browser/components/selfsupport/SelfSupportService.js b/browser/components/selfsupport/SelfSupportService.js
new file mode 100644
index 0000000000..9a44377d4f
--- /dev/null
+++ b/browser/components/selfsupport/SelfSupportService.js
@@ -0,0 +1,78 @@
+/* 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";
+
+const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+Cu.import("resource://gre/modules/Services.jsm");
+
+const policy = Cc["@mozilla.org/datareporting/service;1"]
+ .getService(Ci.nsISupports)
+ .wrappedJSObject
+ .policy;
+
+XPCOMUtils.defineLazyGetter(this, "reporter", () => {
+ return Cc["@mozilla.org/datareporting/service;1"]
+ .getService(Ci.nsISupports)
+ .wrappedJSObject
+ .healthReporter;
+});
+
+function MozSelfSupportInterface() {
+}
+
+MozSelfSupportInterface.prototype = {
+ classDescription: "MozSelfSupport",
+ classID: Components.ID("{d30aae8b-f352-4de3-b936-bb9d875df0bb}"),
+ contractID: "@mozilla.org/mozselfsupport;1",
+ QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMGlobalPropertyInitializer]),
+
+ _window: null,
+
+ init: function (window) {
+ this._window = window;
+ },
+
+ get healthReportDataSubmissionEnabled() {
+ return policy.healthReportUploadEnabled;
+ },
+
+ set healthReportDataSubmissionEnabled(enabled) {
+ let reason = "Self-support interface sent " +
+ (enabled ? "opt-in" : "opt-out") +
+ " command.";
+ policy.recordHealthReportUploadEnabled(enabled, reason);
+ },
+
+ getHealthReportPayload: function () {
+ return new this._window.Promise(function (aResolve, aReject) {
+ if (reporter) {
+ let resolvePayload = function () {
+ reporter.collectAndObtainJSONPayload(true).then(aResolve, aReject);
+ };
+
+ if (reporter.initialized) {
+ resolvePayload();
+ } else {
+ reporter.onInit().then(resolvePayload, aReject);
+ }
+ } else {
+ aReject(new Error("No reporter"));
+ }
+ }.bind(this));
+ },
+
+ resetPref: function(name) {
+ Services.prefs.clearUserPref(name);
+ },
+
+ resetSearchEngines: function() {
+ Services.search.restoreDefaultEngines();
+ Services.search.resetToOriginalDefaultEngine();
+ },
+}
+
+this.NSGetFactory = XPCOMUtils.generateNSGetFactory([MozSelfSupportInterface]);
diff --git a/browser/components/selfsupport/SelfSupportService.manifest b/browser/components/selfsupport/SelfSupportService.manifest
new file mode 100644
index 0000000000..0e87857e73
--- /dev/null
+++ b/browser/components/selfsupport/SelfSupportService.manifest
@@ -0,0 +1,2 @@
+component {d30aae8b-f352-4de3-b936-bb9d875df0bb} SelfSupportService.js
+contract @mozilla.org/mozselfsupport;1 {d30aae8b-f352-4de3-b936-bb9d875df0bb}
diff --git a/browser/components/selfsupport/moz.build b/browser/components/selfsupport/moz.build
new file mode 100644
index 0000000000..af311e75a2
--- /dev/null
+++ b/browser/components/selfsupport/moz.build
@@ -0,0 +1,14 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+EXTRA_COMPONENTS += [
+ 'SelfSupportService.js',
+ 'SelfSupportService.manifest',
+]
+
+BROWSER_CHROME_MANIFESTS += [
+ 'test/browser.ini',
+]
diff --git a/browser/components/selfsupport/test/browser.ini b/browser/components/selfsupport/test/browser.ini
new file mode 100644
index 0000000000..ba56857b3a
--- /dev/null
+++ b/browser/components/selfsupport/test/browser.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[browser_selfsupportAPI.js]
diff --git a/browser/components/selfsupport/test/browser_selfsupportAPI.js b/browser/components/selfsupport/test/browser_selfsupportAPI.js
new file mode 100644
index 0000000000..2a54d4ae65
--- /dev/null
+++ b/browser/components/selfsupport/test/browser_selfsupportAPI.js
@@ -0,0 +1,88 @@
+Cu.import("resource://gre/modules/Preferences.jsm");
+
+function test_resetPref() {
+ const prefNewName = "browser.newpref.fake";
+ Assert.ok(!Preferences.has(prefNewName), "pref should not exist");
+
+ const prefExistingName = "extensions.hotfix.id";
+ Assert.ok(Preferences.has(prefExistingName), "pref should exist");
+ Assert.ok(!Preferences.isSet(prefExistingName), "pref should not be user-set");
+ let prefExistingOriginalValue = Preferences.get(prefExistingName);
+
+ registerCleanupFunction(function() {
+ Preferences.set(prefExistingName, prefExistingOriginalValue);
+ Services.prefs.deleteBranch(prefNewName);
+ });
+
+ // 1. do nothing on an inexistent pref
+ MozSelfSupport.resetPref(prefNewName);
+ Assert.ok(!Preferences.has(prefNewName), "pref should still not exist");
+
+ // 2. creation of a new pref
+ Preferences.set(prefNewName, 10);
+ Assert.ok(Preferences.has(prefNewName), "pref should exist");
+ Assert.equal(Preferences.get(prefNewName), 10, "pref value should be 10");
+
+ MozSelfSupport.resetPref(prefNewName);
+ Assert.ok(!Preferences.has(prefNewName), "pref should not exist any more");
+
+ // 3. do nothing on an unchanged existing pref
+ MozSelfSupport.resetPref(prefExistingName);
+ Assert.ok(Preferences.has(prefExistingName), "pref should still exist");
+ Assert.equal(Preferences.get(prefExistingName), prefExistingOriginalValue, "pref value should be the same as original");
+
+ // 4. change the value of an existing pref
+ Preferences.set(prefExistingName, "anyone@mozilla.org");
+ Assert.ok(Preferences.has(prefExistingName), "pref should exist");
+ Assert.equal(Preferences.get(prefExistingName), "anyone@mozilla.org", "pref value should have changed");
+
+ MozSelfSupport.resetPref(prefExistingName);
+ Assert.ok(Preferences.has(prefExistingName), "pref should still exist");
+ Assert.equal(Preferences.get(prefExistingName), prefExistingOriginalValue, "pref value should be the same as original");
+
+ // 5. delete an existing pref
+ // deleteBranch is implemented in such a way that
+ // clearUserPref can't undo its action
+ // see discussion in bug 1075160
+}
+
+function test_resetSearchEngines()
+{
+ const defaultEngineOriginal = Services.search.defaultEngine;
+ const visibleEnginesOriginal = Services.search.getVisibleEngines();
+
+ // 1. do nothing on unchanged search configuration
+ MozSelfSupport.resetSearchEngines();
+ Assert.equal(Services.search.defaultEngine, defaultEngineOriginal, "default engine should be reset");
+ Assert.deepEqual(Services.search.getVisibleEngines(), visibleEnginesOriginal,
+ "default visible engines set should be reset");
+
+ // 2. change the default search engine
+ const defaultEngineNew = visibleEnginesOriginal[3];
+ Assert.notEqual(defaultEngineOriginal, defaultEngineNew, "new default engine should be different from original");
+ Services.search.defaultEngine = defaultEngineNew;
+ Assert.equal(Services.search.defaultEngine, defaultEngineNew, "default engine should be set to new");
+ MozSelfSupport.resetSearchEngines();
+ Assert.equal(Services.search.defaultEngine, defaultEngineOriginal, "default engine should be reset");
+ Assert.deepEqual(Services.search.getVisibleEngines(), visibleEnginesOriginal,
+ "default visible engines set should be reset");
+
+ // 3. remove an engine
+ const engineRemoved = visibleEnginesOriginal[2];
+ Services.search.removeEngine(engineRemoved);
+ Assert.ok(Services.search.getVisibleEngines().indexOf(engineRemoved) == -1,
+ "removed engine should not be visible any more");
+ MozSelfSupport.resetSearchEngines();
+ Assert.equal(Services.search.defaultEngine, defaultEngineOriginal, "default engine should be reset");
+ Assert.deepEqual(Services.search.getVisibleEngines(), visibleEnginesOriginal,
+ "default visible engines set should be reset");
+
+ // 4. add an angine
+ // we don't remove user-added engines as they are only used if selected
+}
+
+function test()
+{
+ test_resetPref();
+ test_resetSearchEngines();
+}
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 9120455e0b..e1d506fb3b 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -149,9 +149,6 @@
; [Base Browser Files]
#ifndef XP_UNIX
@BINPATH@/@MOZ_APP_NAME@.exe
-@BINPATH@/palemoon.VisualElementsManifest.xml
-@BINPATH@/browser/VisualElements/VisualElements_150.png
-@BINPATH@/browser/VisualElements/VisualElements_70.png
#else
@RESPATH@/@MOZ_APP_NAME@-bin
@BINPATH@/@MOZ_APP_NAME@
@@ -193,7 +190,6 @@
@RESPATH@/components/chrome.xpt
@RESPATH@/components/commandhandler.xpt
@RESPATH@/components/commandlines.xpt
-@RESPATH@/components/compartments.xpt
@RESPATH@/components/composer.xpt
@RESPATH@/components/content_events.xpt
@RESPATH@/components/content_html.xpt
@@ -343,6 +339,7 @@
@RESPATH@/components/toolkit_finalizationwitness.xpt
@RESPATH@/components/toolkit_formautofill.xpt
@RESPATH@/components/toolkit_osfile.xpt
+@RESPATH@/components/toolkit_perfmonitoring.xpt
@RESPATH@/components/toolkit_xulstore.xpt
@RESPATH@/components/toolkitprofile.xpt
#ifdef MOZ_ENABLE_XREMOTE
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
index f00d7a0401..fe4a572ecd 100644
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -118,10 +118,6 @@ install:: $(addprefix generic/profile/,$(PROFILE_FILES))
install:: $(call MERGE_FILES,$(addprefix profile/chrome/,$(PROFILE_CHROME)))
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/defaults/profile/chrome
-# metro build calls back here for search engine plugins
-searchplugins: $(addprefix $(FINAL_TARGET)/searchplugins/,$(SEARCHPLUGINS))
-.PHONY: searchplugins
-
libs-%:
$(NSINSTALL) -D $(DIST)/install
@$(MAKE) -C ../../toolkit/locales libs-$*
diff --git a/browser/locales/en-US/chrome/browser/preferences/advanced.dtd b/browser/locales/en-US/chrome/browser/preferences/advanced.dtd
index 6ef29c6802..6f52fa1088 100644
--- a/browser/locales/en-US/chrome/browser/preferences/advanced.dtd
+++ b/browser/locales/en-US/chrome/browser/preferences/advanced.dtd
@@ -72,13 +72,8 @@
-
-
-
@@ -87,8 +82,6 @@
-
-
diff --git a/browser/locales/en-US/chrome/browser/preferences/preferences.properties b/browser/locales/en-US/chrome/browser/preferences/preferences.properties
index 826f1463dc..3b9f8ef93d 100644
--- a/browser/locales/en-US/chrome/browser/preferences/preferences.properties
+++ b/browser/locales/en-US/chrome/browser/preferences/preferences.properties
@@ -122,11 +122,6 @@ actualDiskCacheSize=Your web content cache is currently using %1$S %2$S of disk
# %2$S = unit (MB, KB, etc.)
actualAppCacheSize=Your application cache is currently using %1$S %2$S of disk space
-###Preferences::Advanced::Update
-#LOCALIZATION NOTE: The next string is for updating in Windows 8 only instead of updateAuto1.label. %S = brandShortName
-updateAutoDesktop.label=Automatically install updates from desktop %S
-updateAutoDesktop.accessKey=A
-
syncUnlink.title=Do you want to unlink your device?
syncUnlink.label=This device will no longer be associated with your Sync account. All of your personal data, both on this device and in your Sync account, will remain intact.
syncUnlinkConfirm.label=Unlink
diff --git a/browser/locales/en-US/chrome/browser/syncSetup.dtd b/browser/locales/en-US/chrome/browser/syncSetup.dtd
index 7ee938e5d6..f993f7ac9d 100644
--- a/browser/locales/en-US/chrome/browser/syncSetup.dtd
+++ b/browser/locales/en-US/chrome/browser/syncSetup.dtd
@@ -33,8 +33,6 @@
-
-
diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
index 11ca33adb3..1aad9b56f8 100644
--- a/docshell/base/nsAboutRedirector.cpp
+++ b/docshell/base/nsAboutRedirector.cpp
@@ -71,7 +71,7 @@ static RedirEntry kRedirMap[] = {
nsIAboutModule::ALLOW_SCRIPT
},
{
- "compartments", "chrome://global/content/aboutCompartments.xhtml",
+ "performance", "chrome://global/content/aboutPerformance.xhtml",
nsIAboutModule::ALLOW_SCRIPT
},
{
diff --git a/docshell/build/nsDocShellModule.cpp b/docshell/build/nsDocShellModule.cpp
index ef46d3f489..8e4dcc9488 100644
--- a/docshell/build/nsDocShellModule.cpp
+++ b/docshell/build/nsDocShellModule.cpp
@@ -163,9 +163,8 @@ const mozilla::Module::ContractIDEntry kDocShellContracts[] = {
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "buildconfig", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "license", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "neterror", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "compartments", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "memory", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
- { NS_ABOUT_MODULE_CONTRACTID_PREFIX "compartments", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
+ { NS_ABOUT_MODULE_CONTRACTID_PREFIX "performance", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "addons", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "newaddon", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "support", &kNS_ABOUT_REDIRECTOR_MODULE_CID },
diff --git a/dom/media/platforms/wmf/WMFVideoMFTManager.cpp b/dom/media/platforms/wmf/WMFVideoMFTManager.cpp
index 132affe79a..d6daf660f0 100644
--- a/dom/media/platforms/wmf/WMFVideoMFTManager.cpp
+++ b/dom/media/platforms/wmf/WMFVideoMFTManager.cpp
@@ -165,7 +165,7 @@ WMFVideoMFTManager::InitializeDXVA()
}
if (gfxWindowsPlatform::GetPlatform()->IsWARP() ||
- !gfxPlatform::CanUseDXVA()) {
+ !gfxPlatform::CanUseHardwareVideoDecoding()) {
return false;
}
diff --git a/dom/media/wmf/WMFReader.cpp b/dom/media/wmf/WMFReader.cpp
index c032039c92..65f063d2da 100644
--- a/dom/media/wmf/WMFReader.cpp
+++ b/dom/media/wmf/WMFReader.cpp
@@ -84,9 +84,11 @@ WMFReader::~WMFReader()
bool
WMFReader::InitializeDXVA()
{
- if (!Preferences::GetBool("media.windows-media-foundation.use-dxva", false)) {
+ if (gfxWindowsPlatform::GetPlatform()->IsWARP() ||
+ !gfxPlatform::CanUseHardwareVideoDecoding()) {
return false;
}
+
MOZ_ASSERT(mDecoder->GetImageContainer());
// Extract the layer manager backend type so that we can determine
@@ -111,11 +113,6 @@ WMFReader::InitializeDXVA()
return false;
}
- if (gfxWindowsPlatform::GetPlatform()->IsWARP() ||
- !gfxPlatform::CanUseDXVA()) {
- return false;
- }
-
mDXVA2Manager = DXVA2Manager::CreateD3D9DXVA();
return mDXVA2Manager != nullptr;
diff --git a/dom/webidl/MozSelfSupport.webidl b/dom/webidl/MozSelfSupport.webidl
index 160141d76b..c4345bcc08 100644
--- a/dom/webidl/MozSelfSupport.webidl
+++ b/dom/webidl/MozSelfSupport.webidl
@@ -28,7 +28,7 @@ interface MozSelfSupport
* clientID: String,
* clientIDVersion: Number,
* thisPingDate: String,
- * goannaAppInfo: Object,
+ * geckoAppInfo: Object,
* data: Object
* }
*
@@ -39,4 +39,20 @@ interface MozSelfSupport
* Resolved when the FHR payload data has been collected.
*/
Promise