--- a/MozillaFirefox/MozillaFirefox.changes Mon Feb 29 16:52:23 2016 +0100
+++ b/MozillaFirefox/MozillaFirefox.changes Sat Mar 12 08:51:29 2016 +0100
@@ -1,4 +1,22 @@
-------------------------------------------------------------------
+Sun Mar 6 19:52:13 UTC 2016 - wr@rosenauer.org
+
+- update to Firefox 45.0
+ * requires NSPR 4.12 / NSS 3.21.1
+ * Instant browser tab sharing through Hello
+ * Synced Tabs button in button bar
+ * Tabs synced via Firefox Accounts from other devices are now shown
+ in dropdown area of Awesome Bar when searching
+ * Introduce a new preference (network.dns.blockDotOnion) to allow
+ blocking .onion at the DNS level
+ * Tab Groups (Panorama) feature removed
+
+-------------------------------------------------------------------
+Sat Mar 5 15:27:00 UTC 2016 - olaf@aepfle.de
+
+- Remove B_CNT from symbols.zip filename to reduce build-compare noise
+
+-------------------------------------------------------------------
Fri Feb 26 16:22:52 UTC 2016 - astieger@suse.com
- fix build problems on i586, caused by too large unified compile
--- a/MozillaFirefox/MozillaFirefox.spec Mon Feb 29 16:52:23 2016 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec Sat Mar 12 08:51:29 2016 +0100
@@ -18,10 +18,10 @@
# changed with every update
-%define major 44
-%define mainver %major.0.2
+%define major 45
+%define mainver %major.0
%define update_channel release
-%define releasedate 2016021000
+%define releasedate 2016030500
# general build definitions
%if "%{update_channel}" != "aurora"
@@ -77,8 +77,8 @@
BuildRequires: libnotify-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
-BuildRequires: mozilla-nspr-devel >= 4.11
-BuildRequires: mozilla-nss-devel >= 3.21
+BuildRequires: mozilla-nspr-devel >= 4.12
+BuildRequires: mozilla-nss-devel >= 3.21.1
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -524,7 +524,7 @@
%fdupes %{buildroot}%{_datadir}
# create breakpad debugsymbols
%if %crashreporter
-SYMBOLS_NAME="firefox-%{version}-%{release}.%{_arch}-%{suse_version}-symbols"
+SYMBOLS_NAME="firefox-%{version}-` echo '%{release}' | sed 's@\.[^\.]\+$@@' `.%{_arch}-%{suse_version}-symbols"
make buildsymbols \
SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \
@@ -562,15 +562,15 @@
%dir %{progdir}/browser/extensions/
%{progdir}/browser/components/
%{progdir}/browser/defaults
+%{progdir}/browser/features/
%{progdir}/browser/icons/
%{progdir}/browser/chrome/icons
-%{progdir}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
+%{progdir}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
%{progdir}/browser/blocklist.xml
%{progdir}/browser/chrome.manifest
%{progdir}/browser/omni.ja
%dir %{progdir}/distribution/
%{progdir}/distribution/extensions/
-%{progdir}/components/
%{progdir}/defaults/
%{progdir}/dictionaries/
%if 0%{?suse_version} > 1320
@@ -589,7 +589,6 @@
%{progdir}/platform.ini
%{progdir}/plugin-container
%{progdir}/webapprt-stub
-%{progdir}/chrome.manifest
%if %crashreporter
%{progdir}/crashreporter
%{progdir}/crashreporter.ini
--- a/MozillaFirefox/create-tar.sh Mon Feb 29 16:52:23 2016 +0100
+++ b/MozillaFirefox/create-tar.sh Sat Mar 12 08:51:29 2016 +0100
@@ -2,8 +2,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_44_0_2_RELEASE"
-VERSION="44.0.2"
+RELEASE_TAG="FIREFOX_45_0_RELEASE"
+VERSION="45.0"
# mozilla
if [ -d mozilla ]; then
--- a/firefox-branded-icons.patch Mon Feb 29 16:52:23 2016 +0100
+++ b/firefox-branded-icons.patch Sat Mar 12 08:51:29 2016 +0100
@@ -1,6 +1,6 @@
# HG changeset patch
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
-# Parent e10e9bf6ab3a74655998bd0286d248f5d17a601a
+# Parent e3d8efdd7eea96ff7b8a7f6489a082cad72a98d8
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
--- a/browser/app/Makefile.in
@@ -49,7 +49,7 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -670,18 +670,21 @@
+@@ -665,18 +665,21 @@
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
@RESPATH@/chrome/toolkit@JAREXT@
@@ -64,10 +64,10 @@
@RESPATH@/browser/chrome/icons/default/default48.png
+@RESPATH@/browser/chrome/icons/default/default256.png
#endif
+ @RESPATH@/browser/features/*
; [Webide Files]
@RESPATH@/browser/chrome/webide@JAREXT@
@RESPATH@/browser/chrome/webide.manifest
@RESPATH@/browser/@PREF_DIR@/webide-prefs.js
- ; DevTools
--- a/firefox-kde.patch Mon Feb 29 16:52:23 2016 +0100
+++ b/firefox-kde.patch Sat Mar 12 08:51:29 2016 +0100
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 77c3bdc27160dfa96aa4b3288c7f12a72f273967
+# Parent 25d63ce139ad6e957d2565e3b83d01dfa36ea314
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1250 @@
+@@ -0,0 +1,1181 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -99,15 +99,6 @@
+ <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true"
+ accesskey="&unpinTab.accesskey;"
+ oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
-+ <menu id="context_tabViewMenu" label="&moveToGroup.label;"
-+ accesskey="&moveToGroup.accesskey;">
-+ <menupopup id="context_tabViewMenuPopup"
-+ onpopupshowing="if (event.target == this) TabView.moveToGroupPopupShowing(event);">
-+ <menuseparator id="context_tabViewNamedGroups" hidden="true"/>
-+ <menuitem id="context_tabViewNewGroup" label="&moveToNewGroup.label;"
-+ oncommand="TabView.moveTabTo(TabContextMenu.contextTab, null);"/>
-+ </menupopup>
-+ </menu>
+ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
+ accesskey="&moveToNewWindow.accesskey;"
+ tbattr="tabbrowser-multiple"
@@ -127,7 +118,7 @@
+ accesskey="&bookmarkAllTabs.accesskey;"
+ command="Browser:BookmarkAllTabs"/>
+ <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;"
-+ oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab);"/>
++ oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/>
+ <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;"
+ oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
+ <menuseparator/>
@@ -269,14 +260,6 @@
+ <box id="UITourHighlight"></box>
+ </panel>
+
-+ <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true"
-+ onclick="this.hidePopup()">
-+ <hbox id="abouthome-search-panel-manage"
-+ onclick="openPreferences('paneSearch')">
-+ <label>&changeSearchSettings.button;</label>
-+ </hbox>
-+ </panel>
-+
+ <panel id="social-share-panel"
+ class="social-panel"
+ type="arrow"
@@ -327,26 +310,6 @@
+ orient="horizontal"
+ hidden="true"/>
+
-+ <menupopup id="processHangOptions"
-+ onpopupshowing="ProcessHangMonitor.refreshMenu(window);">
-+ <menuitem id="processHangTerminateScript"
-+ oncommand="ProcessHangMonitor.terminateScript(window)"
-+ accesskey="&processHang.terminateScript.accessKey;"
-+ label="&processHang.terminateScript.label;"/>
-+ <menuitem id="processHangDebugScript"
-+ oncommand="ProcessHangMonitor.debugScript(window)"
-+ accesskey="&processHang.debugScript.accessKey;"
-+ label="&processHang.debugScript.label;"/>
-+ <menuitem id="processHangTerminatePlugin"
-+ oncommand="ProcessHangMonitor.terminatePlugin(window)"
-+ accesskey="&processHang.terminatePlugin.accessKey;"
-+ label="&processHang.terminatePlugin.label;"/>
-+ <menuitem id="processHangTerminateProcess"
-+ oncommand="ProcessHangMonitor.terminateProcess(window)"
-+ accesskey="&processHang.terminateProcess.accessKey;"
-+ label="&processHang.terminateProcess.label;"/>
-+ </menupopup>
-+
+ <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
@@ -508,17 +471,6 @@
+
+ <tooltip id="dynamic-shortcut-tooltip"
+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
-+
-+ <menupopup id="emeNotificationsPopup">
-+ <menuitem id="emeNotificationsNotNow"
-+ label="&emeNotificationsNotNow.label;"
-+ acceskey="&emeNotificationsNotNow.accesskey;"
-+ oncommand="gEMEHandler.onNotNow(this);"/>
-+ <menuitem id="emeNotificationsDontAskAgain"
-+ label="&emeNotificationsDontAskAgain.label;"
-+ acceskey="&emeNotificationsDontAskAgain.accesskey;"
-+ oncommand="gEMEHandler.onDontAskAgain(this);"/>
-+ </menupopup>
+ </popupset>
+
+#ifdef CAN_DRAW_IN_TITLEBAR
@@ -626,12 +578,6 @@
+ removable="false">
+ <menupopup id="alltabs-popup"
+ position="after_end">
-+ <menuitem id="menu_tabview"
-+ class="menuitem-iconic"
-+ key="key_tabview"
-+ label="&viewTabGroups.label;"
-+ command="Browser:ToggleTabView"
-+ observes="tabviewGroupsNumber"/>
+ <menuitem id="alltabs_undoCloseTab"
+ class="menuitem-iconic"
+ key="key_undoCloseTab"
@@ -740,7 +686,7 @@
+ <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"
+ aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"
-+ aria-label="&urlbar.webNotsNotificationAnchor.label;"/>
++ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"
+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"
@@ -774,13 +720,11 @@
+ onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
+ onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
+ ondragstart="gIdentityHandler.onDragStart(event);">
-+ <hbox id="identity-icons"
-+ consumeanchor="identity-box">
-+ <image id="tracking-protection-icon"/>
-+ <image id="page-proxy-favicon"
-+ onclick="PageProxyClickHandler(event);"
-+ pageproxystate="invalid"/>
-+ </hbox>
++ <image id="identity-icon"
++ consumeanchor="identity-box"
++ onclick="PageProxyClickHandler(event);"/>
++ <image id="tracking-protection-icon"/>
++ <image id="connection-icon"/>
+ <hbox id="identity-icon-labels">
+ <label id="identity-icon-label" class="plain" flex="1"/>
+ <label id="identity-icon-country-label" class="plain"/>
@@ -1091,19 +1035,6 @@
+ type="checkbox"
+ label="&fullScreenCmd.label;"
+ tooltip="dynamic-shortcut-tooltip"/>
-+
-+#ifdef MOZ_SERVICES_SYNC
-+ <toolbarbutton id="sync-button"
-+ class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ label="&syncToolbarButton.label;"
-+ oncommand="gSyncUI.handleToolbarButton()"/>
-+#endif
-+
-+ <toolbarbutton id="tabview-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ label="&tabGroupsButton.label;"
-+ command="Browser:ToggleTabView"
-+ tooltip="dynamic-shortcut-tooltip"
-+ observes="tabviewGroupsNumber"/>
+ </toolbarpalette>
+ </toolbox>
+
@@ -1259,25 +1190,25 @@
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
-@@ -70,16 +70,18 @@ browser.jar:
- content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
- content/browser/aboutProviderDirectory.xhtml (content/aboutProviderDirectory.xhtml)
+@@ -71,16 +71,18 @@ browser.jar:
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
+ * content/browser/aboutTabGroupsMigration.xhtml (content/aboutTabGroupsMigration.xhtml)
+ content/browser/aboutTabGroupsMigration.js (content/aboutTabGroupsMigration.js)
* content/browser/browser.css (content/browser.css)
- * content/browser/browser.js (content/browser.js)
+ content/browser/browser.js (content/browser.js)
* content/browser/browser.xul (content/browser.xul)
+* content/browser/browser-kde.xul (content/browser-kde.xul)
+% override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
- * content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
- * content/browser/chatWindow.xul (content/chatWindow.xul)
- content/browser/tab-content.js (content/tab-content.js)
- content/browser/content.js (content/content.js)
- content/browser/social-content.js (content/social-content.js)
- content/browser/defaultthemes/1.footer.jpg (content/defaultthemes/1.footer.jpg)
- content/browser/defaultthemes/1.header.jpg (content/defaultthemes/1.header.jpg)
- content/browser/defaultthemes/1.icon.jpg (content/defaultthemes/1.icon.jpg)
+ content/browser/browser-addons.js (content/browser-addons.js)
+ content/browser/browser-ctrlTab.js (content/browser-ctrlTab.js)
+ content/browser/browser-customization.js (content/browser-customization.js)
+ content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
+ content/browser/browser-devedition.js (content/browser-devedition.js)
+ content/browser/browser-eme.js (content/browser-eme.js)
+ content/browser/browser-feeds.js (content/browser-feeds.js)
+ content/browser/browser-fullScreen.js (content/browser-fullScreen.js)
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/browser/components/build/nsModule.cpp
+++ b/browser/components/build/nsModule.cpp
@@ -1296,11 +1227,11 @@
#if defined(XP_WIN)
#include "nsIEHistoryEnumerator.h"
- #include "nsEdgeReadingListExtractor.h"
#endif
#include "rdf.h"
-@@ -32,18 +32,16 @@ using namespace mozilla::browser;
+ #include "nsFeedSniffer.h"
+@@ -31,18 +31,16 @@ using namespace mozilla::browser;
/////////////////////////////////////////////////////////////////////////////
@@ -1315,11 +1246,11 @@
#if defined(XP_WIN)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsEdgeReadingListExtractor)
#endif
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
-@@ -63,17 +61,17 @@ NS_DEFINE_NAMED_CID(NS_EDGEREADINGLISTEX
+
+@@ -60,17 +58,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME
NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
#endif
@@ -1335,13 +1266,13 @@
{ &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
#if defined(XP_WIN)
{ &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
- { &kNS_EDGEREADINGLISTEXTRACTOR_CID, false, nullptr, nsEdgeReadingListExtractorConstructor },
#elif defined(XP_MACOSX)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
+ #endif
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
-@@ -14,16 +14,22 @@ var gMainPane = {
+@@ -18,16 +18,22 @@ var gMainPane = {
init: function ()
{
function setEventListener(aId, aEventType, aCallback)
@@ -1364,7 +1295,7 @@
// when the user will select the default. We refresh here periodically
// in case the default changes. On other Windows OS's defaults can also
// be set while the prefs are open.
-@@ -711,16 +717,27 @@ var gMainPane = {
+@@ -720,16 +726,27 @@ var gMainPane = {
*/
setDefaultBrowser: function()
{
@@ -1418,7 +1349,7 @@
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/nsKDEShellService.cpp
-@@ -0,0 +1,292 @@
+@@ -0,0 +1,251 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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
@@ -1499,47 +1430,6 @@
+}
+
+NS_IMETHODIMP
-+nsKDEShellService::GetShouldSkipCheckDefaultBrowser(bool* aResult)
-+{
-+ NS_ENSURE_ARG_POINTER(aResult);
-+
-+ nsresult rv;
-+ nsCOMPtr<nsIPrefBranch> prefs(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
-+ if (NS_FAILED(rv)) {
-+ return rv;
-+ }
-+
-+ rv = prefs->GetBoolPref(PREF_SKIPDEFAULTBROWSERCHECK, aResult);
-+ if (NS_FAILED(rv)) {
-+ return rv;
-+ }
-+ if (*aResult) {
-+ // Only skip the default browser check once. The next attempt in
-+ // a new session should proceed.
-+ return prefs->SetBoolPref(PREF_SKIPDEFAULTBROWSERCHECK, false);
-+ }
-+
-+ int32_t defaultBrowserCheckCount;
-+ rv = prefs->GetIntPref(PREF_DEFAULTBROWSERCHECKCOUNT,
-+ &defaultBrowserCheckCount);
-+ if (NS_FAILED(rv)) {
-+ return rv;
-+ }
-+ if (defaultBrowserCheckCount < 4) {
-+ *aResult = false;
-+ return prefs->SetIntPref(PREF_DEFAULTBROWSERCHECKCOUNT,
-+ defaultBrowserCheckCount + 1);
-+ }
-+
-+ // Disable the default browser check after three attempts.
-+ // Don't modify PREF_CHECKDEFAULTBROWSER since that is a
-+ // user-initiated action and it shouldn't get re-enabled
-+ // if it has been user disabled.
-+ *aResult = true;
-+ return rv;
-+}
-+
-+NS_IMETHODIMP
+nsKDEShellService::GetShouldCheckDefaultBrowser(bool* aResult)
+{
+ // If we've already checked, the browser has been started and this is a
@@ -1795,7 +1685,7 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -709,16 +709,17 @@
+@@ -705,16 +705,17 @@
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/profile/prefs.js
@RESPATH@/browser/defaults/permissions
@@ -1810,6 +1700,6 @@
#ifdef MOZ_SERVICES_NOTIFICATIONS
@RESPATH@/defaults/pref/services-notifications.js
#endif
- #ifdef MOZ_SERVICES_SYNC
@RESPATH@/defaults/pref/services-sync.js
- #endif
+
+ ; [Layout Engine Resources]
--- a/mozilla-idldir.patch Mon Feb 29 16:52:23 2016 +0100
+++ b/mozilla-idldir.patch Sat Mar 12 08:51:29 2016 +0100
@@ -1,7 +1,7 @@
# HG changeset patch
# Parent 1cd1e78dfe63c1a7bcfc0707697bb99bcfea19c4
# User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent 015730e17931512895a5ad4d5130eff4258cf03e
+# Parent 44c668a2ae429a5c0b8ad3a8a32738453c75af74
Install IDL files to includedir instead of /usr/share/idl
diff --git a/config/baseconfig.mk b/config/baseconfig.mk
@@ -17,9 +17,9 @@
+idldir = $(includedir)
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
- ifndef TOP_DIST
- TOP_DIST = dist
+ ifeq (.,$(DEPTH))
+ DIST = dist
+ else
+ DIST = $(DEPTH)/dist
endif
- ifneq (,$(filter /%,$(TOP_DIST)))
- DIST = $(TOP_DIST)
- else
+
--- a/mozilla-kde.patch Mon Feb 29 16:52:23 2016 +0100
+++ b/mozilla-kde.patch Sat Mar 12 08:51:29 2016 +0100
@@ -1,30 +1,11 @@
# HG changeset patch
-# Parent d9c9ae52f0338a60d1626d9209248341815e597a
+# Parent 797d5f17b080f54439602f107ecaf6b09a0ef5c1
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
https://bugzilla.novell.com/show_bug.cgi?id=170055
-diff --git a/modules/libpref/Makefile.in b/modules/libpref/Makefile.in
---- a/modules/libpref/Makefile.in
-+++ b/modules/libpref/Makefile.in
-@@ -21,13 +21,15 @@ endif
- ifdef MOZ_SERVICES_HEALTHREPORT
- ifneq (android,$(MOZ_WIDGET_TOOLKIT))
- grepref_files += $(topsrcdir)/services/healthreport/healthreport-prefs.js
- else
- grepref_files += $(topsrcdir)/mobile/android/chrome/content/healthreport-prefs.js
- endif
- endif
-
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
-+
- greprefs.js: $(grepref_files)
- $(call py_action,preprocessor,$(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(MOZ_DEBUG_DEFINES) $^ -o $@)
-
- libs:: greprefs.js
- $(INSTALL) $^ $(DIST)/bin/
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
@@ -46,7 +27,7 @@
#include "prefread.h"
#include "prefapi_private_data.h"
-@@ -1148,16 +1149,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
+@@ -1136,16 +1137,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@@ -81,7 +62,7 @@
return NS_OK;
bool hasMore;
-@@ -1173,17 +1192,17 @@ static nsresult pref_LoadPrefsInDirList(
+@@ -1161,17 +1180,17 @@ static nsresult pref_LoadPrefsInDirList(
nsAutoCString leaf;
path->GetNativeLeafName(leaf);
@@ -100,7 +81,7 @@
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-@@ -1277,26 +1296,38 @@ static nsresult pref_InitInitialObjects(
+@@ -1265,26 +1284,38 @@ static nsresult pref_InitInitialObjects(
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@@ -139,6 +120,30 @@
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
RefPtr<nsZipArchive> appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP);
// GetReader(mozilla::Omnijar::APP) returns null when $app == $gre, in which
+diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
+--- a/modules/libpref/moz.build
++++ b/modules/libpref/moz.build
+@@ -31,16 +31,20 @@ UNIFIED_SOURCES += [
+ 'prefread.cpp',
+ ]
+
+ # prefapi.cpp cannot be built in unified mode because it uses plarena.h
+ SOURCES += [
+ 'prefapi.cpp',
+ ]
+
++LOCAL_INCLUDES += [
++ '/toolkit/xre'
++]
++
+ include('/ipc/chromium/chromium-config.mozbuild')
+
+ FINAL_LIBRARY = 'xul'
+
+ DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
+ DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
+
+ if CONFIG['GNU_CXX']:
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
--- a/python/mozbuild/mozpack/chrome/flags.py
+++ b/python/mozbuild/mozpack/chrome/flags.py
@@ -226,7 +231,7 @@
#include "AndroidBridge.h"
#endif
-@@ -2714,16 +2718,25 @@ nsDownload::SetState(DownloadState aStat
+@@ -2719,16 +2723,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function.
@@ -252,7 +257,7 @@
int64_t goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec;
-@@ -2754,16 +2767,17 @@ nsDownload::SetState(DownloadState aStat
+@@ -2759,16 +2772,17 @@ nsDownload::SetState(DownloadState aStat
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
message, !removeWhenDone,
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
@@ -2697,7 +2702,7 @@
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
--- a/uriloader/exthandler/moz.build
+++ b/uriloader/exthandler/moz.build
-@@ -72,17 +72,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
+@@ -75,17 +75,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
else:
# These files can't be built in unified mode because they redefine LOG.
SOURCES += [
@@ -2717,7 +2722,7 @@
'android/nsExternalSharingAppService.cpp',
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
-@@ -125,16 +127,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -129,16 +131,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
@@ -3662,8 +3667,8 @@
--- a/xpcom/components/moz.build
+++ b/xpcom/components/moz.build
@@ -47,12 +47,13 @@ FINAL_LIBRARY = 'xul'
- GENERATED_INCLUDES += ['..']
LOCAL_INCLUDES += [
+ '!..',
'../base',
'../build',
'../ds',
--- a/mozilla-shared-nss-db.patch Mon Feb 29 16:52:23 2016 +0100
+++ b/mozilla-shared-nss-db.patch Sat Mar 12 08:51:29 2016 +0100
@@ -7,7 +7,7 @@
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
-@@ -8309,16 +8309,31 @@ if test "$MOZ_ENABLE_SKIA"; then
+@@ -8310,16 +8310,31 @@ if test "$MOZ_ENABLE_SKIA"; then
AC_DEFINE(USE_SKIA_GPU)
AC_SUBST(MOZ_ENABLE_SKIA_GPU)
fi
@@ -42,7 +42,7 @@
diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build
--- a/security/manager/ssl/moz.build
+++ b/security/manager/ssl/moz.build
-@@ -156,16 +156,19 @@ FAIL_ON_WARNINGS = True
+@@ -160,16 +160,19 @@ UNIFIED_SOURCES += [
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
@@ -54,8 +54,8 @@
+CXXFLAGS += sorted(CONFIG['NSSHELPER_CFLAGS'])
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
+
- GENERATED_INCLUDES += [
- '/dist/public/nss',
+ LOCAL_INCLUDES += [
+ '!/dist/public/nss',
]
if CONFIG['NSS_DISABLE_DBM']:
@@ -83,38 +83,38 @@
#include "ExtendedValidation.h"
#include "NSSCertDBTrustDomain.h"
- #include "mozilla/Telemetry.h"
- #include "nsAppDirectoryServiceDefs.h"
- #include "nsCertVerificationThread.h"
- #include "nsAppDirectoryServiceDefs.h"
-@@ -1015,17 +1022,31 @@ nsNSSComponent::InitializeNSS()
- return NS_ERROR_NOT_AVAILABLE;
+ #include "SharedSSLState.h"
+ #include "mozilla/Preferences.h"
+ #include "mozilla/PublicSSL.h"
+ #include "mozilla/Services.h"
+@@ -1007,17 +1014,31 @@ nsNSSComponent::InitializeNSS()
+ return rv;
+ }
}
-
- SECStatus init_rv = SECFailure;
- bool nocertdb = Preferences::GetBool("security.nocertdb", false);
+ MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("inSafeMode: %u\n", inSafeMode));
if (!nocertdb && !profileStr.IsEmpty()) {
// First try to initialize the NSS DB in read/write mode.
+ // Only load PKCS11 modules if we're not in safe mode.
+#ifdef MOZ_ENABLE_NSSHELPER
+ if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) {
-+ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
++ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
+ } else {
+ uint32_t flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
+ init_rv = ::nsshelp_open_db ("Firefox", profileStr.get(), flags);
+
+ if (init_rv != SECSuccess) {
+ MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get()));
-+ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
++ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
+ }
+ }
+#else
- init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
+ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
+#endif
// If that fails, attempt read-only mode.
if (init_rv != SECSuccess) {
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("could not init NSS r/w in %s\n", profileStr.get()));
- init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), true);
+ init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), true, !inSafeMode);
}
if (init_rv != SECSuccess) {
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("could not init in r/o either\n"));