Merge backout of bug 596762. a=josh

This commit is contained in:
Josh Aas 2010-09-23 16:06:36 -04:00
Родитель ff384885ea 7fa21e948b
Коммит 377ed298fb
14 изменённых файлов: 41 добавлений и 101 удалений

Просмотреть файл

@ -933,12 +933,14 @@ pref("toolbar.customization.usesheet", false);
// The default for this pref reflects whether the build is capable of IPC.
// (Turning it on in a no-IPC build will have no effect.)
#ifdef XP_MACOSX
// i386 ipc preferences
pref("dom.ipc.plugins.enabled.i386", false);
pref("dom.ipc.plugins.enabled.i386.flash player.plugin", true);
pref("dom.ipc.plugins.enabled.i386.javaplugin2_npapi.plugin", true);
// x86_64 ipc preferences
pref("dom.ipc.plugins.enabled.x86_64", true);
// OSX still has only partial support for IPC. Note that the PowerPC
// and x86 builds must generate identical copies of this file, so we
// can't make the prefs indicate that IPC is not available at all in
// PowerPC builds.
pref("dom.ipc.plugins.enabled", false);
// These plug-ins will run OOP by default
pref("dom.ipc.plugins.enabled.flash player.plugin", true);
pref("dom.ipc.plugins.enabled.javaplugin2_npapi.plugin", true);
#elifdef MOZ_IPC
pref("dom.ipc.plugins.enabled", true);
#else

Просмотреть файл

@ -441,30 +441,6 @@ function BuildConditionSandbox(aURL) {
getBoolPref: function(p) { return this._prefs.getBoolPref(p); },
getIntPref: function(p) { return this._prefs.getIntPref(p); }
}
sandbox.areOOPPenabled = function () {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var prefservice = Components.classes["@mozilla.org/preferences-service;1"]
.getService(CI.nsIPrefBranch);
var pref = false;
if (navigator.platform.indexOf("Mac") == 0) {
var xulRuntime = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(CI.nsIXULAppInfo)
.QueryInterface(CI.nsIXULRuntime);
if (xulRuntime.XPCOMABI.match(/x86-/)) {
pref = prefservice.getBoolPref("dom.ipc.plugins.enabled.i386");
}
else if (xulRuntime.XPCOMABI.match(/x86_64-/)) {
pref = prefservice.getBoolPref("dom.ipc.plugins.enabled.x86_64");
}
}
else {
pref = prefservice.getBoolPref("dom.ipc.plugins.enabled");
}
return pref;
};
dump("REFTEST INFO | Dumping JSON representation of sandbox \n");
dump("REFTEST INFO | " + JSON.stringify(sandbox) + " \n");

Просмотреть файл

@ -373,17 +373,7 @@ nsNPAPIPlugin::RunPluginOOP(const nsPluginTag *aPluginTag)
prefFile.Cut(0, slashPos + 1);
ToLowerCase(prefFile);
#ifdef XP_MACOSX
#if defined(__i386__)
nsCAutoString prefGroupKey("dom.ipc.plugins.enabled.i386.");
#elif defined(__x86_64__)
nsCAutoString prefGroupKey("dom.ipc.plugins.enabled.x86_64.");
#elif defined(__ppc__)
nsCAutoString prefGroupKey("dom.ipc.plugins.enabled.ppc.");
#endif
#else
nsCAutoString prefGroupKey("dom.ipc.plugins.enabled.");
#endif
PRUint32 prefCount;
char** prefNames;
@ -423,17 +413,7 @@ nsNPAPIPlugin::RunPluginOOP(const nsPluginTag *aPluginTag)
if (!prefSet) {
oopPluginsEnabled = PR_FALSE;
#ifdef XP_MACOSX
#if defined(__i386__)
prefs->GetBoolPref("dom.ipc.plugins.enabled.i386", &oopPluginsEnabled);
#elif defined(__x86_64__)
prefs->GetBoolPref("dom.ipc.plugins.enabled.x86_64", &oopPluginsEnabled);
#elif defined(__ppc__)
prefs->GetBoolPref("dom.ipc.plugins.enabled.ppc", &oopPluginsEnabled);
#endif
#else
prefs->GetBoolPref("dom.ipc.plugins.enabled", &oopPluginsEnabled);
#endif
}
return oopPluginsEnabled;

Просмотреть файл

@ -16,7 +16,10 @@
SimpleTest.waitForExplicitFinish();
function start() {
if (!SimpleTest.areOOPPenabled()) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
if (!prefs.getBoolPref('dom.ipc.plugins.enabled')) {
ok(true, "Skipping this test when IPC plugins are not enabled.");
SimpleTest.finish();
return;

Просмотреть файл

@ -12,7 +12,10 @@
var iframe = document.getElementById('iframe1');
window.frameLoaded = function frameLoaded_toCrash() {
if (!SimpleTest.areOOPPenabled()) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
if (!prefs.getBoolPref('dom.ipc.plugins.enabled')) {
ok(true, "Skipping this test when IPC plugins are not enabled.");
SimpleTest.finish();
return;

Просмотреть файл

@ -92,7 +92,10 @@ function onPluginCrashed(aEvent) {
}
function runTests() {
if (!SimpleTest.areOOPPenabled()) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
if (!prefs.getBoolPref('dom.ipc.plugins.enabled')) {
ok(true, "Skipping this test when IPC plugins are not enabled.");
SimpleTest.finish();
return;

Просмотреть файл

@ -94,7 +94,10 @@ function onPluginCrashed(aEvent) {
}
function runTests() {
if (!SimpleTest.areOOPPenabled()) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
if (!prefs.getBoolPref('dom.ipc.plugins.enabled')) {
ok(true, "Skipping this test when IPC plugins are not enabled.");
SimpleTest.finish();
return;

Просмотреть файл

@ -93,7 +93,9 @@ function onPluginCrashed(aEvent) {
}
function runTests() {
if (!SimpleTest.areOOPPenabled()) {
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
if (!prefs.getBoolPref('dom.ipc.plugins.enabled')) {
ok(true, "Skipping this test when IPC plugins are not enabled.");
SimpleTest.finish();
return;

Просмотреть файл

@ -12,7 +12,10 @@
var iframe = document.getElementById('iframe1');
window.frameLoaded = function frameLoaded_toCrash() {
if (!SimpleTest.areOOPPenabled()) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
if (!prefs.getBoolPref('dom.ipc.plugins.enabled')) {
ok(true, "Skipping this test when IPC plugins are not enabled.");
SimpleTest.finish();
return;

Просмотреть файл

@ -12,7 +12,10 @@
var iframe = document.getElementById('iframe1');
function mainLoaded() {
if (!SimpleTest.areOOPPenabled()) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
if (!prefs.getBoolPref('dom.ipc.plugins.enabled')) {
ok(true, "Skipping this test when IPC plugins are not enabled.");
SimpleTest.finish();
return;

Просмотреть файл

@ -12,16 +12,15 @@
var iframe = document.getElementById('iframe1');
window.frameLoaded = function frameLoaded_toCrash() {
if (!SimpleTest.areOOPPenabled()) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
if (!prefs.getBoolPref('dom.ipc.plugins.enabled')) {
ok(true, "Skipping this test when IPC plugins are not enabled.");
SimpleTest.finish();
return;
}
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var prefs = Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
// the default timeout is annoying high for mochitest runs
var timeoutPref = "dom.ipc.plugins.timeoutSecs";
prefs.setIntPref(timeoutPref, 5);

Просмотреть файл

@ -6,7 +6,7 @@ fails-if(!haveTestPlugin) == plugin-alpha-opacity.html div-alpha-opacity.html
fails-if(!haveTestPlugin) == windowless-clipping-1.html windowless-clipping-1-ref.html
fails-if(!haveTestPlugin) == border-padding-1.html border-padding-1-ref.html
fails-if(!haveTestPlugin) == border-padding-2.html border-padding-2-ref.html
asserts-if(http.oscpu.match(/Linux/),0-1) random-if(d2d) fails-if(!haveTestPlugin) skip-if(!areOOPPenabled()) == pluginproblemui-direction-1.html pluginproblemui-direction-1-ref.html # assertion is bug 585394
asserts-if(http.oscpu.match(/Linux/),0-1) fails-if(!haveTestPlugin) skip-if(!areOOPPenabled()) == pluginproblemui-direction-2.html pluginproblemui-direction-2-ref.html # assertion is bug 585394
asserts-if(http.oscpu.match(/Linux/),0-1) random-if(d2d) fails-if(!haveTestPlugin) skip-if(!prefs.getBoolPref("dom.ipc.plugins.enabled")) == pluginproblemui-direction-1.html pluginproblemui-direction-1-ref.html # assertion is bug 585394
asserts-if(http.oscpu.match(/Linux/),0-1) fails-if(!haveTestPlugin) skip-if(!prefs.getBoolPref("dom.ipc.plugins.enabled")) == pluginproblemui-direction-2.html pluginproblemui-direction-2-ref.html # assertion is bug 585394
# Disabled for now to investigate Windows/Linux test failures
# fails-if(!haveTestPlugin) == border-padding-3.html border-padding-3-ref.html

Просмотреть файл

@ -32,33 +32,6 @@ if (parentRunner) {
ipcMode = parentRunner.ipcMode;
}
/**
* Check for OOPP preferences
**/
SimpleTest.areOOPPenabled = function () {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var prefservice = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
var pref = false;
if (navigator.platform.indexOf("Mac") == 0) {
var xulRuntime = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo)
.QueryInterface(Components.interfaces.nsIXULRuntime);
if (xulRuntime.XPCOMABI.match(/x86-/)) {
pref = prefservice.getBoolPref("dom.ipc.plugins.enabled.i386");
}
else if (xulRuntime.XPCOMABI.match(/x86_64-/)) {
pref = prefservice.getBoolPref("dom.ipc.plugins.enabled.x86_64");
}
}
else {
pref = prefservice.getBoolPref("dom.ipc.plugins.enabled");
}
return pref;
};
// Check to see if the TestRunner is present and has logging
if (parentRunner) {
SimpleTest._logEnabled = parentRunner.logEnabled;

Просмотреть файл

@ -83,17 +83,7 @@ mochitest-a11y:
$(CHECK_TEST_ERROR)
mochitest-ipcplugins:
#ifdef XP_MACOSX
#if defined(__i386__)
$(RUN_MOCHITEST) --setpref=dom.ipc.plugins.enabled.i386=true --test-path=modules/plugin/test
#elif defined(__x86_64__)
$(RUN_MOCHITEST) --setpref=dom.ipc.plugins.enabled.x86_64=true --test-path=modules/plugin/test
#elif defined(__ppc__)
$(RUN_MOCHITEST) --setpref=dom.ipc.plugins.enabled.ppc=true --test-path=modules/plugin/test
#endif
#else
$(RUN_MOCHITEST) --setpref=dom.ipc.plugins.enabled=true --test-path=modules/plugin/test
#endif
$(CHECK_TEST_ERROR)
# Usage: |make [EXTRA_TEST_ARGS=...] *test|.