Changeset 74443 in webkit


Ignore:
Timestamp:
Dec 21, 2010 5:41:04 PM (13 years ago)
Author:
tonyg@chromium.org
Message:

2010-12-21 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r74420.
http://trac.webkit.org/changeset/74420
https://bugs.webkit.org/show_bug.cgi?id=51436

causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
(Requested by tonyg-cr on #webkit).

  • dom/DocumentParser.cpp:
  • dom/DocumentParser.h:
  • html/parser/HTMLDocumentParser.cpp:
  • html/parser/HTMLDocumentParser.h:
  • html/parser/HTMLParserScheduler.cpp: (WebCore::HTMLParserScheduler::HTMLParserScheduler):
  • html/parser/HTMLParserScheduler.h: (WebCore::HTMLParserScheduler::isScheduledForResume):
  • page/PageGroupLoadDeferrer.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
Location:
trunk/WebCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r74442 r74443  
     12010-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r74420.
     4        http://trac.webkit.org/changeset/74420
     5        https://bugs.webkit.org/show_bug.cgi?id=51436
     6
     7        causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
     8        (Requested by tonyg-cr on #webkit).
     9
     10        * dom/DocumentParser.cpp:
     11        * dom/DocumentParser.h:
     12        * html/parser/HTMLDocumentParser.cpp:
     13        * html/parser/HTMLDocumentParser.h:
     14        * html/parser/HTMLParserScheduler.cpp:
     15        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
     16        * html/parser/HTMLParserScheduler.h:
     17        (WebCore::HTMLParserScheduler::isScheduledForResume):
     18        * page/PageGroupLoadDeferrer.cpp:
     19        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
     20        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
     21
    1222010-12-21  Kenneth Russell  <kbr@google.com>
    223
  • trunk/WebCore/dom/DocumentParser.cpp

    r74420 r74443  
    6969}
    7070
    71 void DocumentParser::suspendParsing()
    72 {
    73 }
    74 
    75 void DocumentParser::resumeParsing()
    76 {
    77 }
    78 
    7971};
    8072
  • trunk/WebCore/dom/DocumentParser.h

    r74420 r74443  
    9292    bool documentWasLoadedAsPartOfNavigation() const { return m_documentWasLoadedAsPartOfNavigation; }
    9393
    94     // FIXME: The names are not very accurate :(
    95     virtual void suspendParsing();
    96     virtual void resumeParsing();
    97 
    9894protected:
    9995    DocumentParser(Document*);
  • trunk/WebCore/html/parser/HTMLDocumentParser.cpp

    r74420 r74443  
    520520}
    521521
    522 void HTMLDocumentParser::suspendParsing()
    523 {
    524     m_parserScheduler->suspend();
    525 }
    526 
    527 void HTMLDocumentParser::resumeParsing()
    528 {
    529     m_parserScheduler->resume();
    530 }
    531 
    532 }
     522}
  • trunk/WebCore/html/parser/HTMLDocumentParser.h

    r74420 r74443  
    9494    virtual int lineNumber() const;
    9595    virtual TextPosition0 textPosition() const;
    96     virtual void suspendParsing();
    97     virtual void resumeParsing();
    9896
    9997    // HTMLScriptRunnerHost
  • trunk/WebCore/html/parser/HTMLParserScheduler.cpp

    r74420 r74443  
    6666    , m_parserChunkSize(parserChunkSize(m_parser->document()->page()))
    6767    , m_continueNextChunkTimer(this, &HTMLParserScheduler::continueNextChunkTimerFired)
    68     , m_isSuspendedWithActiveTimer(false)
    6968{
    7069}
     
    9493}
    9594
    96 void HTMLParserScheduler::suspend()
    97 {
    98     ASSERT(!m_isSuspendedWithActiveTimer);
    99     if (!m_continueNextChunkTimer.isActive())
    100         return;
    101     m_isSuspendedWithActiveTimer = true;
    102     m_continueNextChunkTimer.stop();
    10395}
    104 
    105 void HTMLParserScheduler::resume()
    106 {
    107     ASSERT(!m_continueNextChunkTimer.isActive());
    108     if (!m_isSuspendedWithActiveTimer)
    109         return;
    110     m_isSuspendedWithActiveTimer = false;
    111     m_continueNextChunkTimer.startOneShot(0);
    112 }
    113 
    114 }
  • trunk/WebCore/html/parser/HTMLParserScheduler.h

    r74420 r74443  
    7272    }
    7373
    74     bool isScheduledForResume() const { return m_isSuspendedWithActiveTimer || m_continueNextChunkTimer.isActive(); }
    75 
    76     void suspend();
    77     void resume();
     74    bool isScheduledForResume() const { return m_continueNextChunkTimer.isActive(); }
    7875
    7976private:
     
    8784    int m_parserChunkSize;
    8885    Timer<HTMLParserScheduler> m_continueNextChunkTimer;
    89     bool m_isSuspendedWithActiveTimer;
    9086};
    9187
  • trunk/WebCore/page/PageGroupLoadDeferrer.cpp

    r74420 r74443  
    2323
    2424#include "AsyncScriptRunner.h"
    25 #include "DocumentParser.h"
    2625#include "Frame.h"
    2726#include "Page.h"
     
    5150                    frame->document()->suspendActiveDOMObjects(ActiveDOMObject::WillShowDialog);
    5251                    frame->document()->asyncScriptRunner()->suspend();
    53                     if (DocumentParser* parser = frame->document()->parser())
    54                         parser->suspendParsing();
    5552                }
    5653            }
     
    7370                frame->document()->resumeActiveDOMObjects();
    7471                frame->document()->asyncScriptRunner()->resume();
    75                 if (DocumentParser* parser = frame->document()->parser())
    76                     parser->resumeParsing();
    7772            }
    7873        }
Note: See TracChangeset for help on using the changeset viewer.