gecko/toolkit/content/tests/chrome/bug429723_window.xul
2012-05-21 12:12:37 +01:00

85 lines
2.9 KiB
XML

<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<window id="429723Test"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
width="600"
height="600"
onload="onLoad();"
title="429723 test">
<script type="application/javascript"><![CDATA[
var gFindBar = null;
var gBrowser;
function ok(condition, message) {
window.opener.wrappedJSObject.SimpleTest.ok(condition, message);
}
function finish() {
window.close();
window.opener.wrappedJSObject.SimpleTest.finish();
}
function onLoad() {
var _delayedOnLoad = function() {
gFindBar = document.getElementById("FindToolbar");
gBrowser = document.getElementById("content");
gBrowser.addEventListener("pageshow", onPageShow, false);
gBrowser.loadURI("data:text/html,<h2 id='h2'>mozilla</h2>");
}
setTimeout(_delayedOnLoad, 1000);
}
function enterStringIntoFindField(aString) {
for (var i=0; i < aString.length; i++) {
var event = document.createEvent("KeyEvents");
event.initKeyEvent("keypress", true, true, null, false, false,
false, false, 0, aString.charCodeAt(i));
gFindBar._findField.inputField.dispatchEvent(event);
}
}
function onPageShow() {
gBrowser.removeEventListener("pageshow", onPageShow, false);
var findField = gFindBar._findField;
document.getElementById("cmd_find").doCommand();
var matchCaseCheckbox = gFindBar.getElement("find-case-sensitive");
if (!matchCaseCheckbox.hidden & matchCaseCheckbox.checked)
matchCaseCheckbox.click();
// Perform search
var searchStr = "z";
enterStringIntoFindField(searchStr);
// Highlight search term
var highlight = gFindBar.getElement("highlight");
if (!highlight.checked)
highlight.click();
// Delete search term
var event = document.createEvent("KeyEvents");
event.initKeyEvent("keypress", true, true, null, false, false,
false, false, KeyEvent.DOM_VK_BACK_SPACE, 0);
gFindBar._findField.inputField.dispatchEvent(event);
var notRed = !findField.hasAttribute("status") ||
(findField.getAttribute("status") != "notfound");
ok(notRed, "Find Bar textbox is correct colour");
finish();
}
]]></script>
<commandset>
<command id="cmd_find" oncommand="document.getElementById('FindToolbar').onFindCommand();"/>
</commandset>
<browser type="content-primary" flex="1" id="content" src="about:blank"/>
<findbar id="FindToolbar" browserid="content"/>
</window>