gecko-dev/toolkit/content/tests/chrome/bug429723_window.xul
Aryeh Gregor 76862dadad Bug 1299453 - Stop using createEvent("DragEvents"/"KeyEvents") internally; r=smaug
They are non-standard aliases for "DragEvent" and "KeyboardEvent" that
are not supported by any other UA, and we would like to drop support.
So first let's stop using them ourselves, so we can use telemetry to see
if any sites are using them.

MozReview-Commit-ID: ICC33ORa2st
2016-08-31 20:38:50 +03: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("KeyboardEvent");
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("KeyboardEvent");
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>