<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 4/18/20 2:48 PM, Greg Hellings
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAHxvOVJz-OLqpW5iGSfgp_t6XbtOrcxE+kR7NgFXDS1FBSd3yw@mail.gmail.com">
      <div dir="auto">This is the HTML header. Not the HTTP header.</div>
    </blockquote>
    <br>
    <font face="FreeSerif">I had thought that's what the </font><tt>&lt;meta
      http-equiv=\"content-type\" content=\"application/xhtml+xml;
      charset=utf-8\"&gt;</tt><font face="FreeSerif"> was supposed to
      give me, for the case of a directly-loaded text blob that didn't
      arrive via HTTP. Apparently not.<br>
      <br>
      <tt></tt></font>
    <blockquote type="cite"
cite="mid:CAHxvOVJz-OLqpW5iGSfgp_t6XbtOrcxE+kR7NgFXDS1FBSd3yw@mail.gmail.com">
      <div dir="auto">For manually loading the text you don't have an
        HTTP header, but you still tell the widget what content type
        when you call wk_html_open_stream or webkit_web_view_load_string
        or similar functions. It's this value that is telling Webkit
        what to do.</div>
    </blockquote>
    <br>
    &lt;headdesk&gt;<br>
    <br>
    It hadn't occurred to me that this was done other than in the header
    directives as I began to fill the widget.<br>
    <br>
    Unfortunately, still no joy. There are 6 occurrences of "text/html"
    in 3 files that do webkit widget loading:<br>
    src/editor/editor.c<br>
    src/editor/webkit_editor.c<br>
    src/webkit/wk-html.c<br>
    And the one that is immediately relevant is of course the last,
    which has 1 of the 6. Changing them all from "text/html" to
    "application/xhtml+xml" had precisely zero effect. The self-closing
    &lt;div&gt; still makes my .introMaterial bleed through to the end
    of the chapter.<br>
    <br>
    I can't win. Sorry. I think I'm done with this exercise in madness.<br>
    <br>
    For the record, this is the patch that restores
    &lt;div/&gt;-non-destructive behavior, with which I've been testing
    all these variants. The &lt;meta&gt; is gone, all the other
    &lt;?xml&gt; and DOCTYPE are gone, all that's added is the namespace
    spec, plus the code change proper that simply pastes the engine's
    returned content into the widget, rather than engaging the
    &lt;div/&gt; wiping.<br>
    <br>
    Ohwell. I tried.<br>
    <br>
    <div dir="auto"><tt>--- src/main/display.cc    2020-04-18
        16:39:59.743635867 -0400</tt><br>
    </div>
    <tt>+++ ../databits/display.cc.FAIL    2020-04-18 16:44:35.607215035
      -0400<br>
      @@ -89,7 +89,7 @@<br>
           N_("&lt;br/&gt;&lt;br/&gt;&lt;center&gt;&lt;i&gt;This module
      has no content at this point.&lt;/i&gt;&lt;/center&gt;");<br>
       <br>
       #define HTML_START \<br>
      -    "&lt;html&gt;&lt;head&gt;&lt;meta http-equiv=\"content-type\"
      content=\"text/html; charset=utf-8\"&gt; \<br>
      +    "&lt;html
      xmlns=\<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/1999/xhtml\">"http://www.w3.org/1999/xhtml\"</a>&gt;&lt;head&gt; \<br>
       &lt;style type=\"text/css\"&gt;&lt;!-- \<br>
       A { text-decoration:none } \<br>
       *[dir=rtl] { text-align: right; } \<br>
      @@ -1181,6 +1181,12 @@<br>
               key-&gt;setChapter(i * chapter);<br>
               key-&gt;setVerse(0);<br>
       <br>
      +#if 1<br>
      +        buf = g_strdup_printf("%s&lt;br /&gt;",<br>
      +                      (strongs_or_morph<br>
      +                       ?
      block_render(imodule.renderText().c_str())<br>
      +                       : imodule.renderText().c_str()));<br>
      +#else<br>
               // begin gosh this is gross.<br>
               // hunt down self-closing &lt;div ... /&gt; and stomp
      them with spaces.<br>
               // this is disgustingly special-case, caused by
      self-closing &lt;div&gt;<br>
      @@ -1217,6 +1223,7 @@<br>
               g_string_free(divBuf, TRUE);<br>
       <br>
           // end grossness<br>
      +#endif /* 0 */<br>
       <br>
               swbuf.append(buf);<br>
               g_free(buf);<br>
    </tt><br>
  </body>
</html>