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

Unified Diff: Source/core/xml/parser/XMLDocumentParser.cpp

Issue 703193004: XSLT-in-PrivateScript (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/xml/parser/XMLDocumentParser.cpp
diff --git a/Source/core/xml/parser/XMLDocumentParser.cpp b/Source/core/xml/parser/XMLDocumentParser.cpp
index e5cc2bde9aef458ae1ef42d94cbfcd5bab8f4499..bf7d75ccb1e36b10a2a714d94f141f5265582e08 100644
--- a/Source/core/xml/parser/XMLDocumentParser.cpp
+++ b/Source/core/xml/parser/XMLDocumentParser.cpp
@@ -100,9 +100,17 @@ static inline AtomicString toAtomicString(const xmlChar* string)
return AtomicString::fromUTF8(reinterpret_cast<const char*>(string));
}
+static bool xsltTransformed(Document* document)
+{
+ bool xsltTransformed;
+ if (!V8Document::PrivateScript::xsltTransformedMethod(document->frame(), document, &xsltTransformed))
+ return false;
+ return xsltTransformed;
+}
+
static inline bool hasNoStyleInformation(Document* document)
{
- if (document->sawElementsInKnownNamespaces() || document->transformSourceDocument())
+ if (document->sawElementsInKnownNamespaces() || xsltTransformed(document))
return false;
if (!document->frame() || !document->frame()->page())
@@ -1165,7 +1173,7 @@ void XMLDocumentParser::processingInstruction(const String& target, const String
return;
m_sawXSLTransform = !m_sawFirstElement && pi->isXSL();
- if (m_sawXSLTransform && !document()->transformSourceDocument()) {
+ if (m_sawXSLTransform && !xsltTransformed(document())) {
// This behavior is very tricky. We call stopParsing() here because we
// want to stop processing the document until we're ready to apply the
// transform, but we actually still want to be fed decoded string pieces

Powered by Google App Engine
This is Rietveld 408576698