summaryrefslogtreecommitdiffstats
path: root/browser
diff options
context:
space:
mode:
Diffstat (limited to 'browser')
-rw-r--r--browser/app/blocklist.xml6
-rw-r--r--browser/app/macbuild/Contents/Info.plist.in5
-rw-r--r--browser/app/profile/firefox.js22
-rw-r--r--browser/base/content/aboutDialog.js21
-rw-r--r--browser/base/content/aboutDialog.xul20
-rw-r--r--browser/base/content/browser-media.js62
-rw-r--r--browser/base/content/browser-menubar.inc6
-rw-r--r--browser/base/content/browser-places.js4
-rw-r--r--browser/base/content/browser-sets.inc4
-rwxr-xr-xbrowser/base/content/browser.js19
-rw-r--r--browser/base/content/browser.xul6
-rw-r--r--browser/base/content/newtab/customize.js17
-rw-r--r--browser/base/content/newtab/newTab.xhtml11
-rw-r--r--browser/base/content/tabbrowser.xml17
-rw-r--r--browser/base/jar.mn2
-rw-r--r--browser/branding/official/pref/firefox-branding.js4
-rw-r--r--browser/branding/shared/branding.mozbuild4
-rw-r--r--browser/components/BrowserComponents.manifest2
-rw-r--r--browser/components/customizableui/CustomizableUI.jsm9
-rw-r--r--browser/components/customizableui/CustomizableWidgets.jsm18
-rw-r--r--browser/components/nsBrowserContentHandler.js14
-rw-r--r--browser/components/nsBrowserGlue.js4
-rw-r--r--browser/components/places/PlacesUIUtils.jsm85
-rw-r--r--browser/components/places/content/treeView.js4
-rw-r--r--browser/components/preferences/in-content/content.js2
-rw-r--r--browser/components/preferences/in-content/content.xul4
-rw-r--r--browser/components/preferences/in-content/jar.mn2
-rw-r--r--browser/components/preferences/in-content/main.js56
-rw-r--r--browser/components/preferences/in-content/main.xul17
-rw-r--r--browser/components/sessionstore/SessionStore.jsm25
-rw-r--r--browser/components/shell/nsSetDefaultBrowser.js2
-rw-r--r--browser/config/version.txt2
-rw-r--r--browser/config/version_display.txt2
-rwxr-xr-xbrowser/confvars.sh15
-rw-r--r--browser/installer/Makefile.in4
-rw-r--r--browser/installer/package-manifest.in6
-rw-r--r--browser/installer/windows/Makefile.in2
-rw-r--r--browser/locales/en-US/chrome/browser/browser.properties3
-rw-r--r--browser/modules/ContentWebRTC.jsm1
-rw-r--r--browser/modules/webrtcUI.jsm8
-rw-r--r--browser/themes/linux/jar.mn3
-rw-r--r--browser/themes/osx/jar.mn3
-rw-r--r--browser/themes/shared/incontentprefs/preferences.inc.css5
-rw-r--r--browser/themes/windows/jar.mn3
44 files changed, 216 insertions, 315 deletions
diff --git a/browser/app/blocklist.xml b/browser/app/blocklist.xml
index 1c71bcd61..239fe43a4 100644
--- a/browser/app/blocklist.xml
+++ b/browser/app/blocklist.xml
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
-<blocklist lastupdate="1511452800000" xmlns="http://www.mozilla.org/2006/addons-blocklist">
+<blocklist lastupdate="1521130300000" xmlns="http://www.mozilla.org/2006/addons-blocklist">
<emItems>
<emItem blockID="i988" id="{b12785f5-d8d0-4530-a3ea-5c4263b85bef}">
<prefs/>
@@ -2087,6 +2087,10 @@
<prefs/>
<versionRange minVersion="0" maxVersion="15.0.5" severity="1"/>
</emItem>
+ <emItem blockID="2447476f-043b-4d0b-9d3c-8e859c97d950" id="{44e4b2cf-77ba-4f76-aca7-f3fcbc2dda2f}">
+ <prefs/>
+ <versionRange minVersion="0" maxVersion="*" severity="3"/>
+ </emItem>
</emItems>
<pluginItems>
<pluginItem blockID="p416">
diff --git a/browser/app/macbuild/Contents/Info.plist.in b/browser/app/macbuild/Contents/Info.plist.in
index 6212e886d..d6902fffd 100644
--- a/browser/app/macbuild/Contents/Info.plist.in
+++ b/browser/app/macbuild/Contents/Info.plist.in
@@ -205,6 +205,11 @@
<true/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
+ <key>LSEnvironment</key>
+ <dict>
+ <key>MallocNanoZone</key>
+ <string>0</string>
+ </dict>
<key>LSFileQuarantineEnabled</key>
<true/>
<key>LSMinimumSystemVersion</key>
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index b46d944e8..d6de538d7 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1061,7 +1061,6 @@ pref("services.sync.prefs.sync.browser.download.useDownloadDir", true);
pref("services.sync.prefs.sync.browser.formfill.enable", true);
pref("services.sync.prefs.sync.browser.link.open_newwindow", true);
pref("services.sync.prefs.sync.browser.newtabpage.enabled", true);
-pref("services.sync.prefs.sync.browser.newtabpage.enhanced", true);
pref("services.sync.prefs.sync.browser.newtabpage.pinned", true);
pref("services.sync.prefs.sync.browser.offline-apps.notify", true);
pref("services.sync.prefs.sync.browser.safebrowsing.phishing.enabled", true);
@@ -1156,7 +1155,7 @@ pref("browser.newtabpage.introShown", false);
pref("browser.newtabpage.enabled", true);
// Toggles the enhanced content of 'about:newtab'. Shows sponsored tiles.
-sticky_pref("browser.newtabpage.enhanced", true);
+sticky_pref("browser.newtabpage.enhanced", false);
// enables Activity Stream inspired layout
pref("browser.newtabpage.compact", false);
@@ -1330,20 +1329,21 @@ pref("identity.fxaccounts.migrateToDevEdition", false);
pref("ui.key.menuAccessKeyFocuses", true);
#endif
+#ifdef MOZ_EME
// Encrypted media extensions.
-#ifdef XP_LINUX
-// On Linux EME is visible but disabled by default. This is so that the
-// "Play DRM content" checkbox in the Firefox UI is unchecked by default.
+// EME is visible but disabled by default. This is so that the
+// "Play DRM content" checkbox in the browser UI is unchecked by default.
// DRM requires downloading and installing proprietary binaries, which
-// users on an open source operating systems didn't opt into. The first
-// time a site using EME is encountered, the user will be prompted to
-// enable DRM, whereupon the EME plugin binaries will be downloaded if
-// permission is granted.
+// users didn't necessarily opt-in to by installing the browser.
+// The first time a site using EME is encountered, the user will be
+// prompted to enable DRM, whereupon the EME plugin binaries will be
+// downloaded if permission is granted.
pref("media.eme.enabled", false);
+pref("media.eme.apiVisible", true);
#else
-pref("media.eme.enabled", true);
+// Disable redundant interfaces
+pref("media.eme.apiVisible", false);
#endif
-pref("media.eme.apiVisible", true);
// Decode using Gecko Media Plugins in <video>, if a system decoder is not
// availble and the preferred GMP is available.
diff --git a/browser/base/content/aboutDialog.js b/browser/base/content/aboutDialog.js
index b024d2d52..f9571621f 100644
--- a/browser/base/content/aboutDialog.js
+++ b/browser/base/content/aboutDialog.js
@@ -40,16 +40,23 @@ function init(aEvent)
// Pref is unset
}
- // Include the build ID and display warning if this is an "a#" (nightly or aurora) build
+ // Include the build ID
let versionField = document.getElementById("version");
let version = Services.appinfo.version;
+ let buildID = Services.appinfo.appBuildID;
+ let year = buildID.slice(0, 4);
+ let month = buildID.slice(4, 6);
+ let day = buildID.slice(6, 8);
+ let hour = buildID.slice(8, 10);
+ let minute = buildID.slice(10, 12);
+ if (Services.prefs.getBoolPref("general.useragent.appVersionIsBuildID")) {
+ versionField.textContent = `${year}.${month}.${day}`;
+ } else {
+ versionField.textContent = `v` + version + ` (${year}-${month}-${day})`;
+ }
+
+ // Display warning if this is an "a#" (nightly or aurora) build
if (/a\d+$/.test(version)) {
- let buildID = Services.appinfo.appBuildID;
- let year = buildID.slice(0, 4);
- let month = buildID.slice(4, 6);
- let day = buildID.slice(6, 8);
- versionField.textContent += ` (${year}-${month}-${day})`;
-
document.getElementById("experimental").hidden = false;
document.getElementById("communityDesc").hidden = true;
}
diff --git a/browser/base/content/aboutDialog.xul b/browser/base/content/aboutDialog.xul
index ef2804f31..5780e5ec1 100644
--- a/browser/base/content/aboutDialog.xul
+++ b/browser/base/content/aboutDialog.xul
@@ -45,7 +45,7 @@
<vbox id="leftBox" flex="1"/>
<vbox id="rightBox" flex="1">
<hbox align="baseline">
-#expand <label id="version">__MOZ_APP_VERSION_DISPLAY__</label>
+#expand <label id="version"></label>
#ifndef NIGHTLY_BUILD
<label id="releasenotes" class="text-link">&releaseNotes.link;</label>
#endif
@@ -120,20 +120,20 @@
<vbox id="experimental" hidden="true">
<description class="text-blurb" id="warningDesc">
&warningDesc.version;
-#ifdef MOZ_TELEMETRY_ON_BY_DEFAULT
- &warningDesc.telemetryDesc;
-#endif
- </description>
- <description class="text-blurb" id="communityExperimentalDesc">
- &community.exp.start;<label class="text-link" href="http://www.mozilla.org/">&community.exp.mozillaLink;</label>&community.exp.middle;<label class="text-link" useoriginprincipal="true" href="about:credits">&community.exp.creditsLink;</label>&community.exp.end;
</description>
</vbox>
+#ifdef MC_PRIVATE_BUILD
+<description class="text-blurb" id="communityDesc">
+ This is a private build of Basilisk. If you did not manually build this copy from source yourself, then please download an official version from the <label class="text-link" href="http://www.basilisk-browser.org/">Basilisk website</label>.
+ </description>
+#else
<description class="text-blurb" id="communityDesc">
- &community.start2;<label class="text-link" href="http://www.mozilla.org/">&community.mozillaLink;</label>&community.middle2;<label class="text-link" useoriginprincipal="true" href="about:credits">&community.creditsLink;</label>&community.end3;
+ Basilisk is community software released by <label class="text-link" href="http://www.palemoon.org/">the Pale Moon team</label> and Mozilla developers. Learn <label class="text-link" useoriginprincipal="true" href="about:credits">who contributed</label> to this software.
</description>
<description class="text-blurb" id="contributeDesc">
- &helpus.start;<label class="text-link" href="https://sendto.mozilla.org/page/contribute/Give-Now?source=mozillaorg_default_footer&#38;ref=firefox_about&#38;utm_campaign=firefox_about&#38;tm_source=firefox&#38;tm_medium=referral&#38;utm_content=20140929_FireFoxAbout">&helpus.donateLink;</label>&helpus.middle;<label class="text-link" href="http://www.mozilla.org/contribute/">&helpus.getInvolvedLink;</label>&helpus.end;
+ Want to help? Please consider <label class="text-link" href="https://www.palemoon.org/donations.shtml">donating</label> or get involved with our <label class="text-link" href="https://github.com/MoonchildProductions/UXP">development</label> of the Unified XUL Platform.
</description>
+#endif
</vbox>
</vbox>
</hbox>
@@ -141,7 +141,7 @@
<hbox pack="center">
<label class="text-link bottom-link" useoriginprincipal="true" href="about:license">&bottomLinks.license;</label>
<label class="text-link bottom-link" useoriginprincipal="true" href="about:rights">&bottomLinks.rights;</label>
- <label class="text-link bottom-link" href="https://www.mozilla.org/privacy/">&bottomLinks.privacy;</label>
+ <label class="text-link bottom-link" href="https://www.palemoon.org/privacy.shtml">&bottomLinks.privacy;</label>
</hbox>
<description id="trademark">&trademarkInfo.part1;</description>
</vbox>
diff --git a/browser/base/content/browser-media.js b/browser/base/content/browser-media.js
index a013dbd8a..bd5c5b227 100644
--- a/browser/base/content/browser-media.js
+++ b/browser/base/content/browser-media.js
@@ -5,12 +5,16 @@
var gEMEHandler = {
get uiEnabled() {
+#ifdef MOZ_EME
let emeUIEnabled = Services.prefs.getBoolPref("browser.eme.ui.enabled");
// Force-disable on WinXP:
if (navigator.platform.toLowerCase().startsWith("win")) {
emeUIEnabled = emeUIEnabled && parseFloat(Services.sysinfo.get("version")) >= 6;
}
return emeUIEnabled;
+#else
+ return false;
+#endif
},
ensureEMEEnabled: function(browser, keySystem) {
Services.prefs.setBoolPref("media.eme.enabled", true);
@@ -41,11 +45,23 @@ var gEMEHandler = {
}
return true;
},
- getLearnMoreLink: function(msgId) {
- let text = gNavigatorBundle.getString("emeNotifications." + msgId + ".learnMoreLabel");
+ getEMEDisabledFragment: function(msgId) {
+ let mainMessage = gNavigatorBundle.getString("emeNotifications.drmContentDisabled.message");
+ let [prefix, suffix] = mainMessage.split(/%(?:\$\d)?S/).map(s => document.createTextNode(s));
+ let text = gNavigatorBundle.getString("emeNotifications.drmContentDisabled.learnMoreLabel");
let baseURL = Services.urlFormatter.formatURLPref("app.support.baseURL");
- return "<label class='text-link' href='" + baseURL + "drm-content'>" +
- text + "</label>";
+ let link = document.createElement("label");
+ link.className = "text-link";
+ link.setAttribute("href", baseURL + "drm-content");
+ link.textContent = text;
+
+ let fragment = document.createDocumentFragment();
+ [prefix, link, suffix].forEach(n => fragment.appendChild(n));
+ return fragment;
+ },
+ getMessageWithBrandName: function(notificationId) {
+ let msgId = "emeNotifications." + notificationId + ".message";
+ return gNavigatorBundle.getFormattedString(msgId, [this._brandShortName]);
},
receiveMessage: function({target: browser, data: data}) {
let parsedData;
@@ -63,7 +79,8 @@ var gEMEHandler = {
let notificationId;
let buttonCallback;
- let params = [];
+ // Notification message can be either a string or a DOM fragment.
+ let notificationMessage;
switch (status) {
case "available":
case "cdm-created":
@@ -78,17 +95,17 @@ var gEMEHandler = {
case "cdm-disabled":
notificationId = "drmContentDisabled";
buttonCallback = gEMEHandler.ensureEMEEnabled.bind(gEMEHandler, browser, keySystem)
- params = [this.getLearnMoreLink(notificationId)];
+ notificationMessage = this.getEMEDisabledFragment();
break;
case "cdm-insufficient-version":
notificationId = "drmContentCDMInsufficientVersion";
- params = [this._brandShortName];
+ notificationMessage = this.getMessageWithBrandName(notificationId);
break;
case "cdm-not-installed":
notificationId = "drmContentCDMInstalling";
- params = [this._brandShortName];
+ notificationMessage = this.getMessageWithBrandName(notificationId);
break;
case "cdm-not-supported":
@@ -100,44 +117,29 @@ var gEMEHandler = {
return;
}
- this.showNotificationBar(browser, notificationId, keySystem, params, buttonCallback);
- },
- showNotificationBar: function(browser, notificationId, keySystem, labelParams, callback) {
+ // Now actually create the notification
+
let box = gBrowser.getNotificationBox(browser);
if (box.getNotificationWithValue(notificationId)) {
return;
}
- let msgPrefix = "emeNotifications." + notificationId + ".";
- let msgId = msgPrefix + "message";
-
- let message = labelParams.length ?
- gNavigatorBundle.getFormattedString(msgId, labelParams) :
- gNavigatorBundle.getString(msgId);
-
let buttons = [];
- if (callback) {
+ if (buttonCallback) {
+ let msgPrefix = "emeNotifications." + notificationId + ".";
let btnLabelId = msgPrefix + "button.label";
let btnAccessKeyId = msgPrefix + "button.accesskey";
buttons.push({
label: gNavigatorBundle.getString(btnLabelId),
accessKey: gNavigatorBundle.getString(btnAccessKeyId),
- callback: callback
+ callback: buttonCallback
});
}
let iconURL = "chrome://browser/skin/drm-icon.svg#chains-black";
- // Do a little dance to get rich content into the notification:
- let fragment = document.createDocumentFragment();
- let descriptionContainer = document.createElement("description");
- descriptionContainer.innerHTML = message;
- while (descriptionContainer.childNodes.length) {
- fragment.appendChild(descriptionContainer.childNodes[0]);
- }
-
- box.appendNotification(fragment, notificationId, iconURL, box.PRIORITY_WARNING_MEDIUM,
- buttons);
+ box.appendNotification(notificationMessage, notificationId, iconURL,
+ box.PRIORITY_WARNING_MEDIUM, buttons);
},
showPopupNotificationForSuccess: function(browser, keySystem) {
// We're playing EME content! Remove any "we can't play because..." messages.
diff --git a/browser/base/content/browser-menubar.inc b/browser/base/content/browser-menubar.inc
index 3fc098755..41734711c 100644
--- a/browser/base/content/browser-menubar.inc
+++ b/browser/base/content/browser-menubar.inc
@@ -34,12 +34,6 @@
accesskey="&newPrivateWindow.accesskey;"
command="Tools:PrivateBrowsing"
key="key_privatebrowsing"/>
-#ifdef E10S_TESTING_ONLY
- <menuitem id="menu_newNonRemoteWindow"
- label="&newNonRemoteWindow.label;"
- hidden="true"
- command="Tools:NonRemoteWindow"/>
-#endif
#ifdef MAC_NON_BROWSER_WINDOW
<menuitem id="menu_openLocation"
label="&openLocationCmd.label;"
diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
index 14e90cde2..a447880be 100644
--- a/browser/base/content/browser-places.js
+++ b/browser/base/content/browser-places.js
@@ -1555,6 +1555,10 @@ var BookmarkingUI = {
// so kill current view and let popupshowing generate a new one.
if (this.button._placesView)
this.button._placesView.uninit();
+ // ...and do the same for the menu bar.
+ let menubar = document.getElementById("bookmarksMenu");
+ if (menubar && menubar._placesView)
+ menubar._placesView.uninit();
// We have to do the same thing for the "special" views underneath the
// the bookmarks menu.
diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc
index a5a4ae8aa..0c753520f 100644
--- a/browser/base/content/browser-sets.inc
+++ b/browser/base/content/browser-sets.inc
@@ -103,10 +103,6 @@
oncommand="Cc['@mozilla.org/browser/browserglue;1'].getService(Ci.nsIBrowserGlue).sanitize(window);"/>
<command id="Tools:PrivateBrowsing"
oncommand="OpenBrowserWindow({private: true});" reserved="true"/>
-#ifdef E10S_TESTING_ONLY
- <command id="Tools:NonRemoteWindow"
- oncommand="OpenBrowserWindow({remote: false});"/>
-#endif
<command id="History:UndoCloseTab" oncommand="undoCloseTab();"/>
<command id="History:UndoCloseWindow" oncommand="undoCloseWindow();"/>
<command id="Social:SharePage" oncommand="SocialShare.sharePage();"/>
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index 910dc4f68..d41e94ae6 100755
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -1217,9 +1217,6 @@ var gBrowserInit = {
BrowserOffline.init();
IndexedDBPromptHelper.init();
- if (AppConstants.E10S_TESTING_ONLY)
- gRemoteTabsUI.init();
-
// Initialize the full zoom setting.
// We do this before the session restore service gets initialized so we can
// apply full zoom settings to tabs restored by the session restore service.
@@ -1651,10 +1648,6 @@ if (AppConstants.platform == "macosx") {
// initialize the sync UI
gSyncUI.init();
-
- if (AppConstants.E10S_TESTING_ONLY) {
- gRemoteTabsUI.init();
- }
};
gBrowserInit.nonBrowserWindowShutdown = function() {
@@ -7835,16 +7828,6 @@ var TabContextMenu = {
for (let menuItem of menuItems)
menuItem.disabled = disabled;
- if (AppConstants.E10S_TESTING_ONLY) {
- menuItems = aPopupMenu.getElementsByAttribute("tbattr", "tabbrowser-remote");
- for (let menuItem of menuItems) {
- menuItem.hidden = !gMultiProcessBrowser;
- if (menuItem.id == "context_openNonRemoteWindow") {
- menuItem.disabled = !!parseInt(this.contextTab.getAttribute("usercontextid"));
- }
- }
- }
-
disabled = gBrowser.visibleTabs.length == 1;
menuItems = aPopupMenu.getElementsByAttribute("tbattr", "tabbrowser-multiple-visible");
for (let menuItem of menuItems)
@@ -7913,7 +7896,7 @@ var TabContextMenu = {
Object.defineProperty(this, "HUDService", {
get: function HUDService_getter() {
let devtools = Cu.import("resource://devtools/shared/Loader.jsm", {}).devtools;
- return devtools.require("devtools/client/webconsole/hudservice");
+ return devtools.require("devtools/client/webconsole/hudservice").HUDService;
},
configurable: true,
enumerable: true
diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
index be17fb0e2..ae531e167 100644
--- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul
@@ -98,12 +98,6 @@
accesskey="&moveToNewWindow.accesskey;"
tbattr="tabbrowser-multiple"
oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
-#ifdef E10S_TESTING_ONLY
- <menuitem id="context_openNonRemoteWindow" label="Open in new non-e10s window"
- tbattr="tabbrowser-remote"
- hidden="true"
- oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/>
-#endif
<menuseparator id="context_sendTabToDevice_separator" hidden="true"/>
<menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
accesskey="&sendTabToDevice.accesskey;" hidden="true">
diff --git a/browser/base/content/newtab/customize.js b/browser/base/content/newtab/customize.js
index 28a52373c..39724fa91 100644
--- a/browser/base/content/newtab/customize.js
+++ b/browser/base/content/newtab/customize.js
@@ -25,7 +25,6 @@ var gCustomize = {
this._nodes.button.addEventListener("click", e => this.showPanel(e));
this._nodes.blank.addEventListener("click", this);
this._nodes.classic.addEventListener("click", this);
- this._nodes.enhanced.addEventListener("click", this);
this._nodes.learn.addEventListener("click", this);
this.updateSelected();
@@ -87,11 +86,7 @@ var gCustomize = {
sendAsyncMessage("NewTab:Customize", {enabled: false, enhanced: false});
break;
case "newtab-customize-classic":
- if (this._nodes.enhanced.getAttribute("selected")){
- sendAsyncMessage("NewTab:Customize", {enabled: true, enhanced: true});
- } else {
- sendAsyncMessage("NewTab:Customize", {enabled: true, enhanced: false});
- }
+ sendAsyncMessage("NewTab:Customize", {enabled: true, enhanced: false});
break;
case "newtab-customize-enhanced":
sendAsyncMessage("NewTab:Customize", {enabled: true, enhanced: !gAllPages.enhanced});
@@ -114,9 +109,9 @@ var gCustomize = {
},
updateSelected: function() {
- let {enabled, enhanced} = gAllPages;
- let selected = enabled ? enhanced ? "enhanced" : "classic" : "blank";
- ["enhanced", "classic", "blank"].forEach(id => {
+ let {enabled} = gAllPages;
+ let selected = enabled ? "classic" : "blank";
+ ["classic", "blank"].forEach(id => {
let node = this._nodes[id];
if (id == selected) {
node.setAttribute("selected", true);
@@ -125,9 +120,5 @@ var gCustomize = {
node.removeAttribute("selected");
}
});
- if (selected == "enhanced") {
- // If enhanced is selected, so is classic (since enhanced is a subitem of classic)
- this._nodes.classic.setAttribute("selected", true);
- }
},
};
diff --git a/browser/base/content/newtab/newTab.xhtml b/browser/base/content/newtab/newTab.xhtml
index 07fb0093e..eef51b4b2 100644
--- a/browser/base/content/newtab/newTab.xhtml
+++ b/browser/base/content/newtab/newTab.xhtml
@@ -33,15 +33,8 @@
<div id="newtab-customize-title" class="newtab-customize-panel-item">
<label>&newtab.customize.cog.title2;</label>
</div>
-
- <div class="newtab-customize-complex-option">
- <div id="newtab-customize-classic" class="newtab-customize-panel-superitem newtab-customize-panel-item selectable">
- <label>&newtab.customize.classic;</label>
- </div>
- <div id="newtab-customize-enhanced" class="newtab-customize-panel-subitem">
- <label class="checkbox"></label>
- <label>&newtab.customize.cog.enhanced;</label>
- </div>
+ <div id="newtab-customize-classic" class="newtab-customize-panel-item selectable">
+ <label>&newtab.customize.classic;</label>
</div>
<div id="newtab-customize-blank" class="newtab-customize-panel-item selectable">
<label>&newtab.customize.blank2;</label>
diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml
index 0cb0f3bd6..b27846835 100644
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -3222,20 +3222,6 @@
</body>
</method>
- <!-- Opens a given tab to a non-remote window. -->
- <method name="openNonRemoteWindow">
- <parameter name="aTab"/>
- <body>
- <![CDATA[
- if (!this.AppConstants.E10S_TESTING_ONLY) {
- throw "This method is intended only for e10s testing!";
- }
- let url = aTab.linkedBrowser.currentURI.spec;
- return window.openDialog("chrome://browser/content/", "_blank", "chrome,all,dialog=no,non-remote", url);
- ]]>
- </body>
- </method>
-
<method name="moveTabTo">
<parameter name="aTab"/>
<parameter name="aIndex"/>
@@ -4581,8 +4567,7 @@
label = this.mStringBundle.getString(stringID);
}
} else {
- label = tab.getAttribute("label") +
- (this.AppConstants.E10S_TESTING_ONLY && tab.linkedBrowser && tab.linkedBrowser.isRemoteBrowser ? " - e10s" : "");
+ label = tab.getAttribute("label");
}
event.target.setAttribute("label", label);
]]></body>
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
index 3fa5ea408..a65c77338 100644
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -80,7 +80,7 @@ browser.jar:
content/browser/browser-fullZoom.js (content/browser-fullZoom.js)
content/browser/browser-fxaccounts.js (content/browser-fxaccounts.js)
content/browser/browser-gestureSupport.js (content/browser-gestureSupport.js)
- content/browser/browser-media.js (content/browser-media.js)
+* content/browser/browser-media.js (content/browser-media.js)
content/browser/browser-places.js (content/browser-places.js)
content/browser/browser-plugins.js (content/browser-plugins.js)
content/browser/browser-refreshblocker.js (content/browser-refreshblocker.js)
diff --git a/browser/branding/official/pref/firefox-branding.js b/browser/branding/official/pref/firefox-branding.js
index eb2bf489b..190b84e78 100644
--- a/browser/branding/official/pref/firefox-branding.js
+++ b/browser/branding/official/pref/firefox-branding.js
@@ -37,6 +37,10 @@ pref("app.update.url.manual", "https://@BRANDING_SITEURL@/");
// supplied in the "An update is available" page of the update wizard.
pref("app.update.url.details", "https://@BRANDING_SITEURL@/@BRANDING_RELNOTESPATH@");
+// Provide UA Gecko and Firefox slices for web compatibility
+pref("general.useragent.compatMode.firefox",true);
+pref("general.useragent.compatMode.gecko",true);
+
// Switch Application Updates off for now
pref("app.update.enabled", false);
diff --git a/browser/branding/shared/branding.mozbuild b/browser/branding/shared/branding.mozbuild
index 29d25094f..e6fee3f4e 100644
--- a/browser/branding/shared/branding.mozbuild
+++ b/browser/branding/shared/branding.mozbuild
@@ -33,9 +33,9 @@ def ApplicationBranding():
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
BRANDING_FILES += [
'../shared/dsstore',
+ 'background.png',
'disk.icns',
'document.icns',
- 'background.png',
'firefox.icns',
]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
@@ -53,4 +53,4 @@ def ApplicationBranding():
]
DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
DEFINES['MOZ_BRANDING_DIRECTORY'] = CONFIG['MOZ_BRANDING_DIRECTORY']
- DEFINES['MOZILLA_UAVERSION_U'] = CONFIG['MOZILLA_UAVERSION_U'] \ No newline at end of file
+ DEFINES['MOZILLA_UAVERSION_U'] = CONFIG['MOZILLA_UAVERSION_U']
diff --git a/browser/components/BrowserComponents.manifest b/browser/components/BrowserComponents.manifest
index dbfc3d2ec..0c80006be 100644
--- a/browser/components/BrowserComponents.manifest
+++ b/browser/components/BrowserComponents.manifest
@@ -39,6 +39,4 @@ component {eab9012e-5f74-4cbc-b2b5-a590235513cc} nsBrowserGlue.js
contract @mozilla.org/browser/browserglue;1 {eab9012e-5f74-4cbc-b2b5-a590235513cc}
category app-startup nsBrowserGlue service,@mozilla.org/browser/browserglue;1 application={3c2e2abc-06d4-11e1-ac3b-374f68613e61} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={d1bfe7d9-c01e-4237-998b-7b5f960a4314}
component {d8903bf6-68d5-4e97-bcd1-e4d3012f721a} nsBrowserGlue.js
-#ifndef MOZ_MULET
contract @mozilla.org/content-permission/prompt;1 {d8903bf6-68d5-4e97-bcd1-e4d3012f721a}
-#endif
diff --git a/browser/components/customizableui/CustomizableUI.jsm b/browser/components/customizableui/CustomizableUI.jsm
index 01389108d..cb0f519b2 100644
--- a/browser/components/customizableui/CustomizableUI.jsm
+++ b/browser/components/customizableui/CustomizableUI.jsm
@@ -207,15 +207,6 @@ var CustomizableUIInternal = {
panelPlacements.splice(-1, 0, "developer-button");
}
- if (AppConstants.E10S_TESTING_ONLY) {
- if (gPalette.has("e10s-button")) {
- let newWindowIndex = panelPlacements.indexOf("new-window-button");
- if (newWindowIndex > -1) {
- panelPlacements.splice(newWindowIndex + 1, 0, "e10s-button");
- }
- }
- }
-
let showCharacterEncoding = Services.prefs.getComplexValue(
"browser.menu.showCharacterEncoding",
Ci.nsIPrefLocalizedString
diff --git a/browser/components/customizableui/CustomizableWidgets.jsm b/browser/components/customizableui/CustomizableWidgets.jsm
index 1e68b01c1..3e83b081c 100644
--- a/browser/components/customizableui/CustomizableWidgets.jsm
+++ b/browser/components/customizableui/CustomizableWidgets.jsm
@@ -1258,21 +1258,3 @@ if (Services.prefs.getBoolPref("privacy.panicButton.enabled")) {
},
});
}
-
-if (AppConstants.E10S_TESTING_ONLY) {
- if (Services.appinfo.browserTabsRemoteAutostart) {
- CustomizableWidgets.push({
- id: "e10s-button",
- defaultArea: CustomizableUI.AREA_PANEL,
- onBuild: function(aDocument) {
- let node = aDocument.createElementNS(kNSXUL, "toolbarbutton");
- node.setAttribute("label", CustomizableUI.getLocalizedProperty(this, "label"));
- node.setAttribute("tooltiptext", CustomizableUI.getLocalizedProperty(this, "tooltiptext"));
- },
- onCommand: function(aEvent) {
- let win = aEvent.view;
- win.OpenBrowserWindow({remote: false});
- },
- });
- }
-}
diff --git a/browser/components/nsBrowserContentHandler.js b/browser/components/nsBrowserContentHandler.js
index e8fe0fe93..b366c3f81 100644
--- a/browser/components/nsBrowserContentHandler.js
+++ b/browser/components/nsBrowserContentHandler.js
@@ -454,16 +454,16 @@ nsBrowserContentHandler.prototype = {
get helpInfo() {
let info =
- " --browser Open a browser window.\n" +
- " --new-window <url> Open <url> in a new window.\n" +
- " --new-tab <url> Open <url> in a new tab.\n" +
- " --private-window <url> Open <url> in a new private window.\n";
+ " --browser Open a browser window.\n" +
+ " --new-window <url> Open <url> in a new window.\n" +
+ " --new-tab <url> Open <url> in a new tab.\n" +
+ " --private-window <url> Open <url> in a new private window.\n";
if (AppConstants.platform == "win") {
- info += " --preferences Open Options dialog.\n";
+ info += " --preferences Open Options dialog.\n";
} else {
- info += " --preferences Open Preferences dialog.\n";
+ info += " --preferences Open Preferences dialog.\n";
}
- info += " --search <term> Search <term> with your default search engine.\n";
+ info += " --search <term> Search <term> with your default search engine.\n";
return info;
},
diff --git a/browser/components/nsBrowserGlue.js b/browser/components/nsBrowserGlue.js
index d69a11f6b..f97c173a0 100644
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -64,6 +64,7 @@ XPCOMUtils.defineLazyServiceGetter(this, "AlertsService", "@mozilla.org/alerts-s
["Task", "resource://gre/modules/Task.jsm"],
["UITour", "resource:///modules/UITour.jsm"],
["URLBarZoom", "resource:///modules/URLBarZoom.jsm"],
+ ["UserAgentOverrides", "resource://gre/modules/UserAgentOverrides.jsm"],
["WebChannel", "resource://gre/modules/WebChannel.jsm"],
["WindowsRegistry", "resource://gre/modules/WindowsRegistry.jsm"],
["webrtcUI", "resource:///modules/webrtcUI.jsm"],
@@ -662,6 +663,8 @@ BrowserGlue.prototype = {
}
} catch (ex) { /* missing any of the prefs is not critical */ }
+ UserAgentOverrides.init();
+
PageThumbs.init();
webrtcUI.init();
AboutHome.init();
@@ -1042,6 +1045,7 @@ BrowserGlue.prototype = {
BrowserUsageTelemetry.uninit();
SelfSupportBackend.uninit();
+ UserAgentOverrides.uninit();
PageThumbs.uninit();
NewTabMessages.uninit();
AboutNewTab.uninit();
diff --git a/browser/components/places/PlacesUIUtils.jsm b/browser/components/places/PlacesUIUtils.jsm
index b25835a71..17fa276aa 100644
--- a/browser/components/places/PlacesUIUtils.jsm
+++ b/browser/components/places/PlacesUIUtils.jsm
@@ -46,43 +46,6 @@ let gFaviconLoadDataMap = new Map();
// copied from utilityOverlay.js
const TAB_DROP_TYPE = "application/x-moz-tabbrowser-tab";
-// This function isn't public both because it's synchronous and because it is
-// going to be removed in bug 1072833.
-function IsLivemark(aItemId) {
- // Since this check may be done on each dragover event, it's worth maintaining
- // a cache.
- let self = IsLivemark;
- if (!("ids" in self)) {
- const LIVEMARK_ANNO = PlacesUtils.LMANNO_FEEDURI;
-
- let idsVec = PlacesUtils.annotations.getItemsWithAnnotation(LIVEMARK_ANNO);
- self.ids = new Set(idsVec);
-
- let obs = Object.freeze({
- QueryInterface: XPCOMUtils.generateQI(Ci.nsIAnnotationObserver),
-
- onItemAnnotationSet(itemId, annoName) {
- if (annoName == LIVEMARK_ANNO)
- self.ids.add(itemId);
- },
-
- onItemAnnotationRemoved(itemId, annoName) {
- // If annoName is set to an empty string, the item is gone.
- if (annoName == LIVEMARK_ANNO || annoName == "")
- self.ids.delete(itemId);
- },
-
- onPageAnnotationSet() { },
- onPageAnnotationRemoved() { },
- });
- PlacesUtils.annotations.addObserver(obs);
- PlacesUtils.registerShutdownFunction(() => {
- PlacesUtils.annotations.removeObserver(obs);
- });
- }
- return self.ids.has(aItemId);
-}
-
let InternalFaviconLoader = {
/**
* This gets called for every inner window that is destroyed.
@@ -509,6 +472,52 @@ this.PlacesUIUtils = {
},
/**
+ * Test if a bookmark item = a live bookmark item.
+ *
+ * @param aItemId
+ * item identifier
+ * @return true if a live bookmark item, false otherwise.
+ *
+ * @note Maybe this should be removed later, see bug 1072833.
+ */
+ _isLivemark:
+ function PUIU__isLivemark(aItemId)
+ {
+ // Since this check may be done on each dragover event, it's worth maintaining
+ // a cache.
+ let self = PUIU__isLivemark;
+ if (!("ids" in self)) {
+ const LIVEMARK_ANNO = PlacesUtils.LMANNO_FEEDURI;
+
+ let idsVec = PlacesUtils.annotations.getItemsWithAnnotation(LIVEMARK_ANNO);
+ self.ids = new Set(idsVec);
+
+ let obs = Object.freeze({
+ QueryInterface: XPCOMUtils.generateQI(Ci.nsIAnnotationObserver),
+
+ onItemAnnotationSet(itemId, annoName) {
+ if (annoName == LIVEMARK_ANNO)
+ self.ids.add(itemId);
+ },
+
+ onItemAnnotationRemoved(itemId, annoName) {
+ // If annoName is set to an empty string, the item is gone.
+ if (annoName == LIVEMARK_ANNO || annoName == "")
+ self.ids.delete(itemId);
+ },
+
+ onPageAnnotationSet() { },
+ onPageAnnotationRemoved() { },
+ });
+ PlacesUtils.annotations.addObserver(obs);
+ PlacesUtils.registerShutdownFunction(() => {
+ PlacesUtils.annotations.removeObserver(obs);
+ });
+ }
+ return self.ids.has(aItemId);
+ },
+
+ /**
* Constructs a Transaction for the drop or paste of a blob of data into
* a container.
* @param data
@@ -857,7 +866,7 @@ this.PlacesUIUtils = {
throw new Error("invalid value for aNodeOrItemId");
}
- if (itemId == PlacesUtils.placesRootId || IsLivemark(itemId))
+ if (itemId == PlacesUtils.placesRootId || this._isLivemark(itemId))
return true;
// leftPaneFolderId, and as a result, allBookmarksFolderId, is a lazy getter
diff --git a/browser/components/places/content/treeView.js b/browser/components/places/content/treeView.js
index 5baf3a21f..181bb5404 100644
--- a/browser/components/places/content/treeView.js
+++ b/browser/components/places/content/treeView.js
@@ -170,7 +170,9 @@ PlacesTreeView.prototype = {
let row = -1;
let useNodeIndex = typeof(aNodeIndex) == "number";
if (parent == this._rootNode) {
- row = useNodeIndex ? aNodeIndex : this._rootNode.getChildIndex(aNode);
+ if (aNode instanceof Ci.nsINavHistoryResultNode) {
+ row = useNodeIndex ? aNodeIndex : this._rootNode.getChildIndex(aNode);
+ }
}
else if (useNodeIndex && typeof(aParentRow) == "number") {
// If we have both the row of the parent node, and the node's index, we
diff --git a/browser/components/preferences/in-content/content.js b/browser/components/preferences/in-content/content.js
index 5ba334b02..a957b1dd5 100644
--- a/browser/components/preferences/in-content/content.js
+++ b/browser/components/preferences/in-content/content.js
@@ -78,6 +78,7 @@ var gContentPane = {
document.getElementById("notificationsPolicyLearnMore").setAttribute("href",
notificationInfoURL);
+#ifdef MOZ_EME
let drmInfoURL =
Services.urlFormatter.formatURLPref("app.support.baseURL") + "drm-content";
document.getElementById("playDRMContentLink").setAttribute("href", drmInfoURL);
@@ -91,6 +92,7 @@ var gContentPane = {
// of the pane hiding/showing code potentially interfering:
document.getElementById("drmGroup").setAttribute("style", "display: none !important");
}
+#endif
},
// UTILITY FUNCTIONS
diff --git a/browser/components/preferences/in-content/content.xul b/browser/components/preferences/in-content/content.xul
index c646c16a2..9434cba62 100644
--- a/browser/components/preferences/in-content/content.xul
+++ b/browser/components/preferences/in-content/content.xul
@@ -6,10 +6,12 @@
<preferences id="contentPreferences" hidden="true" data-category="paneContent">
+#ifdef MOZ_EME
<!-- DRM content -->
<preference id="media.eme.enabled"
name="media.eme.enabled"
type="bool"/>
+#endif
<!-- Popups -->
<preference id="dom.disable_open_during_load"
@@ -40,6 +42,7 @@
<html:a class="help-button" target="_blank" aria-label="&helpButton.label;"></html:a>
</hbox>
+#ifdef MOZ_EME
<groupbox id="drmGroup" data-category="paneContent" hidden="true">
<caption><label>&drmContent.label;</label></caption>
<grid id="contentGrid2">
@@ -60,6 +63,7 @@
</rows>
</grid>
</groupbox>
+#endif
<groupbox id="notificationsGroup" data-category="paneContent" hidden="true">
<caption><label>&notificationsPolicy.label;</label></caption>
diff --git a/browser/components/preferences/in-content/jar.mn b/browser/components/preferences/in-content/jar.mn
index 52f536e96..3497ff555 100644
--- a/browser/components/preferences/in-content/jar.mn
+++ b/browser/components/preferences/in-content/jar.mn
@@ -12,7 +12,7 @@ browser.jar:
content/browser/preferences/in-content/containers.js
content/browser/preferences/in-content/advanced.js
content/browser/preferences/in-content/applications.js
- content/browser/preferences/in-content/content.js
+* content/browser/preferences/in-content/content.js
content/browser/preferences/in-content/sync.js
content/browser/preferences/in-content/security.js
content/browser/preferences/in-content/search.js
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
index 4f20ba8c3..bac771bec 100644
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
@@ -11,11 +11,6 @@ Components.utils.import("resource:///modules/TransientPrefs.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "OS",
"resource://gre/modules/osfile.jsm");
-if (AppConstants.E10S_TESTING_ONLY) {
- XPCOMUtils.defineLazyModuleGetter(this, "UpdateUtils",
- "resource://gre/modules/UpdateUtils.jsm");
-}
-
var gMainPane = {
/**
* Initialization of this.
@@ -83,26 +78,6 @@ var gMainPane = {
setEventListener("chooseFolder", "command",
gMainPane.chooseFolder);
- if (AppConstants.E10S_TESTING_ONLY) {
- setEventListener("e10sAutoStart", "command",
- gMainPane.enableE10SChange);
- let e10sCheckbox = document.getElementById("e10sAutoStart");
-
- let e10sPref = document.getElementById("browser.tabs.remote.autostart");
- let e10sTempPref = document.getElementById("e10sTempPref");
- let e10sForceEnable = document.getElementById("e10sForceEnable");
-
- let preffedOn = e10sPref.value || e10sTempPref.value || e10sForceEnable.value;
-
- if (preffedOn) {
- // The checkbox is checked if e10s is preffed on and enabled.
- e10sCheckbox.checked = Services.appinfo.browserTabsRemoteAutostart;
-
- // but if it's force disabled, then the checkbox is disabled.
- e10sCheckbox.disabled = !Services.appinfo.browserTabsRemoteAutostart;
- }
- }
-
if (AppConstants.MOZ_DEV_EDITION) {
let uAppData = OS.Constants.Path.userApplicationDataDir;
let ignoreSeparateProfile = OS.Path.join(uAppData, "ignore-dev-edition-profile");
@@ -123,36 +98,7 @@ var gMainPane = {
enableE10SChange: function ()
{
- if (AppConstants.E10S_TESTING_ONLY) {
- let e10sCheckbox = document.getElementById("e10sAutoStart");
- let e10sPref = document.getElementById("browser.tabs.remote.autostart");
- let e10sTempPref = document.getElementById("e10sTempPref");
-
- let prefsToChange;
- if (e10sCheckbox.checked) {
- // Enabling e10s autostart
- prefsToChange = [e10sPref];
- } else {
- // Disabling e10s autostart
- prefsToChange = [e10sPref];
- if (e10sTempPref.value) {
- prefsToChange.push(e10sTempPref);
- }
- }
-
- let buttonIndex = confirmRestartPrompt(e10sCheckbox.checked, 0,
- true, false);
- if (buttonIndex == CONFIRM_RESTART_PROMPT_RESTART_NOW) {
- for (let prefToChange of prefsToChange) {
- prefToChange.value = e10sCheckbox.checked;
- }
-
- Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
- }
-
- // Revert the checkbox in case we didn't quit
- e10sCheckbox.checked = e10sPref.value || e10sTempPref.value;
- }
+ // **STUB**
},
separateProfileModeChange: function ()
diff --git a/browser/components/preferences/in-content/main.xul b/browser/components/preferences/in-content/main.xul
index 526bbc714..8eca11877 100644
--- a/browser/components/preferences/in-content/main.xul
+++ b/browser/components/preferences/in-content/main.xul
@@ -9,18 +9,6 @@
<preferences id="mainPreferences" hidden="true" data-category="paneGeneral">
-#ifdef E10S_TESTING_ONLY
- <preference id="browser.tabs.remote.autostart"
- name="browser.tabs.remote.autostart"
- type="bool"/>
- <preference id="e10sTempPref"
- name="browser.tabs.remote.autostart.2"
- type="bool"/>
- <preference id="e10sForceEnable"
- name="browser.tabs.remote.force-enable"
- type="bool"/>
-#endif
-
<!-- Startup -->
<preference id="browser.startup.page"
name="browser.startup.page"
@@ -135,11 +123,6 @@
</vbox>
#endif
-#ifdef E10S_TESTING_ONLY
- <checkbox id="e10sAutoStart"
- label="&e10sEnabled.label;"/>
-#endif
-
#ifdef HAVE_SHELL_SERVICE
<vbox id="defaultBrowserBox">
<hbox align="center">
diff --git a/browser/components/sessionstore/SessionStore.jsm b/browser/components/sessionstore/SessionStore.jsm
index 2f44b2af3..93e21357f 100644
--- a/browser/components/sessionstore/SessionStore.jsm
+++ b/browser/components/sessionstore/SessionStore.jsm
@@ -186,6 +186,15 @@ XPCOMUtils.defineLazyModuleGetter(this, "ViewSourceBrowser",
XPCOMUtils.defineLazyModuleGetter(this, "AsyncShutdown",
"resource://gre/modules/AsyncShutdown.jsm");
+Object.defineProperty(this, "HUDService", {
+ get: function HUDService_getter() {
+ let devtools = Cu.import("resource://devtools/shared/Loader.jsm", {}).devtools;
+ return devtools.require("devtools/client/webconsole/hudservice").HUDService;
+ },
+ configurable: true,
+ enumerable: true
+});
+
/**
* |true| if we are in debug mode, |false| otherwise.
* Debug mode is controlled by preference browser.sessionstore.debug
@@ -2570,10 +2579,16 @@ var SessionStoreInternal = {
this._capClosedWindows();
}
+ // Scratchpad
if (lastSessionState.scratchpads) {
ScratchpadManager.restoreSession(lastSessionState.scratchpads);
}
+ // The Browser Console
+ if (lastSessionState.browserConsole) {
+ HUDService.restoreBrowserConsoleSession();
+ }
+
// Set data that persists between sessions
this._recentCrashes = lastSessionState.session &&
lastSessionState.session.recentCrashes || 0;
@@ -2931,6 +2946,7 @@ var SessionStoreInternal = {
global: this._globalState.getState()
};
+ // Scratchpad
if (Cu.isModuleLoaded("resource://devtools/client/scratchpad/scratchpad-manager.jsm")) {
// get open Scratchpad window states too
let scratchpads = ScratchpadManager.getSessionState();
@@ -2939,6 +2955,9 @@ var SessionStoreInternal = {
}
}
+ // The Browser Console
+ state.browserConsole = HUDService.getBrowserConsoleSessionState();
+
// Persist the last session if we deferred restoring it
if (LastSession.canRestore) {
state.lastSessionState = LastSession.getState();
@@ -3290,9 +3309,15 @@ var SessionStoreInternal = {
this.restoreWindow(aWindow, root.windows[0], aOptions);
+ // Scratchpad
if (aState.scratchpads) {
ScratchpadManager.restoreSession(aState.scratchpads);
}
+
+ // The Browser Console
+ if (aState.browserConsole) {
+ HUDService.restoreBrowserConsoleSession();
+ }
},
/**
diff --git a/browser/components/shell/nsSetDefaultBrowser.js b/browser/components/shell/nsSetDefaultBrowser.js
index bb09ab213..c7a78c538 100644
--- a/browser/components/shell/nsSetDefaultBrowser.js
+++ b/browser/components/shell/nsSetDefaultBrowser.js
@@ -21,7 +21,7 @@ nsSetDefaultBrowser.prototype = {
}
},
- helpInfo: " --setDefaultBrowser Set this app as the default browser.\n",
+ helpInfo: " --setDefaultBrowser Set this app as the default browser.\n",
classID: Components.ID("{F57899D0-4E2C-4ac6-9E29-50C736103B0C}"),
QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]),
diff --git a/browser/config/version.txt b/browser/config/version.txt
index b406fbef6..d90a8c220 100644
--- a/browser/config/version.txt
+++ b/browser/config/version.txt
@@ -1 +1 @@
-55.0.0
+52.9.0
diff --git a/browser/config/version_display.txt b/browser/config/version_display.txt
index b406fbef6..d90a8c220 100644
--- a/browser/config/version_display.txt
+++ b/browser/config/version_display.txt
@@ -1 +1 @@
-55.0.0
+52.9.0
diff --git a/browser/confvars.sh b/browser/confvars.sh
index 65cf154e9..8cdd6e1f3 100755
--- a/browser/confvars.sh
+++ b/browser/confvars.sh
@@ -18,7 +18,7 @@ if test "$OS_ARCH" = "WINNT"; then
MOZ_MAINTENANCE_SERVICE=
fi
-# For Basilisk we want to use 55.0.YYYY.MM.DD as MOZ_APP_VERSION in release
+# For Basilisk we want to use 52.9.YYYY.MM.DD as MOZ_APP_VERSION in release
# builds so add-on developers have something to target while maintaining
# Firefox compatiblity.
# To enable add "export BASILISK_VERSION=1" to the .mozconfig file.
@@ -26,7 +26,7 @@ fi
# don't export the variable if you are in development or don't care.
# When not exported we fall back the value in the version*.txt file.
if test -n "$BASILISK_VERSION" ; then
- MOZ_APP_VERSION=55.0.`date --utc '+%Y.%m.%d'`
+ MOZ_APP_VERSION=52.9.`date --utc '+%Y.%m.%d'`
MOZ_APP_VERSION_DISPLAY=`date --utc '+%Y.%m.%d'`
else
MOZ_APP_VERSION=`cat ${_topsrcdir}/$MOZ_BUILD_APP/config/version.txt`
@@ -53,17 +53,10 @@ MOZ_PROFILE_MIGRATOR=1
MOZ_APP_STATIC_INI=1
MOZ_WEBGL_CONFORMANT=1
MOZ_JSDOWNLOADS=1
-MOZ_RUST_MP4PARSE=1
-MOZ_RUST_URLPARSE=1
+MOZ_WEBRTC=1
MOZ_WEBEXTENSIONS=1
+MOZ_DEVTOOLS=1
# Disable checking that add-ons are signed by the trusted root
MOZ_ADDON_SIGNING=0
MOZ_REQUIRE_SIGNING=0
-
-# Include the DevTools client, not just the server (which is the default)
-if test -n "$BASILISK_DISABLE_DEVTOOLS" ; then
-MOZ_DEVTOOLS=
-else
-MOZ_DEVTOOLS=1
-fi
diff --git a/browser/installer/Makefile.in b/browser/installer/Makefile.in
index ccfce3cd9..4a934fe45 100644
--- a/browser/installer/Makefile.in
+++ b/browser/installer/Makefile.in
@@ -13,11 +13,7 @@ MOZ_PKG_MANIFEST = $(srcdir)/package-manifest.in
MOZ_PKG_DUPEFLAGS = -f $(srcdir)/allowed-dupes.mn
# Some files have been already bundled with xulrunner
-ifndef MOZ_MULET
MOZ_PKG_FATAL_WARNINGS = 1
-else
-DEFINES += -DMOZ_MULET
-endif
# When packaging an artifact build not all xpt files expected by the
# packager will be present.
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index c2269c069..015daa8c7 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -821,15 +821,13 @@ bin/libfreebl_32int64_3.so
; media
+#ifdef MOZ_EME
@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@
@RESPATH@/gmp-clearkey/0.1/clearkey.info
+#endif
; gfx
#ifdef XP_WIN
@RESPATH@/components/GfxSanityTest.manifest
@RESPATH@/components/SanityTest.js
#endif
-
-#ifdef MOZ_MULET
-#include ../../b2g/installer/package-manifest.in
-#endif
diff --git a/browser/installer/windows/Makefile.in b/browser/installer/windows/Makefile.in
index a8305d077..600bdfeb6 100644
--- a/browser/installer/windows/Makefile.in
+++ b/browser/installer/windows/Makefile.in
@@ -5,7 +5,7 @@
include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
CONFIG_DIR = instgen
-SFX_MODULE = $(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx
+SFX_MODULE = $(topsrcdir)/other-licenses/7zstub/uxp/7zSD.sfx
INSTALLER_FILES = \
app.tag \
diff --git a/browser/locales/en-US/chrome/browser/browser.properties b/browser/locales/en-US/chrome/browser/browser.properties
index 6f3aab397..31f61632b 100644
--- a/browser/locales/en-US/chrome/browser/browser.properties
+++ b/browser/locales/en-US/chrome/browser/browser.properties
@@ -85,11 +85,14 @@ addonInstallError-2=The add-on could not be installed because it does not match
addonInstallError-3=The add-on downloaded from this site could not be installed because it appears to be corrupt.
addonInstallError-4=%2$S could not be installed because %1$S cannot modify the needed file.
addonInstallError-5=%1$S has prevented this site from installing an unverified add-on.
+addonInstallError-9=%2$S could not be installed because %1$S does not support WebExtensions.
addonLocalInstallError-1=This add-on could not be installed because of a filesystem error.
addonLocalInstallError-2=This add-on could not be installed because it does not match the add-on %1$S expected.
addonLocalInstallError-3=This add-on could not be installed because it appears to be corrupt.
addonLocalInstallError-4=%2$S could not be installed because %1$S cannot modify the needed file.
addonLocalInstallError-5=This add-on could not be installed because it has not been verified.
+addonLocalInstallError-9=%2$S could not be installed because %1$S does not support WebExtensions.
+
# LOCALIZATION NOTE (addonInstallErrorIncompatible):
# %1$S is the application name, %2$S is the application version, %3$S is the add-on name
diff --git a/browser/modules/ContentWebRTC.jsm b/browser/modules/ContentWebRTC.jsm
index bfb98a868..fd50176a0 100644
--- a/browser/modules/ContentWebRTC.jsm
+++ b/browser/modules/ContentWebRTC.jsm
@@ -208,6 +208,7 @@ function prompt(aContentWindow, aWindowID, aCallID, aConstraints, aDevices, aSec
let request = {
callID: aCallID,
windowID: aWindowID,
+ origin: aContentWindow.origin,
documentURI: aContentWindow.document.documentURI,
secure: aSecure,
requestTypes: requestTypes,
diff --git a/browser/modules/webrtcUI.jsm b/browser/modules/webrtcUI.jsm
index b24135bfc..08de46bb3 100644
--- a/browser/modules/webrtcUI.jsm
+++ b/browser/modules/webrtcUI.jsm
@@ -290,7 +290,13 @@ function prompt(aBrowser, aRequest) {
let {audioDevices: audioDevices, videoDevices: videoDevices,
sharingScreen: sharingScreen, sharingAudio: sharingAudio,
requestTypes: requestTypes} = aRequest;
- let uri = Services.io.newURI(aRequest.documentURI, null, null);
+ let uri;
+ try {
+ // This fails for principals that serialize to "null", e.g. file URIs.
+ uri = Services.io.newURI(aRequest.origin, null, null);
+ } catch (e) {
+ uri = Services.io.newURI(aRequest.documentURI, null, null);
+ }
let host = getHost(uri);
let chromeDoc = aBrowser.ownerDocument;
let chromeWin = chromeDoc.defaultView;
diff --git a/browser/themes/linux/jar.mn b/browser/themes/linux/jar.mn
index e09029438..0bf023f35 100644
--- a/browser/themes/linux/jar.mn
+++ b/browser/themes/linux/jar.mn
@@ -129,9 +129,6 @@ browser.jar:
skin/classic/browser/syncQuota.css
skin/classic/browser/syncProgress-horizontalbar.png
skin/classic/browser/syncProgress-horizontalbar@2x.png
-#ifdef E10S_TESTING_ONLY
- skin/classic/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
-#endif
[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
% override chrome://browser/skin/feeds/audioFeedIcon.png chrome://browser/skin/feeds/feedIcon.png
diff --git a/browser/themes/osx/jar.mn b/browser/themes/osx/jar.mn
index fd9b6127d..98ba4e6ea 100644
--- a/browser/themes/osx/jar.mn
+++ b/browser/themes/osx/jar.mn
@@ -209,9 +209,6 @@ browser.jar:
skin/classic/browser/yosemite/tab-stroke-end-inactive@2x.png (tabbrowser/tab-stroke-end-yosemite-inactive@2x.png)
skin/classic/browser/yosemite/tab-stroke-start-inactive.png (tabbrowser/tab-stroke-start-yosemite-inactive.png)
skin/classic/browser/yosemite/tab-stroke-start-inactive@2x.png (tabbrowser/tab-stroke-start-yosemite-inactive@2x.png)
-#ifdef E10S_TESTING_ONLY
- skin/classic/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
-#endif
[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
% override chrome://browser/skin/feeds/audioFeedIcon.png chrome://browser/skin/feeds/feedIcon.png
diff --git a/browser/themes/shared/incontentprefs/preferences.inc.css b/browser/themes/shared/incontentprefs/preferences.inc.css
index 577baa6ed..0e62660de 100644
--- a/browser/themes/shared/incontentprefs/preferences.inc.css
+++ b/browser/themes/shared/incontentprefs/preferences.inc.css
@@ -173,6 +173,11 @@ treecol {
margin-inline-start: 0;
}
+#browserHomePage:-moz-locale-dir(rtl) input {
+ unicode-bidi: plaintext;
+ direction: rtl;
+}
+
/* Content pane */
#playDRMContentLink {
/* Line up with the buttons in the other grid bits: */
diff --git a/browser/themes/windows/jar.mn b/browser/themes/windows/jar.mn
index 10abfd001..410148645 100644
--- a/browser/themes/windows/jar.mn
+++ b/browser/themes/windows/jar.mn
@@ -169,9 +169,6 @@ browser.jar:
skin/classic/browser/syncProgress-toolbar-inverted@2x.png
skin/classic/browser/syncProgress-toolbar-win7.png
skin/classic/browser/syncProgress-toolbar-win7@2x.png
-#ifdef E10S_TESTING_ONLY
- skin/classic/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
-#endif
[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
% override chrome://browser/skin/page-livemarks.png chrome://browser/skin/feeds/feedIcon16.png