Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/widget/tests/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 3 kB image not shown  

Quelle  test_ime_state_contenteditable_false.html   Sprache: HTML

 

 products/Sources/formale Sprachen/C/Firefox/widget/tests/test_ime_state_contenteditable_false.html


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Test for IME state with contenteditable=false (Bug 2031575)</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" href="/tests/SimpleTest/test.css">
</head>
<body>
<div id="container">
  <div tabindex="0" id="outer" data-description="contenteditable=inherit"
       data-ime-enabled="inDesignMode">
    contenteditable=inherit
  </div>
  <div contenteditable="true" id="editable" data-description="contenteditable"
       data-ime-enabled="always">
    contenteditable=true
    <div tabindex="0" contenteditable="false" id="inner"
      data-description="contenteditable=false"
      data-ime-enabled="never">
      contenteditable=false inside contenteditable=true
    </div>
  </div>
  <input id="input" value="input" data-description="input"
       data-ime-enabled="always">
</div>
<iframe srcdoc="<!DOCTYPE html>" id="iframe"></iframe>
<script>
"use strict";

function checkIMEStatus(element, isEnabled, description) {
  // eslint-disable-next-line mozilla/use-documentGlobal
  let elementWindow = element.ownerDocument.defaultView;
  let expected = isEnabled
   ? SpecialPowers.Ci.nsIDOMWindowUtils.IME_STATUS_ENABLED
   : SpecialPowers.Ci.nsIDOMWindowUtils.IME_STATUS_DISABLED;
  let got = SpecialPowers.wrap(elementWindow).windowUtils.IMEStatus;
  is(got, expected, `IME should be ${isEnabled ? "enabled" : "disabled"} when ${description} has focus`);
}


SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(async () => {
  let iframe = document.getElementById("iframe");
  let iframeDoc = iframe.contentDocument;
  // import test elements into iframe
  let imported = iframeDoc.importNode(document.getElementById("container"), true);
  iframeDoc.body.append(imported);

  for (let iframeKind of ["none", "focused", "unfocused"]) {
    let doc = iframeKind === "none" ? document : iframeDoc;
    for (let designMode of ["on", "off"]) {
      doc.designMode = designMode;
      for (let element of doc.querySelectorAll("[data-ime-enabled]")) {
        element.focus();
        let imeEnabled = element.dataset.imeEnabled;
        let expect = {
          inDesignMode: designMode === "on",
          always: true,
          never: false,
        }[imeEnabled];
        isnot(expect, undefined, `Invalid test (data-ime-enabled=${imeEnabled} should be one of always, never, inDesignMode)`);
        doc.defaultView.getSelection().collapse(element);
        if (iframeKind === "unfocused") {
          // IME should always be disabled if iframe is not focused
          expect = false;
          iframe.blur();
        } else if (iframeKind === "focused") {
          iframe.focus();
        }
        let description = element.dataset.description + " element";
        if (designMode === "on") {
          description += " in design mode";
        }
        if (iframeKind !== "none") {
          description += ` in ${iframeKind} iframe`;
        }
        checkIMEStatus(element, expect, description);
        element.blur();
      }
    }
  }

  SimpleTest.finish();
});
</script>

Messung V0.5 in Prozent
C=98 H=100 G=98

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-09-27) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.