mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
50a8cd5b10
--HG-- rename : dom/browser-element/mochitest/test_browserFrameAlert.html => dom/browser-element/mochitest/browserElement_Alert.js rename : dom/browser-element/mochitest/test_browserFrame5.html => dom/browser-element/mochitest/browserElement_DataURI.js rename : dom/browser-element/mochitest/test_browserFrame9.html => dom/browser-element/mochitest/browserElement_GetScreenshot.js rename : dom/browser-element/mochitest/test_browserFrame8.html => dom/browser-element/mochitest/browserElement_Iconchange.js rename : dom/browser-element/mochitest/test_browserFrame_keyEvents.html => dom/browser-element/mochitest/browserElement_KeyEvents.js rename : dom/browser-element/mochitest/test_browserFrame4.html => dom/browser-element/mochitest/browserElement_LoadEvents.js rename : dom/browser-element/mochitest/test_browserFramePromptCheck.html => dom/browser-element/mochitest/browserElement_PromptCheck.js rename : dom/browser-element/mochitest/test_browserFramePromptConfirm.html => dom/browser-element/mochitest/browserElement_PromptConfirm.js rename : dom/browser-element/mochitest/test_browserFrame10.html => dom/browser-element/mochitest/browserElement_SetVisible.js rename : dom/browser-element/mochitest/test_browserFrame6.html => dom/browser-element/mochitest/browserElement_Titlechange.js rename : dom/browser-element/mochitest/test_browserFrame7.html => dom/browser-element/mochitest/browserElement_TopBarrier.js extra : rebase_source : 75bc5b99f8d2327da4c7b7d7ade058dace7e77b3
62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
// Test that alertCheck (i.e., alert with the opportunity to opt out of future
|
|
// alerts), promptCheck, and confirmCheck work. We do this by spamming
|
|
// alerts/prompts/confirms from inside an <iframe mozbrowser>.
|
|
//
|
|
// At the moment, we treat alertCheck/promptCheck/confirmCheck just like a
|
|
// normal alert. But it's different to nsIPrompt!
|
|
"use strict";
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
browserFrameHelpers.setEnabledPref(true);
|
|
browserFrameHelpers.addToWhitelist();
|
|
|
|
// Test harness sets dom.successive_dialog_time_limit to 0 for some bizarre
|
|
// reason. That's not normal usage, and it keeps us from testing alertCheck!
|
|
const dialogTimeLimitPrefName = 'dom.successive_dialog_time_limit';
|
|
var oldDialogTimeLimitPref;
|
|
try {
|
|
oldDialogTimeLimitPref = SpecialPowers.getIntPref(dialogTimeLimitPrefName);
|
|
}
|
|
catch(e) {}
|
|
|
|
SpecialPowers.setIntPref(dialogTimeLimitPrefName, 10);
|
|
|
|
var iframe = document.createElement('iframe');
|
|
iframe.mozbrowser = true;
|
|
document.body.appendChild(iframe);
|
|
|
|
var numPrompts = 0;
|
|
iframe.addEventListener('mozbrowsershowmodalprompt', function(e) {
|
|
is(e.detail.message, numPrompts, "prompt message");
|
|
if (numPrompts / 10 < 1) {
|
|
is(e.detail.promptType, 'alert');
|
|
}
|
|
else if (numPrompts / 10 < 2) {
|
|
is(e.detail.promptType, 'confirm');
|
|
}
|
|
else {
|
|
is(e.detail.promptType, 'prompt');
|
|
}
|
|
|
|
numPrompts++;
|
|
if (numPrompts == 30) {
|
|
if (oldDialogTimeLimitPref !== undefined) {
|
|
SpecialPowers.setIntPref(dialogTimeLimitPrefName, oldDialogTimeLimitPref);
|
|
}
|
|
else {
|
|
SpecialPowers.clearUserPref(dialogTimeLimitPrefName);
|
|
}
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
});
|
|
|
|
iframe.src =
|
|
'data:text/html,<html><body><script>\
|
|
var i = 0; \
|
|
for (; i < 10; i++) { alert(i); } \
|
|
for (; i < 20; i++) { confirm(i); } \
|
|
for (; i < 30; i++) { prompt(i); } \
|
|
</scr' + 'ipt></body></html>';
|