Bug 29461

Summary: [Qt] QWebView->setHtml doesn't speak XHTML
Product: WebKit Reporter: Tor Arne Vestbø <vestbo>
Component: WebKit QtAssignee: QtWebKit Unassigned <webkit-qt-unassigned>
Status: RESOLVED WONTFIX    
Severity: Minor CC: hausmann, jedrzej.nowacki, jturcotte, menard, tonikitoo
Priority: P2 Keywords: Qt
Version: 528+ (Nightly build)   
Hardware: Other   
OS: OS X 10.5   
Bug Depends on: 31115    
Bug Blocks:    

Description Tor Arne Vestbø 2009-09-18 08:12:44 PDT
This bug report originated from issue QTBUG-2787
<http://bugreports.qt.nokia.com/browse/QTBUG-2787>

--- Description ---

If one does:

    QString html="XHTML content";
    QWebView->setHtml( html );

it is parsed with WebKit's HTML parser as opposed to its XHTML parser (causing some oddities in the DOM tree because e.g. for HTML, <a id="something" /> is just an opened tag, while for XHTML it's opening and closing a tag).

QWebView->setContent( html.toLocal8Bit(), "application/xhtml+xml" ) does the correct thing, but is slower (and possibly less accurate), because of the charset conversions.

setHtml() should probably set the MIME type to application/xhtml+xml instead of text/html if it detects a proper XHTML header ("<?xml" and the doctype are good hints).
Comment 1 Jędrzej Nowacki 2009-11-25 09:17:29 PST
*** Bug 29457 has been marked as a duplicate of this bug. ***
Comment 2 Jocelyn Turcotte 2010-01-14 08:12:08 PST
Lowering to minor since workarounds are available.
Comment 3 Alexis Menard (darktears) 2010-07-29 08:17:29 PDT

*** This bug has been marked as a duplicate of bug 31115 ***
Comment 4 Alexis Menard (darktears) 2010-07-29 08:19:57 PDT
The documentation says better what to use now.