| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Peter Kelly (pmk@post.com) | 2 * Copyright (C) 2000 Peter Kelly (pmk@post.com) |
| 3 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. | 3 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. |
| 4 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 4 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 5 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) | 5 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) |
| 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 7 * Copyright (C) 2008 Holger Hans Peter Freyther | 7 * Copyright (C) 2008 Holger Hans Peter Freyther |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 m_sawFirstElement = false; | 197 m_sawFirstElement = false; |
| 198 } | 198 } |
| 199 | 199 |
| 200 void XMLDocumentParser::doEnd() | 200 void XMLDocumentParser::doEnd() |
| 201 { | 201 { |
| 202 #if ENABLE(XSLT) | 202 #if ENABLE(XSLT) |
| 203 if (m_sawXSLTransform) { | 203 if (m_sawXSLTransform) { |
| 204 document()->setTransformSource(adoptPtr(new TransformSource(m_originalSo
urceForTransform.toString()))); | 204 document()->setTransformSource(adoptPtr(new TransformSource(m_originalSo
urceForTransform.toString()))); |
| 205 document()->setParsing(false); // Make the doc think it's done, so it wi
ll apply xsl sheets. | 205 document()->setParsing(false); // Make the doc think it's done, so it wi
ll apply xsl sheets. |
| 206 document()->styleResolverChanged(RecalcStyleImmediately); | 206 document()->styleResolverChanged(RecalcStyleImmediately); |
| 207 |
| 208 // styleResolverChanged() call can detach the parser and null out its do
cument. |
| 209 // In that case, we just bail out. |
| 210 if (isDetached()) |
| 211 return; |
| 212 |
| 207 document()->setParsing(true); | 213 document()->setParsing(true); |
| 208 DocumentParser::stopParsing(); | 214 DocumentParser::stopParsing(); |
| 209 } | 215 } |
| 210 #endif | 216 #endif |
| 211 | 217 |
| 212 if (m_stream.error() == QXmlStreamReader::PrematureEndOfDocumentError | 218 if (m_stream.error() == QXmlStreamReader::PrematureEndOfDocumentError |
| 213 || (m_wroteText && !m_sawFirstElement && !m_sawXSLTransform && !m_sawErr
or)) | 219 || (m_wroteText && !m_sawFirstElement && !m_sawXSLTransform && !m_sawErr
or)) |
| 214 handleError(XMLErrors::fatal, qPrintable(m_stream.errorString()), textPo
sition()); | 220 handleError(XMLErrors::fatal, qPrintable(m_stream.errorString()), textPo
sition()); |
| 215 } | 221 } |
| 216 | 222 |
| (...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 633 || (publicId == QLatin1String("-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN
")) | 639 || (publicId == QLatin1String("-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN
")) |
| 634 || (publicId == QLatin1String("-//W3C//DTD XHTML 1.1 plus MathML 2.0 plu
s SVG 1.1//EN")) | 640 || (publicId == QLatin1String("-//W3C//DTD XHTML 1.1 plus MathML 2.0 plu
s SVG 1.1//EN")) |
| 635 || (publicId == QLatin1String("-//WAPFORUM//DTD XHTML Mobile 1.0//EN")) | 641 || (publicId == QLatin1String("-//WAPFORUM//DTD XHTML Mobile 1.0//EN")) |
| 636 ) | 642 ) |
| 637 setIsXHTMLDocument(true); // controls if we replace entities or not. | 643 setIsXHTMLDocument(true); // controls if we replace entities or not. |
| 638 if (!m_parsingFragment) | 644 if (!m_parsingFragment) |
| 639 document()->parserAppendChild(DocumentType::create(document(), name, pub
licId, systemId)); | 645 document()->parserAppendChild(DocumentType::create(document(), name, pub
licId, systemId)); |
| 640 | 646 |
| 641 } | 647 } |
| 642 } | 648 } |
| OLD | NEW |