diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes
index ed025330..e1f87751 100644
--- a/MozillaFirefox.changes
+++ b/MozillaFirefox.changes
@@ -1,3 +1,17 @@
+-------------------------------------------------------------------
+Mon May 4 07:57:50 CEST 2009 - wr@rosenauer.org
+
+- update to new major version 3.5b4
+ * based on Gecko 1.9.1 (mozilla-xulrunner191)
+ * Private Browsing Mode
+ * TraceMonkey JavaScript engine
+ * Geolocation support
+ * native JSON and web worker threads support
+ * speculative parsing for faster content rendering
+ * Some HTML5 support
+- updated firefox.schemas
+- improved firefox-no-update.patch
+
-------------------------------------------------------------------
Tue Apr 28 10:47:54 CEST 2009 - wr@rosenauer.org
diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec
index b7a104c3..371fee68 100644
--- a/MozillaFirefox.spec
+++ b/MozillaFirefox.spec
@@ -1,5 +1,5 @@
#
-# spec file for package MozillaFirefox (Version 3.0.10)
+# spec file for package MozillaFirefox (Version 3.5b4)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,14 +19,14 @@
Name: MozillaFirefox
-BuildRequires: gcc-c++ libgnomeui-devel libidl-devel mozilla-xulrunner190-devel orbit-devel python unzip update-desktop-files zip
+BuildRequires: autoconf213 gcc-c++ libgnomeui-devel libidl-devel mozilla-xulrunner191-devel orbit-devel python unzip update-desktop-files zip
%if %suse_version > 1020
BuildRequires: fdupes
%endif
License: GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
Provides: web_browser
Provides: firefox
-Version: 3.0.10
+Version: 3.5b4
Release: 1
Summary: Mozilla Firefox Web Browser
Url: http://www.mozilla.org/
@@ -36,7 +36,6 @@ Source1: MozillaFirefox.desktop
Source2: %{name}-rpmlintrc
Source3: mozilla.sh.in
Source4: find-external-requires.sh
-Source5: firefox-lockdown.js
Source7: l10n-%{version}.tar.bz2
Source8: firefox-mimeinfo.xml
Source11: firefox48.png
@@ -46,21 +45,19 @@ Patch1: firefox-libxul-sdk.patch
Patch2: firefox-no-update.patch
Patch14: credits.patch
Patch17: firefox-appname.patch
-# PATCH-FEATURE-SLED firefox-ui-lockdown.patch FATE#302023, FATE#302024 - hfiguiere@novell.com
-Patch20: firefox-ui-lockdown.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: coreutils /bin/sh gconf2 shared-mime-info desktop-file-utils
-Requires: mozilla-xulrunner190 >= %(rpm -q --queryformat '%{VERSION}-%{RELEASE}' mozilla-xulrunner190)
+Requires: mozilla-xulrunner191 >= %(rpm -q --queryformat '%{VERSION}-%{RELEASE}' mozilla-xulrunner191)
%ifarch %ix86
-Requires: mozilla-xulrunner190-32bit >= %(rpm -q --queryformat '%{VERSION}-%{RELEASE}' mozilla-xulrunner190)
+Requires: mozilla-xulrunner191-32bit >= %(rpm -q --queryformat '%{VERSION}-%{RELEASE}' mozilla-xulrunner191)
%endif
-Requires: %{name}-branding >= 3.0
+Requires: %{name}-branding = 3.5
%define _unpackaged_files_terminate_build 0
%define _use_internal_dependency_generator 0
%define __find_requires sh %{SOURCE4}
%global provfind sh -c "grep -v '.so' | %__find_provides"
%global __find_provides %provfind
-%define releasedate 2009042700
+%define releasedate 2009042600
%define progname firefox
%define progdir %{_prefix}/%_lib/%{progname}
%if %suse_version > 1020
@@ -70,7 +67,7 @@ Requires: %{name}-branding >= 3.0
%endif
### build options
%define branding 1
-%define localize 1
+%define localize 1
### build options end
%description
@@ -89,10 +86,10 @@ Authors:
%package translations
Summary: Translations for MozillaFirefox
License: GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
-Provides: locale(%{name}:af;ar;be;bg;bn_IN;ca;cs;cy;da;de;el;en_GB;eo;es_AR;es_ES;et;eu;fi;fr;fy_NL;ga_IE;gl;gu_IN;he;hi_IN;hu;id;is;it;ja;ka;kn;ko;ku;lt;lv;mk;mn;mr;nb_NO;nl;nn_NO;oc;pa_IN;pl;pt_BR;pt_PT;ro;ru;si;sk;sl;sq;sr;sv_SE;te;th;tr;uk;zh_CN;zh_TW)
+Provides: locale(%{name}:af;ar;as;be;bg;bn_BD;bn_IN;ca;cs;cy;da;de;el;en_GB;es_AR;es_ES;ex_MX;et;eu;fa;fi;fr;fy_NL;ga_IE;gl;gu_IN;he;hi_IN;hr;hu;id;is;it;ja;ka;kk;kn;ko;ku;lt;lv;mk;mn;mr;nb_NO;nl;nn_NO;oc;pa_IN;pl;pt_BR;pt_PT;ro;ru;si;sk;sl;sq;sr;sv_SE;ta;te;th;tr;uk;vi;zh_CN;zh_TW)
Group: System/Localization
PreReq: %{name} = %{version}
-Requires: mozilla-xulrunner190-translations
+Requires: mozilla-xulrunner191-translations
%description translations
This package contains several optional languages for the user interface
@@ -106,13 +103,13 @@ Authors:
%endif
-%package branding-upstream
+%package branding-upstream
License: GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
Summary: Upstream branding for MozillaFirefox
Group: Productivity/Networking/Web/Browsers
-Provides: %{name}-branding = %{version}
-Conflicts: otherproviders(MozillaFirefox-branding)
-Supplements: packageand(%{name}:branding-upstream)
+Provides: %{name}-branding = 3.5
+Conflicts: otherproviders(%{name}-branding)
+Supplements: packageand(%{name}:branding-upstream)
#BRAND: Provide three files -
#BRAND: /usr/lib/firefox/browserconfig.properties that contains the
#BRAND: default homepage and some other default configuration options
@@ -125,7 +122,7 @@ Supplements: packageand(%{name}:branding-upstream)
#BRAND: custom preference overrides.
#BRAND: It's also possible to drop files in /usr/lib/firefox/searchplugins
-%description branding-upstream
+%description branding-upstream
This package provides upstream look and feel for MozillaFirefox.
@@ -137,11 +134,10 @@ Authors:
%prep
%setup -q -n mozilla -b 7
cd $RPM_BUILD_DIR/mozilla
-%patch1
-%patch2
+%patch1 -p1
+%patch2 -p1
%patch14
%patch17
-%patch20
%build
export MOZ_BUILD_DATE=%{releasedate}
@@ -149,6 +145,12 @@ export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing"
export CXXFLAGS="$CFLAGS"
+# 10.3-x86_64 build fails probably because gcc bug
+%if %suse_version == 1030
+%ifarch x86_64
+export ac_cv_visibility_hidden="no"
+%endif
+%endif
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
SDKDIR=$(pkg-config --variable=sdkdir libxul)
cat << EOF > $MOZCONFIG
@@ -164,6 +166,7 @@ ac_add_options --includedir=%{_includedir}
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-libxul-sdk=$SDKDIR
+ac_add_options --with-l10n-base=../l10n
ac_add_options --with-system-jpeg
#ac_add_options --with-system-png # doesn't work because of missing APNG support
ac_add_options --with-system-zlib
@@ -226,7 +229,6 @@ sed -e 's,RPM_VERSION,%{version}-%{release},g' \
%{SOURCE17} > suse-default-prefs
cp suse-default-prefs $RPM_BUILD_ROOT/%{progdir}/defaults/preferences/firefox-build.js
rm suse-default-prefs
-cp %{SOURCE5} $RPM_BUILD_ROOT/%{progdir}/defaults/preferences/
# use correct locale for useragent
cat > $RPM_BUILD_ROOT%{progdir}/defaults/preferences/firefox-l10n.js << EOF
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
@@ -310,8 +312,8 @@ fi
%{progdir}/searchplugins/
%{progdir}/modules/
%attr(755,root,root) %{progdir}/%{progname}.sh
+%{progdir}/%{progname}
%{progdir}/application.ini
-%{progdir}/firefox
%{progdir}/blocklist.xml
%exclude %{progdir}/updater.ini
%exclude %{progdir}/removed-files
@@ -319,7 +321,6 @@ fi
%exclude %{progdir}/old-homepage-default.properties
%exclude %{progdir}/components/libnkgnomevfs.so
%exclude %{progdir}/run-mozilla.sh
-%exclude %{progdir}/libjemalloc.so
%{_datadir}/applications/%{name}.desktop
%{_datadir}/mime/packages/%{progname}.xml
%{_datadir}/pixmaps/firefox*
@@ -338,8 +339,18 @@ fi
%defattr(-,root,root)
%{progdir}/browserconfig.properties
%{progdir}/defaults/profile/bookmarks.html
-
%changelog
+* Mon May 04 2009 wr@rosenauer.org
+- update to new major version 3.5b4
+ * based on Gecko 1.9.1 (mozilla-xulrunner191)
+ * Private Browsing Mode
+ * TraceMonkey JavaScript engine
+ * Geolocation support
+ * native JSON and web worker threads support
+ * speculative parsing for faster content rendering
+ * Some HTML5 support
+- updated firefox.schemas
+- improved firefox-no-update.patch
* Tue Apr 28 2009 wr@rosenauer.org
- security update to 3.0.10
* MFSA 2009-23/CVE-2009-1313 (bmo#489647)
diff --git a/firefox-3.0.10-source.tar.bz2 b/firefox-3.0.10-source.tar.bz2
deleted file mode 100644
index e50b0261..00000000
--- a/firefox-3.0.10-source.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9f1f3812828affa75314d55f6e0eae211d2de845e21449fad8963fc0994e7288
-size 36964636
diff --git a/firefox-3.5b4-source.tar.bz2 b/firefox-3.5b4-source.tar.bz2
new file mode 100644
index 00000000..99006ef3
--- /dev/null
+++ b/firefox-3.5b4-source.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:922154fda7d7f67709792fd05a30cfb01c493a8fbcdeeb9075394ac79c50b176
+size 45231698
diff --git a/firefox-libxul-sdk.patch b/firefox-libxul-sdk.patch
index 43a50b02..f4e81cca 100644
--- a/firefox-libxul-sdk.patch
+++ b/firefox-libxul-sdk.patch
@@ -1,20 +1,22 @@
-Index: browser/locales/Makefile.in
-===================================================================
-RCS file: /cvsroot/mozilla/browser/locales/Makefile.in,v
-retrieving revision 1.59
-diff -u -r1.59 Makefile.in
---- browser/locales/Makefile.in 10 Feb 2008 06:09:54 -0000 1.59
-+++ browser/locales/Makefile.in 29 Feb 2008 08:48:09 -0000
-@@ -172,9 +172,11 @@
- endif
+diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
+--- a/browser/locales/Makefile.in
++++ b/browser/locales/Makefile.in
+@@ -188,15 +188,17 @@ endif
+
+ clobber-%:
+ $(RM) -rf $(DIST)/xpi-stage/locale-$*
libs-%:
+ $(NSINSTALL) -D $(DIST)/install
+ifndef LIBXUL_SDK
- @$(MAKE) -C ../../toolkit/locales libs-$*
-- @$(MAKE) -C ../../extensions/reporter/locales libs AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C ../../toolkit/locales libs-$* BOTH_MANIFESTS=1
++ @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
+endif
-+ @$(MAKE) -C ../../extensions/reporter/locales libs AB_CD=$* XPI_NAME=locale-$*
- @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref
+ @$(MAKE) -C ../../extensions/reporter/locales libs AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
+- @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
+ @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1
ifdef MOZ_BRANDING_DIRECTORY
- @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
+ endif
+ @$(MAKE) tests AB_CD=$*
+
diff --git a/firefox-lockdown.js b/firefox-lockdown.js
deleted file mode 100644
index 053fc61a..00000000
--- a/firefox-lockdown.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// UI lockdown settings
-pref("config.lockdown.printing", false);
-pref("config.lockdown.printsetup", false);
-pref("config.lockdown.savepage", false);
-pref("config.lockdown.history", false);
-pref("config.lockdown.toolbarediting", false);
-pref("config.lockdown.urlbar", false);
-pref("config.lockdown.bookmark", false);
-pref("config.lockdown.searchbar", false);
-pref("config.lockdown.hidebookmark", false);
-pref("config.lockdown.setwallpaper", false);
-pref("config.lockdown.showsavedpasswords", false);
-
-pref("config.lockdown.disable_themes", false);
-pref("config.lockdown.disable_extensions", false);
-
diff --git a/firefox-no-update.patch b/firefox-no-update.patch
index 8ca1c025..1ceaeb6a 100644
--- a/firefox-no-update.patch
+++ b/firefox-no-update.patch
@@ -1,149 +1,26 @@
-Index: browser/app/profile/firefox.js
-===================================================================
-RCS file: /cvsroot/mozilla/browser/app/profile/firefox.js,v
-retrieving revision 1.338
-diff -u -p -6 -r1.338 firefox.js
---- browser/app/profile/firefox.js 21 Jul 2008 18:47:20 -0000 1.338
-+++ browser/app/profile/firefox.js 15 Sep 2008 13:50:07 -0000
-@@ -83,72 +83,12 @@ pref("extensions.blocklist.interval", 86
- pref("extensions.blocklist.url", "https://addons.mozilla.org/blocklist/2/%APP_ID%/%APP_VERSION%/%PRODUCT%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/");
- pref("extensions.blocklist.detailsURL", "http://%LOCALE%.www.mozilla.com/%LOCALE%/blocklist/");
+diff --git a/browser/base/content/utilityOverlay.js b/browser/base/content/utilityOverlay.js
+--- a/browser/base/content/utilityOverlay.js
++++ b/browser/base/content/utilityOverlay.js
+@@ -487,7 +487,11 @@ function buildHelpMenu()
+ // administrator or if we cannot update for some other reason
+ var checkForUpdates = document.getElementById("checkForUpdates");
+ var canUpdate = updates.canUpdate;
++ var updateEnabled = getBoolPref("app.update.enabled", true);
+ checkForUpdates.setAttribute("disabled", !canUpdate);
++ checkForUpdates.setAttribute("hidden", !canUpdate || !updateEnabled);
++ var updateSeparator = document.getElementById("updateSeparator");
++ updateSeparator.setAttribute("hidden", !canUpdate || !updateEnabled);
+ if (!canUpdate)
+ return;
- // Dictionary download preference
- pref("browser.dictionaries.download.url", "https://%LOCALE%.add-ons.mozilla.com/%LOCALE%/firefox/%VERSION%/dictionaries/");
-
--// App-specific update preferences
--
--// Whether or not app updates are enabled
--pref("app.update.enabled", true);
--
--// This preference turns on app.update.mode and allows automatic download and
--// install to take place. We use a separate boolean toggle for this to make
--// the UI easier to construct.
--pref("app.update.auto", true);
--
--// Defines how the Application Update Service notifies the user about updates:
--//
--// AUM Set to: Minor Releases: Major Releases:
--// 0 download no prompt download no prompt
--// 1 download no prompt download no prompt if no incompatibilities
--// 2 download no prompt prompt
--//
--// See chart in nsUpdateService.js.in for more details
--//
--pref("app.update.mode", 1);
--
--// If set to true, the Update Service will present no UI for any event.
--pref("app.update.silent", false);
--
--// Update service URL:
--pref("app.update.url", "https://aus2.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml");
--// app.update.url.manual is in branding section
--// app.update.url.details is in branding section
--
--// User-settable override to app.update.url for testing purposes.
--//pref("app.update.url.override", "");
--
--// Interval: Time between checks for a new version (in seconds)
--// default=1 day
--pref("app.update.interval", 86400);
--// Interval: Time before prompting the user again to restart to install the
--// latest download (in seconds) default=1 day
--pref("app.update.nagTimer.restart", 86400);
--// Interval: When all registered timers should be checked (in milliseconds)
--// default=10 minutes
--pref("app.update.timer", 600000);
--// Give the user x seconds to react before showing the big UI. default=12 hrs
--pref("app.update.promptWaitTime", 43200);
--// Show the Update Checking/Ready UI when the user was idle for x seconds
--pref("app.update.idletime", 60);
--
--// Whether or not we show a dialog box informing the user that the update was
--// successfully applied. This is off in Firefox by default since we show a
--// upgrade start page instead! Other apps may wish to show this UI, and supply
--// a whatsNewURL field in their brand.properties that contains a link to a page
--// which tells users what's new in this new update.
--pref("app.update.showInstalledUI", false);
--
--// 0 = suppress prompting for incompatibilities if there are updates available
--// to newer versions of installed addons that resolve them.
--// 1 = suppress prompting for incompatibilities only if there are VersionInfo
--// updates available to installed addons that resolve them, not newer
--// versions.
--pref("app.update.incompatible.mode", 0);
--
- // Symmetric (can be overridden by individual extensions) update preferences.
- // e.g.
- // extensions.{GUID}.update.enabled
- // extensions.{GUID}.update.url
- // extensions.{GUID}.update.interval
- // .. etc ..
-Index: browser/base/content/baseMenuOverlay.xul
-===================================================================
-RCS file: /cvsroot/mozilla/browser/base/content/baseMenuOverlay.xul,v
-retrieving revision 1.21
-diff -u -p -6 -r1.21 baseMenuOverlay.xul
---- browser/base/content/baseMenuOverlay.xul 6 May 2008 04:07:24 -0000 1.21
-+++ browser/base/content/baseMenuOverlay.xul 15 Sep 2008 13:50:07 -0000
-@@ -94,17 +94,17 @@
- #endif
-
--
-
-
-
-Index: browser/components/preferences/advanced.js
-===================================================================
-RCS file: /cvsroot/mozilla/browser/components/preferences/advanced.js,v
-retrieving revision 1.36
-diff -u -p -6 -r1.36 advanced.js
---- browser/components/preferences/advanced.js 5 Apr 2008 00:18:08 -0000 1.36
-+++ browser/components/preferences/advanced.js 15 Sep 2008 13:50:07 -0000
-@@ -387,12 +387,14 @@ var gAdvancedPane = {
- getService(Components.interfaces.nsIApplicationUpdateService);
-
- var enabledPref = document.getElementById("app.update.enabled");
+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
+@@ -410,6 +410,7 @@ var gAdvancedPane = {
var enableAppUpdate = document.getElementById("enableAppUpdate");
enableAppUpdate.disabled = !aus.canUpdate || enabledPref.locked;
-+ enableAppUpdate.disabled = true;
-+ enableAppUpdate.hidden = true;
++ enableAppUpdate.hidden = !aus.canUpdate || !enabledPref.value;
},
/**
- * Enables/disables UI for "when updates are found" based on the values,
- * and "locked" states of associated preferences.
- */
-Index: browser/components/safebrowsing/content/report-phishing-overlay.xul
-===================================================================
-RCS file: /cvsroot/mozilla/browser/components/safebrowsing/content/report-phishing-overlay.xul,v
-retrieving revision 1.13
-diff -u -p -6 -r1.13 report-phishing-overlay.xul
---- browser/components/safebrowsing/content/report-phishing-overlay.xul 15 Aug 2008 19:36:20 -0000 1.13
-+++ browser/components/safebrowsing/content/report-phishing-overlay.xul 15 Sep 2008 13:50:07 -0000
-@@ -56,12 +56,12 @@
- observes="reportPhishingBroadcaster"
- oncommand="openUILink(safebrowsing.getReportURL('Phish'), event);"
- onclick="checkForMiddleClick(this, event);"/>
-
-
-
diff --git a/firefox-suse-default-prefs.js b/firefox-suse-default-prefs.js
index ea5b082b..b33f31da 100644
--- a/firefox-suse-default-prefs.js
+++ b/firefox-suse-default-prefs.js
@@ -1,2 +1,3 @@
pref("general.useragent.vendor", "SUSE");
pref("general.useragent.vendorSub", "RPM_VERSION");
+pref("app.update.enabled", false);
diff --git a/firefox-ui-lockdown.patch b/firefox-ui-lockdown.patch
deleted file mode 100644
index fa5cad41..00000000
--- a/firefox-ui-lockdown.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-Index: browser/base/content/browser-menubar.inc
-===================================================================
---- browser/base/content/browser-menubar.inc.orig
-+++ browser/base/content/browser-menubar.inc
-@@ -68,9 +68,9 @@
-
-
-
--
-+
- #ifndef XP_MACOSX
--
-+
- #endif
-
-
-Index: browser/base/content/browser.js
-===================================================================
---- browser/base/content/browser.js.orig
-+++ browser/base/content/browser.js
-@@ -920,6 +920,152 @@ function prepareForStartup()
- gBrowser.addEventListener("DOMLinkAdded", DOMLinkHandler, false);
- }
-
-+function lockdownElement(ident, disable, hideCompletely)
-+{
-+ var e = document.getElementById(ident);
-+ if (!e) return;
-+ if (hideCompletely) {
-+ e.setAttribute("style", (disable) ? "display: none;" : "");
-+ } else if (disable) {
-+ e.setAttribute("disabled", "true");
-+ } else {
-+ e.removeAttribute("disabled");
-+ }
-+}
-+
-+function applyLockdown(isStartup)
-+{
-+ // It is important to check that Firefox code does not change the
-+ // "disabled" state of these UI elements. Fortunately it mostly hides
-+ // elements rather than disables them.
-+ var disablePrinting = gPrefService.getBoolPref("config.lockdown.printing");
-+ var disablePrintSetup = gPrefService.getBoolPref("config.lockdown.printsetup");
-+ if (!isStartup || disablePrintSetup || disablePrintSetup) {
-+ lockdownElement("cmd_pageSetup", disablePrinting || disablePrintSetup);
-+ lockdownElement("menu_printPreview", disablePrinting || disablePrintSetup);
-+ lockdownElement("cmd_print", disablePrinting);
-+ }
-+
-+ var disableSave = gPrefService.getBoolPref("config.lockdown.savepage");
-+ if (!isStartup || disableSave) {
-+ lockdownElement("Browser:SavePage", disableSave);
-+ lockdownElement("Browser:SaveFrame", disableSave);
-+ lockdownElement("context-savepage", disableSave);
-+ lockdownElement("context-saveframe", disableSave);
-+ lockdownElement("context-savelink", disableSave);
-+ lockdownElement("context-saveimage", disableSave);
-+ lockdownElement("View:PageSource", disableSave);
-+ lockdownElement("context-viewpartialsource-selection", disableSave);
-+ lockdownElement("context-viewpartialsource-mathml", disableSave);
-+ lockdownElement("context-viewsource", disableSave);
-+ lockdownElement("context-viewframesource", disableSave);
-+ lockdownElement("View:PageInfo", disableSave);
-+ lockdownElement("context-viewinfo", disableSave);
-+ lockdownElement("context-viewframeinfo", disableSave);
-+ lockdownElement("Tasks:InspectPage", disableSave); // from DOMInspector extension
-+ }
-+
-+ var disableBookmarks = gPrefService.getBoolPref("config.lockdown.hidebookmark");
-+ var disableBookmarkEditing = gPrefService.getBoolPref("config.lockdown.bookmark");
-+ if (!isStartup || disableBookmarks || disableBookmarkEditing) {
-+ lockdownElement("bookmarksMenu", disableBookmarks, true);
-+ lockdownElement("viewBookmarksSidebar", disableBookmarks);
-+ lockdownElement("PersonalToolbar", disableBookmarks); // XXX check
-+ lockdownElement("Browser:AddBookmarkAs", disableBookmarks || disableBookmarkEditing);
-+ lockdownElement("Browser:ShowAllBookmarks", disableBookmarks || disableBookmarkEditing);
-+ lockdownElement("manBookmark", disableBookmarks || disableBookmarkEditing);
-+ lockdownElement("context-bookmarkpage", disableBookmarks || disableBookmarkEditing);
-+ lockdownElement("context-bookmarklink", disableBookmarks || disableBookmarkEditing);
-+
-+ // hide the personal bookmarks toolbar if necessary
-+ if (disableBookmarks) {
-+ document.getElementById("PersonalToolbar").setAttribute("collapsed", "true");
-+ }
-+ }
-+
-+ var disableHistory = gPrefService.getBoolPref("config.lockdown.history");
-+ if (!isStartup || disableHistory) {
-+ lockdownElement("history-menu", disableHistory, true);
-+ lockdownElement("viewHistorySidebar", disableHistory);
-+ lockdownElement("Browser:ShowAllHistory", disableHistory);
-+ gURLBar.setAttribute("enablehistory", disableHistory ? "false" : "true");
-+ gURLBar.disableAutoComplete = disableHistory;
-+ }
-+
-+ var defaultPrefs = Cc["@mozilla.org/preferences-service;1"]
-+ .getService(Ci.nsIPrefService).getDefaultBranch(null);
-+ if (isStartup && disableHistory) {
-+ if (!defaultPrefs.prefIsLocked("browser.history_expire_days")) {
-+ defaultPrefs.setIntPref("browser.history_expire_days", 0);
-+ defaultPrefs.lockPref("browser.history_expire_days");
-+ }
-+ if (!defaultPrefs.prefIsLocked("browser.formfill.enable")) {
-+ defaultPrefs.setBoolPref("browser.formfill.enable", false);
-+ defaultPrefs.lockPref("browser.formfill.enable");
-+ }
-+ if (!defaultPrefs.prefIsLocked("browser.download.manager.retention")) {
-+ defaultPrefs.setIntPref("browser.download.manager.retention", 0);
-+ defaultPrefs.lockPref("browser.download.manager.retention");
-+ }
-+ gPrefService.setBoolPref("config.lockdown.history.set", true);
-+ } else if (isStartup && gPrefService.prefHasUserValue("config.lockdown.history.set")) {
-+ if (!defaultPrefs.prefIsLocked("browser.history_expire_days")) {
-+ defaultPrefs.clearUserPref("browser.history_expire_days");
-+ }
-+ if (!defaultPrefs.prefIsLocked("browser.formfill.enable")) {
-+ defaultPrefs.clearUserPref("browser.formfill.enable");
-+ }
-+ if (!defaultPrefs.prefIsLocked("browser.download.manager.retention")) {
-+ defaultPrefs.clearUserPref("browser.download.manager.retention");
-+ }
-+ gPrefService.clearUserPref("config.lockdown.history.set");
-+ }
-+
-+ var disableURLBar = gPrefService.getBoolPref("config.lockdown.urlbar");
-+ if (!isStartup || disableURLBar) {
-+ lockdownElement("urlbar", disableURLBar);
-+ lockdownElement("Browser:OpenLocation", disableURLBar);
-+ lockdownElement("Browser:OpenFile", disableURLBar);
-+ }
-+
-+ var disableSearchBar = gPrefService.getBoolPref("config.lockdown.searchbar");
-+ if (!isStartup || disableSearchBar) {
-+ document.getElementById("search-container")
-+ .setAttribute("style", (disableSearchBar) ? "display: none;" : "");
-+ }
-+
-+ var disableToolbarEditing = gPrefService.getBoolPref("config.lockdown.toolbarediting");
-+ if (!isStartup || disableToolbarEditing) {
-+ var e = document.getElementById("cmd_CustomizeToolbars");
-+ if (!e.getAttribute("inCustomization")) {
-+ lockdownElement("cmd_CustomizeToolbars", disableToolbarEditing);
-+ }
-+ }
-+
-+ // Close sidebar if we disabled the command that's currently in use
-+ var sidebarBox = document.getElementById("sidebar-box");
-+ var cmd = sidebarBox.getAttribute("sidebarcommand");
-+ if (cmd) {
-+ var elt = document.getElementById(cmd);
-+ if (elt && elt.getAttribute("disabled") == "true") {
-+ toggleSidebar(cmd, false);
-+ gMustLoadSidebar = false;
-+ }
-+ }
-+}
-+
-+var lockdownObserver = {
-+ observe: function(aSubject, aTopic, aPrefName)
-+ {
-+ try {
-+ applyLockdown(false);
-+ } catch (ex) {
-+ dump("Failed lockdown: " + ex + "\n");
-+ }
-+ }
-+};
-+
-+
- function delayedStartup()
- {
- var os = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
-@@ -928,7 +1074,16 @@ function delayedStartup()
-
- if (!gPrefService)
- gPrefService = Components.classes["@mozilla.org/preferences-service;1"]
-- .getService(Components.interfaces.nsIPrefBranch2);
-+ .getService(Components.interfaces.nsIPrefBranchInternal);
-+ try {
-+ // do lockdown stuff in an exception handler so that if it fails
-+ // catastrophically, the browser should still come up and function
-+ applyLockdown(true);
-+ gPrefService.addObserver("config.lockdown.", lockdownObserver, false);
-+ } catch (ex) {
-+ dump("Failed lockdown: " + ex + "\n");
-+ }
-+
- BrowserOffline.init();
- OfflineApps.init();
-
-@@ -940,8 +1095,8 @@ function delayedStartup()
- Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
-
- if (gMustLoadSidebar) {
-- var sidebar = document.getElementById("sidebar");
- var sidebarBox = document.getElementById("sidebar-box");
-+ var sidebar = document.getElementById("sidebar");
- sidebar.setAttribute("src", sidebarBox.getAttribute("src"));
- }
-
-@@ -1132,6 +1287,8 @@ function BrowserShutdown()
- os.removeObserver(gSessionHistoryObserver, "browser:purge-session-history");
- os.removeObserver(gXPInstallObserver, "xpinstall-install-blocked");
-
-+ gPrefService.removeObserver("config.lockdown.", lockdownObserver);
-+
- try {
- gBrowser.removeProgressListener(window.XULBrowserWindow);
- } catch (ex) {
-@@ -3065,6 +3222,12 @@ function FillHistoryMenu(aParent) {
- aParent.removeChild(children[i]);
- }
-
-+ // lockdown. Don't display anything if locked down.
-+ var disableHistory = gPrefService.getBoolPref("config.lockdown.history");
-+ if (disableHistory) {
-+ return false;
-+ }
-+
- var webNav = getWebNavigation();
- var sessionHistory = webNav.sessionHistory;
- var bundle_browser = document.getElementById("bundle_browser");
-@@ -3220,6 +3383,7 @@ function BrowserCustomizeToolbar()
-
- var cmd = document.getElementById("cmd_CustomizeToolbars");
- cmd.setAttribute("disabled", "true");
-+ cmd.setAttribute("inCustomization", "true");
-
- var splitter = document.getElementById("urlbar-search-splitter");
- if (splitter)
-@@ -3251,6 +3415,15 @@ function BrowserCustomizeToolbar()
- #endif
- }
-
-+function BrowserRestoreCustomizationDisabledState()
-+{
-+ var cmd = document.getElementById("cmd_CustomizeToolbars");
-+ if (!gPrefService.getBoolPref("config.lockdown.toolbarediting")) {
-+ cmd.removeAttribute("disabled", "true");
-+ }
-+ cmd.removeAttribute("inCustomization");
-+}
-+
- function BrowserToolboxCustomizeDone(aToolboxChanged)
- {
- #ifdef TOOLBAR_CUSTOMIZATION_SHEET
-@@ -3266,6 +3439,14 @@ function BrowserToolboxCustomizeDone(aTo
- gIdentityHandler._cacheElements();
- window.XULBrowserWindow.init();
-
-+ // make sure the search bar is not put back if locked down
-+ var disableSearchBar = gPrefService.getBoolPref("config.lockdown.searchbar");
-+ if (disableSearchBar) {
-+ document.getElementById("search-container")
-+ .setAttribute("style", (disableSearchBar) ? "display: none;" : "");
-+ }
-+
-+
- var backForwardDropmarker = document.getElementById("back-forward-dropmarker");
- if (backForwardDropmarker)
- backForwardDropmarker.disabled =
-@@ -3300,8 +3481,7 @@ function BrowserToolboxCustomizeDone(aTo
- var menubar = document.getElementById("main-menubar");
- for (var i = 0; i < menubar.childNodes.length; ++i)
- menubar.childNodes[i].setAttribute("disabled", false);
-- var cmd = document.getElementById("cmd_CustomizeToolbars");
-- cmd.removeAttribute("disabled");
-+ BrowserRestoreCustomizationDisabledState();
-
- // XXXmano bug 287105: wallpaper to bug 309953,
- // the reload button isn't in sync with the reload command.
-@@ -4479,6 +4659,9 @@ function onViewToolbarsPopupShowing(aEve
- menuItem.setAttribute("toolbarindex", i);
- menuItem.setAttribute("type", "checkbox");
- menuItem.setAttribute("label", toolbarName);
-+ if (toolbar.getAttribute("disabled") == "true") {
-+ menuItem.setAttribute("disabled", "true");
-+ }
- menuItem.setAttribute("accesskey", toolbar.getAttribute("accesskey"));
- menuItem.setAttribute("checked", toolbar.getAttribute("collapsed") != "true");
- popup.insertBefore(menuItem, firstMenuItem);
-@@ -6329,7 +6512,7 @@ BookmarkAllTabsHandler.prototype = {
- if (aTabClose)
- numTabs--;
-
-- if (numTabs > 1)
-+ if (numTabs > 1 && !gPrefService.getBoolPref("config.lockdown.bookmark"))
- this._command.removeAttribute("disabled");
- else
- this._command.setAttribute("disabled", "true");
diff --git a/firefox.schemas b/firefox.schemas
new file mode 100644
index 00000000..5dc78b51
--- /dev/null
+++ b/firefox.schemas
@@ -0,0 +1,289 @@
+
+
+
+ /schemas/apps/firefox/lockdown/disable_history
+ /apps/firefox/lockdown/disable_history
+ firefox
+ bool
+ false
+
+ Disable the browser history
+ Prevent the browser from keeping a history of visited sites
+
+
+
+ /schemas/apps/firefox/lockdown/disable_toolbar_editing
+ /apps/firefox/lockdown/disable_toolbar_editing
+ firefox
+ bool
+ false
+
+ Disable toolbar editing
+ Prevent the user from editing the toolbar
+
+
+
+ /schemas/apps/firefox/lockdown/disable_themes
+ /apps/firefox/lockdown/disable_themes
+ firefox
+ bool
+ false
+
+ Disable installing themes
+ To prevent the user from installing themes
+
+
+
+ /schemas/apps/firefox/lockdown/disable_extensions
+ /apps/firefox/lockdown/disable_extensions
+ firefox
+ bool
+ false
+
+ Disable installing extensions
+ Prevent the user from installing extensions
+
+
+
+ /schemas/apps/firefox/web/disable_popups
+ /apps/firefox/web/disable_popups
+ firefox
+ bool
+ false
+
+ Enable popup blocker
+ Enable popup blocker without warning about blocked popups
+
+
+
+ /schemas/apps/firefox/web/java_enabled
+ /apps/firefox/web/java_enabled
+ firefox
+ bool
+ true
+
+ Enable java
+ Enable java
+
+
+
+ /schemas/apps/firefox/web/javascript_enabled
+ /apps/firefox/web/javascript_enabled
+ firefox
+ bool
+ true
+
+ Enable javascript
+ Enable javascript
+
+
+
+ /schemas/apps/firefox/lockdown/disable_url_bar
+ /apps/firefox/lockdown/disable_url_bar
+ firefox
+ bool
+ false
+
+ Disable location bar
+ Prevent the user from entering URLs in the location bar
+
+
+
+ /schemas/apps/firefox/lockdown/disable_searchbar
+ /apps/firefox/lockdown/disable_searchbar
+ firefox
+ bool
+ false
+
+ Disable search bar
+ Prevent the user from using the search bar
+
+
+
+ /schemas/apps/firefox/web/disable_cookies
+ /apps/firefox/web/disable_cookies
+ firefox
+ bool
+ false
+
+ Disable cookies
+ Prevent the browser from storing cookies
+
+
+
+ /schemas/apps/firefox/web/disable_save_password
+ /apps/firefox/web/disable_save_password
+ firefox
+ bool
+ false
+
+ Disable saved passwords
+ Prevent the browser from storing saved passwords
+
+
+
+ /schemas/apps/firefox/web/cache_size
+ /apps/firefox/web/cache_size
+ firefox
+ int
+ 50000
+
+ Disk cache size in KB
+ Disk cache size in KB
+
+
+
+ /schemas/apps/firefox/general/homepage_url
+ /apps/firefox/general/homepage_url
+ firefox
+ string
+ www.novell.com/linux
+
+ Home Page URL
+ Home Page URL
+
+
+
+ /schemas/apps/firefox/web/download_defaultfolder
+ /apps/firefox/web/download_defaultfolder
+ firefox
+ string
+ Desktop
+
+ Default download location
+ Default download location. Possible values include: "Desktop", "My Downloads", and "Home"
+
+
+
+ /schemas/apps/firefox/lockdown/disable_unsafe_protocol
+ /apps/firefox/lockdown/disable_unsafe_protocol
+ firefox
+ bool
+ false
+
+ Disable unsafe protocols
+ Disable non-builtin protocols not explicitly enabled
+
+
+
+ /schemas/apps/firefox/lockdown/disable_bookmark_editing
+ /apps/firefox/lockdown/disable_bookmark_editing
+ firefox
+ bool
+ false
+
+ Disable editing bookmarks
+ Prevent the user from editing browser bookmarks
+
+
+
+ /schemas/apps/firefox/lockdown/hide_bookmark
+ /apps/firefox/lockdown/hide_bookmark
+ firefox
+ bool
+ false
+
+ Disable bookmarks feature
+ Prevent the user from editing or viewing bookmarks
+
+
+
+ /schemas/apps/firefox/lockdown/disable_show_passwords
+ /apps/firefox/lockdown/disable_show_passwords
+ firefox
+ bool
+ false
+
+ Disable display of stored web passwords
+ Disable plain text display of stored web passwords in Preferences dialog
+
+
+
+ /schemas/apps/firefox/lockdown/disable_javascript_chrome
+ /apps/firefox/lockdown/disable_javascript_chrome
+ firefox
+ bool
+ false
+
+ Prevent javascript windows from hiding chrome
+ Prevent windows opened by javascript from hiding window chrome (location bar, status bar, etc.)
+
+
+
+ /schemas/apps/firefox/web/cookie_accept
+ /apps/firefox/web/cookie_accept
+ firefox
+ int
+ 0
+
+ Cookie Lifetime Policy
+ Cookie Lifetime Policy: 0 = Accept cookies normally; 1 = Prompt for each cookie; 2 = Accept for current session only; 3 = Accept for N days
+
+
+
+ /schemas/apps/firefox/web/images_load
+ /apps/firefox/web/images_load
+ firefox
+ int
+ 0
+
+ Image loading policy
+ Image loading policy: 0 = load all images; 1 = exclude third-party image loading; 2 = exclude all image loading
+
+
+
+ /schemas/apps/firefox/lockdown/additional_safe_protocols
+ /apps/firefox/lockdown/additional_safe_protocols
+ firefox
+ string
+
+
+ Additional Safe Protocols
+ Additional Safe Protocols
+
+
+
+ /schemas/apps/firefox/general/trusted_URIs
+ /apps/firefox/general/trusted_URIs
+ firefox
+ list
+ string
+ []
+
+ List of URIs for which Kerberos/NTLM is enabled
+ A comma-separated list of URI keys, of the form
+ [scheme "://"] [host [":" port]], for which login should be allowed
+ via SPNEGO Kerberos or NTLM authentication.
+
+
+
+
+ /schemas/apps/firefox/general/delegated_URIs
+ /apps/firefox/general/delegated_URIs
+ firefox
+ list
+ string
+ []
+
+ List of URIs for which Kerberos/NTLM delegation is enabled
+ A comma-separated list of URI keys, of the form
+ [scheme "://"] [host [":" port]], for which delegation should be allowed
+ using SPNEGO Kerberos or NTLM authentication.
+
+
+
+
+ /schemas/apps/firefox/general/allowed_indirect_gnomevfs_loads
+ /apps/firefox/general/allowed_indirect_gnomevfs_loads
+ firefox
+ string
+ ""
+
+ A list of protocols, handled by gnome-vfs, that are permitted
+ A comma-separated list of protocols, handled by
+ gnome-vfs and of the form [scheme "://"], whose loads are
+ allowed.
+
+
+
+
diff --git a/l10n-3.0.10.tar.bz2 b/l10n-3.0.10.tar.bz2
deleted file mode 100644
index 32f63a2c..00000000
--- a/l10n-3.0.10.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a32c41537113c9ee1a5f9995686d8db9a8d27dcc5cd37c5c80b5055c75ba50db
-size 29338694
diff --git a/l10n-3.5b4.tar.bz2 b/l10n-3.5b4.tar.bz2
new file mode 100644
index 00000000..9f0d18bf
--- /dev/null
+++ b/l10n-3.5b4.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3068a8e8c94acb0ddca4893180ea20ebcc4231e4076bfa4ab78bb3882a6b30d3
+size 34208774