Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: Source/core/xml/parser/XMLErrors.cpp

Issue 365873002: Implement a part of ProcessingInstruction by using PrivateScript (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: WIP: async XHR, rewriting layout tests Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/xml/parser/XMLDocumentParser.cpp ('k') | Source/platform/RuntimeEnabledFeatures.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 11 matching lines...) Expand all
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
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 "bindings/core/v8/V8Document.h"
32 #include "core/HTMLNames.h" 33 #include "core/HTMLNames.h"
33 #include "core/SVGNames.h" 34 #include "core/SVGNames.h"
34 #include "core/dom/Document.h" 35 #include "core/dom/Document.h"
35 #include "core/dom/Element.h" 36 #include "core/dom/Element.h"
36 #include "core/dom/Text.h" 37 #include "core/dom/Text.h"
38 #include "platform/RuntimeEnabledFeatures.h"
37 #include "wtf/text/WTFString.h" 39 #include "wtf/text/WTFString.h"
38 40
39 namespace blink { 41 namespace blink {
40 42
41 using namespace HTMLNames; 43 using namespace HTMLNames;
42 44
43 const int maxErrors = 25; 45 const int maxErrors = 25;
44 46
45 XMLErrors::XMLErrors(Document* document) 47 XMLErrors::XMLErrors(Document* document)
46 : m_document(document) 48 : m_document(document)
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 146
145 body->parserAppendChild(documentElement); 147 body->parserAppendChild(documentElement);
146 m_document->parserAppendChild(rootElement); 148 m_document->parserAppendChild(rootElement);
147 149
148 documentElement = body.get(); 150 documentElement = body.get();
149 } 151 }
150 152
151 String errorMessages = m_errorMessages.toString(); 153 String errorMessages = m_errorMessages.toString();
152 RefPtrWillBeRawPtr<Element> reportElement = createXHTMLParserErrorHeader(m_d ocument, errorMessages); 154 RefPtrWillBeRawPtr<Element> reportElement = createXHTMLParserErrorHeader(m_d ocument, errorMessages);
153 155
154 if (m_document->transformSourceDocument()) { 156 bool xsltTransformed = false;
157 if (!RuntimeEnabledFeatures::xsltInPrivateScriptEnabled()) {
158 xsltTransformed = m_document->transformSourceDocument();
159 } else {
160 V8Document::PrivateScript::xsltTransformedMethod(m_document->frame(), m_ document, &xsltTransformed);
161 }
162 if (xsltTransformed) {
155 Vector<Attribute> attributes; 163 Vector<Attribute> attributes;
156 attributes.append(Attribute(styleAttr, "white-space: normal")); 164 attributes.append(Attribute(styleAttr, "white-space: normal"));
157 RefPtrWillBeRawPtr<Element> paragraph = m_document->createElement(pTag, true); 165 RefPtrWillBeRawPtr<Element> paragraph = m_document->createElement(pTag, true);
158 paragraph->parserSetAttributes(attributes); 166 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.")); 167 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()); 168 reportElement->parserAppendChild(paragraph.release());
161 } 169 }
162 170
163 Node* firstChild = documentElement->firstChild(); 171 Node* firstChild = documentElement->firstChild();
164 if (firstChild) 172 if (firstChild)
165 documentElement->parserInsertBefore(reportElement, *firstChild); 173 documentElement->parserInsertBefore(reportElement, *firstChild);
166 else 174 else
167 documentElement->parserAppendChild(reportElement); 175 documentElement->parserAppendChild(reportElement);
168 176
169 // FIXME: Why do we need to call this manually? 177 // FIXME: Why do we need to call this manually?
170 m_document->updateRenderTreeIfNeeded(); 178 m_document->updateRenderTreeIfNeeded();
171 } 179 }
172 180
173 } // namespace blink 181 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/xml/parser/XMLDocumentParser.cpp ('k') | Source/platform/RuntimeEnabledFeatures.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698