OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * | 10 * |
(...skipping 16 matching lines...) Expand all Loading... |
27 */ | 27 */ |
28 | 28 |
29 #include "config.h" | 29 #include "config.h" |
30 #include "core/xml/parser/XMLErrors.h" | 30 #include "core/xml/parser/XMLErrors.h" |
31 | 31 |
32 #include "core/HTMLNames.h" | 32 #include "core/HTMLNames.h" |
33 #include "core/SVGNames.h" | 33 #include "core/SVGNames.h" |
34 #include "core/dom/Document.h" | 34 #include "core/dom/Document.h" |
35 #include "core/dom/Element.h" | 35 #include "core/dom/Element.h" |
36 #include "core/dom/Text.h" | 36 #include "core/dom/Text.h" |
| 37 #include "core/xml/DocumentXSLT.h" |
37 #include "wtf/text/WTFString.h" | 38 #include "wtf/text/WTFString.h" |
38 | 39 |
39 namespace blink { | 40 namespace blink { |
40 | 41 |
41 using namespace HTMLNames; | 42 using namespace HTMLNames; |
42 | 43 |
43 const int maxErrors = 25; | 44 const int maxErrors = 25; |
44 | 45 |
45 XMLErrors::XMLErrors(Document* document) | 46 XMLErrors::XMLErrors(Document* document) |
46 : m_document(document) | 47 : m_document(document) |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 | 145 |
145 body->parserAppendChild(documentElement); | 146 body->parserAppendChild(documentElement); |
146 m_document->parserAppendChild(rootElement); | 147 m_document->parserAppendChild(rootElement); |
147 | 148 |
148 documentElement = body.get(); | 149 documentElement = body.get(); |
149 } | 150 } |
150 | 151 |
151 String errorMessages = m_errorMessages.toString(); | 152 String errorMessages = m_errorMessages.toString(); |
152 RefPtrWillBeRawPtr<Element> reportElement = createXHTMLParserErrorHeader(m_d
ocument, errorMessages); | 153 RefPtrWillBeRawPtr<Element> reportElement = createXHTMLParserErrorHeader(m_d
ocument, errorMessages); |
153 | 154 |
154 if (m_document->transformSourceDocument()) { | 155 if (DocumentXSLT::hasTransformSourceDocument(*m_document)) { |
155 Vector<Attribute> attributes; | 156 Vector<Attribute> attributes; |
156 attributes.append(Attribute(styleAttr, "white-space: normal")); | 157 attributes.append(Attribute(styleAttr, "white-space: normal")); |
157 RefPtrWillBeRawPtr<Element> paragraph = m_document->createElement(pTag,
true); | 158 RefPtrWillBeRawPtr<Element> paragraph = m_document->createElement(pTag,
true); |
158 paragraph->parserSetAttributes(attributes); | 159 paragraph->parserSetAttributes(attributes); |
159 paragraph->parserAppendChild(m_document->createTextNode("This document w
as created as the result of an XSL transformation. The line and column numbers g
iven are from the transformed result.")); | 160 paragraph->parserAppendChild(m_document->createTextNode("This document w
as created as the result of an XSL transformation. The line and column numbers g
iven are from the transformed result.")); |
160 reportElement->parserAppendChild(paragraph.release()); | 161 reportElement->parserAppendChild(paragraph.release()); |
161 } | 162 } |
162 | 163 |
163 Node* firstChild = documentElement->firstChild(); | 164 Node* firstChild = documentElement->firstChild(); |
164 if (firstChild) | 165 if (firstChild) |
165 documentElement->parserInsertBefore(reportElement, *firstChild); | 166 documentElement->parserInsertBefore(reportElement, *firstChild); |
166 else | 167 else |
167 documentElement->parserAppendChild(reportElement); | 168 documentElement->parserAppendChild(reportElement); |
168 | 169 |
169 // FIXME: Why do we need to call this manually? | 170 // FIXME: Why do we need to call this manually? |
170 m_document->updateRenderTreeIfNeeded(); | 171 m_document->updateRenderTreeIfNeeded(); |
171 } | 172 } |
172 | 173 |
173 } // namespace blink | 174 } // namespace blink |
OLD | NEW |