Bug 555289 - Plugin crashed UI should be RTL in RTL locales (Further fixes + tests); r=dao,dbaron

This commit is contained in:
Ehsan Akhgari 2010-04-07 19:35:09 -04:00
Родитель 8172cfe448
Коммит d8ba25d90f
5 изменённых файлов: 51 добавлений и 5 удалений

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

@ -374,9 +374,11 @@ function ReadManifest(aURL)
new XPCSafeJSObjectWrapper(sandbox).prefs = {
__exposedProps__: {
getBoolPref: 'r',
getIntPref: 'r',
},
_prefs: prefs,
getBoolPref: function(p) { return this._prefs.getBoolPref(p); },
getIntPref: function(p) { return this._prefs.getIntPref(p) }
}

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

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html class="reftest-wait">
<head>
<title>Plugin Problem UI directionality test</title>
</head>
<body dir="rtl" style="text-align: left;">
<embed type="application/x-test" width="400" height="400" id="crashme"></embed>
<script type="text/javascript">
var plugin = document.getElementById("crashme");
function checkForCrashUI() {
if (getComputedStyle(plugin, null).MozBinding != "none") {
document.documentElement.removeAttribute("class");
clearInterval(interval);
}
}
var interval = setInterval(checkForCrashUI, 100);
setTimeout(function() { plugin.crash(); }, 0);
</script>
</body>
</html>

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

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html class="reftest-wait">
<head>
<title>Plugin Problem UI directionality test</title>
</head>
<body dir="ltr" style="text-align: left;">
<embed type="application/x-test" width="400" height="400" id="crashme"></embed>
<script type="text/javascript">
var plugin = document.getElementById("crashme");
function checkForCrashUI() {
if (getComputedStyle(plugin, null).MozBinding != "none") {
document.documentElement.removeAttribute("class");
clearInterval(interval);
}
}
var interval = setInterval(checkForCrashUI, 100);
setTimeout(function() { plugin.crash(); }, 0);
</script>
</body>
</html>

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

@ -6,5 +6,6 @@ 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
fails-if(!haveTestPlugin) skip-if(!prefs.getBoolPref("dom.ipc.plugins.enabled")) == pluginproblemui-direction-1.html pluginproblemui-direction-ref.html
# Disabled for now to investigate Windows/Linux test failures
# fails-if(!haveTestPlugin) == border-padding-3.html border-padding-3-ref.html

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

@ -31,6 +31,12 @@ html|applet:not([height]), html|applet[height=""] {
width: inherit;
height: inherit;
overflow: hidden;
direction: ltr;
unicode-bidi: embed;
}
.mainBox[chromedir="rtl"] {
direction: rtl;
}
.msg {
@ -62,8 +68,3 @@ html|applet:not([height]), html|applet[height=""] {
.helpIcon {
cursor: pointer;
}
.mainBox[chromedir="rtl"] {
direction: rtl;
unicode-bidi: embed;
}