Changeset 61028 in webkit


Ignore:
Timestamp:
Jun 11, 2010 11:46:27 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-06-11 Tony Gentilcore <tonyg@chromium.org>

Reviewed by Eric Seidel.

Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
https://bugs.webkit.org/show_bug.cgi?id=40454

This required exposing the HTMLParser which we definitely don't want to
do, but the good news is that it can go away when the HTMLParser goes
away.

No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.

  • dom/Tokenizer.h: (WebCore::Tokenizer::htmlParser):
  • html/HTML5Tokenizer.cpp: (WebCore::HTML5Tokenizer::htmlParser):
  • html/HTML5Tokenizer.h:
  • html/HTML5TreeBuilder.h: (WebCore::HTML5TreeBuilder::htmlParser):
  • html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::removedFromTree):
  • html/HTMLTokenizer.h: (WebCore::HTMLTokenizer::htmlParser):
Location:
trunk/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r61027 r61028  
     12010-06-11  Tony Gentilcore  <tonyg@chromium.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Fix fast/forms/preserveFormDuringResidualStyle.html for HTML5 Parser.
     6        https://bugs.webkit.org/show_bug.cgi?id=40454
     7
     8        This required exposing the HTMLParser which we definitely don't want to
     9        do, but the good news is that it can go away when the HTMLParser goes
     10        away.
     11
     12        No new tests because covered by fast/forms/preserve/FormDuringResidualStyle.html.
     13
     14        * dom/Tokenizer.h:
     15        (WebCore::Tokenizer::htmlParser):
     16        * html/HTML5Tokenizer.cpp:
     17        (WebCore::HTML5Tokenizer::htmlParser):
     18        * html/HTML5Tokenizer.h:
     19        * html/HTML5TreeBuilder.h:
     20        (WebCore::HTML5TreeBuilder::htmlParser):
     21        * html/HTMLFormControlElement.cpp:
     22        (WebCore::HTMLFormControlElement::removedFromTree):
     23        * html/HTMLTokenizer.h:
     24        (WebCore::HTMLTokenizer::htmlParser):
     25
    1262010-06-11  Kenneth Russell  <kbr@google.com>
    227
  • trunk/WebCore/dom/Tokenizer.h

    r60991 r61028  
    2626namespace WebCore {
    2727
     28    class HTMLParser;
    2829    class HTMLTokenizer;
    2930    class SegmentedString;
     
    6162        virtual void executeScriptsWaitingForStylesheets() {}
    6263
    63         virtual bool isHTMLTokenizer() const { return false; }
     64        virtual HTMLParser* htmlParser() const { return 0; }
    6465        virtual HTMLTokenizer* asHTMLTokenizer() { return 0; }
    6566       
  • trunk/WebCore/html/HTML5Tokenizer.cpp

    r61021 r61028  
    193193}
    194194
     195HTMLParser* HTML5Tokenizer::htmlParser() const
     196{
     197    return m_treeBuilder->htmlParser();
     198}
     199
    195200bool HTML5Tokenizer::isWaitingForScripts() const
    196201{
  • trunk/WebCore/html/HTML5Tokenizer.h

    r60991 r61028  
    3737
    3838class HTMLDocument;
     39class HTMLParser;
    3940class HTML5Lexer;
    4041class HTML5ScriptRunner;
     
    6162    virtual int lineNumber() const;
    6263    virtual int columnNumber() const;
     64    // FIXME: HTMLFormControlElement accesses the HTMLParser via this method.
     65    // Remove this when the HTMLParser is no longer used.
     66    virtual HTMLParser* htmlParser() const;
    6367
    6468    // HTML5ScriptRunnerHost
  • trunk/WebCore/html/HTML5TreeBuilder.h

    r60991 r61028  
    5959    void finished();
    6060
     61    // FIXME: This is a dirty, rotten hack to keep HTMLFormControlElement happy
     62    // until we stop using the legacy parser. DO NOT CALL THIS METHOD.
     63    HTMLParser* htmlParser() const { return m_legacyHTMLParser.get(); }
     64
    6165private:
    6266    // Represents HTML5 "insertion mode"
  • trunk/WebCore/html/HTMLFormControlElement.cpp

    r60991 r61028  
    181181    HTMLParser* parser = 0;
    182182    if (Tokenizer* tokenizer = document()->tokenizer())
    183         if (tokenizer->isHTMLTokenizer())
    184             parser = static_cast<HTMLTokenizer*>(tokenizer)->htmlParser();
    185    
     183        parser = tokenizer->htmlParser();
     184
    186185    if (m_form && !(parser && parser->isHandlingResidualStyleAcrossBlocks()) && findRoot(this) != findRoot(m_form)) {
    187186        m_form->removeFormElement(this);
  • trunk/WebCore/html/HTMLTokenizer.h

    r60991 r61028  
    164164    virtual void executeScriptsWaitingForStylesheets();
    165165   
    166     virtual bool isHTMLTokenizer() const { return true; }
     166    virtual HTMLParser* htmlParser() const { return m_parser.get(); }
    167167    virtual HTMLTokenizer* asHTMLTokenizer() { return this; }
    168     HTMLParser* htmlParser() const { return m_parser.get(); }
    169168
    170169private:
Note: See TracChangeset for help on using the changeset viewer.