[Webkit-unassigned] [Bug 17353] New: XMLTokenizer breaks applications (libxml2 global callbacks)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 13 17:20:42 PST 2008


http://bugs.webkit.org/show_bug.cgi?id=17353

           Summary: XMLTokenizer breaks applications (libxml2 global
                    callbacks)
           Product: WebKit
           Version: 525+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: Gtk
          Severity: Normal
          Priority: P1
         Component: XML
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: alp at atoker.com
                CC: ap at webkit.org, sam at webkit.org


The developers of Yelp (the GNOME integrated help system) found that the XML
parsing functionality of their application started to fail after they replaced
Mozilla with a WebKit GTK+ WebView widget.

Their WebView code is completely separate from the XML parsing code (which uses
libxml2), but both run in the same process.

I did some debugging and tracked down the issue. XMLTokenizer.cpp assigns
global match/open/read/write/close functions. By modifying the behaviour of
these functions, WebKit cripples XML features throughout the embedding
application:

static xmlParserCtxtPtr createStringParser(xmlSAXHandlerPtr handlers, void*
userData)
{
    static bool didInit = false;
    if (!didInit) {
        xmlInitParser();
        xmlRegisterInputCallbacks(matchFunc, openFunc, readFunc, closeFunc);
        xmlRegisterOutputCallbacks(matchFunc, openFunc, writeFunc, closeFunc);
        didInit = true;
    }

...

I'm not familiar with XMLTokenizer.cpp so not sure how to proceed. Any
thoughts?


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list