forked from pool/MozillaFirefox
- added mozilla-libproxy-compat.patch for libproxy API compat
on openSUSE 11.2 and earlier - backed out restartless language packs as it broke multi-locale setup (bmo#677092, bmo#818468) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=309
This commit is contained in:
parent
16dbe14e33
commit
7a99168951
@ -6,6 +6,10 @@ Sun Jan 6 21:54:18 UTC 2013 - wr@rosenauer.org
|
|||||||
* removed obsolete SLE11 patches (mozilla-gcc43*)
|
* removed obsolete SLE11 patches (mozilla-gcc43*)
|
||||||
- ported patches
|
- ported patches
|
||||||
- reenable WebRTC
|
- reenable WebRTC
|
||||||
|
- added mozilla-libproxy-compat.patch for libproxy API compat
|
||||||
|
on openSUSE 11.2 and earlier
|
||||||
|
- backed out restartless language packs as it broke multi-locale
|
||||||
|
setup (bmo#677092, bmo#818468)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Nov 29 19:56:51 UTC 2012 - wr@rosenauer.org
|
Thu Nov 29 19:56:51 UTC 2012 - wr@rosenauer.org
|
||||||
|
@ -99,6 +99,8 @@ Patch13: mozilla-gstreamer-803287.patch
|
|||||||
Patch14: mozilla-ppc.patch
|
Patch14: mozilla-ppc.patch
|
||||||
Patch15: mozilla-gstreamer-760140.patch
|
Patch15: mozilla-gstreamer-760140.patch
|
||||||
Patch16: mozilla-webrtc.patch
|
Patch16: mozilla-webrtc.patch
|
||||||
|
Patch17: mozilla-libproxy-compat.patch
|
||||||
|
Patch18: mozilla-backout-677092.patch
|
||||||
# Firefox/browser
|
# Firefox/browser
|
||||||
Patch30: firefox-browser-css.patch
|
Patch30: firefox-browser-css.patch
|
||||||
Patch31: firefox-kde.patch
|
Patch31: firefox-kde.patch
|
||||||
@ -233,6 +235,8 @@ cd $RPM_BUILD_DIR/mozilla
|
|||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch16 -p1
|
%patch16 -p1
|
||||||
|
%patch17 -p1
|
||||||
|
%patch18 -p1
|
||||||
#
|
#
|
||||||
%patch30 -p1
|
%patch30 -p1
|
||||||
%if %suse_version >= 1110
|
%if %suse_version >= 1110
|
||||||
|
296
mozilla-backout-677092.patch
Normal file
296
mozilla-backout-677092.patch
Normal file
@ -0,0 +1,296 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# Parent 297b3a7802b2488cca8f2e6febc77e9dbf7f16e0
|
||||||
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
Bug 818468 - Langpacks bundled in distribution/extensions are registered but disabled even if shown enabled
|
||||||
|
(backing out Bug 677092 - Make language packs restartless by default)
|
||||||
|
|
||||||
|
diff --git a/toolkit/mozapps/extensions/XPIProvider.jsm b/toolkit/mozapps/extensions/XPIProvider.jsm
|
||||||
|
--- a/toolkit/mozapps/extensions/XPIProvider.jsm
|
||||||
|
+++ b/toolkit/mozapps/extensions/XPIProvider.jsm
|
||||||
|
@@ -757,18 +757,18 @@ function loadManifestFromRDF(aUri, aStre
|
||||||
|
if (addon.optionsType &&
|
||||||
|
addon.optionsType != AddonManager.OPTIONS_TYPE_DIALOG &&
|
||||||
|
addon.optionsType != AddonManager.OPTIONS_TYPE_INLINE &&
|
||||||
|
addon.optionsType != AddonManager.OPTIONS_TYPE_TAB) {
|
||||||
|
throw new Error("Install manifest specifies unknown type: " + addon.optionsType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
- // spell check dictionaries and language packs never require a restart
|
||||||
|
- if (addon.type == "dictionary" || addon.type == "locale")
|
||||||
|
+ // spell check dictionaries never require a restart
|
||||||
|
+ if (addon.type == "dictionary")
|
||||||
|
addon.bootstrap = true;
|
||||||
|
|
||||||
|
// Only extensions are allowed to provide an optionsURL, optionsType or aboutURL. For
|
||||||
|
// all other types they are silently ignored
|
||||||
|
addon.optionsURL = null;
|
||||||
|
addon.optionsType = null;
|
||||||
|
addon.aboutURL = null;
|
||||||
|
|
||||||
|
@@ -3712,21 +3712,16 @@ var XPIProvider = {
|
||||||
|
// Never call any bootstrap methods in safe mode
|
||||||
|
if (Services.appinfo.inSafeMode)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (aMethod == "startup")
|
||||||
|
Components.manager.addBootstrappedManifestLocation(aFile);
|
||||||
|
|
||||||
|
try {
|
||||||
|
- // Don't call bootstrap.js methods for language packs,
|
||||||
|
- // they only contain chrome.
|
||||||
|
- if (aType == "locale")
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
// Load the scope if it hasn't already been loaded
|
||||||
|
if (!(aId in this.bootstrapScopes))
|
||||||
|
this.loadBootstrapScope(aId, aFile, aVersion, aType);
|
||||||
|
|
||||||
|
if (!(aMethod in this.bootstrapScopes[aId])) {
|
||||||
|
WARN("Add-on " + aId + " is missing bootstrap method " + aMethod);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_dictionary.js b/toolkit/mozapps/extensions/test/xpcshell/test_dictionary.js
|
||||||
|
--- a/toolkit/mozapps/extensions/test/xpcshell/test_dictionary.js
|
||||||
|
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_dictionary.js
|
||||||
|
@@ -4,19 +4,16 @@
|
||||||
|
|
||||||
|
// This verifies that bootstrappable add-ons can be used without restarts.
|
||||||
|
Components.utils.import("resource://gre/modules/Services.jsm");
|
||||||
|
|
||||||
|
// Enable loading extensions from the user scopes
|
||||||
|
Services.prefs.setIntPref("extensions.enabledScopes",
|
||||||
|
AddonManager.SCOPE_PROFILE + AddonManager.SCOPE_USER);
|
||||||
|
|
||||||
|
-// The test extension uses an insecure update url.
|
||||||
|
-Services.prefs.setBoolPref(PREF_EM_CHECK_UPDATE_SECURITY, false);
|
||||||
|
-
|
||||||
|
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
|
||||||
|
|
||||||
|
const profileDir = gProfD.clone();
|
||||||
|
profileDir.append("extensions");
|
||||||
|
const userExtDir = gProfD.clone();
|
||||||
|
userExtDir.append("extensions2");
|
||||||
|
userExtDir.append(gAppInfo.ID);
|
||||||
|
registerDirectory("XREUSysExt", userExtDir.parent);
|
||||||
|
@@ -98,17 +95,16 @@ var HunspellEngine = {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function run_test() {
|
||||||
|
do_test_pending();
|
||||||
|
|
||||||
|
// Create and configure the HTTP server.
|
||||||
|
testserver = new HttpServer();
|
||||||
|
- testserver.registerDirectory("/data/", do_get_file("data"));
|
||||||
|
testserver.registerDirectory("/addons/", do_get_file("addons"));
|
||||||
|
testserver.start(4444);
|
||||||
|
|
||||||
|
startupManager();
|
||||||
|
|
||||||
|
run_test_1();
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -563,17 +559,17 @@ function check_test_23() {
|
||||||
|
AddonManager.getAddonsWithOperationsByTypes(null, function(list) {
|
||||||
|
do_check_eq(list.length, 0);
|
||||||
|
|
||||||
|
restartManager();
|
||||||
|
AddonManager.getAddonByID("ab-CD@dictionaries.addons.mozilla.org", function(b1) {
|
||||||
|
b1.uninstall();
|
||||||
|
restartManager();
|
||||||
|
|
||||||
|
- run_test_25();
|
||||||
|
+ testserver.stop(run_test_25);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tests that updating from a bootstrappable add-on to a normal add-on calls
|
||||||
|
// the uninstall method
|
||||||
|
@@ -631,160 +627,15 @@ function run_test_26() {
|
||||||
|
|
||||||
|
AddonManager.getAddonByID("ab-CD@dictionaries.addons.mozilla.org", function(b1) {
|
||||||
|
do_check_neq(b1, null);
|
||||||
|
do_check_eq(b1.version, "1.0");
|
||||||
|
do_check_true(b1.isActive);
|
||||||
|
do_check_eq(b1.pendingOperations, AddonManager.PENDING_NONE);
|
||||||
|
|
||||||
|
HunspellEngine.deactivate();
|
||||||
|
- b1.uninstall();
|
||||||
|
- restartManager();
|
||||||
|
- run_test_27();
|
||||||
|
+
|
||||||
|
+ do_test_finished();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
-// Tests that an update check from a normal add-on to a bootstrappable add-on works
|
||||||
|
-function run_test_27() {
|
||||||
|
- writeInstallRDFForExtension({
|
||||||
|
- id: "ab-CD@dictionaries.addons.mozilla.org",
|
||||||
|
- version: "1.0",
|
||||||
|
- updateURL: "http://localhost:4444/data/test_dictionary.rdf",
|
||||||
|
- targetApplications: [{
|
||||||
|
- id: "xpcshell@tests.mozilla.org",
|
||||||
|
- minVersion: "1",
|
||||||
|
- maxVersion: "1"
|
||||||
|
- }],
|
||||||
|
- name: "Test Dictionary",
|
||||||
|
- }, profileDir);
|
||||||
|
- restartManager();
|
||||||
|
-
|
||||||
|
- prepare_test({
|
||||||
|
- "ab-CD@dictionaries.addons.mozilla.org": [
|
||||||
|
- "onInstalling"
|
||||||
|
- ]
|
||||||
|
- }, [
|
||||||
|
- "onNewInstall",
|
||||||
|
- "onDownloadStarted",
|
||||||
|
- "onDownloadEnded",
|
||||||
|
- "onInstallStarted",
|
||||||
|
- "onInstallEnded"
|
||||||
|
- ], check_test_27);
|
||||||
|
-
|
||||||
|
- AddonManagerPrivate.backgroundUpdateCheck();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-function check_test_27(install) {
|
||||||
|
- do_check_eq(install.existingAddon.pendingUpgrade.install, install);
|
||||||
|
-
|
||||||
|
- restartManager();
|
||||||
|
- AddonManager.getAddonByID("ab-CD@dictionaries.addons.mozilla.org", function(b1) {
|
||||||
|
- do_check_neq(b1, null);
|
||||||
|
- do_check_eq(b1.version, "2.0");
|
||||||
|
- do_check_eq(b1.type, "dictionary");
|
||||||
|
- b1.uninstall();
|
||||||
|
- restartManager();
|
||||||
|
-
|
||||||
|
- run_test_28();
|
||||||
|
- });
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-// Tests that an update check from a bootstrappable add-on to a normal add-on works
|
||||||
|
-function run_test_28() {
|
||||||
|
- writeInstallRDFForExtension({
|
||||||
|
- id: "ef@dictionaries.addons.mozilla.org",
|
||||||
|
- version: "1.0",
|
||||||
|
- type: "64",
|
||||||
|
- updateURL: "http://localhost:4444/data/test_dictionary.rdf",
|
||||||
|
- targetApplications: [{
|
||||||
|
- id: "xpcshell@tests.mozilla.org",
|
||||||
|
- minVersion: "1",
|
||||||
|
- maxVersion: "1"
|
||||||
|
- }],
|
||||||
|
- name: "Test Dictionary ef",
|
||||||
|
- }, profileDir);
|
||||||
|
- restartManager();
|
||||||
|
-
|
||||||
|
- prepare_test({
|
||||||
|
- "ef@dictionaries.addons.mozilla.org": [
|
||||||
|
- "onInstalling"
|
||||||
|
- ]
|
||||||
|
- }, [
|
||||||
|
- "onNewInstall",
|
||||||
|
- "onDownloadStarted",
|
||||||
|
- "onDownloadEnded",
|
||||||
|
- "onInstallStarted",
|
||||||
|
- "onInstallEnded"
|
||||||
|
- ], check_test_28);
|
||||||
|
-
|
||||||
|
- AddonManagerPrivate.backgroundUpdateCheck();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-function check_test_28(install) {
|
||||||
|
- do_check_eq(install.existingAddon.pendingUpgrade.install, install);
|
||||||
|
-
|
||||||
|
- restartManager();
|
||||||
|
- AddonManager.getAddonByID("ef@dictionaries.addons.mozilla.org", function(b2) {
|
||||||
|
- do_check_neq(b2, null);
|
||||||
|
- do_check_eq(b2.version, "2.0");
|
||||||
|
- do_check_eq(b2.type, "extension");
|
||||||
|
- b2.uninstall();
|
||||||
|
- restartManager();
|
||||||
|
-
|
||||||
|
- run_test_29();
|
||||||
|
- });
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-// Tests that an update check from a bootstrappable add-on to a bootstrappable add-on works
|
||||||
|
-function run_test_29() {
|
||||||
|
- writeInstallRDFForExtension({
|
||||||
|
- id: "gh@dictionaries.addons.mozilla.org",
|
||||||
|
- version: "1.0",
|
||||||
|
- type: "64",
|
||||||
|
- updateURL: "http://localhost:4444/data/test_dictionary.rdf",
|
||||||
|
- targetApplications: [{
|
||||||
|
- id: "xpcshell@tests.mozilla.org",
|
||||||
|
- minVersion: "1",
|
||||||
|
- maxVersion: "1"
|
||||||
|
- }],
|
||||||
|
- name: "Test Dictionary gh",
|
||||||
|
- }, profileDir);
|
||||||
|
- restartManager();
|
||||||
|
-
|
||||||
|
- prepare_test({
|
||||||
|
- "gh@dictionaries.addons.mozilla.org": [
|
||||||
|
- ["onInstalling", false /* = no restart */],
|
||||||
|
- ["onInstalled", false]
|
||||||
|
- ]
|
||||||
|
- }, [
|
||||||
|
- "onNewInstall",
|
||||||
|
- "onDownloadStarted",
|
||||||
|
- "onDownloadEnded",
|
||||||
|
- "onInstallStarted",
|
||||||
|
- "onInstallEnded"
|
||||||
|
- ], check_test_29);
|
||||||
|
-
|
||||||
|
- AddonManagerPrivate.backgroundUpdateCheck();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-function check_test_29(install) {
|
||||||
|
- AddonManager.getAddonByID("gh@dictionaries.addons.mozilla.org", function(b2) {
|
||||||
|
- do_check_neq(b2, null);
|
||||||
|
- do_check_eq(b2.version, "2.0");
|
||||||
|
- do_check_eq(b2.type, "dictionary");
|
||||||
|
-
|
||||||
|
- prepare_test({
|
||||||
|
- "gh@dictionaries.addons.mozilla.org": [
|
||||||
|
- ["onUninstalling", false],
|
||||||
|
- ["onUninstalled", false],
|
||||||
|
- ]
|
||||||
|
- }, [
|
||||||
|
- ], finish_test_29);
|
||||||
|
-
|
||||||
|
- b2.uninstall();
|
||||||
|
- });
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-function finish_test_29() {
|
||||||
|
- testserver.stop(do_test_finished);
|
||||||
|
-}
|
||||||
|
diff --git a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
|
||||||
|
--- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
|
||||||
|
+++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
|
||||||
|
@@ -136,17 +136,16 @@ fail-if = os == "android"
|
||||||
|
[test_cacheflush.js]
|
||||||
|
[test_checkcompatibility.js]
|
||||||
|
[test_ChromeManifestParser.js]
|
||||||
|
[test_compatoverrides.js]
|
||||||
|
[test_corrupt.js]
|
||||||
|
[test_corrupt_strictcompat.js]
|
||||||
|
[test_db_sanity.js]
|
||||||
|
[test_dictionary.js]
|
||||||
|
-[test_langpack.js]
|
||||||
|
[test_disable.js]
|
||||||
|
[test_distribution.js]
|
||||||
|
[test_dss.js]
|
||||||
|
# Bug 676992: test consistently fails on Android
|
||||||
|
fail-if = os == "android"
|
||||||
|
[test_duplicateplugins.js]
|
||||||
|
# Bug 676992: test consistently hangs on Android
|
||||||
|
skip-if = os == "android"
|
28
mozilla-libproxy-compat.patch
Normal file
28
mozilla-libproxy-compat.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# Parent 99164862ccce7947259465dcf9edbf6375d56413
|
||||||
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
No bug - libproxy API change picked up in bmo#769764 but fails in openSUSE 11.2 and earlier. Still cast to char* to make "all" happy
|
||||||
|
Note: Remove that patch when openSUSE 11.2 runs out of any support!
|
||||||
|
|
||||||
|
diff --git a/toolkit/system/unixproxy/nsLibProxySettings.cpp b/toolkit/system/unixproxy/nsLibProxySettings.cpp
|
||||||
|
--- a/toolkit/system/unixproxy/nsLibProxySettings.cpp
|
||||||
|
+++ b/toolkit/system/unixproxy/nsLibProxySettings.cpp
|
||||||
|
@@ -67,17 +67,17 @@ nsUnixSystemProxySettings::GetProxyForUR
|
||||||
|
|
||||||
|
if (!mProxyFactory) {
|
||||||
|
mProxyFactory = px_proxy_factory_new();
|
||||||
|
}
|
||||||
|
NS_ENSURE_TRUE(mProxyFactory, NS_ERROR_NOT_AVAILABLE);
|
||||||
|
|
||||||
|
char **proxyArray = nullptr;
|
||||||
|
proxyArray = px_proxy_factory_get_proxies(mProxyFactory,
|
||||||
|
- PromiseFlatCString(aSpec).get());
|
||||||
|
+ (char *) (PromiseFlatCString(aSpec).get()));
|
||||||
|
NS_ENSURE_TRUE(proxyArray, NS_ERROR_NOT_AVAILABLE);
|
||||||
|
|
||||||
|
// Translate libproxy's output to PAC string as expected
|
||||||
|
// libproxy returns an array of proxies in the format:
|
||||||
|
// <procotol>://[username:password@]proxy:port
|
||||||
|
// or
|
||||||
|
// direct://
|
||||||
|
//
|
Loading…
Reference in New Issue
Block a user