Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_showcaret.xhtml   Sprache: unbekannt

 
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>

<window title="Show Caret Test"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>

<iframe id="f1" width="100" height="100" onload="frameLoaded()"
        src="data:text/html,%3Cbody%20style='height:%208000px'%3E%3Cp%3EHello%3C/p%3EGoodbye%3C/body%3E"/>
<!-- <body style='height: 8000px'><p>Hello</p><span id='s'>Goodbye<span></body> -->
<iframe id="f2" type="content" showcaret="true" width="100" height="100" onload="frameLoaded()"
        src="data:text/html,%3Cbody%20style%3D%27height%3A%208000px%27%3E%3Cp%3EHello%3C%2Fp%3E%3Cspan%20id%3D%27s%27%3EGoodbye%3Cspan%3E%3C%2Fbody%3E"/>

<script>
<![CDATA[

var framesLoaded = 0;
var otherWindow = null;

function frameLoaded() { if (++framesLoaded == 2) SimpleTest.waitForFocus(runTest); }

SimpleTest.waitForExplicitFinish();
function runTest()
{
  var sel1 = frames[0].getSelection();
  sel1.collapse(frames[0].document.body, 0);

  var sel2 = frames[1].getSelection();
  sel2.collapse(frames[1].document.body, 0);
  window.frames[0].focus();
  document.commandDispatcher.getControllerForCommand("cmd_moveBottom").doCommand("cmd_moveBottom");

  var listener = function() {
    if (!(frames[0].scrollY > 0)) {
      window.content.removeEventListener("scroll", listener);
    }
  }
  window.frames[0].addEventListener("scroll", listener);

  sel1 = frames[0].getSelection();
  sel1.collapse(frames[0].document.body, 0);

  sel2 = frames[1].getSelection();
  sel2.collapse(frames[1].document.body, 0);

  window.frames[0].focus();
  document.commandDispatcher.getControllerForCommand("cmd_moveBottom").doCommand("cmd_moveBottom");
  is(sel1.focusNode, frames[0].document.body, "focusNode for non-showcaret");
  is(sel1.focusOffset, 0, "focusOffset for non-showcaret");

  window.frames[1].focus();
  document.commandDispatcher.getControllerForCommand("cmd_moveBottom").doCommand("cmd_moveBottom");

  ok(frames[1].scrollY <
       frames[1].document.getElementById('s').getBoundingClientRect().top,
     "scrollY for showcaret");
  isnot(sel2.focusNode, frames[1].document.body, "focusNode for showcaret");
  ok(sel2.anchorOffset > 0, "focusOffset for showcaret");

  otherWindow = window.browsingContext.topChromeWindow.open("window_showcaret.xhtml", "_blank", "chrome,width=400,height=200");
  otherWindow.addEventListener("focus", otherWindowFocused);
}

function otherWindowFocused()
{
  otherWindow.removeEventListener("focus", otherWindowFocused);

  // enable caret browsing temporarily to test caret movement
  let prefs = SpecialPowers.Services.prefs;
  prefs.setBoolPref("accessibility.browsewithcaret", true);

  var hbox = otherWindow.document.documentElement.firstChild;
  hbox.focus();
  is(otherWindow.document.activeElement, hbox, "hbox in other window is focused");

  document.commandDispatcher.getControllerForCommand("cmd_lineNext").doCommand("cmd_lineNext");
  is(otherWindow.document.activeElement, hbox, "hbox still focused in other window after down movement");

  prefs.setBoolPref("accessibility.browsewithcaret", false);

  otherWindow.close();
  SimpleTest.finish();
}

]]>
</script>

<body xmlns="http://www.w3.org/1999/xhtml">
<p id="display">
</p>
<div id="content" style="display: none">
</div>
<pre id="test">
</pre>
</body>

</window>

[ Dauer der Verarbeitung: 0.25 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge