1
0

- update to 14.0.1 (bnc#)

- license change from tri license to MPL-2.0
- fix crashreporter restart option (bmo#762780)
- reenabled mozilla-yarr-pcre.patch to fix build for PPC
- require NSS 3.13.5
- remove mozjs pacrunner obsoletes again for now
- adopted mozilla-prefer_plugin_pref.patch

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=284
This commit is contained in:
Wolfgang Rosenauer 2012-07-16 08:13:51 +00:00 committed by Git OBS Bridge
parent ad9947e5f3
commit ec5d636a3c
27 changed files with 416 additions and 658 deletions

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Sat Jul 14 19:31:51 UTC 2012 - wr@rosenauer.org
- update to 14.0.1 (bnc#)
- license change from tri license to MPL-2.0
- fix crashreporter restart option (bmo#762780)
- reenabled mozilla-yarr-pcre.patch to fix build for PPC
- require NSS 3.13.5
- remove mozjs pacrunner obsoletes again for now
- adopted mozilla-prefer_plugin_pref.patch
-------------------------------------------------------------------
Fri Jun 15 12:37:09 UTC 2012 - wr@rosenauer.org

View File

@ -17,7 +17,7 @@
#
%define major 13
%define major 14
%define mainver %major.0.1
%define update_channel release
@ -45,11 +45,16 @@ BuildRequires: libproxy-devel
BuildRequires: wireless-tools
%endif
BuildRequires: mozilla-nspr-devel >= 4.9.0
BuildRequires: mozilla-nss-devel >= 3.13.4
BuildRequires: mozilla-nss-devel >= 3.13.5
BuildRequires: nss-shared-helper-devel
%if %suse_version > 1140
BuildRequires: pkgconfig(gstreamer-0.10)
BuildRequires: pkgconfig(gstreamer-app-0.10)
BuildRequires: pkgconfig(gstreamer-plugins-base-0.10)
%endif
Version: %{mainver}
Release: 0
%define releasedate 2012061400
%define releasedate 2012071300
Provides: firefox = %{mainver}
Provides: firefox = %{version}-%{release}
Provides: web_browser
@ -59,7 +64,7 @@ Provides: browser(npapi)
%define kde_helper_version 6
Provides: mozilla-kde4-version = %{kde_helper_version}
Summary: Mozilla Firefox Web Browser
License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
License: MPL-2.0
Group: Productivity/Networking/Web/Browsers
Url: http://www.mozilla.org/
Source: firefox-%{version}-source.tar.bz2
@ -88,23 +93,18 @@ Patch8: mozilla-ntlm-full-path.patch
Patch9: mozilla-repo.patch
Patch10: mozilla-dump_syms-static.patch
Patch11: mozilla-sle11.patch
Patch12: mozilla-linux3.patch
Patch14: mozilla-disable-neon-option.patch
Patch15: mozilla-yarr-pcre.patch
Patch16: mozilla-system-nspr.patch
Patch17: mozilla-revert_621446.patch
Patch18: mozilla-libnotify.patch
Patch19: mozilla-gcc47.patch
Patch20: mozilla-nsSound.patch
Patch21: mozilla-arm-disable-edsp.patch
Patch12: mozilla-disable-neon-option.patch
Patch13: mozilla-yarr-pcre.patch
Patch14: mozilla-gcc47.patch
Patch15: mozilla-arm-disable-edsp.patch
Patch16: mozilla-crashreporter-restart-args.patch
# Firefox/browser
Patch31: firefox-browser-css.patch
Patch32: firefox-cross-desktop.patch
Patch33: firefox-kde.patch
Patch34: firefox-kde-114.patch
Patch38: firefox-no-default-ualocale.patch
Patch39: firefox-multilocale-chrome.patch
Patch41: firefox-branded-icons.patch
Patch30: firefox-browser-css.patch
Patch31: firefox-kde.patch
Patch32: firefox-kde-114.patch
Patch33: firefox-no-default-ualocale.patch
Patch34: firefox-multilocale-chrome.patch
Patch35: firefox-branded-icons.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(post): coreutils shared-mime-info desktop-file-utils
Requires(postun): shared-mime-info desktop-file-utils
@ -112,8 +112,6 @@ Requires: %{name}-branding > 4.0
Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
Recommends: libcanberra0
# libproxy's mozjs pacrunner crashes FF (bnc#759123)
Obsoletes: libproxy1-pacrunner-mozjs <= 0.4.7
%define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
%define _use_internal_dependency_generator 0
%define __find_requires sh %{SOURCE4}
@ -135,10 +133,6 @@ Obsoletes: libproxy1-pacrunner-mozjs <= 0.4.7
%else
%define crashreporter 1
%endif
# temporary gcc 4.7
%if %suse_version > 1210
%define crashreporter 0
%endif
### build options end
%description
@ -173,7 +167,7 @@ of MozillaFirefox.
%package translations-other
Summary: Extra translations for MozillaFirefox
Group: System/Localization
Provides: locale(%{name}:af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;el;en_ZA;eo;es_MX;et;eu;fa;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
Provides: locale(%{name}:af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;el;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release}
@ -229,27 +223,22 @@ cd $RPM_BUILD_DIR/mozilla
%if %suse_version < 1120
%patch11 -p1
%endif
%patch12 -p1
#%patch12 -p1
%patch13 -p1
%patch14 -p1
#%patch15 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
#
%patch31 -p1
%patch32 -p1
%patch30 -p1
%if %suse_version >= 1110
%patch33 -p1
%patch31 -p1
%endif
%if %suse_version >= 1140
%patch34 -p1
%patch32 -p1
%endif
%patch38 -p1
%patch39 -p1
%patch41 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%build
# no need to add build time to binaries
@ -308,6 +297,11 @@ ac_add_options --disable-gnomevfs
ac_add_options --enable-gio
EOF
%endif
%if %suse_version > 1140
cat << EOF >> $MOZCONFIG
ac_add_options --enable-gstreamer
EOF
%endif
%if %branding
cat << EOF >> $MOZCONFIG
ac_add_options --enable-official-branding
@ -333,11 +327,10 @@ make -f client.mk build
%install
cd $RPM_BUILD_DIR/obj
rm dist/bin/defaults/pref/firefox-l10n.js
source %{SOURCE5}
export MOZ_SOURCE_STAMP=$REV
export MOZ_SOURCE_REPO=$REPO
make -C browser/installer STRIP=/bin/true
make -C browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
#DEBUG (break the build if searchplugins are missing / temporary)
grep amazondotcom dist/firefox/omni.ja
# copy tree into RPM_BUILD_ROOT
@ -444,7 +437,6 @@ rm -f $RPM_BUILD_ROOT%{progdir}/run-mozilla.sh
rm -f $RPM_BUILD_ROOT%{progdir}/LICENSE
rm -f $RPM_BUILD_ROOT%{progdir}/precomplete
rm -f $RPM_BUILD_ROOT%{progdir}/dictionaries/en-US*
rm -f $RPM_BUILD_ROOT%{progdir}/firefox
rm -f $RPM_BUILD_ROOT%{progdir}/update-settings.ini
# devel
mkdir -p %{buildroot}%{_bindir}
@ -552,6 +544,7 @@ exit 0
%{progdir}/jssubloader/
%{progdir}/searchplugins/
%attr(755,root,root) %{progdir}/%{progname}.sh
%{progdir}/firefox
%{progdir}/firefox-bin
%{progdir}/add-plugins.sh
%{progdir}/application.ini

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e24152dcf3644463541fda529b3b90e690e27a2964159548183a3613d446848
size 29356
oid sha256:c5db07512eadf48bc052e496c603bde33899193b61d2cfb478869875ab90f01b
size 29352

View File

@ -2,8 +2,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_13_0_1_RELEASE"
VERSION="13.0.1"
RELEASE_TAG="FIREFOX_14_0_1_RELEASE"
VERSION="14.0.1"
# mozilla
echo "cloning $BRANCH..."

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bfef0e76444bc082f7b1c08f2551e62c2f44ebd736e88777b280b05c6f5a32b3
size 79546704

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b4a2a21aad66f5ae0c0fe769fc3c4914168b9d45568c1e1100f16ceef4d229b9
size 82284070

View File

@ -1,11 +1,11 @@
# HG changeset patch
# Parent 4a29f791f190ebb5de41590d70d52c7510d9477c
# Parent 7f0b0738f036cd9d2e51c51c3552dc608ac598f9
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
@@ -160,16 +160,21 @@ endif
endif # LIBXUL_SDK
endif #} LIBXUL_SDK
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
libs::
@ -23,9 +23,9 @@ diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
libs:: $(srcdir)/profile/prefs.js
$(INSTALL) $(IFLAGS1) $^ $(DIST)/bin/defaults/profile
libs:: $(srcdir)/blocklist.xml
$(INSTALL) $(IFLAGS1) $^ $(DIST)/bin
ifndef LIBXUL_SDK
# channel-prefs.js is handled separate from other prefs due to bug 756325
libs:: $(srcdir)/profile/channel-prefs.js
diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/Makefile.in
--- a/browser/branding/official/Makefile.in
+++ b/browser/branding/official/Makefile.in
@ -54,7 +54,7 @@ diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/M
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
@@ -450,18 +450,21 @@
@@ -476,18 +476,21 @@
@BINPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/preview.png
#ifdef SHIP_FEEDBACK
@BINPATH@/distribution/extensions/testpilot@labs.mozilla.com.xpi

View File

@ -9,12 +9,12 @@ https://bugzilla.novell.com/show_bug.cgi?id=561027
diff --git a/browser/themes/gnomestripe/browser.css b/browser/themes/gnomestripe/browser.css
--- a/browser/themes/gnomestripe/browser.css
+++ b/browser/themes/gnomestripe/browser.css
@@ -1016,16 +1016,30 @@ toolbar[iconsize="small"] #feed-button {
}
@@ -1026,16 +1026,30 @@ toolbar[iconsize="small"] #feed-button {
#urlbar-display {
margin-top: 0;
margin-bottom: 0;
-moz-margin-start: 0;
color: GrayText;
}
@ -36,7 +36,7 @@ diff --git a/browser/themes/gnomestripe/browser.css b/browser/themes/gnomestripe
#page-proxy-favicon {
width: 16px;
height: 16px;
margin: 2px 4px;
}
#page-proxy-favicon:not([src]) {
margin-top: 2px;
margin-bottom: 2px;
-moz-margin-start: 4px;
-moz-margin-end: 3px;

View File

@ -1,91 +0,0 @@
# HG changeset patch
# Parent fd2da289a3c15b8c96c248df2710d879793f22c9
# User Wolfgang Rosenauer <wr@rosenauer.org>
Bug 526717 - remove non-working "Set as desktop background" from the UI for unsupported desktops
diff --git a/browser/base/content/nsContextMenu.js b/browser/base/content/nsContextMenu.js
--- a/browser/base/content/nsContextMenu.js
+++ b/browser/base/content/nsContextMenu.js
@@ -262,17 +262,17 @@ nsContextMenu.prototype = {
// Set as Desktop background depends on whether an image was clicked on,
// and only works if we have a shell service.
var haveSetDesktopBackground = false;
#ifdef HAVE_SHELL_SERVICE
// Only enable Set as Desktop Background if we can get the shell service.
var shell = getShellService();
if (shell)
- haveSetDesktopBackground = true;
+ haveSetDesktopBackground = shell.canSetDesktopBackground;
#endif
this.showItem("context-setDesktopBackground",
haveSetDesktopBackground && this.onLoadedImage);
if (haveSetDesktopBackground && this.onLoadedImage) {
document.getElementById("context-setDesktopBackground")
.disabled = this.disableSetDesktopBackground();
}
diff --git a/browser/components/shell/public/nsIShellService.idl b/browser/components/shell/public/nsIShellService.idl
--- a/browser/components/shell/public/nsIShellService.idl
+++ b/browser/components/shell/public/nsIShellService.idl
@@ -69,16 +69,25 @@ interface nsIShellService : nsISupports
/**
* Used to determine whether or not to show a "Set Default Browser"
* query dialog. This attribute is true if the application is starting
* up and "browser.shell.checkDefaultBrowser" is true, otherwise it
* is false.
*/
attribute boolean shouldCheckDefaultBrowser;
+ /**
+ * Used to determine whether or not to offer "Set as desktop background"
+ * context menu item. Even if shell service is available it is not
+ * guaranteed that it is able to set the background for every desktop
+ * which is especially true for Linux with its many different desktop
+ * environments.
+ */
+ readonly attribute boolean canSetDesktopBackground;
+
/**
* Flags for positioning/sizing of the Desktop Background image.
*/
const long BACKGROUND_TILE = 1;
const long BACKGROUND_STRETCH = 2;
const long BACKGROUND_CENTER = 3;
const long BACKGROUND_FILL = 4;
const long BACKGROUND_FIT = 5;
diff --git a/browser/components/shell/src/nsGNOMEShellService.cpp b/browser/components/shell/src/nsGNOMEShellService.cpp
--- a/browser/components/shell/src/nsGNOMEShellService.cpp
+++ b/browser/components/shell/src/nsGNOMEShellService.cpp
@@ -377,16 +377,31 @@ nsGNOMEShellService::SetShouldCheckDefau
pserve->GetBranch("", getter_AddRefs(prefs));
if (prefs)
prefs->SetBoolPref(PREF_CHECKDEFAULTBROWSER, aShouldCheck);
return NS_OK;
}
+NS_IMETHODIMP
+nsGNOMEShellService::GetCanSetDesktopBackground(bool* aResult)
+{
+ // setting desktop background is currently only supported
+ // for Gnome or desktops using the same GSettings and GConf keys
+ const char* gnomeSession = getenv("GNOME_DESKTOP_SESSION_ID");
+ if (gnomeSession) {
+ *aResult = true;
+ } else {
+ *aResult = false;
+ }
+
+ return NS_OK;
+}
+
static nsresult
WriteImage(const nsCString& aPath, imgIContainer* aImage)
{
#ifndef MOZ_WIDGET_GTK2
return NS_ERROR_NOT_AVAILABLE;
#else
nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");

View File

@ -2,7 +2,7 @@ diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1116 @@
@@ -0,0 +1,1122 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@ -99,6 +99,7 @@ new file mode 100644
+ macanimationtype="document"
+ screenX="4" screenY="4"
+ browsingmode="normal"
+ fullscreenbutton="true"
+ persist="screenX screenY width height sizemode">
+
+# All JS files which are not content (only) dependent that browser.xul
@ -533,6 +534,7 @@ new file mode 100644
+ <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="password-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/>
+ </box>
+ <!-- Use onclick instead of normal popup= syntax since the popup
+ code fires onmousedown, and hence eats our favicon drag events.
@ -545,9 +547,8 @@ new file mode 100644
+ <hbox id="identity-box-inner" align="center">
+ <hbox id="page-proxy-stack"
+ onclick="PageProxyClickHandler(event);">
+ <image id="page-proxy-favicon" validate="never"
+ pageproxystate="invalid"
+ onerror="this.removeAttribute('src');"/>
+ <image id="page-proxy-favicon"
+ pageproxystate="invalid"/>
+ </hbox>
+ <hbox id="identity-icon-labels">
+ <label id="identity-icon-label" class="plain" flex="1"/>
@ -858,6 +859,9 @@ new file mode 100644
+ label="&printButton.label;" command="cmd_print"
+ tooltiptext="&printButton.tooltip;"/>
+
+ <!-- This is a placeholder for the Downloads Indicator. It is visible
+ only during the customization of the toolbar or in the palette, and
+ is replaced when customization is done. -->
+ <toolbarbutton id="downloads-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ observes="Tools:Downloads"
+ ondrop="DownloadsButtonDNDObserver.onDrop(event)"
@ -1011,9 +1015,9 @@ new file mode 100644
+ command="Inspector:Inspect"/>
+ <toolbarbutton id="inspector-treepanel-toolbutton"
+ class="devtools-toolbarbutton"
+ label="&htmlPanel.label;"
+ accesskey="&htmlPanel.accesskey;"
+ tooltiptext="&htmlPanel.tooltiptext;"
+ tabindex="0"
+ aria-label="&markupButton.arialabel;"
+ accesskey="&markupButton.accesskey;"
+ command="Inspector:HTMLPanel"/>
+ <arrowscrollbox id="inspector-breadcrumbs"
+ flex="1" orient="horizontal"
@ -1024,11 +1028,13 @@ new file mode 100644
+ hidden="true"
+ label="&inspect3DViewButton.label;"
+ accesskey="&inspect3DViewButton.accesskey;"
+ tabindex="0"
+ command="Inspector:Tilt"/>
+ <toolbarbutton id="inspector-style-button"
+ class="devtools-toolbarbutton"
+ label="&inspectStyleButton.label;"
+ accesskey="&inspectStyleButton.accesskey;"
+ tabindex="0"
+ command="Inspector:Sidebar"/>
+ <!-- registered tools go here -->
+ </hbox>
@ -1063,7 +1069,7 @@ new file mode 100644
+ </svg:mask>
+ <svg:mask id="winstripe-urlbar-back-button-mask" maskContentUnits="userSpaceOnUse">
+ <svg:rect x="0" y="0" width="10000" height="50" fill="white"/>
+ <svg:circle cx="-11" cy="13" r="15"/>
+ <svg:circle cx="-11" cy="18" r="15"/>
+ </svg:mask>
+ </svg:svg>
+#endif
@ -1158,12 +1164,12 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
#endif
#if defined(XP_WIN) && !defined(__MINGW32__)
#include "nsIEProfileMigrator.h"
#elif defined(XP_MACOSX)
#include "nsSafariProfileMigrator.h"
#include "nsIEHistoryEnumerator.h"
#endif
@@ -67,18 +67,16 @@ using namespace mozilla::browser;
#include "rdf.h"
#include "nsFeedSniffer.h"
@@ -65,18 +65,16 @@ using namespace mozilla::browser;
/////////////////////////////////////////////////////////////////////////////
@ -1177,12 +1183,12 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
#endif
#if defined(XP_WIN) && !defined(__MINGW32__)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEProfileMigrator)
#elif defined(XP_MACOSX)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafariProfileMigrator)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
#endif
@@ -102,17 +100,17 @@ NS_DEFINE_NAMED_CID(NS_SAFARIPROFILEMIGR
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
@@ -97,17 +95,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID)
#endif
NS_DEFINE_NAMED_CID(NS_PRIVATE_BROWSING_SERVICE_WRAPPER_CID);
@ -1197,10 +1203,10 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
{ &kNS_FEEDSNIFFER_CID, false, NULL, nsFeedSnifferConstructor },
{ &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, NULL, AboutRedirector::Create },
#if defined(XP_WIN) && !defined(__MINGW32__)
{ &kNS_WINIEPROFILEMIGRATOR_CID, false, NULL, nsIEProfileMigratorConstructor },
{ &kNS_WINIEHISTORYENUMERATOR_CID, false, NULL, nsIEHistoryEnumeratorConstructor },
#elif defined(XP_MACOSX)
{ &kNS_SHELLSERVICE_CID, false, NULL, nsMacShellServiceConstructor },
{ &kNS_SAFARIPROFILEMIGRATOR_CID, false, NULL, nsSafariProfileMigratorConstructor },
#endif
diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js
--- a/browser/components/preferences/advanced.js
+++ b/browser/components/preferences/advanced.js
@ -1714,21 +1720,24 @@ new file mode 100644
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
@@ -467,16 +467,17 @@
#endif
#endif
; [Default Preferences]
; All the pref files must be part of base to prevent migration bugs
@BINPATH@/@PREF_DIR@/firefox.js
@BINPATH@/@PREF_DIR@/firefox-branding.js
@BINPATH@/@PREF_DIR@/channel-prefs.js
+@BINPATH@/@PREF_DIR@/kde.js
#ifdef MOZ_SERVICES_SYNC
@@ -501,18 +501,20 @@
@BINPATH@/@PREF_DIR@/services-sync.js
#endif
@BINPATH@/greprefs.js
@BINPATH@/defaults/autoconfig/platform.js
@BINPATH@/defaults/autoconfig/prefcalls.js
#ifndef LIBXUL_SDK
; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
@BINPATH@/defaults/pref/channel-prefs.js
+@BINPATH@/defaults/pref/kde.js
#else
@BINPATH@/@PREF_DIR@/channel-prefs.js
+@BINPATH@/@PREF_DIR@/kde.js
#endif
@BINPATH@/defaults/profile/prefs.js
; [Layout Engine Resources]
; Style Sheets, Graphics and other Resources used by the layout engine.
@BINPATH@/res/EditorOverride.css
@BINPATH@/res/contenteditable.css
@BINPATH@/res/designmode.css

View File

@ -1,13 +1,13 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent de9c23d6bfd0b0a30aa3dfc55377658756ec6f70
# Parent dd43958a61127a39cb7e59ba6118a57b685255e2
Add searchplugins to chrome packaging for proper localization
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -341,16 +341,20 @@ pref("browser.download.manager.scanWhenD
pref("browser.download.manager.resumeOnWakeDelay", 10000);
@@ -356,16 +356,20 @@ pref("browser.download.useToolkitUI", tr
pref("browser.download.panel.removeFinishedDownloads", false);
// search engines URL
pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
@ -95,7 +95,7 @@ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -97,11 +97,12 @@
@@ -103,16 +103,17 @@
locale/browser-region/region.properties (%chrome/browser-region/region.properties)
# the following files are browser-specific overrides
* locale/browser/netError.dtd (%chrome/overrides/netError.dtd)
@ -108,3 +108,8 @@ diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
% locale testpilot @AB_CD@ %locale/feedback/
locale/feedback/main.dtd (%feedback/main.dtd)
locale/feedback/main.properties (%feedback/main.properties)
#ifdef MOZ_WEBAPP_RUNTIME
% locale webapprt @AB_CD@ %locale/webapprt/
locale/webapprt/webapp.dtd (%webapprt/webapp.dtd)
locale/webapprt/webapp.properties (%webapprt/webapp.properties)
#endif

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8055e12302a250c9ec61055bf00aa0b3fe7fb571d7d21b89199af2b33b06a46d
size 48687641

3
l10n-14.0.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e8b4290ec4fe50bbf0c1fa25e6f9213de0f8607d655f8ee2d8740592314384fa
size 49502699

View File

@ -0,0 +1,46 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 0373328cfcb6ad3995f53598e974d61252ddebf4
Bug 762780 - crashreporter restart command should support MOZ_APP_LAUNCHER
diff --git a/toolkit/crashreporter/nsExceptionHandler.cpp b/toolkit/crashreporter/nsExceptionHandler.cpp
--- a/toolkit/crashreporter/nsExceptionHandler.cpp
+++ b/toolkit/crashreporter/nsExceptionHandler.cpp
@@ -1353,32 +1353,25 @@ nsresult
SetRestartArgs(int argc, char** argv)
{
if (!gExceptionHandler)
return NS_OK;
int i;
nsCAutoString envVar;
char *env;
+ char *argv1 = getenv("MOZ_APP_LAUNCHER");
for (i = 0; i < argc; i++) {
envVar = "MOZ_CRASHREPORTER_RESTART_ARG_";
envVar.AppendInt(i);
envVar += "=";
-#if defined(XP_UNIX) && !defined(XP_MACOSX)
- // we'd like to run the script around the binary
- // instead of the binary itself, so remove the -bin
- // if it exists on the first argument
- int arg_len = 0;
- if (i == 0 &&
- (arg_len = strlen(argv[i])) > 4 &&
- strcmp(argv[i] + arg_len - 4, "-bin") == 0) {
- envVar.Append(argv[i], arg_len - 4);
- } else
-#endif
- {
+ if (argv1 && i == 0) {
+ // Is there a request to suppress default binary launcher?
+ envVar += argv1;
+ } else {
envVar += argv[i];
}
// PR_SetEnv() wants the string to be available for the lifetime
// of the app, so dup it here
env = ToNewCString(envVar);
if (!env)
return NS_ERROR_OUT_OF_MEMORY;

View File

@ -1,113 +1,14 @@
# HG changeset patch
# Parent 7bc8f0e5bed8cb2212e27228e628861737256459
Patch to make Mozilla build with gcc 4.7, including
- Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 4.7 (TM: Mozilla14)
- Bug 741348 - Work around crashreporter client build failure with gcc 4.7 (TM: Mozilla15)
# User Mike Hommey <mh+mozilla@glandium.org>
# Date 1336991062 -7200
# Node ID 234d34706ea1a0e9a9d2c61561c4441590712df0
# Parent 0f2f145158b595f5242bf0d79b2de413373730c1
Bug 741348 - Work around crashreporter client build failure with gcc 4.7
diff --git a/layout/base/tests/TestPoisonArea.cpp b/layout/base/tests/TestPoisonArea.cpp
--- a/layout/base/tests/TestPoisonArea.cpp
+++ b/layout/base/tests/TestPoisonArea.cpp
@@ -392,53 +392,53 @@ ReservePoisonArea()
{
if (sizeof(uintptr_t) == 8) {
// Use the hardware-inaccessible region.
// We have to avoid 64-bit constants and shifts by 32 bits, since this
// code is compiled in 32-bit mode, although it is never executed there.
uintptr_t result = (((uintptr_t(0x7FFFFFFFu) << 31) << 1 |
uintptr_t(0xF0DEAFFFu)) &
~uintptr_t(PAGESIZE-1));
- printf("INFO | poison area assumed at 0x%.*"PRIxPTR"\n", SIZxPTR, result);
+ printf("INFO | poison area assumed at 0x%.*" PRIxPTR "\n", SIZxPTR, result);
return result;
} else {
// First see if we can allocate the preferred poison address from the OS.
uintptr_t candidate = (0xF0DEAFFF & ~(PAGESIZE-1));
void *result = ReserveRegion(candidate, false);
if (result == (void *)candidate) {
// success - inaccessible page allocated
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
" (preferred addr)\n", SIZxPTR, (uintptr_t)result);
return candidate;
}
// That didn't work, so see if the preferred address is within a range
// of permanently inacessible memory.
if (ProbeRegion(candidate)) {
// success - selected page cannot be usable memory
if (result != MAP_FAILED)
ReleaseRegion(result);
- printf("INFO | poison area assumed at 0x%.*"PRIxPTR
+ printf("INFO | poison area assumed at 0x%.*" PRIxPTR
" (preferred addr)\n", SIZxPTR, candidate);
return candidate;
}
// The preferred address is already in use. Did the OS give us a
// consolation prize?
if (result != MAP_FAILED) {
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
" (consolation prize)\n", SIZxPTR, (uintptr_t)result);
return (uintptr_t)result;
}
// It didn't, so try to allocate again, without any constraint on
// the address.
result = ReserveRegion(0, false);
if (result != MAP_FAILED) {
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
" (fallback)\n", SIZxPTR, (uintptr_t)result);
return (uintptr_t)result;
}
printf("ERROR | no usable poison area found\n");
return 0;
}
}
@@ -450,17 +450,17 @@ static uintptr_t
ReservePositiveControl()
{
void *result = ReserveRegion(0, false);
if (result == MAP_FAILED) {
printf("ERROR | allocating positive control | %s\n", LastErrMsg());
return 0;
}
- printf("INFO | positive control allocated at 0x%.*"PRIxPTR"\n",
+ printf("INFO | positive control allocated at 0x%.*" PRIxPTR "\n",
SIZxPTR, (uintptr_t)result);
return (uintptr_t)result;
}
/* The "negative control" area confirms that our probe logic does detect a
* page that is readable, writable, or executable.
*/
static uintptr_t
@@ -481,17 +481,17 @@ ReserveNegativeControl()
// Now mark it executable as well as readable and writable.
// (mmap(PROT_EXEC) may fail when applied to anonymous memory.)
if (MakeRegionExecutable(result)) {
printf("ERROR | making negative control executable | %s\n", LastErrMsg());
return 0;
}
- printf("INFO | negative control allocated at 0x%.*"PRIxPTR"\n",
+ printf("INFO | negative control allocated at 0x%.*" PRIxPTR "\n",
SIZxPTR, (uintptr_t)result);
return (uintptr_t)result;
}
static void
JumpTo(uintptr_t opaddr)
{
#ifdef __ia64
diff --git a/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in b/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in
--- a/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in
+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in
@@ -61,8 +61,11 @@ HOST_CPPSRCS = \
@@ -65,8 +65,11 @@ HOST_CPPSRCS = \
file_id.cc \
guid_creator.cc \
$(NULL)

View File

@ -45,7 +45,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
#include "prefapi.h"
#include "prefread.h"
#include "prefapi_private_data.h"
@@ -937,16 +938,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
@@ -941,16 +942,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@ -80,7 +80,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
return NS_OK;
bool hasMore;
@@ -962,17 +981,17 @@ static nsresult pref_LoadPrefsInDirList(
@@ -966,17 +985,17 @@ static nsresult pref_LoadPrefsInDirList(
nsCAutoString leaf;
path->GetNativeLeafName(leaf);
@ -99,7 +99,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
@@ -1062,28 +1081,40 @@ static nsresult pref_InitInitialObjects(
@@ -1070,28 +1089,40 @@ 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)
@ -137,9 +137,9 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
NS_WARNING("Error parsing application default preferences.");
// Load jar:$app/omni.jar!/defaults/preferences/*.js
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
nsRefPtr<nsZipArchive> appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP);
if (appJarReader) {
rv = appJarReader->FindInit("defaults/preferences/*.js$", &findPtr);
// GetReader(mozilla::Omnijar::APP) returns null when $app == $gre, in which
diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in
--- a/toolkit/components/downloads/Makefile.in
+++ b/toolkit/components/downloads/Makefile.in
@ -179,7 +179,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
#include "AndroidBridge.h"
#endif
@@ -2221,16 +2225,25 @@ nsDownload::SetState(DownloadState aStat
@@ -2259,16 +2263,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function.
@ -205,7 +205,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
PRInt64 goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec;
@@ -2254,19 +2267,20 @@ nsDownload::SetState(DownloadState aStat
@@ -2292,19 +2305,20 @@ nsDownload::SetState(DownloadState aStat
// If downloads are automatically removed per the user's
// retention policy, there's no reason to make the text clickable
// because if it is, they'll click open the download manager and
@ -2192,7 +2192,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
--- a/toolkit/xre/Makefile.in
+++ b/toolkit/xre/Makefile.in
@@ -96,17 +96,18 @@ else
@@ -100,17 +100,18 @@ else
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
CMMSRCS = nsNativeAppSupportCocoa.mm
EXPORTS += MacQuirks.h
@ -3755,7 +3755,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in
--- a/xpcom/io/Makefile.in
+++ b/xpcom/io/Makefile.in
@@ -188,17 +188,17 @@ include $(topsrcdir)/ipc/chromium/chromi
@@ -189,17 +189,17 @@ include $(topsrcdir)/ipc/chromium/chromi
DEFINES += -D_IMPL_NS_COM
ifeq ($(OS_ARCH),Linux)
@ -3795,7 +3795,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h"
#include "plbase64.h"
@@ -1796,44 +1797,51 @@ nsLocalFile::SetPersistentDescriptor(con
@@ -1798,44 +1799,51 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor);
#endif
}
@ -3861,7 +3861,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
return rv;
}
return NS_ERROR_FAILURE;
@@ -1859,16 +1867,23 @@ nsLocalFile::Launch()
@@ -1861,16 +1869,23 @@ nsLocalFile::Launch()
if (nsnull == connection)
return NS_ERROR_FAILURE;

View File

@ -1,61 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent c684863b1eb3bcae92ef24bc2ac511985b1ad7e4
Bug 737646 - no biff notification if notification-daemon not running
diff --git a/toolkit/system/gnome/nsAlertsIconListener.cpp b/toolkit/system/gnome/nsAlertsIconListener.cpp
--- a/toolkit/system/gnome/nsAlertsIconListener.cpp
+++ b/toolkit/system/gnome/nsAlertsIconListener.cpp
@@ -47,16 +47,17 @@
#include <gdk/gdk.h>
// Compatibility macro for <libnotify-0.7
#ifndef NOTIFY_CHECK_VERSION
#define NOTIFY_CHECK_VERSION(x,y,z) 0
#endif
static bool gHasActions = false;
+static bool gHasCaps = false;
static void notify_action_cb(NotifyNotification *notification,
gchar *action, gpointer user_data)
{
nsAlertsIconListener* alert = static_cast<nsAlertsIconListener*> (user_data);
alert->SendCallback();
}
@@ -338,27 +339,34 @@ nsAlertsIconListener::InitAlertAsync(con
appShortName.AssignLiteral("Mozilla");
}
if (!notify_init(appShortName.get()))
return NS_ERROR_FAILURE;
GList *server_caps = notify_get_server_caps();
if (server_caps) {
+ gHasCaps = true;
for (GList* cap = server_caps; cap != NULL; cap = cap->next) {
if (!strcmp((char*) cap->data, "actions")) {
gHasActions = true;
break;
}
}
g_list_foreach(server_caps, (GFunc)g_free, NULL);
g_list_free(server_caps);
}
}
+ if (!gHasCaps) {
+ // if notify_get_server_caps() failed above we need to assume
+ // there is no notification-server to display anything
+ return NS_ERROR_FAILURE;
+ }
+
if (!gHasActions && aAlertTextClickable)
return NS_ERROR_FAILURE; // No good, fallback to XUL
nsCOMPtr<nsIObserverService> obsServ =
do_GetService("@mozilla.org/observer-service;1");
if (obsServ)
obsServ->AddObserver(this, "quit-application", true);

View File

@ -1,23 +0,0 @@
# HG changeset patch
# Parent bf7c3e1c6174630743f9f94808c4dd3a2edc0c6b
diff --git a/toolkit/crashreporter/tools/symbolstore.py b/toolkit/crashreporter/tools/symbolstore.py
--- a/toolkit/crashreporter/tools/symbolstore.py
+++ b/toolkit/crashreporter/tools/symbolstore.py
@@ -376,16 +376,17 @@ def GetVCSFilename(file, srcdirs):
return (file.replace("\\", "/"), root)
def GetPlatformSpecificDumper(**kwargs):
"""This function simply returns a instance of a subclass of Dumper
that is appropriate for the current platform."""
return {'win32': Dumper_Win32,
'cygwin': Dumper_Win32,
'linux2': Dumper_Linux,
+ 'linux3': Dumper_Linux,
'sunos5': Dumper_Solaris,
'darwin': Dumper_Mac}[sys.platform](**kwargs)
def SourceIndex(fileStream, outputPath, vcs_root):
"""Takes a list of files, writes info to a data block in a .stream file"""
# Creates a .pdb.stream file in the mozilla\objdir to be used for source indexing
# Create the srcsrv data block that indexes the pdb file
result = True

View File

@ -1,43 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Date 1336632642 -7200
# Node ID 56cc5a3c431612fa98f0550f02a9f34b566e1d9b
# Parent 307671d73258761245d165e43591d885c7f68b73
Bug 749739 - New email sound notification file cannot contain spaces (Linux - Thunderbird 12). r=karlt, a=lsblakk (upstream in FF14)
diff --git a/widget/gtk2/nsSound.cpp b/widget/gtk2/nsSound.cpp
--- a/widget/gtk2/nsSound.cpp
+++ b/widget/gtk2/nsSound.cpp
@@ -353,23 +353,28 @@ NS_METHOD nsSound::Play(nsIURL *aURL)
bool isFile;
nsresult rv = aURL->SchemeIs("file", &isFile);
if (NS_SUCCEEDED(rv) && isFile) {
ca_context* ctx = ca_context_get_default();
if (!ctx) {
return NS_ERROR_OUT_OF_MEMORY;
}
- nsCAutoString path;
- rv = aURL->GetPath(path);
+ nsCAutoString spec;
+ rv = aURL->GetSpec(spec);
if (NS_FAILED(rv)) {
return rv;
}
+ gchar *path = g_filename_from_uri(spec.get(), NULL, NULL);
+ if (!path) {
+ return NS_ERROR_FILE_UNRECOGNIZED_PATH;
+ }
- ca_context_play(ctx, 0, "media.filename", path.get(), NULL);
+ ca_context_play(ctx, 0, "media.filename", path, NULL);
+ g_free(path);
} else {
nsCOMPtr<nsIStreamLoader> loader;
rv = NS_NewStreamLoader(getter_AddRefs(loader), aURL, this);
}
return rv;
}

View File

@ -4,7 +4,7 @@ Subject: introduce a pref to prefer certain plugins for mime-types
diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
@@ -1580,17 +1580,48 @@ nsPluginHost::FindPluginForType(const ch
@@ -1561,17 +1561,45 @@ nsPluginHost::FindPluginForType(const ch
bool aCheckEnabled)
{
if (!aMimeType) {
@ -13,18 +13,15 @@ diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.c
LoadPlugins();
+ nsresult res;
+ nsCOMPtr<nsIPrefBranch> prefB (do_QueryInterface(mPrefService));
+
+ char *preferredPluginPath = NULL;
+ nsCAutoString mimetypePrefString ("modules.plugins.mimetype.");
+ mimetypePrefString.Append(aMimeType);
+ const char *mimetypePrefChar = mimetypePrefString.get();
+ res = prefB->GetCharPref(mimetypePrefChar, &preferredPluginPath);
+
+ if(!NS_SUCCEEDED(res)) preferredPluginPath = NULL;
+ nsAdoptingCString pluginPath = Preferences::GetCString(mimetypePrefChar);
+ preferredPluginPath = (char*) pluginPath.get();
+
nsPluginTag *plugin = mPlugins;
+
+ if(preferredPluginPath) {
+ while (nsnull != plugin) {
+ if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) ||

View File

@ -1,10 +1,10 @@
# HG changeset patch
# Parent 271b5143e89573cbbde51d0b830a6116756a52e6
# Parent d50497c25f208e4868a386f081edc790a505795c
diff --git a/build/Makefile.in b/build/Makefile.in
--- a/build/Makefile.in
+++ b/build/Makefile.in
@@ -89,17 +89,17 @@ DEFINES += -DMOZ_APP_VERSION="$(MOZ_APP_
@@ -95,17 +95,17 @@ DEFINES += -DMOZ_APP_VERSION="$(MOZ_APP_
APP_INI_DEPS += $(DEPTH)/config/autoconf.mk
MOZ_SOURCE_STAMP := $(firstword $(shell cd $(topsrcdir)/$(MOZ_BUILD_APP)/.. && hg parent --template="{node|short}\n" 2>/dev/null))
@ -48,7 +48,7 @@ diff --git a/toolkit/content/Makefile.in b/toolkit/content/Makefile.in
diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
--- a/toolkit/mozapps/installer/package-name.mk
+++ b/toolkit/mozapps/installer/package-name.mk
@@ -161,20 +161,20 @@ SYMBOL_ARCHIVE_BASENAME = $(PKG_BASENAME
@@ -162,20 +162,20 @@ SYMBOL_ARCHIVE_BASENAME = $(PKG_BASENAME
TEST_PACKAGE = $(PKG_BASENAME).tests.zip
ifneq (,$(wildcard $(DIST)/bin/application.ini))
@ -74,22 +74,28 @@ diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/install
diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
--- a/toolkit/xre/Makefile.in
+++ b/toolkit/xre/Makefile.in
@@ -229,17 +229,17 @@ DEFINES += -DHAVE_USR_LIB64_DIR
endif
endif
@@ -240,20 +240,20 @@ endif
MOZ_SOURCE_STAMP ?= $(firstword $(shell hg -R $(topsrcdir) parent --template="{node|short}\n" 2>/dev/null))
# strip a trailing slash from the repo URL because it's not always present,
# and we want to construct a working URL in buildconfig.html
# make+shell+sed = awful
_dollar=$$
-SOURCE_REPO := $(shell cd $(topsrcdir) && hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" -e "s/\/$(_dollar)//" )
+SOURCE_REPO ?= $(shell cd $(topsrcdir) && hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" -e "s/\/$(_dollar)//" )
ifdef MOZ_SOURCE_STAMP
INIARGS = --sourcestamp=$(MOZ_SOURCE_STAMP)
# extra sanity check for old versions of hg
# that don't support showconfig
ifeq (http,$(patsubst http%,http,$(SOURCE_REPO)))
INIARGS += --sourcerepo=$(SOURCE_REPO)
endif
INIARGS = --sourcestamp=$(MOZ_SOURCE_STAMP)
# strip a trailing slash from the repo URL because it's not always present,
# and we want to construct a working URL in buildconfig.html
- SOURCE_REPO := $(firstword $(shell hg --repository $(topsrcdir) showconfig paths.default 2>/dev/null))
- SOURCE_REPO := $(strip $(SOURCE_REPO))
- SOURCE_REPO := $(patsubst ssh://%,http://%,$(SOURCE_REPO))
- SOURCE_REPO := $(patsubst %/,%,$(SOURCE_REPO))
+ SOURCE_REPO ?= $(firstword $(shell hg --repository $(topsrcdir) showconfig paths.default 2>/dev/null))
+ SOURCE_REPO ?= $(strip $(SOURCE_REPO))
+ SOURCE_REPO ?= $(patsubst ssh://%,http://%,$(SOURCE_REPO))
+ SOURCE_REPO ?= $(patsubst %/,%,$(SOURCE_REPO))
$(call errorIfEmpty,SOURCE_REPO)
# extra sanity check for old versions of hg, no showconfig support
ifeq (http,$(patsubst http%,http,$(SOURCE_REPO)))
INIARGS += --sourcerepo=$(SOURCE_REPO)
endif
endif # MOZ_SOURCE_STAMP

View File

@ -1,148 +0,0 @@
# HG changeset patch
# Parent 8da41a2cee774ce4d00b9ac1032a495b8bc560a0
Revert investigation patch for bmo#621446; as it is useless on desktop and breaks the build for certain compilers
diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp
--- a/netwerk/protocol/http/HttpChannelParent.cpp
+++ b/netwerk/protocol/http/HttpChannelParent.cpp
@@ -52,29 +52,25 @@
#include "nsIBadCertListener2.h"
#include "nsICacheEntryDescriptor.h"
#include "nsSerializationHelper.h"
#include "nsISerializable.h"
#include "nsIAssociatedContentSecurity.h"
#include "nsIApplicationCacheService.h"
#include "nsIOfflineCacheUpdate.h"
#include "nsIRedirectChannelRegistrar.h"
-#include "prinit.h"
namespace mozilla {
namespace net {
HttpChannelParent::HttpChannelParent(PBrowserParent* iframeEmbedding)
: mIPCClosed(false)
, mStoredStatus(0)
, mStoredProgress(0)
, mStoredProgressMax(0)
- , mSentRedirect1Begin(false)
- , mSentRedirect1BeginFailed(false)
- , mReceivedRedirect2Verify(false)
{
// Ensure gHttpHandler is initialized: we need the atom table up and running.
nsIHttpProtocolHandler* handler;
CallGetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &handler);
NS_ASSERTION(handler, "no http handler");
mTabParent = do_QueryObject(static_cast<TabParent*>(iframeEmbedding));
}
@@ -326,21 +322,16 @@ HttpChannelParent::RecvUpdateAssociatedC
mAssociatedContentSecurity->SetCountSubRequestsHighSecurity(high);
mAssociatedContentSecurity->SetCountSubRequestsLowSecurity(low);
mAssociatedContentSecurity->SetCountSubRequestsBrokenSecurity(broken);
mAssociatedContentSecurity->SetCountSubRequestsNoSecurity(no);
}
return true;
}
-// Bug 621446 investigation, we don't want conditional PR_Aborts bellow to be
-// merged to a single address.
-#pragma warning(disable : 4068)
-#pragma GCC optimize ("O0")
-
bool
HttpChannelParent::RecvRedirect2Verify(const nsresult& result,
const RequestHeaderTuples& changedHeaders)
{
if (NS_SUCCEEDED(result)) {
nsCOMPtr<nsIHttpChannel> newHttpChannel =
do_QueryInterface(mRedirectChannel);
@@ -348,40 +339,21 @@ HttpChannelParent::RecvRedirect2Verify(c
for (PRUint32 i = 0; i < changedHeaders.Length(); i++) {
newHttpChannel->SetRequestHeader(changedHeaders[i].mHeader,
changedHeaders[i].mValue,
changedHeaders[i].mMerge);
}
}
}
- if (!mRedirectCallback) {
- // Bug 621446 investigation (optimization turned off above)
- if (mReceivedRedirect2Verify)
- NS_RUNTIMEABORT("Duplicate fire");
- if (mSentRedirect1BeginFailed)
- NS_RUNTIMEABORT("Send to child failed");
- if (mSentRedirect1Begin && NS_FAILED(result))
- NS_RUNTIMEABORT("Redirect failed");
- if (mSentRedirect1Begin && NS_SUCCEEDED(result))
- NS_RUNTIMEABORT("Redirect succeeded");
- if (!mRedirectChannel)
- NS_RUNTIMEABORT("Missing redirect channel");
- }
-
- mReceivedRedirect2Verify = true;
-
mRedirectCallback->OnRedirectVerifyCallback(result);
mRedirectCallback = nsnull;
return true;
}
-// Bug 621446 investigation
-#pragma GCC reset_options
-
bool
HttpChannelParent::RecvDocumentChannelCleanup()
{
// From now on only using mAssociatedContentSecurity. Free everything else.
mChannel = 0; // Reclaim some memory sooner.
mCacheDescriptor = 0; // Else we'll block other channels reading same URI
return true;
}
@@ -583,24 +555,18 @@ HttpChannelParent::StartRedirect(PRUint3
nsHttpChannel *httpChan = static_cast<nsHttpChannel *>(mChannel.get());
nsHttpResponseHead *responseHead = httpChan->GetResponseHead();
bool result = SendRedirect1Begin(newChannelId,
IPC::URI(newURI),
redirectFlags,
responseHead ? *responseHead
: nsHttpResponseHead());
- if (!result) {
- // Bug 621446 investigation
- mSentRedirect1BeginFailed = true;
+ if (!result)
return NS_BINDING_ABORTED;
- }
-
- // Bug 621446 investigation
- mSentRedirect1Begin = true;
// Result is handled in RecvRedirect2Verify above
mRedirectChannel = newChannel;
mRedirectCallback = callback;
return NS_OK;
}
diff --git a/netwerk/protocol/http/HttpChannelParent.h b/netwerk/protocol/http/HttpChannelParent.h
--- a/netwerk/protocol/http/HttpChannelParent.h
+++ b/netwerk/protocol/http/HttpChannelParent.h
@@ -128,18 +128,14 @@ private:
nsCOMPtr<nsIChannel> mRedirectChannel;
nsCOMPtr<nsIAsyncVerifyRedirectCallback> mRedirectCallback;
// state for combining OnStatus/OnProgress with OnDataAvailable
// into one IPDL call to child.
nsresult mStoredStatus;
PRUint64 mStoredProgress;
PRUint64 mStoredProgressMax;
-
- bool mSentRedirect1Begin : 1;
- bool mSentRedirect1BeginFailed : 1;
- bool mReceivedRedirect2Verify : 1;
};
} // namespace net
} // namespace mozilla
#endif // mozilla_net_HttpChannelParent_h

View File

@ -7,10 +7,10 @@ References:
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
@@ -581,16 +581,20 @@ MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS
MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@
@@ -590,16 +590,20 @@ MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNO
MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
MOZ_ALSA_CFLAGS = @MOZ_ALSA_CFLAGS@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
@ -31,7 +31,7 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -8213,16 +8213,31 @@ AC_SUBST(QCMS_LIBS)
@@ -8180,16 +8180,31 @@ AC_SUBST(QCMS_LIBS)
dnl ========================================================
dnl HarfBuzz
@ -66,7 +66,7 @@ diff --git a/configure.in b/configure.in
diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
--- a/security/manager/ssl/src/Makefile.in
+++ b/security/manager/ssl/src/Makefile.in
@@ -118,12 +118,14 @@ EXTRA_DEPS = $(NSS_DEP_LIBS)
@@ -119,12 +119,14 @@ EXTRA_DEPS = $(NSS_DEP_LIBS)
DEFINES += \
-DNSS_ENABLE_ECC \
-DDLL_PREFIX=\"$(DLL_PREFIX)\" \
@ -109,7 +109,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
#include "nsNetUtil.h"
#include "nsAppDirectoryServiceDefs.h"
#include "nsDirectoryService.h"
@@ -1733,18 +1740,34 @@ nsNSSComponent::InitializeNSS(bool showW
@@ -1776,18 +1783,34 @@ nsNSSComponent::InitializeNSS(bool showW
ConfigureInternalPKCS11Token();
// The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
@ -149,7 +149,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
--- a/toolkit/library/Makefile.in
+++ b/toolkit/library/Makefile.in
@@ -471,17 +471,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
@@ -439,17 +439,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
endif
endif
endif

View File

@ -1,27 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent e94edfdb1f5bd5c29dc54cfb83768f9c84f3f4de
Bug 736854 - PHal.ipdl includes NSPR incorrectly - breaking system NSPR usage
diff --git a/hal/sandbox/PHal.ipdl b/hal/sandbox/PHal.ipdl
--- a/hal/sandbox/PHal.ipdl
+++ b/hal/sandbox/PHal.ipdl
@@ -34,17 +34,17 @@
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
include protocol PContent;
include protocol PBrowser;
-include "nspr/prtime.h";
+include "prtime.h";
include "mozilla/HalSensor.h";
include "mozilla/HalTypes.h";
using PRTime;
using mozilla::hal::FlashMode;
using mozilla::hal::LightType;
using mozilla::hal::LightMode;
using mozilla::hal::SensorType;

View File

@ -1,15 +1,21 @@
# HG changeset patch
# Parent 831eeca7b7cfa9ae2458d9efafe168027259965f
# User Landry Breuil <landry@openbsd.org>
Bug 691898 - Use YARR regexp interpreter instead of PCRE on platforms where YARR JIT is not supported r=dmandelin
PCRE doesn't build anyway.
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -332,30 +332,33 @@ CPPSRCS += checks.cc \
platform.cc \
utils.cc \
$(NONE)
@@ -315,30 +315,33 @@ ifeq (mips, $(findstring mips,$(TARGET_C
CPPSRCS += TrampolineMIPS.cpp
endif
#
# END enclude sources for V8 dtoa
# END enclude sources for the method JIT
#############################################
endif
-# For architectures without YARR JIT, PCRE is faster than the YARR
-# interpreter (bug 684559).
-
@ -70,7 +76,7 @@ diff --git a/js/src/assembler/jit/ExecutableAllocator.h b/js/src/assembler/jit/E
diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h
--- a/js/src/vm/RegExpObject-inl.h
+++ b/js/src/vm/RegExpObject-inl.h
@@ -132,16 +132,17 @@ RegExpObject::setMultiline(bool enabled)
@@ -132,26 +132,28 @@ RegExpObject::setMultiline(bool enabled)
}
inline void
@ -88,10 +94,21 @@ diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h
return cx->methodJitEnabled;
#else
return true;
#endif
}
+#endif
inline bool
RegExpToShared(JSContext *cx, JSObject &obj, RegExpGuard *g)
{
JS_ASSERT(ObjectClassIs(obj, ESClass_RegExp, cx));
if (obj.isRegExp())
return obj.asRegExp().getShared(cx, g);
return Proxy::regexp_toShared(cx, &obj, g);
diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp
--- a/js/src/vm/RegExpObject.cpp
+++ b/js/src/vm/RegExpObject.cpp
@@ -162,17 +162,16 @@ MatchPairs::checkAgainst(size_t inputLen
@@ -163,17 +163,16 @@ MatchPairs::checkAgainst(size_t inputLen
continue;
JS_ASSERT(size_t(p.limit) <= inputLength);
}
@ -109,7 +126,7 @@ diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp
JS_NOT_REACHED("Called reportYarrError with value for no error");
return;
#define COMPILE_EMSG(__code, __msg) \
@@ -194,52 +193,16 @@ RegExpCode::reportYarrError(JSContext *c
@@ -195,73 +194,36 @@ RegExpCode::reportYarrError(JSContext *c
COMPILE_EMSG(QuantifierTooLarge, JSMSG_BAD_QUANTIFIER);
COMPILE_EMSG(EscapeUnterminated, JSMSG_TRAILING_SLASH);
#undef COMPILE_EMSG
@ -157,16 +174,100 @@ diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp
bool
RegExpCode::compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags)
{
#if ENABLE_YARR_JIT
-#if ENABLE_YARR_JIT
/* Parse the pattern. */
ErrorCode yarrError;
YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag),
&yarrError);
if (yarrError) {
reportYarrError(cx, NULL, yarrError);
return false;
}
*parenCount = yarrPattern.m_numSubpatterns;
/*
* The YARR JIT compiler attempts to compile the parsed pattern. If
* it cannot, it informs us via |codeBlock.isFallBack()|, in which
* case we have to bytecode compile it.
*/
-#ifdef JS_METHODJIT
+#if ENABLE_YARR_JIT && defined(JS_METHODJIT)
if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) {
JSC::ExecutableAllocator *execAlloc = cx->runtime->getExecutableAllocator(cx);
if (!execAlloc) {
js_ReportOutOfMemory(cx);
return false;
}
JSGlobalData globalData(execAlloc);
@@ -272,58 +234,41 @@ RegExpCode::compile(JSContext *cx, JSLin
#endif
WTF::BumpPointerAllocator *bumpAlloc = cx->runtime->getBumpPointerAllocator(cx);
if (!bumpAlloc) {
js_ReportOutOfMemory(cx);
return false;
}
+#if ENABLE_YARR_JIT
codeBlock.setFallBack(true);
+#endif
byteCode = byteCompile(yarrPattern, bumpAlloc).get();
return true;
-#else /* !defined(ENABLE_YARR_JIT) */
- int error = 0;
- compiled = jsRegExpCompile(pattern.chars(), pattern.length(),
- ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase,
- multiline() ? JSRegExpMultiline : JSRegExpSingleLine,
- parenCount, &error);
- if (error) {
- reportPCREError(cx, error);
- return false;
- }
- return true;
-#endif
}
RegExpRunStatus
RegExpCode::execute(JSContext *cx, const jschar *chars, size_t length, size_t start,
int *output, size_t outputCount)
{
int result;
#if ENABLE_YARR_JIT
(void) cx; /* Unused. */
if (codeBlock.isFallBack())
result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
else
result = JSC::Yarr::execute(codeBlock, chars, start, length, output);
#else
- result = jsRegExpExecute(cx, compiled, chars, length, start, output, outputCount);
+ result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
#endif
if (result == -1)
return RegExpRunStatus_Success_NotFound;
-#if !ENABLE_YARR_JIT
- if (result < 0) {
- reportPCREError(cx, result);
- return RegExpRunStatus_Error;
- }
-#endif
-
JS_ASSERT(result >= 0);
return RegExpRunStatus_Success;
}
/* RegExpObject */
static void
regexp_trace(JSTracer *trc, JSObject *obj)
diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h
--- a/js/src/vm/RegExpObject.h
+++ b/js/src/vm/RegExpObject.h
@@ -46,20 +46,18 @@
#include <stddef.h>
@@ -47,20 +47,18 @@
#include "jscntxt.h"
#include "jsobj.h"
#include "js/TemplateLib.h"
@ -187,6 +288,91 @@ diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h
*
* RegExpObject - The JS-visible object whose .[[Class]] equals "RegExp"
*
@@ -108,78 +106,61 @@ class RegExpObjectBuilder
JSObject *
CloneRegExpObject(JSContext *cx, JSObject *obj, JSObject *proto);
namespace detail {
class RegExpCode
{
-#if ENABLE_YARR_JIT
typedef JSC::Yarr::BytecodePattern BytecodePattern;
typedef JSC::Yarr::ErrorCode ErrorCode;
+ typedef JSC::Yarr::YarrPattern YarrPattern;
+#if ENABLE_YARR_JIT
typedef JSC::Yarr::JSGlobalData JSGlobalData;
typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock;
- typedef JSC::Yarr::YarrPattern YarrPattern;
/* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */
YarrCodeBlock codeBlock;
+#endif
BytecodePattern *byteCode;
-#else
- JSRegExp *compiled;
-#endif
public:
RegExpCode()
:
#if ENABLE_YARR_JIT
codeBlock(),
+#endif
byteCode(NULL)
-#else
- compiled(NULL)
-#endif
{ }
~RegExpCode() {
#if ENABLE_YARR_JIT
codeBlock.release();
+#endif
if (byteCode)
Foreground::delete_<BytecodePattern>(byteCode);
-#else
- if (compiled)
- jsRegExpFree(compiled);
-#endif
}
static bool checkSyntax(JSContext *cx, TokenStream *tokenStream, JSLinearString *source) {
-#if ENABLE_YARR_JIT
ErrorCode error = JSC::Yarr::checkSyntax(*source);
if (error == JSC::Yarr::NoError)
return true;
reportYarrError(cx, tokenStream, error);
return false;
-#else
-# error "Syntax checking not implemented for !ENABLE_YARR_JIT"
-#endif
}
#if ENABLE_YARR_JIT
static inline bool isJITRuntimeEnabled(JSContext *cx);
+#endif
static void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
-#else
- static void reportPCREError(JSContext *cx, int error);
-#endif
static size_t getOutputSize(size_t pairCount) {
-#if ENABLE_YARR_JIT
return pairCount * 2;
-#else
- return pairCount * 3; /* Should be x2, but PCRE has... needs. */
-#endif
}
bool compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags);
RegExpRunStatus
execute(JSContext *cx, const jschar *chars, size_t length, size_t start,
int *output, size_t outputCount);
diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h
--- a/js/src/yarr/wtfbridge.h
+++ b/js/src/yarr/wtfbridge.h

View File

@ -133,10 +133,7 @@ if [ $moz_debug -eq 1 ]; then
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
echo -e "set args ${1+"$@"}\nrun" > $tmpfile
echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile"
$moz_debugger "$MOZ_PROGRAM" -x $tmpfile
exec $moz_debugger "$MOZ_PROGRAM" -x $tmpfile
else
$MOZ_PROGRAM "$@"
exec $MOZ_PROGRAM "$@"
fi
exitcode=$?
exit $exitcode

View File

@ -1,2 +1,2 @@
REV=f48d675ffa9f
REV=e5728a4e106c
REPO=http://hg.mozilla.org/releases/mozilla-release