45.0 release firefox45
authorWolfgang Rosenauer <wr@rosenauer.org>
Sat, 12 Mar 2016 08:51:29 +0100
branchfirefox45
changeset 904 6a889427cd4f
parent 903 83801946c93f
child 906 7e9a2b678bba
45.0 release
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
firefox-branded-icons.patch
firefox-kde.patch
mozilla-idldir.patch
mozilla-kde.patch
mozilla-shared-nss-db.patch
--- 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"));