Changeset 74443 in webkit
- Timestamp:
- Dec 21, 2010 5:41:04 PM (13 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r74442 r74443 1 2010-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 1 22 2010-12-21 Kenneth Russell <kbr@google.com> 2 23 -
trunk/WebCore/dom/DocumentParser.cpp
r74420 r74443 69 69 } 70 70 71 void DocumentParser::suspendParsing()72 {73 }74 75 void DocumentParser::resumeParsing()76 {77 }78 79 71 }; 80 72 -
trunk/WebCore/dom/DocumentParser.h
r74420 r74443 92 92 bool documentWasLoadedAsPartOfNavigation() const { return m_documentWasLoadedAsPartOfNavigation; } 93 93 94 // FIXME: The names are not very accurate :(95 virtual void suspendParsing();96 virtual void resumeParsing();97 98 94 protected: 99 95 DocumentParser(Document*); -
trunk/WebCore/html/parser/HTMLDocumentParser.cpp
r74420 r74443 520 520 } 521 521 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 94 94 virtual int lineNumber() const; 95 95 virtual TextPosition0 textPosition() const; 96 virtual void suspendParsing();97 virtual void resumeParsing();98 96 99 97 // HTMLScriptRunnerHost -
trunk/WebCore/html/parser/HTMLParserScheduler.cpp
r74420 r74443 66 66 , m_parserChunkSize(parserChunkSize(m_parser->document()->page())) 67 67 , m_continueNextChunkTimer(this, &HTMLParserScheduler::continueNextChunkTimerFired) 68 , m_isSuspendedWithActiveTimer(false)69 68 { 70 69 } … … 94 93 } 95 94 96 void HTMLParserScheduler::suspend()97 {98 ASSERT(!m_isSuspendedWithActiveTimer);99 if (!m_continueNextChunkTimer.isActive())100 return;101 m_isSuspendedWithActiveTimer = true;102 m_continueNextChunkTimer.stop();103 95 } 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 72 72 } 73 73 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(); } 78 75 79 76 private: … … 87 84 int m_parserChunkSize; 88 85 Timer<HTMLParserScheduler> m_continueNextChunkTimer; 89 bool m_isSuspendedWithActiveTimer;90 86 }; 91 87 -
trunk/WebCore/page/PageGroupLoadDeferrer.cpp
r74420 r74443 23 23 24 24 #include "AsyncScriptRunner.h" 25 #include "DocumentParser.h"26 25 #include "Frame.h" 27 26 #include "Page.h" … … 51 50 frame->document()->suspendActiveDOMObjects(ActiveDOMObject::WillShowDialog); 52 51 frame->document()->asyncScriptRunner()->suspend(); 53 if (DocumentParser* parser = frame->document()->parser())54 parser->suspendParsing();55 52 } 56 53 } … … 73 70 frame->document()->resumeActiveDOMObjects(); 74 71 frame->document()->asyncScriptRunner()->resume(); 75 if (DocumentParser* parser = frame->document()->parser())76 parser->resumeParsing();77 72 } 78 73 }
Note: See TracChangeset
for help on using the changeset viewer.