testing/web-platform/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.transferred.lang.inherit.document.html
author Sotaro Ikeda <sotaro.ikeda.g@gmail.com>
Thu, 10 Jul 2025 00:10:09 +0000 (5 hours ago)
changeset 795941 23763b72c35abeead04f63e4503c28abc73d065d
parent 780385 e72b27c4bd143915ebc16093efd2d11316104154
permissions -rw-r--r--
Bug 1976135 - Remove nightly only limitation of pref gfx.webrender.layer-compositor r=gfx-reviewers,gw Differential Revision: https://phabricator.services.mozilla.com/D256379
<!doctype HTML>
<html lang="tr" class="reftest-wait">
  <meta charset="utf-8">
  <title>HTML5 Canvas Test:  The lang attribute inherits from the canvas in a transferred offscreen</title>
  <link rel="match" href="canvas.2d.offscreen.lang-ref.html" />
  <link rel="author" href="mailto:schenney@chromium.org"/>
  <link rel="help" href="https://html.spec.whatwg.org/multipage/canvas.html#text-styles"/>
  <meta name="assert" content="An offscreen transferred from a canvas inherits the document language." />
  <script src="/common/reftest-wait.js"></script>
  <style>
    #canvas-tr {
      position: absolute;
      top: 10px;
      left: 10px;
    }
    #canvas-en {
      position: absolute;
      top: 120px;
      left: 10px;
    }
  </style>
  <script type="text/javascript">
    function drawText(language) {
      var canvas = document.getElementById('canvas-' + language);
      var ctx = canvas.transferControlToOffscreen().getContext('2d');

      // The default for lang is inherit
      ctx.font = '25px Lato-Medium';
      ctx.fillText('fi', 5, 50);
    }

    function runTest() {
      let test_font = new FontFace(
        // Lato-Medium is a font with language specific ligatures.
        "Lato-Medium",
        "url(/fonts/Lato-Medium.ttf)"
      );

      test_font.load().then((font) => {
        document.fonts.add(font);
        drawText('tr');
        document.documentElement.setAttribute('lang', 'en');
        drawText('en');
        takeScreenshot();
      });
    }
  </script>
  <body onload="runTest()">
    <canvas lang="tr" id="canvas-tr" width="300" height="100">
      Browser does not support HTML5 Canvas.
    </canvas>
    <canvas lang="en" id="canvas-en" width="300" height="100">
      Browser does not support HTML5 Canvas.
    </canvas>
  </body>
</html>