Skip to content
  • ddkilzer@apple.com's avatar
    Provide a mechanism to create a quirks delegate for HTMLParser · b11a768c
    ddkilzer@apple.com authored
            Reviewed by David Hyatt.
    
    WebCore:
    
            No tests since there is no change in behavior.
    
            HTMLParserQuirks.h defines an abstract base class that may be
            extended as needed.  The ChromeClient::createHTMLParserQuirks()
            factory method should be used to return an HTMLParserQuirks
            subclassed object when needed.
    
            * WebCore.xcodeproj/project.pbxproj: Added HTMLParserQuirks.h.
            * html/HTMLParser.cpp:
            (WebCore::HTMLParser::HTMLParser): Initialize m_parserQuirks
            using ChromeClient::createHTMLParserQuirks().
            (WebCore::HTMLParser::~HTMLParser): Delete m_parserQuirks if
            set.
            (WebCore::HTMLParser::reset): Call HTMLParserQuirks::reset() if
            m_parserQuirks is set.
            (WebCore::HTMLParser::insertNode): Call
            HTMLParserQuirks::shouldInsertNode() if m_parserQuirks is set,
            and return early if it returns false.
            (WebCore::HTMLParser::popBlock): Call
            HTMLParserQuirks::shouldPopBlock() if m_parserQuirks is set, and
            return early if it returns false.
            * html/HTMLParser.h: Added m_parserQuirks.
            * html/HTMLParserQuirks.h: Added.
            (WebCore::HTMLParserQuirks::HTMLParserQuirks):
            (WebCore::HTMLParserQuirks::~HTMLParserQuirks):
            * loader/EmptyClients.h:
            (WebCore::EmptyChromeClient::createHTMLParserQuirks): Added.
            * page/ChromeClient.h:
            (WebCore::ChromeClient::createHTMLParserQuirks): Added.
    
    WebKit/gtk:
    
            * WebCoreSupport/ChromeClientGtk.h:
            (WebKit::ChromeClient::createHTMLParserQuirks): Added.  The
            default implementation of this factory method returns 0.
    
    WebKit/mac:
    
            * WebCoreSupport/WebChromeClient.h:
            (WebChromeClient::createHTMLParserQuirks): Added.  The default
            implementation of this factory method returns 0.
    
    WebKit/qt:
    
            * WebCoreSupport/ChromeClientQt.h:
            (WebCore::ChromeClientQt::createHTMLParserQuirks): Added.  The
            default implementation of this factory method returns 0.
    
    WebKit/win:
    
            * WebCoreSupport/WebChromeClient.h:
            (WebChromeClient::createHTMLParserQuirks): Added.  The default
            implementation of this factory method returns 0.
    
    WebKit/wx:
    
            * WebKitSupport/ChromeClientWx.h:
            (WebCore::ChromeClientWx::createHTMLParserQuirks): Added.  The
            default implementation of this factory method returns 0.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b11a768c