| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index 5ef85b8c99b269694a820145e9b53603cb2d594f..15e51deb36a65c9ccb46505c25af707ba6b79846 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -463,7 +463,7 @@ Document::Document(const DocumentInit& initializer, DocumentClassFlags documentC
|
| , m_visitedLinkState(VisitedLinkState::create(*this))
|
| , m_visuallyOrdered(false)
|
| , m_readyState(Complete)
|
| - , m_isParsing(false)
|
| + , m_parsingState(FinishedParsing)
|
| , m_gotoAnchorNeededAfterStylesheetsLoad(false)
|
| , m_containsValidityStyleRules(false)
|
| , m_updateFocusAppearanceRestoresSelection(false)
|
| @@ -2376,7 +2376,7 @@ PassRefPtrWillBeRawPtr<DocumentParser> Document::implicitOpen()
|
| setCompatibilityMode(NoQuirksMode);
|
|
|
| m_parser = createParser();
|
| - setParsing(true);
|
| + setParsingState(Parsing);
|
| setReadyState(Loading);
|
|
|
| return m_parser;
|
| @@ -2670,11 +2670,11 @@ Document::PageDismissalType Document::pageDismissalEventBeingDispatched() const
|
| return NoDismissal;
|
| }
|
|
|
| -void Document::setParsing(bool b)
|
| +void Document::setParsingState(ParsingState parsingState)
|
| {
|
| - m_isParsing = b;
|
| + m_parsingState = parsingState;
|
|
|
| - if (m_isParsing && !m_elementDataCache)
|
| + if (parsing() && !m_elementDataCache)
|
| m_elementDataCache = ElementDataCache::create();
|
| }
|
|
|
| @@ -4430,16 +4430,16 @@ void Document::applyXSLTransform(ProcessingInstruction* pi)
|
| String resultMIMEType;
|
| String newSource;
|
| String resultEncoding;
|
| - setParsing(true);
|
| + setParsingState(Parsing);
|
| if (!processor->transformToString(this, resultMIMEType, newSource, resultEncoding)) {
|
| - setParsing(false);
|
| + setParsingState(FinishedParsing);
|
| return;
|
| }
|
| // FIXME: If the transform failed we should probably report an error (like Mozilla does).
|
| LocalFrame* ownerFrame = frame();
|
| processor->createDocumentFromSource(newSource, resultEncoding, resultMIMEType, this, ownerFrame);
|
| InspectorInstrumentation::frameDocumentUpdated(ownerFrame);
|
| - setParsing(false);
|
| + setParsingState(FinishedParsing);
|
| }
|
|
|
| void Document::setTransformSource(PassOwnPtr<TransformSource> source)
|
| @@ -4624,12 +4624,13 @@ void Document::finishedParsing()
|
| {
|
| ASSERT(!scriptableDocumentParser() || !m_parser->isParsing());
|
| ASSERT(!scriptableDocumentParser() || m_readyState != Loading);
|
| - setParsing(false);
|
| + setParsingState(InDOMContentLoaded);
|
| if (!m_documentTiming.domContentLoadedEventStart)
|
| m_documentTiming.domContentLoadedEventStart = monotonicallyIncreasingTime();
|
| dispatchEvent(Event::createBubble(EventTypeNames::DOMContentLoaded));
|
| if (!m_documentTiming.domContentLoadedEventEnd)
|
| m_documentTiming.domContentLoadedEventEnd = monotonicallyIncreasingTime();
|
| + setParsingState(FinishedParsing);
|
|
|
| // The loader's finishedParsing() method may invoke script that causes this object to
|
| // be dereferenced (when this document is in an iframe and the onload causes the iframe's src to change).
|
|
|